今天,客户寄回来了几个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模块中保存的自定义的按键,看这命名,控制器应该用于密室逃脱

@密室逃脱