APP下载

PAMS-I型便携自动气象站的无线传输改造

2021-04-06许杰文郭羽翔朱克备

气象水文海洋仪器 2021年1期
关键词:固件气象站串口

许杰文,郭羽翔,朱克备

(1.三明市气象局,三明 365000;2.清流县气象局,清流 365300)

0 引言

PAMS-I型便携自动气象站应用现代气象传感器技术、数据采集器技术、微机与通信技术,实时对监测地区的大气温度、湿度、压力、风向和风速等气象要素进行全自动观测,通过笔记本电脑显示实时气象信息。虽然PAMS-I支持使用RS-232有线传输和SIM卡无线传输,但是厂家提供的无线接收软件为中心站服务软件,需要自建接收服务器系统并向宽带运营商申请公共网络IP,才能使用无线接收方式。使用无线接收数据方法复杂且成本高,使用RS-232有线传输虽然可以本地直接接收数据,但是需要用1根数据线连接到采集器,当遇到灾害性天气时,应急保障人员需要到现场采集数据,为了接收数据,人员必须在便携自动气象站旁,人身安全存在隐患。

将PAMS-I型便携自动气象站的近端传输方式基于ESP8266芯片改造成无线传输方式,使近端有效传输距离延长到10 m以上,并且不用受串口线的束缚,可在有效范围内随意移动和摆放接收用的笔记本电脑,极大地方便了便携自动气象站的使用,保障了恶劣天气下现场应急维护人员的人身安全。

1 设备系统改造设计

1.1 设备改造原理

此次改造采用软、硬件联合开发的技术路线,利用ESP8266WiFi芯片将RS-232串口接收到的数据转换成无线WiFi信号发射出去,笔记本电脑连接到ESP8266芯片生成的WiFi热点,利用虚拟串口软件模拟出1个串口,利用该虚拟串口模拟有线连接的方式采集便携自动气象站的数据。

1)对PAMS-I型便携自动气象站的数据发送端进行改造,加装串口信号转换模块和ESP8266无线芯片以及电源转换模块,将数据发送方式修改为无线发送;

2)在ESP8266无线芯片中写入设备信息修改的网页,通过该网页导入要修改的WiFi设置项目来修改WiFi信号传输;

3)在笔记本电脑端安装虚拟串口软件,模拟有线传输。

1.2 主芯片ESP8266介绍

在国内外,WiFi芯片的生产商和种类很多,性能各异,但都能实现物联网的功能。其中,ESP8266是一款性价比高的低功耗无线芯片[1]。ESP8266内置32位CPU,能够独立运行,广泛应用于智能家居、工业无线控制和无线传感器等领域[2],集成了标准数字外设接口、天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块等,仅需很少的外围电路,可将所占 PCB空间降低;ESP8266共有17个GPIO管脚,通过配置适当的寄存器可以给GPIO管脚分配不同的功能。

ESP8266支持3种模式,分别是soft AP模式、station模式和softAP+station模式[3]。

station模式:ESP8266模块通过路由器连接互联网,利用手机或电脑通过互联网实现对设备的远程控制。

soft AP模式:ESP8266模块作为热点,手机或电脑直接与模块通信,实现局域网无线控制。

文章采用softAP模式,即把ESP8266当作一个WiFi 热点[4]。

ESP8266模块的底层固件是可定制的,可以在NodeMCU网站上定制ESP8266模块固件,给模块添加adc、sjson、http等功能。

1.3 串口转换模块介绍

串口是连接ESP8266芯片与PAMS-I便携自动气象站的指令交互桥梁,PAMS-I便携自动气象站的串口型号为DB9,文章也采用DB9串口。由于ESP8266芯片的串行数据输出为TTL电平,而不是标准的RS-232电平,同时ESP8266芯片的供电电压为 3.3 V,因此文章采用MAXIM公司的MAX3232电平转换芯片将TTL电平与RS-232电平进行转换。MAX3232是一种能够实现 RS-232 与 TTL 两种逻辑电平相互转化的专用芯片,芯片内部包含二路接收器和二路驱动器以及1个电源电压变换器,且只需3.3 V电源供电。MAX3232芯片的硬件接口十分简单,单片机的串行接收端RXD和串行发送端TXD可直接连接到 MAX3232 的相应端口上[5]。

2 设备改造方法

2.1 设备的改装和连接

