工作笔记-0708

最近负责基产品的网络通信功能的开发,使用了第三方wifi模块,记录一些上手初期的问题:

1.官网文档说支持easylink,但却在给我的两个版本固件中,都关闭了对应AT指令,因为成功率低不推荐使用(那何必写到文档里)

2.模块有蓝牙,但仅支持基础的数据透传,想要保证主控板尽可能简单的控制模块通过蓝牙入网,就需要二次开发。当然既然要二次开发,那甚至可以简单点一步到位,把模块连接服务器的步骤也顺带执行了,即为开启蓝牙之后,接收数据直接依次执行“连wifi”和“连服务器”

3.产品现在基本要做到OTA升级,但是模块两个版本的固件OTA指令都失效。同时产品当然也要做到主控板能够OTA升级。但该款wifi模块不提供http相关的指令功能。尽管可以用socket发送http的get请求下载文件,但没有提供数据暂存和读取,从透传发出请求后,数据会直接通过串口一口气送给MCU,这对于MCU来说无法保证能及时处理。因此还是需要二次开发,要把收到的文件暂存到wifi模块内部,再让MCU用指令读取。

这个过程了解到一个新知识点:tcp作为稳定连接,是可以做到乱序调整的,比如1k的文件tcp自动分10个包发送,那么如果2/5/8号包丢包,重传之后,tcp可以做到调整数据对应的位置,保证10个包按照1-10的顺序可以拼接成原来那个1k的文件,再发送给应用。

具体内容见连接:

TCP传输可靠性、排序丢弃重发_renfujiang的专栏-CSDN博客

图文详解TCP的顺序性与可靠性_u012501054的博客-CSDN博客_tcp 顺序

总结:

对于该模块我个人评价是一般般,作为上游他们可以把一些功能做的更全面,减轻我们开发成本,但他们所有功能仅提供了基础使用。在我个人看来,蓝牙入网、OTA升级这些都属于使用比较频繁的功能,但这些功能都要下游二次开发(或者加钱让他们开发),甚至对方提供作为二次开发参考的demo都不包含AT功能,等于如果自主进行二次开发,整个AT部分我们要按需筛选用到的功能重新实现。

“小了,格局小了”

上一篇:新旧*的主战场:OTA进入3.0时代,整车OTA“辨真伪”


下一篇:Zabbix Dependent items 从属依赖监控项监控类型