999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Lora技術的氣象監測系統

2018-05-11 00:53:14冒志益劉光祖
電子設計工程 2018年7期
關鍵詞:系統設計

冒志益,劉光祖

(南京理工大學電子工程與光電技術學院,江蘇南京210094)

隨著物聯網的發展和應用,以智慧農業為代表的新興產業越來越體現出得天獨厚的優勢[1]。而對于占地面積更大的林牧業的氣象監測,目前主流的Zigbee技術傳輸距離相對較短,無法滿足長距離傳輸的要求[2-3]。本系統采用的LoRa技術是LPWAN通信技術中的一種,是美國Semtech公司采用和推廣的一種基于擴頻技術的超遠距離無線傳輸方案。這一方案改變了以往關于傳輸距離與功耗的折衷考慮方式,為用戶提供一種簡單的能實現遠距離、長電池壽命、大容量的系統,可以較好地應用于林牧業的數據傳輸[4-6]。軟件算法設計參考了大系統理論,對各種干擾因子進行了綜合調控,通過實地的試驗,測試了該監測系統的傳輸穩定性,丟包率控制在0.1%以內,滿足了工程設計的需要。

1 系統硬件設計

節點部分采用ST公司的STM32芯片設計,通信模塊采用Semtech公司的SX1276芯片設計,網關由終端節點和PC機組成,經由Internet連接至云服務器。整個系統結構如圖1所示。

圖1 系統結構圖

1.1 無線芯片、節點MCU的選擇

考慮到本系統針對的是長距離無線數據傳輸,同時低功耗的特點,所以選用SX1276芯片。數據通過LoRa協議傳輸至網關,既免去了有線數據傳輸的布線與施工,又由于LoRa技術傳輸距離遠,空曠地區最遠可達15 km,可以較好地滿足要求。

對于節點MCU的選擇需要參考一下幾個因素:1)林牧業環境由于其面積較大,所以采用有線布線方式成本較高,而無線又面臨著功耗和傳輸距離的矛盾,但LoRa技術的出現解決了這一矛盾,所以MCU應支持相應的LoRa芯片或者LoRa模塊。2)是否為SoC(片上系統級)芯片。因為片上系統級芯片的功能較強,片內資源豐富,包含若干通道的A/D、D/A、SPI、I2C、UART,以及足夠大的ROM和RAM,外圍電路相對簡單,這樣既保證了系統的穩定,也有利于系統的開發與測試。3)功耗。由于林牧業面積較大,可能數公里內只有一個節點,如果功耗較高,則需要經常更換電池,造成不必要的麻煩。而且系統需要不間斷地采集24h內各個時段的氣象信息,所以MCU的功耗是影響節點使用時間的重要因素。STM32F103CBT6自 帶 128Kb的 Flash、20Kb的SRAM、7通道DMA控制器、80個可編程GPIO口,支持ADC、I2C、SPI、UART等外設,可以方便地搭載相應的氣象傳感器和LoRa芯片,節點原理框圖如圖2所示。

圖2 節點原理框圖

同時,由于LoRa無線收發頻率是433 MHz的射頻,所以PCB中天線的布設成為關鍵點,由于不同用戶所設計的PCB排版和所用材料不同,所以在布設完成后,應采用Ansys公司的HFSS V12進行仿真測試后再進行PCB的加工。

1.2 傳感器接口電路的設計

本系統中氣象元素包括溫濕度、光照度、氣壓和風速,對于傳感器的選擇,由于是林牧業環境,需考慮以下因素:1)穩定性傳感器必須在室外,尤其是晝夜溫差較大時保持良好的穩定性;2)MCU是否提供相應的通信接口;3)使用時限傳感器需要在室外環境進行長期測量,應具有較長的使用時限。

1.2.1 溫濕度傳感器電路的設計

本系統溫濕度傳感器選用SHT20,該傳感器配有一個全新設計的CMOS芯片,一個電容式濕度傳感元件和一個能隙溫度傳感元件,嵌入了適于回流焊的雙列扁平無引腳DNF封裝,體積小,采用I2C協議與MCU通信,在電路設計時,芯片的DATA引腳和SCL引腳接上拉電阻,具體原理圖如圖3所示。

圖3 溫濕度傳感器設計原理圖

1.2.2 光照度傳感器電路的設計

本系統光照度傳感器選用BH1750FVI,該傳感器通過50 Hz/60 Hz除光噪音功能實現穩定的測定,接近視覺靈敏度的光譜靈敏度特性,輸出對應亮度是數字值,分辨率較高,光源依賴性弱,可以探測較大范圍內的光強度變化(1lx-65535lx),采用I2C與MCU通信。

