一种WIFI模组远程加密批量下载方法的研究与实现
2018-01-18沈旭东徐旭斌汤峰平
沈旭东 徐旭斌 汤峰平
摘要:本文以ESP8266 WIFI模组为例,通过WIFI模组本身具有远程传输的特点,将软件程序存储在远程服务器上,并通过MAC地址进行加密传输,实现了基于WIFI远程加密批量下载的模组生产测试方法,该方法可以有效的防止类似软件程序被复制模仿。
关键词:WIFI模组;加密;远程传输;批量生产
中图分类号:TD65 文献标识码:A 文章编号:1007-9416(2018)09-0068-02
嵌入式电子产品的开发需要大量的投入,而其产品中的硬件技术和软件技术极易被非法模仿[1][2],本文以ESP8266 WIFI模組外部FLash程序存储批量下载为例,探索如何利用WIFI模组MAC地址和数据远程传输的特点[3],设计一种WIFI模组远程加密批量下载方法。
1 下载工作方式设计
WIFI模组远程加密下载主要由四部分组成,分别为固件存放服务器软件、PC端控制软件、WIFI模组及PC端软件启动密匙生成器[4]组成。
(1)固件存放服务器软件:用于存储WIFI模组可执行二进制文件,可将不同客户的二进制文件全部放置于服务器统一管理。
(2)PC端控制软件:通过串口工具连接WIFI模组,向WIFI模组发送命令和需要下载的软件版本,控制WIFI模组启动下载任务,并实时显示WIFI模组软件更新状态信息。
(3)WIFI模组:WIFI模组接收到PC端控制软件命令后,启动下载程序,并将所需要下载的软件程序版本号、WIFI模组的MAC地址发给服务器软件,服务器软件接收到上述信息后使用MAC地址对固件进行加密,并传输给WIFI模组,并同时将数据写入到FLASH中。
(4)PC端软件启动密匙:用于生成PC端控制软件的开启密码,使用年、月、日时间信息进行加密,可以做到开启密码每天自动更新一次。
2 软件设计
2.1 PC端控制启动密匙生成软件设计
获取当前主机时间数据(年、月、日),对年月日进行加密,获取生成的密钥作为启动PC端控制软件的密码,PC端控制软件点击确定登录后,获取当前主机的时间信息,并且进行加密解算,如果得到的加密数据和输入的密码一致即可登录。
2.2 远程下载控制软件设计
进入控制下载界面,由PC端控制软件通过串口向WIFI模块发送下载指令,WIFI模块接收到指令后,启动接收任务,同时发送MAC地址和软件版本给服务器,服务器收到MAC地址后对原始二进制文件进行加密,并且通过无线网络进行传输,发送给WIFI模组,WIFI模组收到二进制文件后,将加密二进制文件写入FLASH,具体流程如图1所示。
3 实物测试结果
测试夹具如图2所示,将模组放在夹具上,重新上电,模组自动通过路由器连接到远程服务器,并实现实现远程下载。下载过程显示结果如图3所示,下载过程中可显示WIFI模组实际信号强度,保证了每一个模组的可靠连接。同时后台服务器可记录下已经下载过的WIFI模组的MAC地址和下载次数,可以有效的对WIFI模组进行生产管理。
参考文献
[1]卿勇.智能家居发展及关键技术综述[J].软件导刊,2017,(01):180-182.
[2]孙璐.MC9S12系列单片机程序下载系统的设计与实现[D].北京交通大学,2009.
[3]刘羿勋.WIFI无线网络技术分析及其安全性研究[J].通讯世界,2017,(03):81-82.
[4]万思杰,李小丽,陈专.WiFi网络安全现状及应对策略[J].大众科技,2017,(04):10-12.