設(shè)計以STM32F405為主控芯片,通過W5500模塊以MQTT協(xié)議方式發(fā)布到MQTT服務(wù)器,最終在手機(jī)客戶端實現(xiàn)數(shù)據(jù)采集和控制。
主要功能:
1.STM32F405為主控芯片,它通過傳感器采集環(huán)境數(shù)據(jù),比如溫度,濕度,光照度,大氣壓強(qiáng)等;
2.主控芯片通過W5500模塊將測量的數(shù)據(jù)通過MQTT協(xié)議方式發(fā)布到MQTT服務(wù)器(服務(wù)器域名和IP見固件程序);
3.主控訂閱LED燈控制的消息,當(dāng)接收到對應(yīng)的控制指令后點亮或者熄滅對應(yīng)的LED燈;
4.安卓手機(jī)端訂閱傳感器數(shù)據(jù)的消息,當(dāng)接收到消息后將傳感器數(shù)據(jù)在界面顯示;
5.安卓手機(jī)可發(fā)送點亮或者熄滅LED燈的指令到服務(wù)器,然后服務(wù)器會將該指令轉(zhuǎn)發(fā)給STM32主控,然后STM32主控解析該指令并執(zhí)行指令。
具體設(shè)計介紹:
1.MQTT協(xié)議:
MQTT是IBM開發(fā)的一個即時通訊協(xié)議。MQTT是面向M2M和物聯(lián)網(wǎng)的連接協(xié)議,采用輕量級發(fā)布和訂閱消息傳輸機(jī)制。Mosquitto是一款實現(xiàn)了 MQTT v3.1 協(xié)議的開源消息代理軟件,提供輕量級的,支持發(fā)布/訂閱的的消息推送模式,使設(shè)備對設(shè)備之間的短消息通信簡單易用。
2.單片機(jī)端實現(xiàn)
硬件連接如下圖所示:
3.手機(jī)端代碼實現(xiàn)
將jar文件添加到工程中即可,程序界面如下所示:
4.實測效果
1.單片機(jī)端定時更新傳感器數(shù)據(jù),手機(jī)端也會同步更新;
2.手機(jī)端點擊4個LED控制的按鈕,板子上也會點亮或者熄滅對應(yīng)的LED
模塊清單:
1.W5500模塊
2.STM32F405RGT6開發(fā)板(Micro Python電路板)
3.安卓手機(jī)