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