Part.01硬件框架
硬件主要接線說明:單片機(jī)串口2(即PA2 PA3)接4G模組協(xié)議串口;單片機(jī)PA15,PB3-PB9一共8組輸出信號接繼電器(繼電器采用低電平有效);通過繼電器的開關(guān)來實(shí)現(xiàn)對交流220V信號的開關(guān)控制,從而實(shí)現(xiàn)對交流接觸器的通斷控制。

硬件組裝實(shí)物參考圖:
硬件說明:
1、單片機(jī)采用STM32F103C8T6核心板一塊

2、帶機(jī)智云gagent固件的GA211模組一個(gè),購買鏈接:
https://item.taobao.com/item.htm?id=607405418406

3.8路5V繼電器模組(帶光偶隔離,信號均采用低電平有效,通過跳冒調(diào)整)

4、交流接觸器

Part.02云端部署
1.注冊登錄賬號,進(jìn)入機(jī)智云開發(fā)者中心
https://developer.gizwits.com,點(diǎn)擊左上角智能產(chǎn)品后創(chuàng)建,創(chuàng)建一個(gè)項(xiàng)目。

智能家居產(chǎn)品。
選擇好產(chǎn)品分類,分類不影響開發(fā),方案需要選擇自定義方案,不能選擇標(biāo)準(zhǔn)方案。

輸入產(chǎn)品名稱,例如:花園4G遠(yuǎn)程控制器,類型選擇移動網(wǎng)絡(luò)或者WiFi都可以,不影響后續(xù)開發(fā),數(shù)據(jù)傳輸定長變長都可以,功耗選擇正常,配置好后點(diǎn)擊創(chuàng)建,完成產(chǎn)品的創(chuàng)建。


產(chǎn)品創(chuàng)建結(jié)束后需要進(jìn)行數(shù)據(jù)點(diǎn)的創(chuàng)建,數(shù)據(jù)點(diǎn)決定改產(chǎn)品需要實(shí)現(xiàn)的功能,可根據(jù)自己的需求進(jìn)行修改。

創(chuàng)建一個(gè)上花園噴淋數(shù)據(jù)點(diǎn),顯示名稱就是APP顯示的名稱,標(biāo)識名是需要寫入程序的,需要用英文開頭,可以搭配數(shù)字及下劃線,數(shù)據(jù)點(diǎn)采用布爾可寫。(自己需要新增功能,比如創(chuàng)建2位小數(shù)的溫度數(shù)據(jù)點(diǎn),可以創(chuàng)建數(shù)值可只讀,分別率0.01,其他默認(rèn)即可)

同樣的方式創(chuàng)建,下花園噴淋,上花園燈光,下花園燈光,上花園魚池循環(huán)泵,下花園魚池循環(huán)泵,上院魚池紫光燈,下院魚池紫光燈,噴淋時(shí)間設(shè)置等數(shù)據(jù)點(diǎn),可根據(jù)自己的需求自行創(chuàng)建。

2、移動應(yīng)用頁面編輯
在不使用公版APP,又不想開發(fā)代碼開發(fā)APP的情況下,可選擇云端的APP快速開發(fā)來進(jìn)行APP快速生成,移動應(yīng)用創(chuàng)建詳細(xì)教程可參考帖子:
https://club.gizwits.com/thread-170135-1-1.html
創(chuàng)建好移動應(yīng)用后,點(diǎn)擊產(chǎn)品開發(fā)頁面頂上的控制頁面導(dǎo)航欄。

點(diǎn)擊關(guān)聯(lián)應(yīng)用(需要先創(chuàng)建好應(yīng)用),選擇之前創(chuàng)建好的應(yīng)用,點(diǎn)擊確定,關(guān)聯(lián)好應(yīng)用。

打開單設(shè)備分享

配置智能場景,選擇所有數(shù)據(jù)點(diǎn)。方便后續(xù)智能場景操作。

APP布局修改

修改順序,圖標(biāo)大小等參數(shù)后點(diǎn)擊保存,中間是不會隨著改變而改變的,僅作為參考。

回到應(yīng)用開發(fā)頁面,點(diǎn)擊應(yīng)用構(gòu)建,構(gòu)建測試版,構(gòu)建完成后下載APP即可。

3、單片機(jī)代碼生成與下載
按照如圖所示生成STM32f103c8x代碼

下載代碼到電腦備用,到此云頓部署結(jié)束。

Part.03單片機(jī)代碼開發(fā)
1、CubeMX初始化配置
將下載的代碼進(jìn)行解壓,找到STM32F103C8x.ioc文件,將其打開(需提前安裝CubeMX,否則不能打開該項(xiàng)目文件)

更新庫文件使其一致

按照如圖所示,配置上院噴淋引腳,

同樣的方式配置其它輸出引腳

為每個(gè)文件都生成.c.h文件,方便后續(xù)代碼整理

