采集终端项目亮点
亮点1:所连接wifi,服务器,现场可配置,状态信息实时可查。
应用场景:由于设备没有传统的输入设备,链接WiFi的方法一般是通过在程序中写死去定义。用户拿到设备之后,换一个新的地方都需要重新该程序,下程序。十分不方便。
解决:在ESP8266中搭建了WEB服务器,可以通过一键切换到配置状态,esp8266自建AP,就是wifi网络,通过电脑,或者手机连接在网页进行配置。并且可以实时查询设备状态。
怎么搭建的:
通过GigHub上的一个开源的HTTP-Server的服务器库,
在nodemcu里面加载index.html、zepto.js、spectre.css文件
Zepto是一个用于现代浏览器的极简主义JavaScript库,具有与jQuery兼容的API。
Spectre.css是一个轻量级,响应迅速的现代CSS框架。
- 轻量级(约10KB gzipped)项目的起点
- 基于Flexbox,响应和移动友好的布局
- 优雅的设计和开发元素和组件
Spectre是一个基于多年大型Web服务项目的CSS开发工作的副项目。Spectre仅包括现代基本样式,响应式布局系统,CSS组件和实用程序,并且可以使用Sass / Scss编译器为您的项目进行修改。
跑步机项目亮点
亮点1:设备运行十分稳定
稳定表现在哪几个方面:
硬件层面:
最容易出问题的就是电源,并且wifi模块对电源的纹波,瞬时电流特别敏感。所以电源我们在纹波进行了滤波处理,使纹波稳定在100mV以内。易发热芯片优化布局。
另外加就是针对于wifi信号的问题,把原来板载天线的模块改成天线可引出的模块,增加信号稳定性。
软件层面:
设置看门狗,防止程序跑飞。但是在设置看门狗之后出现一个问题,就是在设备运行中会丢失对继电器的控制状态。如用户正在使用跑步机时,突然发生意外,导致mcu重启,这时候对IO的状态就会丢失,虽然可以设置对状态进行实时保存,上电时读取上次状态。但是,mcu上电时IO会有一个默认的状态,可能会导致继电器瞬间开断一次,影响用户体验。所以,在软件上不好解决的,又回到了硬件层面,在硬件电路上增加了锁存器电路,锁存继电器信号。
传输层面:
校验机制:
设置重发机制,发送端发送信息后在规定时间内未收接收端的应答,或发生检验错误,进行重发,如果发送失败应关闭当前端口然后等待设备重连之后再次重发。
设置流水号,由发送方管理,保证命令期间流水号唯一性。
设置校验位,校验数据正确性。