在電路設計時,SCL引腳和SDA引腳接上拉電阻,ADDR引腳引出,具體原理圖如圖4所示。

圖4 光照度傳感器設計原理圖

1.2.3 氣壓傳感器電路的設計

本系統氣壓傳感器選用MS5611-01BA,該傳感器包括一個高線性度的壓力傳感器和一個超低功耗的24位Σ模數轉換器,分辨率達到10 cm,可采用SPI和I2C協議與MCU通信。本次設計采用I2C協議,將CBS引腳接地,SDO引腳懸空,SCLK和SDA引腳接上拉電阻,具體原理圖如圖5所示。

圖5 氣壓傳感器設計原理圖

1.2.4 風速傳感器電路的設計

本系統采用傳統的三杯風速傳感器測量風速,如圖6所示。

圖6 三杯風速傳感器

其中風杯選用碳纖維材料,強度高,啟動好;杯體內置信號處理單元能根據用戶需求輸出相應風速信號,可廣泛用于氣象、海洋、環境、機場、港口、實驗室、工農業及交通等領域。

由于該風速儀采用RS485接口,所以在電路設計時,需采用MAX3485芯片將RS485電平轉換為TTL電平,通過UART與MCU通信,具體原理圖如圖7所示。

圖7 電平轉換原理圖

1.3 節點電路的設計

本系統中采用STM32作為MCU,外圍電路包括溫濕度傳感器、光照傳感器、氣壓傳感器電路,風速傳感器(RS485電平轉換電路),USB-TTL電平轉換電路,USB接口,SWD調試接口,5~3.3 V電壓轉換電路,對于該芯片的電路設計可參考ST公司的數據手冊[7]。

在進行USB-TTL電轉換電路的設計時,可使用PL2303芯片,該芯片是一種高度集成的接口轉換器,可提供一個RS232全雙工異步串行通信裝置與USB功能接口便利聯接的解決方案,具體電路原理圖如圖8所示。

圖8 USB-TTL電平轉換原理圖

1.4 LoRa網關的設計

在一般的系統設計中,各個節點獲得數據后,都需要將數據傳送至路由器,再由路由器對數據進行打包處理后傳送至互聯網或服務器。而在本系統中,由于成品的LoRa網關的價格較為昂貴,在節點數不多的情況下,使用LoRa網關會造成資源浪費。所以使用LoRa節點和PC機組成LoRa網關,將LoRa節點的地址設置為0xFFFF,作為終端節點,能夠接收所有節點發送的數據,同時也能發送數據至所有節點。再利用上圖9所示的USB-TTL電平轉換電路將終端節點的輸出信號轉化為USB信號,與LoRa網關進行數據傳輸。通過編寫一個串口通信軟件,LoRa網關可以方便接收并記錄終端節點傳送的數據。

2 系統軟件設計

系統軟件方面,涉及到單片機,LoRa網關,云服務器以及移動客戶端軟件的相關編程。

2.1 節點MCU的編程

由于節點使用的是STM32系列,所以采用ST公司推廣的STM32CubeMX軟件。該軟件使用圖形化配置的方法,免去了在程序中對于基本的引腳輸入輸出,時鐘頻率等等的配置,方便了程序開發,縮短了開發周期,對于芯片的芯片配置如圖9所示。

在設置了相應引腳和時鐘等參數后,可以將框架代碼導出到相應的編譯軟件。在KEIL5中編程時,需對傳感器編寫相應的驅動程序。對于SHT20芯片,使用I2C總線與MCU進行通信,主要就是對芯片初始化函數SHT20_Init、SCL線的輸入輸出函數SHT20_SCL_Input、SHT20_SCL_Output、SDA線的輸入輸出函數SHT20_SDA_Input、SHT20_SDA_Output等進行編寫。

圖9 節點芯片配置圖

考慮到系統采用電池供電,在算法的設計時應盡可能降低系統功耗。由于在同一時刻,網關只能和一個節點交換信息,因此本系統采用輪詢方式,在網關接收一個節點數據前,先由網關向該節點發送喚醒信號,節點開始工作,采集氣象信息并發送到網關,網關成功接收數據后,再向節點發送休眠信號,節點進入休眠狀態后,網關繼續向下一個節點發送喚醒信號,如此循環,整個過程如圖10所示。

圖10 節點通信流程圖

2.2 USB串口通信的編程

