【配置完成后,这个模块下次上电就默认是这个配置,不用重复配置,这一点非常nice,不用写那么复杂的单片机指令去】
服务器运行的python脚本,在这里第一篇文章安装的fastapi起到作用:
请在服务器运行 run1.py, run1.py在fufei压缩包里,下载后解压,传到服务器上。
有人的技术支持不懂这个,这全靠自己做实验得到的,如果是新手玩家,根本玩不动这个。
fastapi程序需求,你不能更改run1.py这个文件的名字,要改就需要改里面的程序以配套。
这样服务器即可收到发送的字符串信息。
2、配置模块为HTTPD模式 GET请求
GET是透传协议,简单得多:
服务器代码:
请执行资料包里的 run2.py
3、下载服务器的文件
服务器代码
服务器代码会接收post请求,返回给客户端一个特定的文件。
请在服务器执行资料包里的 run3.py
模块
模块发送格式
需要注意到,模块发送支持的content-type似乎只有:“text/html"和"text/plain”。
"text/html"表示HTML(Hypertext Markup Language)格式的文本内容,用于呈现富文本和网页。它包含HTML标记和结构,可以通过浏览器渲染为具有样式、图像和交互性的网页。
"text/plain"表示纯文本格式的文本内容,仅包含纯文本字符,没有任何样式、图像或特殊的格式化。它通常用于简单的文本文件、日志、纯文本电子邮件等。
这样想来,直接发文件利用这里的HTTPD POST是做不到的,除非模块支持content-type: application/octet-stream。或者是我不清楚这方面,望赐教。这b模块资料全靠猜,没办法。
配置中要注意下图中,过滤HTTP头,这个不要勾选。 可以看到右边是收到服务器传过来的数据的,而且模块将其解析出来了,content-type: application/octet-stream,下面跟的是我服务器创建的一个文件里的内容。
服务器传回的文件是1.bin,内容是下图这些,可见是传回来了的。
4、4G cat1 模块上传文件到服务器
如上面第3节所说,本身这个4G cat1 模块支持的POST只有"text/html"和"text/plain"的话,就是只有文本内容,无法有content-type: application/octet-stream这样支持文件的传输功能。
顺带一提,模块的供电一样要稳,功率要够,我更换供电模块为我的手机充电头后,明显更稳了。
这一切似乎是模块里面自带的封装不够完善,模块既然能够建立TCP协议,那么HTTP在TCP之上,我们其实也可以自己去写c代码,建立HTTP的通信,如下面这样:
构建HTTP请求报文:根据HTTP协议规范,在单片机上构建HTTP请求报文。报文包括请求行、请求头和请求体等部分,用于描述客户端希望服务器执行的操作和传递的数据。
发送HTTP请求报文:使用TCP socket相关的发送数据函数将构建好的HTTP请求报文发送到服务器。确保数据发送完整并等待服务器的响应。
接收HTTP响应报文:使用TCP socket相关的接收数据函数从服务器接收HTTP响应报文。根据HTTP协议规范,响应报文包括状态行、响应头和响应体等部分,包含了服务器处理请求后的结果和所返回的数据。
处理HTTP响应:解析接收到的HTTP响应报文,根据需要提取其中的数据或执行相关操作。
但这似乎不是一个轻松的工作量!传输文件不是一个好弄的事情。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!