錢春陽,王建春,李鳳菊,孫海波,劉 偉,杜彥芳,孫 想
(1.天津市農業科學院 信息研究所,天津300192;2.天津市農業生物技術研究中心,天津300384;3.北京農業信息技術研究中心,北京100097)
現代農業已經發展成為從數字化到網絡化再到智能化的高級階段,各類農業智能設備與傳感器的接入為農業數字化提供了多元的數據、內容和相關推理依據,有助于解決基于農業復雜環境和主體行為的復雜問題,也為下一代智能農業技術產品研發應用提供強有力的支撐。
農業生產往往受到地理位置、基礎設施、經濟條件等多方面限制,從而影響農業生產相關數據的采集以及農業生產信息化進程。本設計采用新一代網絡(5G)的重要分支NB-IOT技術,并結合高性能FRAM數據存儲技術,意在解決農業生產信息化的最后一公里問題,為著力建設以農業物聯網和精準裝備為重點的農業全程信息化提供技術支撐。
設施溫室智能環境采集系統硬件構成如圖1所示,以低功耗微處理器MSP430FR5x為核心,通過接口電路實現與外圍模塊之間的連接;NB-IOT模塊實現傳感器與服務器之間的數據傳輸;采用撥碼開關實現設備編號和傳感器種類設置,開放的傳感器接口,可實現具有數字、模擬及脈沖信號傳感器連接的隨機組合;電源采用[10]1節大容量磷酸鐵鋰電池為系統供電,采用XL4005電源芯片分別為每通道傳感器提供電源,有效減少電源引腳空置對系統功耗的影響。

圖1 設施溫室智能環境采集系統硬件結構
FRAM技術是將微小的鐵電晶體集成進電容內,通過施加電場使鐵電晶體的電極化在兩個穩定狀態之間轉變,使得FRAM產品能夠像快速非易失性RAM那樣工作,以實現高或低的邏輯狀態,保證掉電后仍能將數據保存完好。
在設施溫室環境中,通過實時分析環境數據變化規律(例如高溫高濕條件下的通風與遮陽、呼吸作用條件下對二氧化碳的及時補充、陰天霧霾條件下的增溫補光等)作為優化設施種植、提效增產的重要依據。通過使用FRAM來存儲系統改寫頻繁的設施環境監測數據,實時的報警信息,以及其他配置參數,以保證需要頻繁讀寫和快速調用的數據的存儲。除此之外,用于設施溫室的智能控制設備,往往需要使用電池供電,避免受到溫室電力設施條件的限制,與此同時,能夠降低系統功耗,延長使用時間和使用壽命,與傳統的采用FLASH作為存儲器具有明顯優勢,FRAM與FLASH存儲的區別見表1。可以看出,FRAM具有高速讀寫、低功耗、長壽命的優點,采用防篡改保護,提高數據安全性。由于不需要輪詢來完成讀寫操作,程序代碼量可以減少,FRAM不需要代碼做損耗均衡,大大減少對于芯片的損害。
處理器單元選擇TI公司的MSP430FR5x系列作為系統的主控單元。該控制芯片是超低功耗(ULP)嵌入FRAM的MCU,16位RISC架構高達24 MHz時鐘,工作電壓范圍2.0~3.6 V,多達16 KB非易失存儲器工作模式,活動模式下典型功耗為103 μA/3 V,系統狀態保持下功耗是6.4 μA/3 V,掉電模式功耗是5.9 μA/3 V。

表1 FRAM與FLASH存儲技術比較
隨著移動通信網絡的蓬勃發展,其業務范圍和應用市場悄然發生了改變,一方面高速率、高寬帶、設計復雜的高速路徑來滿足對于大流量的需求,一方面低功耗、設計簡單、信令簡化的低速路徑成為萬物互聯的一個重要分支。
NB-IoT(窄帶物聯網)技術最大的優勢在于廣覆蓋、強連接、低功耗、低成本。其構建于蜂窩網絡,采用授權頻譜,基于運營商現有基礎設施,大部分都可以重用,所以無論在數據安全性、建網成本、產業鏈和網絡覆蓋上來講,相對于非授權頻譜的LoRa、Sigfox都有很強的優越性。同時,對于在主芯片、外圍器件、PCB以及應用場景方面的特殊設計,讓NB-IOT模塊在功耗和成本方面相較現有的LPWAN通信技術標準(如LoRa、Sigfox)在競爭中顯示出更大的優勢,非常適合應用在智能抄表、智慧交通、可穿戴設備、智能建筑、智慧物流以及智慧農業等領域。
采用低功耗UDP/CoAP/UDC協議通訊模塊NB73,支持板載天線和內置芯片SIM卡,減少體積,降低設計復雜度,提高穩定性。該模塊對內部的嵌入式軟件和AT指令進行了易用性優化,提供透明傳輸UDP模式,提供CoAP通訊組件,嚴格的重傳機制,保障數據發出必答,不達報警,能夠提供透傳云服務。
該模塊能夠實現串口到網絡的雙向數據透明傳輸(圖2),與傳統2G網絡相比,為節省電量,模塊隨時可以向服務器發送數據,而服務器對于數據實行選擇性接收,在無數據交互時模塊進入PSM狀態,通過定時激活網絡獲取數據降低系統功耗。工作電壓為DC 3.5~4.2 V,波特率可調,峰值功耗為0.5 A/3.8 V,休眠功耗小于20 μA/3.8 V,自定義注冊包并支持心跳包。