點(diǎn)擊generate code,生成代碼,出現(xiàn)庫提示就點(diǎn)確認(rèn)。

可選擇打開項(xiàng)目文件或者關(guān)閉文件都可以,打開項(xiàng)目文件需要電腦安裝keilARM,到此CubeMX配置結(jié)束。

2、 Bootloder文件燒錄
燒錄Bootloder文件是為了方便后續(xù)進(jìn)行遠(yuǎn)程升級系統(tǒng),詳細(xì)可參考代碼根目錄下的《OTA使用教程.html》文件說明。將解壓過后的..\Bootloder\Project文件夾下的gokit_mcu_stm32.uvprojx文件用keil ARM打開。

打開項(xiàng)目后,點(diǎn)擊魔法標(biāo)進(jìn)入target,配置好燒錄大小,11*1024=11264=0x2C00

點(diǎn)擊Linker,配置Flash 燒寫地址有效

點(diǎn)擊debug,選擇對應(yīng)的下載器

下載模式選擇按塊擦除 Flash 區(qū)間

編譯燒錄Bootloader固件


3、單片機(jī)APP代碼修改燒錄
打開之前通過CubeMX初始化后的代碼

找到gizwits_protocol.h文件,將注釋的#defineOTA_ENABLE 代碼打開,讓BootLoader生效。

點(diǎn)擊魔法標(biāo),配置下載起始地址及大?。ù颂幱捎谛枰玫綌嚯姞顟B(tài)數(shù)據(jù)緩存,所以預(yù)留2K地址作為緩存空間)。

配置flash燒寫地址有效

配置下載器擦除固定區(qū)間

修改變更的flash起始地址及大小

定義一個(gè)數(shù)組用于存儲開關(guān)狀態(tài)及噴淋時(shí)間,以便于后續(xù)斷電記憶數(shù)據(jù)處理。


在gizwits_product.c新增flash讀寫程序。

處理云端下發(fā)數(shù)據(jù),數(shù)據(jù)處理在gizwitsEventProcess函數(shù)。

斷電記憶,開機(jī)讀取存儲在flash中的參數(shù)。


噴淋自動關(guān)閉時(shí)間處理。

噴淋關(guān)閉操作

如編譯過程中出現(xiàn)was set but never used告警,只需要在對應(yīng)的變量前加volatile即可,否則可能出現(xiàn)變量被屏蔽的情況。遠(yuǎn)程升級:可參考生成代碼根目錄下的OTA文檔操作。
Part.04開源項(xiàng)目實(shí)物及APP


-
控制器
+關(guān)注
關(guān)注
114文章
17877瀏覽量
195111 -
STM32
+關(guān)注
關(guān)注
2313文章
11195瀏覽量
374630 -
機(jī)智云
+關(guān)注
關(guān)注
3文章
650瀏覽量
27821
發(fā)布評論請先 登錄
基于STM32+機(jī)智云物聯(lián)網(wǎng)平臺的家電狀態(tài)顯示及控制系統(tǒng)
機(jī)友分享 | 機(jī)智云小程序啟蒙:WebSocket網(wǎng)頁控制
評測:STM32F769I-DISCO接入機(jī)智云,實(shí)現(xiàn)IoT開發(fā)遠(yuǎn)程控制等功能
基于機(jī)智云IoT開發(fā)平臺的溫室番茄遠(yuǎn)程監(jiān)控系統(tǒng)
基于機(jī)智云的嵌入式系統(tǒng)應(yīng)用開發(fā)—空調(diào)遠(yuǎn)程智能控制系統(tǒng)
【STM32+機(jī)智云】機(jī)智云手機(jī)APP點(diǎn)燈實(shí)驗(yàn)踩坑記錄 精選資料分享
設(shè)計(jì)基于STM32+機(jī)智云的手機(jī)APP點(diǎn)燈遇到哪些問題
十分鐘開發(fā)物聯(lián)網(wǎng):遠(yuǎn)程甲醛監(jiān)控(4G模組)
ESP8266開發(fā)板+機(jī)智云IoT+遠(yuǎn)程控制的智能風(fēng)扇
基于機(jī)智云物聯(lián)網(wǎng)平臺與4G DTU遠(yuǎn)程車庫門
4G模組接入機(jī)智云gokit3開發(fā)板
STM32F40探索者開發(fā)板如何實(shí)現(xiàn)基礎(chǔ)的遠(yuǎn)程檢測以及控制
空調(diào)4G遠(yuǎn)程控制器能解決哪些問題
怎樣通過4G網(wǎng)絡(luò)實(shí)現(xiàn)PLC遠(yuǎn)程控制
空調(diào)4G遠(yuǎn)程控制器
基于STM32+機(jī)智云的花園4G遠(yuǎn)程控制器開發(fā)全教程
評論