引言
本文设计了一种以LPC1100为主控制器,使用HLKRM04无线芯片的电子秤质监模块,连接到手机WiFi热点建立的局域网,直接将质监数据发送至手机,手机还可以与电脑互联,对质监数据进行汇总处理,实现自动化质监。
1 总体设计
1.1 基本原理
通用电子秤内部都会提供标准的RS232接口,通过这个接口,可以获取电子秤称重数据,这就为自动化质监提供了可能,设计一个质监模块嵌入电子秤内,将电子秤实时数据通过无线芯片HLKRM04发送至手机中。这个过程需要一个无线局域网,这个无线局域网由用户手机WiFi热点建立。质监模块在电子秤通电开始工作时自动运行,不断检测质监人员的手机无线网络,一旦检测到无线网络的存在,自动建立TCP连接,与手机建立联系,按手机发送的指令检测标准砝码的重量,并将检测结果回送至手机中,质监员就可以随时高效率方便地同时检测多台电子秤,并且质监员回到质监局后,可以将手机上记录的数据传送至电脑,进行汇总处理。质监系统整体示意图如图1所示。
图1 质监系统整体示意图
1.2 质监模块组成
整个系统由若干个质监模块和一部智能手机组成,共同组成全自动的质监系统,实现对多台电子秤同时质监。质监模块由CortexM0系列LPC1100主控制器、HLKRM04无线芯片、变压电路、RS232转化电路、按键电路、指示灯等模块组成,如图2所示。
图2 质监模块总体方案框图
上电复位后,主程序开始运行,首先向HLKRM04无线芯片发送信号,使它进入AT+指令集设置模式,进行初始化设置,包括需要连接的无线局域网的名称和密码、启动DHCP、主设备的IP和建立TCP连接的端口号等,设置完成后,重启无线芯片,无线芯片不断查找指定的局域网,找到后自动连接,而主程序一直监听,如果质监员要检测电子秤,就会打开手机WiFi热点,建立无线局域网,并在电子秤上放置标准砝码,无线芯片检测到该网络会自动连接上,质监员通过手机质监程序发送开始质监的指令,主程序收到后,会开始与电子秤RS232接口进行通信,将电子秤测出的数据发送至质监员手机,至此该电子秤的质监工作完成。
2 硬件设计
2.1 质监模块
质监模块MCU从电子秤RS232接口获取数据,经过处理后,通过UART串口发送至模块上的WiFi芯片,由WiFi芯片将数据通过无线网发送至质监人员的手机。MCU选用基于第二代ARM CortexM0内核的微控制器LPC1100,它是32位微处理器,具有高性能,低功耗的优点。
2.1.1 WiFi控制电路
WiFi控制电路用来连接WiFi芯片和MCU,实现两者之间的数据传输,以及MCU对WiFi的控制。质监模块选用的WiFi芯片是是海凌科电子新推出的低成本嵌入
图4手机WiFi热点无线信号强度距离图式UARTETHWiFi(串口以太网无线网)模块HLKRM04。HLKRM04实现了无线网和串口之间的转换,MCU可以通过对串口操作实现WiFi芯片的配置、无线通信的目的。WiFi控制模块主要是将MCU的UART_TX、UART_RX与HLKRM04的对应的引脚相连,实现两者之间串行异步通信。SW1与SW2是按钮开关,给HLKRM04提供重新启动和恢复出厂设置这两个信号。WiFi外围控制电路图如图3所示。
图3 WiFi外围控制电路图
2.1.2 电源模块电路
电子秤的RS232接口采用主动供电式,即电子秤利用RS232中两根功能性引脚为外设提供电源,本文中质监模块就是利用这两根引脚供电,使用一个电压转换电路,把电子秤提供的电压转化为+5 V和+3.3 V,分别为HLKRM04和LPC1100供电。
2.2 手机模块
手机模块可以直接使用任意一款安卓操作系统,自带WiFi热点的手机。直接下载质监程序就可以作为质监人员的质监工具。
正常情况下,能够稳定运行的无线AP一般是无线路由器,但是在本系统中,需要测试的对象可能是全市所有的电子秤,不可能在每个测试地点放置无线路由器,也不能够随身携带路由器使用。最好的办法是使用手机充当无线AP,将数据采集和无线局域网这两种功能合二为一,这将带来极大的便利。但是手机作为便携式设备,又是电池供电,能不能长时间稳定地充当无线AP呢?本文以HTC one型号手机为例进行可行性分析,用手机建立热点,即创建无线局域网,在电脑上运行WireLessMon获取无线网的强度信息,不断改变手机和电脑的距离,绘制如图4所示的无线局域网信号强度图。
图4 手机WiFi热点无线信号强度-距离图
理论上无线信号强度超过-70 dBm就可以建立连接,但是为了更好的通信质量,选取在大于-60 dBm时通信,从图4中可以看出,最佳覆盖范围是手机为中心,半径5 m的圆形区域。
就一般农贸市场而言,半径5 m可以覆盖好几个摊位,完全能够支持多台电子秤同时测试。测试过程中,手机满电状态可以连续开启WLAN热点2小时以上,实际使用过程中,在不用的时候可以暂时关闭热点,完全能满足使用的需要。
3 软件设计
3.1 质监模块
3.1.1 总体流程图
软件总体的流程如图5所示,上电启动后,首先检查各部分是否正常工作,主要是看电子秤能否正常通信,还有WiFi模块是否正常工作,如果出现异常,则对应的指示灯显示为红色。然后调用WiFi子程序对WiFi模块进行配置,初始化完成后重新启动WiFi芯片,以便配置生效。重启后,WiFi模块将不断搜索手机热点,如果搜索完毕会自动进行连接,并与手机建立TCP连接,主程序进入监听阶段,采用被动应答的方式,循环监听WiFi收到的指令,并对当前的指令进行解析和回复,同时开启定时器,如果一段时间没有收到手机发送的心跳包,主程序默认测试结束,重新进入开始阶段。
图5 质监模块总体流程图
3.1.2 WiFi配置子程序
HLKRM04芯片提供UART接口与MCU进行通信,通过该接口,MCU既可以对HLKRM04进行配置也可以收发无线网的数据。MCU采用AT指令集的方式配置HLKRM04,将配置的参数数据写成一段固定的配置字符串,主控制器给HLKRM04发送一个ES/RST信号使其进入AT指令集模式,MCU可以直接将配置字符串通过UART端口发送给HLKRM04。
质监模块中,HLKRM04的功能是寻找质监人员手机WiFi热点并连接,与手机建立通信链路。这个过程可以分为以下几部分:
① 质监模块的HLKRM04搜素指定名称的WiFi网络,并尝试连接。
② 连接完成,说明质监模块已经和质监人员的手机处于同一个无线局域网内。
③ 需要使手机和质监模块能够相互通信,本文中采用建立TCP连接的方式。
④ HLKRM04作为TCP连接的客户端,主动向手机发起TCP连接。
⑤ 手机端作为TCP服务端,开启监听,并采用多线程的方式同时与多个HLKRM04连接。
由此可见,配置字符串的内容主要包括WiFi热点的用户名+密码、HLKRM04的IP地址分配、以及TCP连接相关信息。HLKRM04的IP地址分配采用动态分配方式,即启动DHCP协议,动态为每个连接在WiFi网络中的HLKRM04动态分配IP地址,这样可以避免出现重复IP的情况,更加灵活方便。因为手机WiFi建立的无线网段是192.168.137.0,所以手机的IP地址固定是192.168.137.1,HLKRM04作为客户端只要固定设置TCP服务器地址为192.168.137.1即可。
配置的子程序略——编者注。
3.1.3 质监模块与电子秤通信
质监模块通过电子秤提供的RS232接口与电子秤进行通信,质监模块发送请求,电子秤将标签信息发送给质监模块,标签信息是在电子秤中预先设置好的一系列数据,比如重量、价格、商家名称、电子秤号、条形码等。电子秤在称重完成后,会打印出本次称重的标签信息,所以质监模块可以通过获取电子秤的标签信息来提取质监所需的有效数据。
3.1.4 质监模块与手机通信
通信双方,无线模块采用被动应答的方式,被动接收手机发送的指令,并对指令解析、回复,而手机采用主动发送指令的方式。手机发送的指令格式如下:
无线模块应答指令格式:
其中IP地址部分采用4字节,指令采用单字节,参数个数单字节,每个参数占用4字节。指令共包括开始、心跳包、获取电子秤信息、获取重量、结束、保留信息这6种,因为采用了TCP可靠传输方式,所以不需要校验。其中保留信息格式和其余5个信息格式略有不同,指令功能表如表1所列。
02指令是心跳包,手机每隔一段时间会发送一个心跳包给质监模块,使质监模块知道手机是否正在进行质检,如果指定时间没有收到心跳包,无线模块默认质检已经结束,就会回到主程序开始处重新执行,等待新一轮的质检。
表1 通信协议功能表
03指令是获取电子秤的商店编号和电子秤号,这个可以用来准确定位每一台电子秤,因为自动化质监系统支持同时质监多台电子秤,所以要能够准确方便的定位每一台连接到热点的电子秤。
本文中采用商店编号+电子秤编号的方式来定位电子秤,每个商店都有唯一的编号,并商店中的电子秤都有一个编号,将商店编号和电子秤编号做成一个标签,贴在电子秤上,并且事先对电子秤设置好商店号和电子秤号,以供质监模块获取,如图6所示。
多个电子秤质监模块连接到手机时,手机端可以看到当前所有连接至手机WiFi网络的电子秤列表,并且显示出每台电子秤的商店编号+电子秤编号,与电子秤上的便签对应,便可方便准确地定位每一个电子秤列表项所对应的电子秤。
图6 电子秤定位示意图
该电子秤列表会显示在手机上,供质监员选择,比如质监员选择了列表项1(00000012+01),该项对应编号为00000012的商店中1号电子秤,放置一个标准砝码在该电子秤上,点击开始质监,手机会发送命令给该电子秤,电子秤嵌入的质监模块会读出当前的数据,并通过WiFi发送至手机,记录于文件中并显示给质监员,表示本次质监完成。当然质监员可以对列表中所有电子秤都放上砝码,同时测试列表中所有电子秤。
06指令是保留信息,这个指令是为了传输某些比较复杂或者协议设计前没有考虑到的数据,是对前5条指令的扩展,它的格式是IP地址+指令+数据长度+数据,对于该条指令而言,传输的数据是没有固定格式的,换而言之该指令可以传输任何需要的数据,而手机接收了之后可以将数据作进一步解析。
3.2 手机端及后续处理程序
质监时,质监员在对应的电子秤上放置标准砝码,用手机接收电子秤质监模块发送的数据,并将数据以固定的格式存放于文件中,可以根据需要多测几次,至此,现场的质监工作完成。
回到质监局,将手机连接到质监局的无线路由器上,将数据文件发送至电脑端,并对各个质监员提供的数据文件进行汇总,集中处理,并将最终结果存放于数据库中,同时将汇总后的质监数据备份保存。
结语
本文设计的自动化质监系统能够方便高效地协助质监人员完成任务,只需要对现在使用的电子秤作改装,嵌入一个质监模块,任何一款支持WiFi热点的安卓手机都可以充当质监工具。
手机集质监无线网的AP和数据采集终端两大功能于一身,充分发挥了智能手机的能力,实现了质监系统最简化,大大降低了硬件的复杂度,把大部分工作量转移到软件方面,能够降低成本,更符合实际。