圖2 透傳模式網絡接入流程
數據采集模塊軟件設計流程主要涉及系統硬件初始化、定時休眠喚醒、傳感器數據采集、數據存儲和發送4個步驟進行輪詢。本設計采用LPM3.5低功耗模式,采用該模式時喚醒時間約為0.5 μA,CPU處于關閉狀態,不適用與SMCLK、MCLK、ACLK相關的外設,系統進入休眠狀態后,通過RTC時間喚醒系統,進行后續操作,采用該模式時I總=I晶+I漏+I電源+Irtc≈400 μA。
通過RTC喚醒系統后,進入傳感器數據采集操作,通過與傳感器探頭進行通訊,并判斷數據有效性后,將測量數據存入FRAM塊中,同時發送無線網絡通道應答指令,若當前無線傳感網絡正常則將FRAM塊中的數據取出打包并發送至上位機,若當前無線網絡不正常則連續偵聽,直至正常發送,若到下一周期之前均無法正常發送,則數據保存在FRAM塊中并休眠,進入下一個采集周期時將上一周期滯留在FRAM中的數據一并發送(圖3)。
數據匯轉的作用是將設備采集到的數據與遠程服務器相連接,作為物聯網體系架構當中的重要一環,使用C++ Builder進行開發,結合Mysql數據庫,作為傳輸層與應用層之間的橋梁,實現數據的無線上傳和儲存功能。
3.2.1 初始化 (1)配置數據庫連接
配置數據庫變量見表2。
(2)進行串口連接
使用victorcomm控件接收數據,通過YbCommDevice1->PortParams設置串口參數,通過YbCommDevice1->Active打開串口、YbCommDevice1->Write寫數據、YbCommDevice1->Read讀數據。串口接收數據具有1幀53字節、9600波特率,由下位機傳感器設定數據上傳周期。

圖3 系統流程圖

數據類型變量名數據庫服務器地址UnicodeStringm_data_source數據庫表UnicodeStringm_initial_catalog登陸數據庫的用戶名UnicodeStringm_user_id登陸數據庫的密碼UnicodeStringm_user_pass-word連接到數據庫的字符串UnicodeStringconnectstr連接到UDP連接的本地ipUnicodeStringus_local_ip連接到UDP連接的本地端口UnicodeStringus_local_port
(3)獲取數據庫初始化參數偽代碼如下,
void__fastcall TF_main::FormCreate(TObject*Sender)
{
…
Fr_udp_rs->MyC->Server=m_data_source;
Fr_udp_rs->MyC->Port=3306;
Fr_udp_rs->MyC->Username=m_user_id;
Fr_udp_rs->MyC->Password=m_user_password;
try
{Fr_udp_rs->MyC->Connected=true;}
catch (Exception &exception)
{ShowMessage("無法正確連接到數據庫或是數據庫服務器沒有運行!");return ;}
ShowMessage("數據庫成功連接!");
Edit_server_ip->Text=us_local_ip;
Edit_server_port->Text=us_local_port;
}
TF_main::dedao_zuihou_zhuangtai(UnicodeString us_cpuid) {…} //傳感器當前狀態
TF_main::chuli_received_Package(UnicodeString us_recv) {…}//處理收到的數據包
TF_main::cunchu_zhuangtai(unsigned char get_data_buf[],int ilen) {…}//處理收到的數據包并保存
TF_main::chuli_send_Package(UnicodeString ust_wifi_ip,unsigned short ust_cpu_id,UnicodeString us_shuzhi) {…}//處理發送的數據包
3.2.2 處理收到的數據包并保存 從傳感器傳來的數據具有如下幀結構,程序通過幀頭和幀尾識別數據包,并通過幀類型對數據包進行分類存儲和執行,目標器件地址和來源器件地址分別采用自動識別主控芯片出廠ID,以保證地址的唯一性,40字節的數據長度包含空氣溫度、空氣濕度、光照度、土壤溫度、土壤濕度數據及類別標志,以便在數據庫的相應位置進行存儲(表3)。

表3 幀結構
設備測試于2018年5月15~20日在天津市農科院試驗基地進行。首先,配置本地虛擬服務器IP地址和端口號,通過網絡調試助手測試數據接收情況,然后使用自主開發的服務器監聽程序接收軟件進行測試,通過設定工作串口頻率、設定公網IP地址、UDP端口號、心跳包頻率和注冊包字段后,啟動網絡并開啟檢測設備;硬件部分數據設定每30分鐘采集空氣溫度、空氣濕度、光照度、土壤溫度、土壤濕度數據,用于檢測設施溫室生產環境相關數據,累計采集測試數據793組,均正常接收,無數據包丟失,為設施溫室內的合理灌溉提供指導依據。
采用FRAM和NB-IOT架構搭建設施溫室智能環境監測系統,能夠合理處置滯留數據,并有效保證數據采集上傳的連貫性,同時確保掉電數據不會丟失;NB-IOT網絡環境搭建,能夠適應在農業智慧生產條件下低頻率、小數據量的數據傳輸,有效減少數據傳輸過程產生的費用,同時從整體上降低系統功耗(圖4)。

圖4 數據測試及實物圖