內(nèi)容簡介
STM32+WIFI+GPRS開發(fā)板主要用于當前的物聯(lián)網(wǎng)開發(fā),學習如何搭建可以實現(xiàn)遠程控制和數(shù)據(jù)采集的服務(wù)器,然后通過服務(wù)器實現(xiàn)設(shè)備和上位機實現(xiàn)遠程通信和控制.
只要實現(xiàn)遠程通信,具體控制什么東西,怎么控制,自己根據(jù)自己的需求更改就可以.我希望想實現(xiàn)遠程控制的朋友可以應(yīng)用上,現(xiàn)在賣遠程控制器的很多,我要做的是教給大家怎么自己做,如果自己不想深入研究,直接拿去用也可以.
? ? ? ? 實現(xiàn)基本的遠程控制以后就可以實現(xiàn)遠程傳輸程序文件,也就是可以實現(xiàn)遠程更新單片機程序,但是呢,我感覺這還不夠,我又增加了數(shù)據(jù)庫的學習,教程里面是把傳感器的數(shù)據(jù)存入數(shù)據(jù)庫,然后可以查看歷史記錄,只要學會了數(shù)據(jù)庫的操作,其實后期可以自己發(fā)揮利用上數(shù)據(jù)庫實現(xiàn)自己想要的功能.
? ? ? ? ?做網(wǎng)絡(luò)通信,其實有個重要的一點,安全.如果自己的設(shè)備輕易的被別人控制....不可想像....
? ? ? ? ?最近做項目的不愿意開發(fā)APP,因為現(xiàn)在市面上要么Android 要么 IOS ?,都希望可以開發(fā)一個軟件,然后實現(xiàn)自己想要的功能,所以我又加入了微信,小程序的學習開發(fā),就是用微信和小程序?qū)崿F(xiàn)遠程和設(shè)備通信控制
由于此教程涉及的知識點太多,為了讓大家學習起來更加的容易,所以整個教程又分為基礎(chǔ)篇,升級篇,數(shù)據(jù)篇,安全篇和微信小程序篇
首先提醒一下,該教程并不是咱平時買開發(fā)板配的很基礎(chǔ)很基礎(chǔ)教程,這個教程是建立在基礎(chǔ)教程之上的.很基礎(chǔ)很基礎(chǔ)教程我也在配著,不過要先錄制完這期教程,其實要短期內(nèi)對所有的知識全部學會需要很好的底子,技術(shù)知識方面涵蓋的很廣,該教程是絕對的應(yīng)用型,不用學會所有的知識點就會讓您自己有脫胎換骨的感覺.
基礎(chǔ)篇說明:
STM32采集溫濕度傳感器(DHT11)的數(shù)據(jù),然后通過串口把數(shù)據(jù)傳輸給WIFI或者GPRS,然后模塊主動發(fā)給云服務(wù)器上的MQTT軟件,MQTT軟件再把數(shù)據(jù)發(fā)給APP或者上位機.
? ? ? ?APP或者上位機發(fā)送的信息先發(fā)給云服務(wù)器上的MQTT軟件,MQTT軟件再把數(shù)據(jù)發(fā)給WIFI或者GPRS,然后模塊通過串口再把數(shù)據(jù)發(fā)給STM32,STM32對數(shù)據(jù)做處理.
涉及的知識點:
? ? ?STM32:只提供使用程序和下載方式.后期會出STM32的教程
? ? ?WIFI: ? ?編譯LUA固件,打開SmartConfig,用LUA語言開發(fā)實現(xiàn)SmartConfig+MQTT功能.SmartConfig就是手機給WIFI一鍵配網(wǎng),讓WIFI連接上路由器
? ? ?GPRS: ?主要用LUA語言開發(fā)其實現(xiàn)MQTT功能
? ? ?服務(wù)器: 安裝配置MQTT
? ? ?Android:SmartConfig,掃描二維碼(添加GPRS設(shè)備使用),MQTT
升級篇說明:
升級篇主要實現(xiàn)的功能是遠程升級WIFI模塊,GPRS模塊和單片機的程序
?涉及的知識點:
? ? ?STM32:實現(xiàn)遠程更新STM32程序.
? ? ?WIFI: ? ? MQTT+HTTP實現(xiàn)遠程更新
? ? ?GPRS: ?MQTT+HTTP實現(xiàn)遠程更新
? ? ?服務(wù)器: 安裝配置Apache實現(xiàn)HTTP訪問下載文件
? ? ?Android:HTTP訪問文件
數(shù)據(jù)篇說明:
有了數(shù)據(jù)以后如果希望還要對歷史數(shù)據(jù)進行查看和分析,那就需要用到數(shù)據(jù)庫.本篇主要實現(xiàn)把數(shù)據(jù)存入云端的數(shù)據(jù)庫,然后用APP實現(xiàn)訪問數(shù)據(jù)庫查看歷史數(shù)據(jù).
?涉及的知識點:
? ? ?STM32:不需要更改
? ? ?WIFI: ? ?不需要更改
? ? ?GPRS: 不需要更改
? ? ?服務(wù)器: 安裝配置Mysql數(shù)據(jù)庫,編寫接收MQTT所有設(shè)備的數(shù)據(jù)然后存入數(shù)據(jù)庫的軟件
Android:遠程訪問Mysql數(shù)據(jù)庫,查詢數(shù)據(jù)
安全篇說明:
安全篇主要是使用SSL連接實現(xiàn)加密通信:
其實以上的MQTT通信可以利用軟件和某些方式很輕松的監(jiān)聽到設(shè)備和服務(wù)器之間數(shù)據(jù),如果您不希望自己的設(shè)備被別人所控制,或者自己的信息被別人所獲取,那么
? ? ? ?安全通信是必不可少的,這篇主要講解如何用SSL實現(xiàn)安全通信.
? ? ?STM32:不需要更改
? ? ?WIFI: ? ? 實現(xiàn)SSL加密方式連接MQTT
? ? ?GPRS: ?實現(xiàn)SSL加密方式連接MQTT
? ? ?服務(wù)器: 申請SSL證書,安裝配置MQTT實現(xiàn)SSL
? ? ?Android:實現(xiàn)SSL加密方式連接MQTT
微信小程序篇:
?開發(fā)板說明
開發(fā)板到了
? 開發(fā)板板載了一塊STM32單片機,WIFI模塊(ESP8266)和GPRS模塊(Air202)等主MCU.板載兩個網(wǎng)絡(luò)芯片的目的是為了應(yīng)對不同的場合.在有路由器的情況下可以使用wifi模塊
有的地方?jīng)]有路由器,則可以使用GPRS模塊.
板載主要元器件:
STM32F103C8t6 ? ? ? ?(單片機)
ESP8266_12F ? ? ? ? ? (WIFI模塊)
Air202 ? ? ? ? ? ? ? ? ? ? ? ?(GPRS模塊)
繼電器 ? ? ? ? ? ? ? ? ? ? ? ?(10A)
OLED ? ? ? ? ? ? ? ? ? ? ? ? (液晶顯示屏)
DHT11 ? ? ? ? ? ? ? ? ? ? ? (溫濕度傳感器)