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

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

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

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

4、交流接觸器

Part.02云端部署
https://developer.gizwits.com,點擊左上角智能產(chǎn)品后創(chuàng)建,創(chuàng)建一個項目。

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

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


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

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

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

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

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

打開單設備分享

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

APP布局修改

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

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

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

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

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

更新庫文件使其一致

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

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

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

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

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

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

打開項目后,點擊魔法標進入target,配置好燒錄大小,11*1024=11264=0x2C00

點擊Linker,配置Flash 燒寫地址有效

點擊debug,選擇對應的下載器

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

編譯燒錄Bootloader固件


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

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

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

配置flash燒寫地址有效

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

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

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


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

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

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


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

噴淋關(guān)閉操作

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


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