今天,客户寄回来了几个WiFi模块,客户反馈这几个WiFi模块连接不了服务器。
不能远程编写和调试程序。
其实,我们给客户设计的可编程逻辑控制器配套的WiFi模块就是非常流行的ESP8266。
只是我们在上面做了二次开发,同时使能了AP+Station模式。
支持TCP server和TCP client。
其中TCP server用于HTTP server。
TCP client用于连接服务器,采用自定义协议与服务器上的TCP server建立长链接。
其中,我们并没有使用云平台的SAAS服务,而是自己基于阿里云的IAAS搭设了云平台。
从而可以对控制器进行远程编程、调试、控制等,以及程序的上传和下载等。
用JS+HTML5设计了一个内置网页,
即使没有联网,只需要通过手机连接到WiFI模块的AP,
打开浏览器,输入WiFi模块的IP地址,就可以从WiFi模块下载内置网页进行编程、调试和控制;
为了在资源和性能都比较有限的WiFi模块上,实现这些功能,
我们TCP通信和网页设计做了大量的优化,比如用JS脚本实现JS页面的逐页下载等。
之前还碰到过有客户购买了不带WiFi模块的控制器,
自己去买ESP8266插到控制器上,发现不能使用把ESP8266寄回给我们分析。
言归正传,WiFi模块到现在为止出货应该有好几万个了。
这一段时间密集报了几个出现连不上服务器的故障。
我让客户把故障件寄回来做深入分析。
今天收到之后,我找来测试的控制器,插入模块逐个测试,
通过手机或者电脑能正常找到WiFi模块的AP,
连上接AP之后,网页也能正常打开,
打开设置网页连接能上网的无线路由器之后,提示连接成功,
输入远程访问地址,可以通过服务器远程访问控制器。
所有4个故障件都工作正常,真有点奇怪了。
莫不是客户在测试时,刚才碰到服务器抽风了?
百思不得其解,只好这几天再充分测试几次看看。
图1:控制器的内置编程网页
图2:控制器产品图
图3:客户寄回的WiFi模块
图4:寄回的WiFi模块中保存的自定义的按键,看这命名,控制器应该用于密室逃脱
@密室逃脱