记得几年前,看到《中华人民共和国环境保护行业标准(HJ/T 212-2005):污染源在线自动监控(监测)系统数据传输标准》 这个协议,当时看的头都大了,最终没有下手去设计支持他。直到最近,客户说:你们VOC仪器不错啊,要是能支持HJ212传输协议就好了。。。
头脑出现当年阅读那个协议时的纠结,如今居然真的有客户想要我支持这个麻烦的协议,没办法,必须的做啊,也许做出来还是独家呢?哈哈
令我惊喜的是这次读这篇传输协议标准,我居然很容易就懂了,觉得其实这个协议挺简单的,而且写的还不错,面面俱到。
在此写下,为看客提供一些参考吧。
【概述】HJ/T 212这个协议,是为了规范环境监控中心读取每个企业的排放数据而制定的一种通讯协议,每个厂家的传感器和仪表设备得到数据后,通过支持这个协议,实现数据实时或者分时传输给环境监控中心,这样领导们在监控中心就能了解到每个企业的污染物实时排放数据了。
【行业状况】通常做仪器仪表的企业,大多数都用单片机实现的,所以仪表企业的数据通常是不能直接传递给环保局,而且开发支持这个协议,对于单片机来说基本不可能,即使用用上位机也未必能支持,因为这个协议有点儿复杂和专业。
于是就有些公司,专门是做环保数据采集仪的,他们将仪表数据采集后,和环保局建立3G/4G网络通信。所以很多环保设备工程公司就采购对应的仪表设备和数采仪即可。比如一台VOC有机废气检测仪表,他输出4~20mA;一台数采仪,他有个4~20mA采集口,他采集仪表的电流信号,转为数字;然后拨号和环保局的监控中心链接;并通讯。
【问题】上面这种方式仅适合固定场所的数据传输,因为设备比较大。但是类似VOC有机挥发物有机废气这类排放监测,不是每个企业都愿意花几万块钱去安装一套,而且安装好了以后,还有后期很多维护。目前VOC检测仪大多数采用的是PID光离子传感器,这种传感器需要一个紫外灯一直照射,时间久了,就会衰减或者变脏,无法检测到真实的浓度。
使用手持,每天对排放口检测4次,是一种比较经济的方式;而且有些环保执法、卫生执法、安监执法等等用这种仪器去检测时,都会面临手持仪器的数据存储和数据上传的问题。因为绝大多数仪器都是用单片机设计的,数据存储的非常少、非常简单。PV6001虽然是智能机VOC仪器,每秒存储一次,但是数据如何传到环保局呢?插到电脑导出太麻烦,而且监控中心无法实时了解到仪器的检测结果。
【解决办法】让PV6001支持数据实时传输到环保局的监控中心,网络采用3G/4G模块或者通过手机WIFI热点。
1. 我们通常采用手机的WIFI热点比较好,因为现在大多数人都有智能手机。如果实在不方便的,就配备3G/4G模块。
2. 剩下的就是让VOC检测仪的软件支持HJ/T 212传输协议了。
【WINCE智能机面临2个问题】
1. WIFI网络连接问题: 原本我们采用的是调用WINCE的WIFI链接程序,可实际发现他的UI有bug。
2. 如何实现协议。
【开发自己的WIFI网络连接程序】
找了pudn和cnblog,得到一些文章的帮助,设计了自己的WIFI链接程序。
1. 获取第一块WIFI网卡,这个网卡名称很重要, 以后就需要用他得到更多信息。
2. 通过网卡取得WIFI信号点名称和信号强度。
3. 输入WIFI名称 密码, 加密方式, 是否是热点,授权方式等等几个要素后, 把配置加入到WIFI连接列表中去。
另外还需要设计的功能:调整首选网络列表的顺序,因为也许有2个WIFI同时存在, 有一个不能上网,那么就麻烦了。
【HJ/T 212-2005数据传输标准】
简单期间,我们仅支持:《开始实时上传数据》《停止实时上传数据》《实时上传数据》《设置上传间隔》等着4个指令。
《未完待续》。。。。