許杰文,郭羽翔,朱克備
(1.三明市氣象局,三明 365000;2.清流縣氣象局,清流 365300)
PAMS-I型便攜自動氣象站應用現(xiàn)代氣象傳感器技術、數(shù)據(jù)采集器技術、微機與通信技術,實時對監(jiān)測地區(qū)的大氣溫度、濕度、壓力、風向和風速等氣象要素進行全自動觀測,通過筆記本電腦顯示實時氣象信息。雖然PAMS-I支持使用RS-232有線傳輸和SIM卡無線傳輸,但是廠家提供的無線接收軟件為中心站服務軟件,需要自建接收服務器系統(tǒng)并向寬帶運營商申請公共網(wǎng)絡IP,才能使用無線接收方式。使用無線接收數(shù)據(jù)方法復雜且成本高,使用RS-232有線傳輸雖然可以本地直接接收數(shù)據(jù),但是需要用1根數(shù)據(jù)線連接到采集器,當遇到災害性天氣時,應急保障人員需要到現(xiàn)場采集數(shù)據(jù),為了接收數(shù)據(jù),人員必須在便攜自動氣象站旁,人身安全存在隱患。
將PAMS-I型便攜自動氣象站的近端傳輸方式基于ESP8266芯片改造成無線傳輸方式,使近端有效傳輸距離延長到10 m以上,并且不用受串口線的束縛,可在有效范圍內(nèi)隨意移動和擺放接收用的筆記本電腦,極大地方便了便攜自動氣象站的使用,保障了惡劣天氣下現(xiàn)場應急維護人員的人身安全。
此次改造采用軟、硬件聯(lián)合開發(fā)的技術路線,利用ESP8266WiFi芯片將RS-232串口接收到的數(shù)據(jù)轉換成無線WiFi信號發(fā)射出去,筆記本電腦連接到ESP8266芯片生成的WiFi熱點,利用虛擬串口軟件模擬出1個串口,利用該虛擬串口模擬有線連接的方式采集便攜自動氣象站的數(shù)據(jù)。
1)對PAMS-I型便攜自動氣象站的數(shù)據(jù)發(fā)送端進行改造,加裝串口信號轉換模塊和ESP8266無線芯片以及電源轉換模塊,將數(shù)據(jù)發(fā)送方式修改為無線發(fā)送;
2)在ESP8266無線芯片中寫入設備信息修改的網(wǎng)頁,通過該網(wǎng)頁導入要修改的WiFi設置項目來修改WiFi信號傳輸;
3)在筆記本電腦端安裝虛擬串口軟件,模擬有線傳輸。
在國內(nèi)外,WiFi芯片的生產(chǎn)商和種類很多,性能各異,但都能實現(xiàn)物聯(lián)網(wǎng)的功能。其中,ESP8266是一款性價比高的低功耗無線芯片[1]。ESP8266內(nèi)置32位CPU,能夠獨立運行,廣泛應用于智能家居、工業(yè)無線控制和無線傳感器等領域[2],集成了標準數(shù)字外設接口、天線開關、射頻 balun、功率放大器、低噪放大器、過濾器和電源管理模塊等,僅需很少的外圍電路,可將所占 PCB空間降低;ESP8266共有17個GPIO管腳,通過配置適當?shù)募拇嫫骺梢越oGPIO管腳分配不同的功能。
ESP8266支持3種模式,分別是soft AP模式、station模式和softAP+station模式[3]。
station模式:ESP8266模塊通過路由器連接互聯(lián)網(wǎng),利用手機或電腦通過互聯(lián)網(wǎng)實現(xiàn)對設備的遠程控制。
soft AP模式:ESP8266模塊作為熱點,手機或電腦直接與模塊通信,實現(xiàn)局域網(wǎng)無線控制。
文章采用softAP模式,即把ESP8266當作一個WiFi 熱點[4]。
ESP8266模塊的底層固件是可定制的,可以在NodeMCU網(wǎng)站上定制ESP8266模塊固件,給模塊添加adc、sjson、http等功能。
串口是連接ESP8266芯片與PAMS-I便攜自動氣象站的指令交互橋梁,PAMS-I便攜自動氣象站的串口型號為DB9,文章也采用DB9串口。由于ESP8266芯片的串行數(shù)據(jù)輸出為TTL電平,而不是標準的RS-232電平,同時ESP8266芯片的供電電壓為 3.3 V,因此文章采用MAXIM公司的MAX3232電平轉換芯片將TTL電平與RS-232電平進行轉換。MAX3232是一種能夠實現(xiàn) RS-232 與 TTL 兩種邏輯電平相互轉化的專用芯片,芯片內(nèi)部包含二路接收器和二路驅動器以及1個電源電壓變換器,且只需3.3 V電源供電。MAX3232芯片的硬件接口十分簡單,單片機的串行接收端RXD和串行發(fā)送端TXD可直接連接到 MAX3232 的相應端口上[5]。
將串口轉換模塊連接在PAMS-I上,ESP8266芯片上的21、22號管腳連接到串口TTL上的TXD和RXD接口,ESP8266芯片上的8、15號管腳并聯(lián)到ESP8266的VCC和GND引腳并連接到LM2596S DC-DC直流可調降壓電源模塊,電源模塊負責將PAMS-I的12 V電壓轉換成3.3 V電壓供電。
1)登錄NodeMCU網(wǎng)站,網(wǎng)址為https://nodemcu-build.com/,登錄網(wǎng)頁后在“Your email”下的編輯框輸入自己的郵箱地址用于接收定制好的固件;
2)在“Select modules to include”選框內(nèi)勾選ADC、HTTP和SJSON 3個功能(如圖1,其余7個基礎選項是默認選好的不需要去改變,共有10個功能);
圖1 選擇需要定制的功能
3)勾選完成后,點擊網(wǎng)頁左下方的“Start your build”按鈕,5 min后,生成的固件程序下載地址就會發(fā)送到預留的郵箱里,只需從下載地址下載固件程序即可;
4)將ES8266的15、18號管腳進行短接,使芯片進入燒寫模式,打開燒寫工具“ESP8266Flasher-x86-v0.9.2.4.exe”,在“配置”選項卡里只勾選“INTERNAL://FLASH”選項,其他選項均不勾選,然后選擇下載好的固件程序,在“操作”選項卡里點擊“一鍵燒寫”按鈕,待進度條結束,若左下角出現(xiàn)綠色的“完成”字樣則表示固件燒寫成功。
1)運行“LuaLoader.exe”程序導入配置好的應用程序,在命令欄的“setting”選項中打開串口,命令輸出框會彈出ESP8266芯片中的固件信息,可以看到之前定制的固件信息。若未彈出信息,則需更改右上角的波特率,找到正確的波特率即可正常連接。然后點擊“Upload File…”,選擇要導入的應用程序。
2)導入應用程序后,點擊右下角的“file.list”查看已經(jīng)導入的程序文件列表,目前該改造項目導入的文件有5個:“init.lua”、“httpServer.lua”、“index.html”、“udp.lua”和“index1.html”。導入完成后檢查文件是否齊全,確認需要導入的文件均導入成功后,點擊“Restart”開始運行程序。
3)應用程序列表
init.lua:芯片里的IP信息和端口設置、連接設備的IP地址和端口信息、ESP8266生成的無線WiFi信號的名稱和密碼都寫在該文件中。
httpServer.lua:http基礎服務的應用程序,該程序為網(wǎng)頁程序的基底,寫入該程序后html的網(wǎng)頁程序才能生效。
udp.lua:UDP服務程序,文件包括了串口設置和UDP服務器參數(shù)設置[6,7]。
index.html:主頁面程序,輸入IP地址可查看ESP8266芯片的IP地址和連接設備的IP地址。
index1.html:配置應用程序導入頁面,可導入init.lua和udp.lua文件,如果修改過這兩個文件,可以通過該網(wǎng)頁導入。
1)安裝虛擬串口程序USR-VCOM并生成虛擬串口(圖2),其中目標端口和本地端口在寫入ESP8266的應用程序里的“init.lua”文件中。
圖2 用USR-VCOM設置虛擬串口
2)用筆記本電腦的無線網(wǎng)卡連接ESP8266發(fā)射出來的無線信號,設置信息都寫在了“init.lua”文件中,將筆記本電腦的無線網(wǎng)卡設置為自動獲取IP地址。
3)啟動便攜自動氣象站的接收端軟件,然后點擊命令欄的“系統(tǒng)參數(shù)設置”,在串口“通訊傳輸”框內(nèi)選擇要使用的COM端口號。
4)選好接收軟件的串口后,查看USR-VCOM里的虛擬串口是否變?yōu)椤伴_啟”,若變?yōu)椤伴_啟”則表示接收軟件已經(jīng)成功連接虛擬串口,然后查看“網(wǎng)絡接收”和“串口接收”兩處是否有數(shù)字增加,若有數(shù)字增加則表示已經(jīng)開始正常收發(fā)數(shù)據(jù),此時等待接收端軟件接收便攜自動氣象站的數(shù)據(jù)即可。
基于物聯(lián)網(wǎng)無線傳輸芯片ESP8266改造的無線傳輸系統(tǒng)電路簡單可靠、經(jīng)濟實用,通過該系統(tǒng)能夠解除PAMS-I型便攜自動氣象站近端傳輸時的有線束縛,使傳輸更便捷,提升了便攜自動氣象站的使用安全性。目前該設備已應用于三明市氣象裝備網(wǎng)絡和裝備保障中心便攜站的應急響應和防恐演練,將來會逐步推廣到其他縣、市的便攜自動氣象站中。