智能雨林缸,顧名思義,是指在魚缸內養雨林植物,與傳統的水族缸不同的是智能雨林缸,具備的功能更多,能夠自動調節光照、溫濕度等環境因素,讓植物生長的更好。
本次通過ESP8266和機智云,進行PCB設計,以最低成本自己開發智能控制器,實現智能雨林缸智能監測溫濕度,通過手機App遠程控制照明、噴水、噴霧、風扇調節,與此同時還設有手機控制功能、自動調節功能,以便更好的照顧雨林植物。
一、硬件部分
可以自己購買4路繼電器,及防水溫度傳感器DS18B20探頭,ESP12S小系統板。
繼電器:GPIO13(加熱管)GPIO12(循環電機)GPIO16(噴淋電機)GPIO5(燈光)配網按鍵:GPIO14(按下低電平)溫度傳感器:GPIO4(傳感器需要上拉電阻)?? ? ? ?
二、軟件部分1、在機智云自助開發平臺創建“智能雨林缸”產品,登錄dev.gizwits.com,創建產品
?? ? ? ?
2、創建數據功能點。為后MCU代碼移植、App控制提供基礎。
?? ? ? ?
?? ? ? ?
3、生成基于ESP8266 SOC方式的代碼包,以便后續代碼移植
? ??
三、APP開發使用機智云進行APP開發有多種方式,諸如使用機智云開源框架、機智云代碼自動生成工具,這兩種方式涉及到Java語言或Swift語言,我未選用。
而是采用了機智云賽博坦工具,無代碼,只需要進行在線配置就能開發出一款個性化的App。具體而言需要進行如下操作。
3.1 通過dev.gizwits.com 切換至機智云新版開發平臺,創建【移動應用】
?? ? ? ?
3.2 創建好移動應用后,關聯設備到移動應用里面。其他參數根據自己需求進行更改
?? ? ? ?
3.3 之后,回到機智云新版開發平臺主頁,選擇自己創建“智能雨林缸”,然后進入如下頁面。將【產品開發-模組信息】:配置成樂鑫模組,注意只需要修改模組就行,熱點參數無需更改。
?? ? ? ?
3.4 接下來,進入【應用頁面-控制頁面】:進行App頁面修改,可以根據自己需求設置好控制模塊的大小以及圖標。其余參數根據自己的需求修改。注意:每個頁面都需要保存。
?? ? ? ?
?? ? ? ?
3.5 App控制頁面定義完成后,接下來需要進行參數配置,點擊【構建應用】,進行應用【應用證書】配置,最后再進行【應用構建】 ?? ? ? ?
當應用構建“成功”后,可以下載此App安裝到手機上。這樣一個個性化的“智能雨林缸”App就開發完成了。
四、ESP8266接入機智云這是進行開發的最重要的步驟之一。為了讓“智能雨林缸”的控制器具有聯網功能,讓App能夠實現遠程控制,需要對基于ESP8266 SOC方案生成的代碼包進行移植,最后要將移植后的代碼燒寫至ESP8266上。
由于涉及的代碼較多,我只進行簡要說明,更具體的操作步驟、代碼請參考博客 https://club.gizwits.com/thread-166412-1-1.html
先將ESP8266 SOC代碼包進行解壓縮,接下來進行移植
1、采用IDE方式進行開發編譯:解壓過后即可使用,路徑不能有中文。2、修改編譯參數:打開根目錄下面的Makefile文件,然后修改23到27行的內容。3、按鍵部分無需修改,因為自動生成的代碼就是gpio14按鍵長按短按進行網絡配置。但繼電器引腳的初始化我們寫在按鍵函數的初始化里面, 初始化為輸出模式。4、在gizwits_product.c和gizwits_product.h增加全局變量。5、在gizwits_product.c的gizwitsEventProcess函數里面對開關狀態進行緩存。6、處理斷電開機之后開關以及各項參數的初始化。主要是利用flash讀取獲取參數。數據狀態存放在flash,后續教程及程序會有存儲體現。初始化主要修改userInit函數。7、在gizwits_product.c新增DS18B20驅動函數、溫度傳感器的函數。8、在gizwits_product.c的userHandle函數里面對GPIO輸出點,溫度采集,flash存儲以及邏輯控制進行編寫。9、修改完代碼之后ctrl+B進行編譯固件編譯。10、利用樂鑫燒錄軟件將生成的固件燒錄到ESP8266里面。參數參考下圖,注意參數不能有錯。
下載硬件接線如下表下載模式。
記住通電瞬間就要保持這個狀態才是下載模式。
11、程序燒錄完成之后,通過按鍵長按觸發airlink配網(或短按觸發softap配網),在APP選擇對應的配網進行網絡配置及綁定設備。綁定后進入設備即可進行采集和控制。
? ? ? ??
作為水族圈的一員,養過觀賞魚、玩過自然水景,現在自己動手做一個“智能雨林缸”特別有成就感,機智云和ESP8266的改造成本又低,真是太棒了。
-
控制器
+關注
關注
112文章
16203瀏覽量
177417
發布評論請先 登錄
相關推薦
評論