将串口转换模块连接在PAMS-I上,ESP8266芯片上的21、22号管脚连接到串口TTL上的TXD和RXD接口,ESP8266芯片上的8、15号管脚并联到ESP8266的VCC和GND引脚并连接到LM2596S DC-DC直流可调降压电源模块,电源模块负责将PAMS-I的12 V电压转换成3.3 V电压供电。

2.2 定制固件和程序烧写

1)登录NodeMCU网站,网址为https://nodemcu-build.com/,登录网页后在“Your email”下的编辑框输入自己的邮箱地址用于接收定制好的固件;

2)在“Select modules to include”选框内勾选ADC、HTTP和SJSON 3个功能(如图1,其余7个基础选项是默认选好的不需要去改变,共有10个功能);

图1 选择需要定制的功能

3)勾选完成后,点击网页左下方的“Start your build”按钮,5 min后,生成的固件程序下载地址就会发送到预留的邮箱里,只需从下载地址下载固件程序即可;

4)将ES8266的15、18号管脚进行短接,使芯片进入烧写模式,打开烧写工具“ESP8266Flasher-x86-v0.9.2.4.exe”,在“配置”选项卡里只勾选“INTERNAL://FLASH”选项,其他选项均不勾选,然后选择下载好的固件程序,在“操作”选项卡里点击“一键烧写”按钮,待进度条结束,若左下角出现绿色的“完成”字样则表示固件烧写成功。

2.3 导入应用程序

1)运行“LuaLoader.exe”程序导入配置好的应用程序,在命令栏的“setting”选项中打开串口,命令输出框会弹出ESP8266芯片中的固件信息,可以看到之前定制的固件信息。若未弹出信息,则需更改右上角的波特率,找到正确的波特率即可正常连接。然后点击“Upload File…”,选择要导入的应用程序。

2)导入应用程序后,点击右下角的“file.list”查看已经导入的程序文件列表,目前该改造项目导入的文件有5个:“init.lua”、“httpServer.lua”、“index.html”、“udp.lua”和“index1.html”。导入完成后检查文件是否齐全,确认需要导入的文件均导入成功后,点击“Restart”开始运行程序。

3)应用程序列表

init.lua:芯片里的IP信息和端口设置、连接设备的IP地址和端口信息、ESP8266生成的无线WiFi信号的名称和密码都写在该文件中。

httpServer.lua:http基础服务的应用程序,该程序为网页程序的基底,写入该程序后html的网页程序才能生效。

udp.lua:UDP服务程序,文件包括了串口设置和UDP服务器参数设置[6,7]。

index.html:主页面程序,输入IP地址可查看ESP8266芯片的IP地址和连接设备的IP地址。

index1.html:配置应用程序导入页面,可导入init.lua和udp.lua文件,如果修改过这两个文件,可以通过该网页导入。

3 连接电脑接收数据

1)安装虚拟串口程序USR-VCOM并生成虚拟串口(图2),其中目标端口和本地端口在写入ESP8266的应用程序里的“init.lua”文件中。

图2 用USR-VCOM设置虚拟串口

2)用笔记本电脑的无线网卡连接ESP8266发射出来的无线信号,设置信息都写在了“init.lua”文件中,将笔记本电脑的无线网卡设置为自动获取IP地址。

3)启动便携自动气象站的接收端软件,然后点击命令栏的“系统参数设置”,在串口“通讯传输”框内选择要使用的COM端口号。

4)选好接收软件的串口后,查看USR-VCOM里的虚拟串口是否变为“开启”,若变为“开启”则表示接收软件已经成功连接虚拟串口,然后查看“网络接收”和“串口接收”两处是否有数字增加,若有数字增加则表示已经开始正常收发数据,此时等待接收端软件接收便携自动气象站的数据即可。

4 结束语

基于物联网无线传输芯片ESP8266改造的无线传输系统电路简单可靠、经济实用,通过该系统能够解除PAMS-I型便携自动气象站近端传输时的有线束缚,使传输更便捷,提升了便携自动气象站的使用安全性。目前该设备已应用于三明市气象装备网络和装备保障中心便携站的应急响应和防恐演练,将来会逐步推广到其他县、市的便携自动气象站中。

猜你喜欢

固件气象站串口
我国在珠穆朗玛峰架设世界最高海拔气象站
珠峰上架起世界最高气象站
尼康旗舰Z9升级新固件延长高速连拍时间
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
船舶电子设备串口数据的软件共享方法
自动气象站异常记录分析及处理方法
英特尔发布免费固件引擎
提取ROM固件中的APP