在終端節點接收到數據后,需通過USB傳送至LoRa網關,再由網關傳輸至云服務器,所以如何穩定地傳輸數據將是本次程序設計的重點。由于程序是運行于PC機上,可使用MFC來進行開發。MFC是一個微軟公司提供的類庫,以C++類的形式封裝了Windows API,并且包含一個應用程序框架,以減少應用程序開發人員的工作量。其中包含大量Windows句柄封裝類和很多Windows的內建控件和組件的封裝類。使用MFC編程時,先通過添加文本框和按鈕對整體界面進行布局,再插入Microsoft Communication Control串口通信類控件,在類向導設置每個控件的變量,最后添加相應的控件事件處理函數。基本設置完成后,需在框架程序中完善上述的事件處理函數。主要是對串口處理函數的調用,包括串口選擇函數SetCommPort()、波特率設置函數SetSettings()、緩沖區大小設置函數 SetInBufferSize()和SetOutBufferSize()、模式設置函數SetInputMode()、串口打開函數SetPortOpen()等等,再運用MFC中文本類句柄新建TXT文檔以保存數據到PC機上,軟件界面如圖11所示。

圖11 串口通信軟件

2.3 Lora網關與云服務器軟件的編程

在LoRa網關讀取并保存數據到本地數據庫之后[8],利用網絡編程相關知識[9-10],將LoRa網關的數據傳送到云服務器上,用戶可通過移動客戶端經由Internet訪問云服務器,整個系統的數據傳輸過程如圖12所示。

在數據上傳的過程中,可采用C/S(客戶端/服務器)模式。開發軟件選擇Visual Studio 2010,其中包含自帶的Socket函數類庫,可以方便的運用于網絡編程。主要調用以下函數:套接字創建函數Socket.Creat()、服務器連接函數 Socket.Connect()、連接請求接收函數Socket.Accept()、網絡監聽函數Socket.Listen()、信息發送函數 Socket.Send()、信息接收函數 Socket.Receive()、套接字關閉函數 Socket.Close()等等。初始化時,先指定網絡端口號(一般在0到65535之間取大于1024的值),并建立監聽,等待客戶端的連接。在服務器端接受到相應的數據后,保存在服務器的數據庫中。

圖12 數據傳輸流程圖

2.4 移動端軟件的編程

云服務器存儲了相關數據之后,需要對其進行遠程訪問。在移動端軟件的制作方面,考慮到安卓系統的市場占有率較高,采用Google公司的Android Studio軟件來開發安卓軟件[11-16]。仍然采用C/S模式,客戶端通過Socket與服務器通信,在編寫程序時,可分為以下步驟:1)通過IP地址和端口實例化Socket,請求連接服務器;2)獲取Socket流以進行讀寫,并把流包裝進BufferWriter或者 PrintWriter;3)對Socket進行讀寫;4)關閉打開的流。編寫完成后可直接在PC機上運行服務器程序,手機上運行客戶端軟件,進行測試。

3 系統測試

為了驗證系統的可行性與穩定性,需要測試一下幾個方面:1)節點監測數據與網關接收數據的一致性,以及與距離的關系。2)網關發送數據與云服務器接收數據的一致性。3)移動客戶端訪問云服務器時的流暢度,以及能否及時地更新數據。

對于第一點,在節點的PCB設計時加上USB串口和RS232-USB接口轉換芯片PL2303,將節點通過USB與PC機連接,使用上述制作的USB串口通信軟件,將數據保存到相應文檔。由于節點采集到數據后,傳給STM32,再同時經由LoRa和USB發送給網關和PC機,此時USB端接受到的數據等效于LoRa端發送的數據,與網關接收的數據對比后如表1所示。

表1 發送接收數據對比

對于第二點,在本次系統測試時,采用局域網的方式,一臺計算機模擬云服務器,一臺計算機為客戶端,分別運行服務器和客戶端程序。輸入cmd命令后,在命令行里通過config指令來獲得局域網內服務器和客戶端的IP地址,服務器和客戶端IP分別為192.168.1.103和192.168.1.104,在輸入IP地址后,指定相同的端口號(4096),服務器端開始監聽,客戶端連接服務器,建立連接后,客戶端發送數據,服務器端接收數據,軟件運行界面如圖13和圖14所示。

圖13 客戶端軟件

圖14 服務器端軟件

對于第三點,在本次系統測試時,用計算機模擬云服務器,開始監聽,打開手機客戶端,建立連接后,客戶端端訪問服務器數據,軟件運行界面如圖15所示。

4 結 論

文中設計的氣象監測系統主要是針對林牧業等

圖15 移動端軟件測試圖

覆蓋范圍較大的產業,能實時監測各個節點處的溫度、濕度、光照度能環境因素,并使用LoRa節點和PC機構成LoRa網關從而可以方便管理各個節點。另外通過移動客戶端軟件的開發,方便地進行遠程監控,以便及時采取相應的措施。

參考文獻:

[1]李道亮.城鄉一體化發展的思維方式變革——論現代城市經濟中的智慧農業[J].人民論壇·學術前沿,2015(17):39-47.

