基于机智云平台的智能花盆
目錄
一、前言
二、總體設計
三、硬件準備
四、接入機智云
虛擬設備調(diào)試
固件燒錄
虛擬MCU調(diào)試
一鍵配置模式
熱點模式
五、代碼解析
六、測試
百度云盤鏈接: https://pan.baidu.com/s/1U3tctyEljSVLrVXiJ5ElzA
提取碼: pmw6
一、前言
有時候會聽到朋友難過的說“我養(yǎng)的多肉又掉葉子了...” 是不是太久沒澆水啦?
“假期有誰家在學校附件的幫我照顧下盆栽..” 真不好意思麻煩你了。
你是否也經(jīng)歷過這樣的煩惱?反正我都經(jīng)歷過...
作為理科生當然是選擇自己動手做一個啦~
二、總體設計
首先,我們期望的功能有:
1.實現(xiàn)溫度,土壤濕度等數(shù)據(jù)的在線監(jiān)控
2.當土壤濕度低于一定值時自動澆水
3.在線控制澆水
總體設計如下:
我們面臨的第一個問題是平臺的選擇,我嘗試了幾個開發(fā)平臺后最終選擇的是機智云,它提供調(diào)試APP無須我們另外開發(fā)。
三、硬件準備
四、接入機智云
首先我們要賊機智云的開發(fā)者中心注冊一個賬號,登陸以后創(chuàng)建一個新產(chǎn)品
接著創(chuàng)建數(shù)據(jù)點,下面是我創(chuàng)建的數(shù)據(jù)點,光照強度后來沒加上
完成以后我們可以使用虛擬設備調(diào)試
下載機智云調(diào)試APP
下載以后我們在個人項目中點開虛擬設備調(diào)試
打開APP,準備掃碼查看我們的數(shù)據(jù)點
感覺沒有問題我們就進行下一步
固件燒錄
機智云官方固件可在下載中心中找到
解壓后發(fā)現(xiàn)其含有以下文件,這里建議使用四合一的固件,燒錄方便,至于燒錄工具我們選擇樂鑫原廠固件燒寫工具
設備連接(紅圈內(nèi)的是需要注意的連接)
完成以后直接用USB轉(zhuǎn)TTL插入電腦燒錄固件即可,開始燒錄的時候它會要求你給WIFI模塊復位,這時我們只需要使RST接以下低電平觸發(fā)即可。
那么如何驗證我們的WIFI模塊燒錄以后是正常可用的呢?
機智云提供了串口調(diào)試助手可實現(xiàn)
虛擬MCU調(diào)試
同樣WIFI模塊接著USB轉(zhuǎn)TTL插入電腦
這里需要注意的是你的RST引腳和使能固件燒錄的引腳必須是無效的。
然后按下圖順序做好設置
1.AirLink為機智云的一鍵配置模式
手機連接路由器(我用360隨身WIFI充當無線路由)
隨后打開機智云APP添加設備,選擇一鍵配置,選擇模組。
隨后在串口調(diào)試助手中點擊初始化,AirLink使模塊進入一鍵配置模式。接著靜待連接成功。
有時候鏈接超時不穩(wěn)定可以再試一次。
2.Softap為熱點模式
熱點模式即讓WIFI模塊生成熱點。
燒寫了GAgent固件的WiFI模塊配置為AP模式時,其WIFI名為”XPG-GAgent-xxxx”,
其中”xxxx”為Wi-Fi模塊的物理地址后四位,初始密碼為”123456789。
手機鏈接熱點后使用熱點配置添加設備,其余操作同上。
五、代碼解析
完成至此,我們僅僅需要完成MCU的開發(fā)即可,下面講講機智云模板代碼的修改
機智云官方推薦的編程軟件是STM32Cube+Keil
STM32Cube可以輕松完成MCU的初始化的修改
keil則提供了編譯燒錄環(huán)境
首先我們在機智云的個人項目中選擇MCU開發(fā),等待模板代碼生成
模板代碼內(nèi)含以下文件,作為使用者我們無需全部關注
首先我們打開STM32F103C8x.ioc
添加外設初始化,接著重新生成代碼
main.c
按鍵函數(shù)包括初始化,重啟,啟動AirLink模式和啟動Softap模式
主函數(shù)內(nèi),先是完成了各種初始化。接著是我自己添加的一段模式配置,這樣就可以不用通過按鍵配置了
再往下就是再while循環(huán)內(nèi)不斷完成數(shù)據(jù)采集和數(shù)據(jù)的上報
下面我們跟蹤以下數(shù)據(jù)采集的函數(shù),只要數(shù)據(jù)賦值到currentDataPoint這個結構體變量中即可
由于我們定義的產(chǎn)品是定時上傳數(shù)據(jù)的,數(shù)據(jù)上報函數(shù)我們可以不用細致了解
由此我們完成了設備數(shù)據(jù)采集---->服務器----->客戶端
那么我們的手機如何控制設備呢?
這要說起gizwits_product.c的另一個函數(shù)gizwitsEventProcess
我們在這里添加接收到水泵開關事件的處理以及自動灌溉事件處理
至此基本完成
為了提高連接機智云的成功率
建議在gizwits_protocol.h修改重連次數(shù)和超時時間
六、測試
為啥我把它焊接成這個樣子呢,因為我本來打算給他做一個外殼的...然后把它放到懶人花盆上
可是這東西打印需要12小時,也就一直沒行動...
后來我又想了一個方法,用3個以下形狀的盒子像積木一樣疊起來,底下的盒子放水,中間放設備,最上面種植物
同樣也沒有3D打印
APP演示
最底下出現(xiàn)的是水位警報
總結
以上是生活随笔為你收集整理的基于机智云平台的智能花盆的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 步骤6 - WebSocket服务器把请
- 下一篇: 一个关于微服务架构和monolithic