| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 工作笔记-0708 -> 正文阅读 |
|
[网络协议]工作笔记-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部分我们要按需筛选用到的功能重新实现。 “小了,格局小了” |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 14:50:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |