李楷文 周鑫俊 譚啟日 潘啟勇



摘要:為了促進養殖業信息化的發展,文章基于NB-IoT技術設計了一種智能魚缸溫度監控系統。該系統采用STM32F103C8T6單片機和傳感器終端實時采集溫度,通過NB-IoT技術傳輸到物聯網云平臺,訪問云平臺實現對魚缸環境的遠程監測和自動控制。經過測試,系統采集溫度的誤差不超過0.5 ℃,數據傳輸穩定性較高,溫度低于閾值一定時間自動發送報警短信,為魚類養殖提供了有力保障。
關鍵詞:實時采集;遠程監測;自動控制;NB-IoT
中圖分類號:TP302文獻標志碼:A0引言隨著人們生活水平的不斷提高,精致生活成為一種時尚。為了增添生活情趣,裝飾家居環境,養殖觀賞魚已成為一種潮流。伴隨著這種潮流,魚缸、凈水器等配套用品熱度不斷上升。魚類生長對不同的溫度要求分為冷水、溫水和熱水三種,不同種類的魚苗只能存活于適合自己水溫的環境[1]。智能魚缸是利用物聯網技術,結合傳感器和計算機開發的一種新型養殖模式[2]。智能魚缸具有自動控溫、遠程監控等功能,給人們的日常生活帶來了便利。
目前,有很多研究者開展了針對物聯網技術與溫度控制方面的研究。李多[3]利用ZigBee技術,實現了嵌入式終端對溫度的無線監控。梁景普等[4]利用GPRS技術,實現對魚缸溫度的監控。上述系統各具特色,但ZigBee技術覆蓋范圍小,GPRS則功耗較高,而NB-IoT技術同時實現了低成本、低功耗、廣覆蓋和多連接[5]。本文基于NB-IoT技術,設計了一種智能魚缸溫度監控系統,實現了對魚缸溫度的自動控制和監測,提高觀賞魚的存活率。
1系統架構本文設計的魚缸溫度監測控制系統,整體架構參考物聯網分層模型,如圖1所示。從上往下分為感知層、網絡層和應用層,其中,網絡層又包含了傳輸層和平臺層[6]。
感知層由溫度探頭和STM32F103單片機構成,負責魚缸的數據采集和加熱控制,探頭放置在魚缸內部。傳輸層包括核心網和通信基站,負責業務數據的傳輸。平臺層保存業務數據,實時監控系統。應用層為客戶端,可以通過手機App與PC端實現魚缸溫度的監測和控制。
2感知層硬件設計魚缸溫度監控系統的硬件電路按照功能可劃分為MCU控制模塊、電源模塊、溫度采集模塊和通信模塊。
2.1主控芯片本設計選擇了意法半導體的32位增強型單片機STM32F103C8T6作為主控芯片,其內核為ARM公司的Cortex-M3架構,工作頻率最高達72 MHz,64 k的程序存儲器,自帶12位高精度A/D轉換器,3個UARST接口,4種超低功耗模式,工作溫度-40~85℃,足以滿足用戶對低功耗高性能的需求。
2.2電源模塊設計考慮到應用場景的多樣性,環境的復雜性,供電電路采用交流火線零線供電,取電方便。STM32的工作電壓為2~3.6 V,通信芯片BC26的工作電壓為2.1~3.63 V,為了使模塊正常工作,選用HLK10 M05作為AC/DC模塊,將220 V交流電轉為5 V的直流電。本系統設計了以RT9193芯片為核心的穩壓電路,該芯片具有快速響應和超低噪聲的優點。在滿功率輸出的情況下,電壓可降低至220 mV,穩壓電路輸出電壓3.3 V,保證了系統的穩定性。
2.3檢測模塊和溫控模塊設計檢測模塊使用NTC熱敏電阻作為測溫元件。該電阻以過渡金屬氧化物為主要原材料,采用電子陶瓷工藝制成。由于其具有電阻隨溫度上升而降低的特性,被廣泛應用于家用空調、汽車空調、冰箱、冷柜等場合的溫度測量與控制。其感溫范圍從-50~105 ℃,測溫精度為±0.5 ℃。
先將NTC熱敏電阻串聯一個電阻,接入3.3 V和GND之間,再用STM32F103單片機自帶的12位A/D轉換口采集其兩端電壓,并根據電壓和溫度轉換關系表得到最終溫度。
溫控部分采用2路5 V繼電器控制。當溫度達到規定的閾值時,由主控芯片控制啟閉,實現對魚缸升溫和降溫控制。
2.4NB-IoT通信模塊設計通信模塊選用的是基于NB-IoT技術的無線通信模塊BC26,采用LCC封裝,具有3種工作模式,電流功耗在省電模式下低至3 μA,能最大限度地滿足終端對小尺寸低功耗模塊的要求。BC26模塊采用NB-IoT無線通信協議3GPP-rel.13與網絡運營商的設備進行連接,能夠提供最大62.5 kbit/s的上行速率和25.5 kbit/s的下行速率,電路如圖2所示。STM32通過串口TXD,RXD與BC26進行交互。BC26通過外置天線以及專用的SIM卡引腳與物聯網平臺連接,實現信號的收發。
3傳輸層數據通信協議本系統的傳輸層數據協議為UDP協議,是OSI模型中的一種無連接的傳輸層協議。區別于TCP協議建立連接時的“三次握手”和斷開連接時的“四次揮手”,UDP協議是一種面向無連接、無緩沖數據傳輸的通信協議,在應用層發送數據前無需建立連接,發送完成后也無需斷開,只要接收方提前建立端口連接,即可通過端口號和IP地址向目標發送指定的數據,大大減少了因為連接和斷開帶來的時延,提高了系統的實時性。此外,與TCP點對點的連接不同,UDP傳輸協議還支持一對一、一對多、多對一和多對多的交互通信。
UDP協議也是一種面向報文的無線傳輸協議。其數據格式分為UDP報頭和UDP數據區兩部分。UDP報頭部分由4個兩字節字段組成,分別表示該報文的源端口、目的端口、報文長度和校驗值。
4應用層軟件設計應用層是物聯網三層結構中的最頂層,可以對感知層采集的數據進行計算、處理和挖掘,從而實現對物理世界的實時控制、精確管理和科學決策。應用層的核心功能圍繞“數據”和“應用”兩個方面。在本設計中應用層采用MQTT協議連接到阿里云物聯網平臺,主要實現的是對感知層溫度采集模塊所采集到的溫度數據進行處理以及對于升溫、降溫開關的控制。軟件設計流程圖如圖3所示。
4.1溫度采集模塊程序設計將NTC熱敏電阻與主控芯片的ADC引腳相連,在對溫度數據進行AD采樣時,NTC的電阻值會隨著溫度改變。為了提高精度,先根據電壓溫度特性表進行擬合;再用Matlab軟件對曲線進行仿真,不斷逼近;最終得到精度較高的溫度電壓特性曲線函數,檢測溫度與實際值相差±0.5 ℃。
4.2通信模塊程序設計本設計中,BC26通信模塊采用消息隊列遙測傳輸協議(MQTT)與阿里云平臺實現數據互聯。MQTT是一種“輕量級”的基于發布/訂閱模式的消息傳輸協議。其優點是能夠以較少的代碼、有限的帶寬,為遠程設備提供實時可靠的消息服務。
在系統上電后,MCU采用通過串口向模塊發送AT指令的方式,實現NB模塊初始化、連接、溫度采集數據的收發、短信發送等等功能,相關AT指令如下:
AT+CIMI//查詢SIM卡號
AT+CGSN=1//查詢IMEI
AT+CSQ//查看信號質量
AT+CGPADDR=1//獲取模塊IP地址
AT+CGATT=1//模塊網絡已連接
AT+QIOPEN=1,0,“UDP”,“101,201,213,232”,1001,0,1//連接服務器
AT+QISEND=0,10//發送數據
在上電后,系統會檢查BC26的工作狀態(卡號、信號強度、是否入網等),狀態不正常會經過串口返回對應錯誤代碼,檢查通過后BC26會采用設定的IP地址、端口號連接至服務器云平臺,定時發送溫度信息,用戶就可以在PC端遠程觀察到魚缸的實時溫度。
5系統測試系統硬件設備、參數配置完成,NB模塊連接成功后,登錄阿里云物聯網平臺不僅可以查看設備狀態,還可以查看設備ID、型號等。進入數據查看頁面,觀察NB模塊上傳的溫度信息,并與實際溫度值進行比對,誤差不超過±0.5 ℃,滿足預期。將測試溫度降低至閾值,加熱裝置自動打開,待溫度穩定后,自動關閉,若溫度長時間維持在閾值之下時,服務器會向指定手機號發送預警短信。經測試,所設計的功能均能正常使用,系統運行穩定,測量精度較高。
6結語本文設計了一種基于NB-IoT技術的魚缸溫度監控系統,解決了目前智能魚缸面臨的通信距離短,功耗較高的問題。經過測試,溫度控制穩定,誤差不超過±0.5 ℃,提高了養殖魚類的存活率。
參考文獻
[1]馮茹.淡水魚類養殖技術及水環境對養殖的影響[J].新農業,2021(5):53.
[2]李曄,曾昂.基于物聯網的智能魚缸系統設計與實現[J].中國新通信,2022(16):62-64.
[3]李多.基于ZigBee和ARM的電熱膜供暖控制系統開發[D].南京:東南大學,2016.
[4]梁景普,傅卓軍.基于物聯網的觀賞魚智能喂養系統設計與實現[J].計算機應用與軟件,2022(3):8-13,88.
[5]王官云,王浩宇,唐穎.基于NB-IoT技術的數據中心溫度監測系統[J].工業控制計算機,2022(5):42-43.
[6]梁志勛,施運應,趙家祺,林芳.基于NB-IoT技術的高壓開關溫度監測系統[J].現代電子技術,2020(16):126-130,134.
(編輯 姚鑫)
Design of the fishtank temperature monitoring system based on NB-IoTLi Kaiwen Zhou Xinjun Tan Qiri Pan Qiyong
(1.School of Electronic and Information Engineering, Soochow University, SuZhou 215000, China;
2.School of Electronic and Information Engineering, Changshu Institute of Technology, SuZhou 215500, China)Abstract: In order to promote the development of aquaculture informatization, an intelligent fish tank temperature monitoring system based on NB-IoT technology was designed. The system uses STM32F103C8T6 microcontroller and sensor terminal to collect temperature in real time, and transmits it to the cloud platform of Internet of Things through NB-IoT technology, and accesses the cloud platform to realize remote monitoring and automatic control of the aquarium environment. Through testing, the error of the temperature collected by the system is less than 0.5℃, the stability of data transmission is high, and the temperature is lower than the threshold for a certain period of time, the automatic alarm message will be sent, which provides a strong guarantee for fish breeding.
Key words: collect in real time; remote monitoring; automatic control; NB-IoT