[2]趙金燕,楊秀娟,郎云雯,等.基于Zigbee技術的溫濕度采集系統設計[J].電子設計工程,2013,21(6):15-17.

[3]Gill K,Yang S H,Yao F,et al.A zigbee-based home automation system[J].IEEE Transactions on Consumer Electronics,2009,55(2):422-430.

[4]趙靜,蘇光添.LoRa無線網絡技術分析[J].移動通信,2016,40(21):50-57.

[5]ugustin A,Yi J,Clausen T,et al.A study of Lora:long range&low power networks for the internet of things[J].Sensors,2016,16(9):1466.

[6]劉琛,邵震,夏瑩瑩.低功耗廣域LoRa技術分析與應用建議[J].電信技術,2016(5):43-46,50.

[7]楊鳳彪,劉云.STM32F10X系列微控制器標準外設庫的應用[J].電子設計工程,2012,20(11):148-150.

[8]國家863中部軟件孵化器.MySQL從入門到精通[M].北京:人民郵電出版社,2016.

[9]W.RichardStevens.UNIX network programming.Volume 2,Interprocess communications:=UNIX網絡編程.卷2,進程間通信[M].北京:人民郵電出版社,2016.

[10]鄭阿奇.Visual C++網絡編程[M].北京:電子工業出版社,2011.

[11]楊瀟亮.基于安卓操作系統的應用軟件開發[J].電子制作,2014(19):45-46.

[12]劉銳.Android開發的性能優化[J].電腦編程技巧與維護,2013(16):115-116,118.

[13]董志鵬,張水波.Android開發課堂實錄[M].北京:清華大學出版社,2016.

[14]劉銳.Android開發的性能優化[J].電腦編程技巧與維護,2013(16):115-116.

[15]尹京花,王華軍.基于Android開發的數據存儲[J].數字通信,2012,39(6):79-81.

[16]紀曉陽.線程在Android開發中的應用[J].軟件,2013(8):24-26.

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: h视频在线播放| Aⅴ无码专区在线观看| 亚洲男人的天堂在线| 精品一区二区三区无码视频无码| 国产精品久久久久婷婷五月| 精品国产美女福到在线不卡f| 国产无码高清视频不卡| 国产精品嫩草影院av| 亚洲综合经典在线一区二区| 99久久国产自偷自偷免费一区| 精品第一国产综合精品Aⅴ| 亚洲AV无码乱码在线观看代蜜桃 | 精品人妻一区二区三区蜜桃AⅤ| 久久www视频| 国产精品护士| аⅴ资源中文在线天堂| 国产SUV精品一区二区6| 中文字幕日韩欧美| 精品午夜国产福利观看| 潮喷在线无码白浆| 国产熟女一级毛片| 亚洲人成高清| YW尤物AV无码国产在线观看| 日本三区视频| 99热这里只有精品在线播放| 色婷婷电影网| 亚洲欧美自拍一区| 亚洲国产精品日韩欧美一区| 成人日韩精品| 日韩av电影一区二区三区四区| 国产精品自拍露脸视频| 熟女成人国产精品视频| 久久永久视频| 国产成人精品高清不卡在线| 久青草免费视频| 麻豆国产原创视频在线播放 | 亚洲bt欧美bt精品| 中文国产成人久久精品小说| 麻豆精品国产自产在线| 亚洲综合精品香蕉久久网| 亚洲欧美国产五月天综合| 国产在线精品人成导航| 亚洲精品老司机| 色婷婷啪啪| 精品福利国产| 伊人成人在线视频| 日本人妻一区二区三区不卡影院 | 伊人久久久久久久| 日韩福利在线视频| 国产福利大秀91| 成人自拍视频在线观看| 亚洲成人网在线播放| 亚洲第一成年网| 欧美精品亚洲精品日韩专区va| 91久久青青草原精品国产| 国产h视频免费观看| 中文字幕va| 日韩在线2020专区| 伊人久综合| 黄色在线不卡| 欧美日韩一区二区在线免费观看| 国内精品久久久久久久久久影视 | 日本不卡在线| 久久影院一区二区h| 99精品视频在线观看免费播放| 亚洲综合极品香蕉久久网| 亚洲精品视频在线观看视频| 欧美国产日韩另类| 国产资源站| 日本影院一区| 亚洲中文字幕无码爆乳| 亚洲国产精品国自产拍A| 亚洲一区二区三区麻豆| 日韩成人高清无码| 亚洲第一黄片大全| 色噜噜综合网| 18禁不卡免费网站| 国产不卡网| 毛片国产精品完整版| 91麻豆国产在线| 国产人人射| 亚洲无码视频喷水|