01 引言
隨著科技的不斷進(jìn)步,智慧農(nóng)業(yè)正逐漸成為農(nóng)業(yè)發(fā)展的未來趨勢。它通過整合物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等尖端技術(shù),實現(xiàn)了農(nóng)業(yè)生產(chǎn)的智能化、精準(zhǔn)化和高效化。從智能灌溉系統(tǒng)到無人機(jī)監(jiān)測,再到精準(zhǔn)施肥和病蟲害管理,智慧農(nóng)業(yè)項目正以其創(chuàng)新的解決方案,改變傳統(tǒng)農(nóng)業(yè)的面貌,為農(nóng)民帶來便利,為消費者帶來更安全、更健康的食品,同時保護(hù)我們的環(huán)境。
02 項目介紹
《智慧農(nóng)業(yè)》項目以Hi3861開發(fā)板作為硬件平臺,融合了NFC配網(wǎng)、MQTT通信、溫濕度傳感器監(jiān)測以及OLED顯示技術(shù),實現(xiàn)了智能化的農(nóng)業(yè)大棚環(huán)境監(jiān)控與管理系統(tǒng)。在智慧農(nóng)業(yè)大棚中,對土壤濕度進(jìn)行控制,通過濕度傳感器對土壤濕度情況進(jìn)行監(jiān)測,根據(jù)不同農(nóng)作物的濕度需要進(jìn)行判斷是否灌溉(本次項目中,使用風(fēng)扇代替水泵電機(jī)),在此基礎(chǔ)上可以通過手機(jī)對大棚內(nèi)環(huán)境數(shù)據(jù)進(jìn)行查看,還可以在手機(jī)中設(shè)置當(dāng)前農(nóng)業(yè)物的濕度范圍,并根據(jù)需要是否開啟自動控制。
本項目實現(xiàn)內(nèi)容:
- 設(shè)備端
1) NFC 配網(wǎng)功能;
2) 根據(jù)溫濕度傳感器是否自動灌溉;
3) 發(fā)布和訂閱 MQTT 的消息;
4) 保存傳感器的閾值信息到 Hi3861 模塊中的 Flash 存儲中。
- 微信小程序端
1) 可以將配網(wǎng)信息數(shù)據(jù)寫入 NFC 標(biāo)簽中;
2) 可以手動控制水泵電機(jī)的開關(guān);
3) 可以設(shè)置濕度傳感器的閾值范圍;
4) 可以手動是否開啟自動控制功能;
5) 在界面中顯示當(dāng)前濕度傳感器的數(shù)據(jù)和風(fēng)扇當(dāng)前的狀態(tài);
03 項目涉及技術(shù)點
①使用NFC進(jìn)行WiFi配網(wǎng)
②華為云平臺MQTT服務(wù)的申請和使用
③JSON數(shù)據(jù)的封裝和解析
④微信小程序的搭建和利用相關(guān)API進(jìn)行設(shè)備的監(jiān)控
⑤I2C總線的使用
⑥信息在Flash中的存儲方式
⑦溫濕度傳感器的使用
⑧IO擴(kuò)展芯片及風(fēng)扇的使用
⑨蜂鳴器的使用
04 項目實現(xiàn)
項目框架
本項目使用的是華為云物聯(lián)網(wǎng)平臺作為中間服務(wù)器,在設(shè)備端(Hi3861),首先進(jìn)行連接附近的 WiFi熱點,與華為云物聯(lián)網(wǎng)平臺建立 MQTT 連接,并且使用 JSON 格式數(shù)據(jù)進(jìn)行交互數(shù)據(jù);在應(yīng)用端(微信小程序),使用 HTTP 協(xié)議與華為云物聯(lián)網(wǎng)平臺進(jìn)行連接,使用華為云物聯(lián)網(wǎng)平臺相關(guān)的 API 進(jìn)行交互數(shù)據(jù)。
在設(shè)備端,在連接不上附近 WiFi 熱點的時候,會在 OLED 顯示屏上顯示,連接 WiFi 熱點失敗的提示信息,此時我們可以使用微信小程序上的 NFC 燒寫界面,將 WiFi 名稱和密碼進(jìn)行燒寫開發(fā)板上的 NFC 標(biāo)簽,然后再重新開發(fā)板進(jìn)行重新連接新的 WiFi 熱點。
設(shè)備端在空閑的時候,監(jiān)聽訂閱的主題中是否接收到云平臺轉(zhuǎn)發(fā)下來的數(shù)據(jù),如果接收到了,進(jìn)行 JSON 的數(shù)據(jù)解析,然后控制相關(guān)設(shè)備。
- 整體框架
- 設(shè)備端框架
- 應(yīng)用端框架
硬件部分
1 主控部分
本項目使用的是 Hi-12F 模組作為主控,此模組是基于 Hi3861V100 芯片設(shè)計的,該芯片是一款高度集成的 2.4GHz 芯片,集成了 IEEE 802.11b/g/n 基帶和 RF 電路,包括功率放大器 PA、低噪聲放大器LNA、RF balun、天線開關(guān)以及電源管理模塊等。
支持 20MHz 標(biāo)準(zhǔn)帶寬和 5MHz/10MHz 窄帶寬,提供最大 72.2Mbit/s 物理層速率。并且集成了高性能32 位微處理器,提供 SPI、UART、I2C、I2S、PWM、GPIO 以及多路 ADC 模擬輸入等豐富的外設(shè)接口,同時支持 SDIO2.0 接口,時鐘最高支持 50MHz。
主控部分原理圖如下圖所示:
模組的外設(shè)引腳功能,如下圖所示:
2 NFC通信部分
NFC 通信使用的是恩智浦公司生產(chǎn)的 NT3H1101 芯片,此芯片支持 I2C 通信,支持可配置的現(xiàn)場檢測引腳,內(nèi)部配備有EEPROM 存儲芯片,允許在 RF 和 I2C 之間快速傳出數(shù)據(jù)。
3 OLED顯示屏部分
采用 SSD1306 芯片進(jìn)行驅(qū)動 0.96 寸OLED 顯示屏,本顯示屏使用黃+藍(lán)屏幕進(jìn)行顯示。點陣數(shù)量為 128*64。
4 溫濕度傳感器部分
SHT20,新一代 Sensirion 濕度和溫度傳感器在尺寸與智能方面建立了新的標(biāo)準(zhǔn):它嵌入了適于回流焊的雙列扁平無引腳 DFN 封裝,底面 3 x3mm,高度 1.1mm。傳感器輸出經(jīng)過標(biāo)定的數(shù)字信號,標(biāo)準(zhǔn) I 2 C 格式。SHT20 配有一個全新設(shè)計的 CMOSens?芯片、一個經(jīng)過改進(jìn)的電容式濕度傳感元件和一個標(biāo)準(zhǔn)的能隙溫度傳感元件,其性能已經(jīng)大大提升甚至超出了前一代傳器(SHT1x 和 SHT7x)的可靠性水平。例如,新一代濕度傳感器,已經(jīng)經(jīng)過改進(jìn)使其在高濕環(huán)境下的性能更穩(wěn)定。每一個傳感器都經(jīng)過校準(zhǔn)和測試。在產(chǎn)品表面印有產(chǎn)品批號,同時在芯片內(nèi)存儲了電子識別碼,可以通過輸入命令讀出這些識別碼。此外,SHT20 的分辨率可以通過輸入命令進(jìn)行改變(8/12bit 乃至 12/14bit 的 RH/T),傳感器可以檢測到電池低電量狀態(tài),并且輸出校驗和,有助于提高通信的可靠性。由于對傳感器做了改良和微型化改進(jìn),因此它的性價比更高-并且最終所有設(shè)備都將得益于尖端的節(jié)能運(yùn)行模式。可以使用一個新的測試包 EK-H4 對 S HT20 進(jìn)行測試。
本章使用到的硬件為 SHT20,在 FS_ESP32A 開發(fā)板上,使用到了 IO26 和 IO27 引腳。其原理圖如下圖所示:
軟件部分
1注冊華為云賬號并配置
【詳細(xì)的注冊及配置過程可以掃下文二維碼添加小雯老師領(lǐng)取完整文檔】
2 設(shè)備端編譯
- 導(dǎo)入程序
工程文件位于【\src\vendor\hqyj\fs_hi3861\demo\smartFarm\】如下圖所示:
- 修改文件
修改【\src\vendor\hgyj\fs_hi3861\common\bsp\include\hal_bsp_ ssd1306_bmps.h】文件,將“#define smartFarm 0”改為“#define smartFarm 1”。如下圖所示:
修改【\src\vendor\hqyj\fs_hi3861\demo\BUILD.gn】文件,添加下面一句:
"smartFarm:smartFarm_demo"
其余的注釋掉,只保留這一句話。
- 編譯程序
1.在 Vscode的左側(cè)按鈕中,打開 DevEco Device Tool開發(fā)工具,在開發(fā)工具中首先點擊“Clean”,再點擊“build”進(jìn)行編譯源碼。
2.編譯完成之后,會在終端中提示“SUCCESS”字樣,說明編譯完成。
3.點擊 upload 上傳代碼到開發(fā)板(需提前在工程配置中檢査 upload _port 是否正確)。
4.燒寫程序,詳細(xì)燒寫步驟可掃下文二維碼添加小雯老師領(lǐng)取完整文檔。
3 應(yīng)用端編譯
1.雙擊打開 app.wxss 工程文件,即可打開微信開發(fā)者工具。
2.首先點擊左上角的圖標(biāo),進(jìn)行掃碼登錄自己的微信。
3.登錄成功之后,填寫自己的 AppID
4.編譯源碼。
5.選擇真機(jī)調(diào)試-編譯并自動調(diào)試,在微信中觀察小程序內(nèi)容。
運(yùn)行程序
按下開發(fā)板中復(fù)位按鈕,讓設(shè)備重啟,會出現(xiàn)兩種情況。
1.連接 WiFi 失敗
第一種是連接不上附近的WiFi 熱點,如下圖所示:
這是因為在 NFC 標(biāo)簽內(nèi)部存儲的 WiFi 信息與當(dāng)前環(huán)境中的 WiFi 熱點不匹配導(dǎo)致的,按照下面的步驟進(jìn)行操作:
注意:微信小程序不支持 ios 系統(tǒng)的 NFC 配置功能??!下方會有方法解決。
①使用具有 NFC功能的手機(jī)掃描微信開發(fā)者工具的預(yù)覽二維碼。
②掃描完成之后,在微信小程序中,點擊“NFC配網(wǎng)”按鈕。
③在彈出的“NFC配網(wǎng)設(shè)置”界面中,填寫正確的 WiFi名稱和 WiFi密碼。
④填寫完成之后,點擊“開始配置”,會提示“請靠近設(shè)備”,此時將手機(jī)靠近開發(fā)板上的 NFC線圈區(qū)域。
⑤當(dāng)提示“寫入數(shù)據(jù)成功”時,說明燒寫 NFC 線圈成功。
⑥然后再次按下開發(fā)板中的復(fù)位按鈕。
⑦還有一種是 ios 系統(tǒng)下微信小程序不能使用 NFC配置的功能時,需要按照下面步驟進(jìn)行操作:
1)在 ios 系統(tǒng)的手機(jī)商店中下載“NFC Tools”NFC 調(diào)試工具。
2)然后點擊“寫”功能,
3) 點擊“添加記錄”。
4)添加“Wi-Fi 網(wǎng)絡(luò)”信息
5)在“配置WiFi 網(wǎng)絡(luò)”中,選擇身份驗證為“WPA/WPA2-Personal”,并輸入 SSID 和密碼。
6)然后點擊“寫/87 字節(jié)”按鈕,進(jìn)行燒寫。
7) 此時會彈出“貼近NFC 標(biāo)簽”,請靠近開發(fā)板上 NFC 線圈部分。
8) 燒寫完成之后,會在顯示如下圖片,說燒寫NFC 芯片數(shù)據(jù)成功。
2.連接 WiFi 成功
第二種是直接連接附近WiFi 成功,會在 OLED 顯示屏界面中會顯示當(dāng)前設(shè)備連接附近WiFi 熱點的提示信息和連接華為云平臺服務(wù)器的信息,直到在界面中顯示如下圖所示,說明連接華為云成功。
連接成功之后,我們需要打開微信小程序,在小程序中界面中,我們可以點擊開關(guān)按鈕,進(jìn)行下發(fā)指令讓設(shè)備中風(fēng)扇開或者關(guān),還可以進(jìn)行調(diào)整當(dāng)前濕度傳感器的閾值。
除了指導(dǎo)如何在開發(fā)板上實現(xiàn)項目外,項目說明文檔還涵蓋了注冊華為云賬號并登錄以及設(shè)備端編譯燒寫等詳細(xì)步驟,完整的項目文檔目錄如下圖。
后臺私信小雯老師(備注:智慧農(nóng)業(yè)),免費領(lǐng)取《智慧農(nóng)業(yè)》項目完整文檔、項目源碼。
05 硬件平臺
《智慧農(nóng)業(yè)》是一個物聯(lián)網(wǎng)實戰(zhàn)項目,硬件平臺是華清遠(yuǎn)見Hi3861鴻蒙開發(fā)板。
開發(fā)板簡介
FS-Hi3861鴻蒙開發(fā)板,是華清遠(yuǎn)見研發(fā)的一款用于鴻蒙設(shè)備開發(fā)及鴻蒙物聯(lián)網(wǎng)開發(fā)學(xué)習(xí)的開發(fā)板。主控為華為海思Hi3861V100芯片,內(nèi)置WiFi功能,支持OpenHarmony系統(tǒng)。
開發(fā)板板載資源豐富,包括傳感器、執(zhí)行器、NFC、顯示屏等,還有豐富的拓展模塊,還包括電機(jī)驅(qū)動板超聲波測距模塊、智能小車、指紋識別模塊、語音控制模塊、農(nóng)業(yè)安防模塊、雷達(dá)控制模塊、移動定位模塊等。
開發(fā)板還配套了豐富的開發(fā)教程、視頻課程及綜合項目案例,非常適合物聯(lián)網(wǎng)相關(guān)教學(xué)、學(xué)生畢設(shè)、個人學(xué)習(xí)、項目練手,還可用于全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計競賽,及全國大學(xué)生物聯(lián)網(wǎng)設(shè)計竟賽華為賽道。
基于Hi3861鴻蒙開發(fā)板,我們提供了12大物聯(lián)網(wǎng)綜合應(yīng)用項目:智能照明燈、智能安防報警、智慧農(nóng)業(yè)、智能溫度計、智能測距儀、倒車?yán)走_(dá)、智能小車、智能指紋鎖、智能垃圾桶、語音控制智能小車、智慧農(nóng)業(yè)與安防控制、車輛感知與定位,案例中涉及了單片機(jī)接口開發(fā)、傳感器數(shù)據(jù)采集、鴻蒙系統(tǒng)開發(fā)、NFC配網(wǎng)、WiFi網(wǎng)絡(luò)開發(fā)、MQTT協(xié)議、華為云接入、微信小程序開發(fā)等知識點,非常適合高校教學(xué)、學(xué)生畢設(shè)、創(chuàng)新竟賽及個人開發(fā)學(xué)習(xí)實戰(zhàn)。
配套學(xué)習(xí)路線推薦
關(guān)于單片機(jī)相關(guān)入門及項目課程的說明:
1. 從用戶個人能力角度上看,部分鴻蒙開發(fā)學(xué)習(xí)用戶,單片機(jī)方面比較薄弱,我們提供電機(jī)驅(qū)動板和超聲波模組的配套文檔、源碼視頻課程,可以進(jìn)行單片機(jī)入門、電機(jī)控制基礎(chǔ)、總線通訊-協(xié)議學(xué)習(xí),也可以做單片機(jī)項目練手,便于單片機(jī)方向的拓展學(xué)習(xí);
2. 從項目協(xié)作式開發(fā)角度看,比如競賽或高校教學(xué),一個項目組可以更好的分工,有的負(fù)責(zé)單片機(jī)控制(傳感器數(shù)據(jù)采集與電機(jī)控制等),有的負(fù)責(zé)鴻RTOS以及網(wǎng)絡(luò)開發(fā),有的負(fù)責(zé)微信小程序開發(fā),項目綜合性較強(qiáng),可以鍛煉團(tuán)隊協(xié)作及多技術(shù)方向?qū)W習(xí)。
對于初學(xué)者,在找工作前,也可以多做一些物聯(lián)網(wǎng)項目案例練手,在實戰(zhàn)中去理解并應(yīng)用技術(shù)。有精力的話,最好可以基于我們的開發(fā)板去拓展一些功能更豐富的項目,做更多技術(shù)上的創(chuàng)新拓展,去參加一些競賽(比如全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計競賽、全國大學(xué)生物聯(lián)網(wǎng)設(shè)計竟賽華為賽道),DIY一些更接近實際產(chǎn)品的項目,這樣的經(jīng)歷,也會為你的簡歷及面試加分不少。
-
單片機(jī)
+關(guān)注
關(guān)注
6039文章
44575瀏覽量
636373 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44736瀏覽量
374464 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5081瀏覽量
97691 -
畢業(yè)設(shè)計
+關(guān)注
關(guān)注
7文章
232瀏覽量
15516 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2369瀏覽量
42900
發(fā)布評論請先 登錄
相關(guān)推薦
評論