近年來,互聯網和人工智能技術飛速發展,推動了傳統畜牧業向著更集成與高效的方向發展。隨著現代畜牧業的大力發展,傳統的養殖結構與管理模式已經不使用現代大規模,集約化的養殖模式。
本系統設計利用機智云物聯網云平臺,實現奶牛場環境變量的自動化控制和遠程監控功能,應用于奶牛場的環境變量實時監測與調控系統,對奶牛場環境變量進行實時監測,智能調控,使奶牛場環境的管理更加科學規范和有效,更能大大降低人工成本,提高運營效益。
系統控制結構設計
本系統以單片機為核心控制單元,接收來自傳感器采集的環境因子的信息,采集之后對這些數據進行處理,當超出正常值之后,通過串口輸出各個開關量控對應的繼電器開始工作,從而達到對牛舍環境調控的功能,利用機智云讓 WI-FI 模塊與單片機建立連接,實現遠程監測與控制的功能。
系統硬件設計
本系統的硬件要求能準確測量牛舍的環境信息,控制單元進行精準控制,驅動,執行人機交互單元正常工作。本硬件采用模塊化設計,最后拼接為一個完整的系統,這樣有利于系統的升級,故障檢測與維修,整體的硬件設計系統如圖所示。
材料準備有溫濕度傳感器DHT11、光敏傳感器、RTC實時時鐘、空氣質量傳感器MQ135、繼電器驅動模塊、L298N 電機驅動模塊、esp8266模塊、電源模塊。
物聯網模塊的軟件設計 1、機智云簡介
機智云物聯網開發平臺是一款面向于企業以及個人的針對物聯網應用提供的開放式的云端服務,同時提供硬件開發工具與軟件開發服務,把物聯網通訊中用到的諸多協議整合在其自動生成的軟件當中,使開發者不再需要自身去設計終端軟件,以及諸多通訊協議,大大降低了物聯網開發的技術門檻,縮短研發周期以及投入成本,本課題利用 STM32 單片機與 ESP8266 實現機智云的接入,從而將機智云的物聯網功能整合到奶牛場的環境智能控制的系統當中。
設備的聯網分為有線聯網和無線聯網,而作為一個具有物聯網功能的產品來說,聯網的功能是非常重要的,對于現階段物聯網的發展來說,有線聯網需要的硬件更加復雜,成本極高,增加設備本身體積,這不是設計產品的原則所允許的,所以,無線聯網就成為最好的選擇,而必不可少的就是 WIFI 模塊,機智云平臺兼容的 WIFI 模塊有很多,本課題選擇的是樂鑫的 ESP8266 模塊。
在物聯網的系統之中,傳感器負責在物聯網的前端采集數據信息,而數據的計算與處理則是放在云端來完成的,機智云物聯網開發平臺提供與之對應的軟硬件功能,利用自己的云端來進行數據的計算,然后把計算的數據以及結果通過手機 APP 提供給用戶,從而完成物聯網的整套工作流程。
機智云提供的代碼自動生成服務可以根據選擇芯片的不同,生成相對應的代碼,有獨立 MCU 方案與 SOC 方案。
獨立 MCU 方案是指針對 MCU 開發的代碼,MCU是指內部包含了 CPU、ROM、RAM、定時器等部件的芯片,而 SOC 是指可以搭載系統的,功能更加強大的芯片。本設計系統采用獨立 MCU 解決方案,開發者在下載生成的代碼后可以與自身的代碼相互嵌套,從而達到智能控制的目的。
2、ESP8266 燒寫機智云官方固件
在機智云官方網站下載相應固件,準備好 GAgent 固件后,那么就需要一個固件的下載工具。固件下載工具用的是機智云官方推薦的樂鑫原廠固件燒寫工具:ESP FLASH DOWNLOAD TOOL V1.2。 燒寫了 GAgent 固件后 ESP8266 模塊上原來自帶的 AT 指令功能會被覆蓋,為此STM32 與 ESP8266 實現連接功能。

3、機智云開發流程
首先登陸機智云官網點擊開發者中心然后注冊登錄,登錄界面如下:
新產品的創建
添加數據點
點擊新建數據點
數據點的作用通俗點來講就是用戶或者開發者在設定的所要開發的產品上有的功能。
例如開發者需要實現燈泡的開關控制,那么在定義數據點的時候就要按照機智云定義數據點的要求定義這個數據點的顯示名稱,標識名,讀寫類型以及數據類型,這樣在后續的虛擬設備調試以及代碼生成中就會出現對應的功能。

4、 虛擬設備
虛擬設備是機智云平臺提供的在項目開發前期,當真實設備沒有處理好的時候利用虛擬設備進行模擬設備進行數據的上傳行為,從而快速地驗證接口功能虛擬設備在機智云開發項目的前期顯得尤為重要。

5、機智云 APP
利用機智云開發項目的過程中需要用到手機客戶端進行連接開發調試。機智云官方提供了可以直接使用的手機客戶端,便于在開發過程中利用此客戶端與虛擬設備與后期的真實設備進行連接調試與應用。
6、STM32 與機智云的軟件開發
在個人項目中,選擇創建新產品,在產品分類中,選擇智能家居-其他-其他,產品名稱輸入環境智能監測控制,在技術方案中選擇 WI-FI/移動網絡方案,通訊方式選擇 WI-FI 模塊,數據傳輸方式:定長,功耗類型:正常。

備注:因為奶牛場正常情況下不存在濕度過低的情況,所以,不用考慮濕度過低的情況,不需建立加濕的數據點。
在機智云個人項目中,在選擇獨立 MCU 方案,硬件平臺選擇其他平臺,在基本信息中復制對應的 Product Secret,點擊生成代碼包,并下載代碼包。
解壓下載的代碼包,其中復制 Gizwitz 到原本的工程文件中,并添加相關頭文件路徑。
①在usart3.c文件中添加#include "gizwits_product.h"頭文件以及用來接收中斷數據的gizPutData(&res,1); ②在定時器3中斷服務函數中添加gizTimerMs()函數,并且添加gizwits_product.h 頭文件; ③修改 gizwits_product.c 文件; ④修改 gizwits_product.c 文件; ⑤修改工程 main.c 文件 ; ⑥使能C99模式,串口協議API中使用了C99特性,在工程配置中需將C99 模式打開; ⑦修改棧堆大。 協議API在處理時,臨時變量占用會比較大,為了穩定運行需增大棧的大小,修改位置在startup_stm32f10x_hd.s 啟動文件,默認stack size值是 0x400,我們將它修改為0x1000; ⑧串口協議結構體字節對齊; ⑨修改usart.c文件 。
系統總結
本系統利用基于機智云物聯網云平臺建立的奶牛場環境檢測系統,利用ESP8266WI-Fi 模塊與機智云的云端連接,做到了對奶牛生長環境的現場調節與遠程控制相互協調,極大加強了對奶牛場環境監測與控制。 有效解決了傳統養殖業面臨的環境調控不及時、準確度差、養殖環境惡劣、人工成本較高等不利因素,做到以更低的成本,更快速有效的科學手段調節牛舍小環境,提高奶牛場養殖企業的營收利潤。
|