2-HC32F460(华大)+Air724UG(4G GPRS)远程升级篇(自建物联网平台)
2023-03-20 15:38:52 时间
说明
什么是http?http的实质是什么?
大家都在说GET指令,POST指令.这又是什么?
其实没什么!继续看!
搭建好web服务器(Windows)
1.按照基本控制篇以下两节搭建好web服务器;
注意:如果只是做远程升级不需要安装mqtt软件,只需要购买云主机,然后安装上Nginx
当然安装tomcat也可以
2.网站根目录
3.网站根目录就是在浏览器上输入网站IP地址或者域名后默认访问的地址
http://mnif.cn 默认访问以上目录里面的 index.html 文件
4.指定访问
http://mnif.cn/1.txt
5.访问其他文件夹里面的文件
http://mnif.cn/文件夹/具体文件
搭建好web服务器(Linux)
1.首先完成这节
注意:如果只需要远程升级,不需要安装mqtt软件
2.如果用户没有在基本控制篇配置站点,请按照下面的方式添加站点(网站)
如果添加了站点(网站),这节无需再次添加!
2.点击进入网站根目录
3.网站根目录
4.所谓网站根目录就是在浏览器上输入网站IP地址或者域名以后默认访问的位置
http://47.111.116.198 默认访问以上目录里面的 index.html 文件
4.指定访问
http://47.111.116.198/1.txt
5.访问其他文件夹里面的文件
http://47.111.116.198/文件夹/具体文件
更近一步
1.大家需要明白:
http是在TCP的基础上封装了一套协议而已!
web服务器实质上就是一个TCP服务器!
2.看一下如何用TCP调试助手下载1.txt文件
打开调试助手
①:
mnif.cn:服务器的IP地址
80:网站的http访问默认是80端口
点击启用
以上就用TCP连接上了 web服务器
②: 填写发送的信息
GET /1.txt HTTP/1.1
Host: mnif.cn
注意: 以上就是发送了HTTP的GET协议,获取根目录下的1.txt文件里面的内容.协议解释如下:
GET 空格 /文件路径 空格 HTTP/1.1
Host:空格 IP/域名
换行
换行
服务器返回数据说明
- HTTP/1.1 200 OK
- Server: openresty/1.15.8.2
- Date: Mon, 29 Jun 2020 09:19:36 GMT
- Content-Type: text/plain
- Content-Length: 10
- Last-Modified: Wed, 09 Oct 2019 04:01:46 GMT
- Connection: keep-alive
- ETag: "5d9d5baa-a"
- Accept-Ranges: bytes
- 1234567890
Accept-Ranges: bytes 及其以上信息我们称之为:http的head
然后一个换行
真实数据
http分段下载
分段下载就是告诉web服务器我每次要哪个范围内的数据
其实就是增加一个Range属性
假设我第一次想要第0字节和第5字节的数据,就是在加一个 Range: bytes=0-5
然后我想要第6字节和第9字节的数据,就是在加一个 Range: bytes=6-9
利用分段下载可以设置每次要多少,这样子的话容量再小的单片机也可以实现http下载文件数据
结语
在后面的章节中,单片机控制网络模块以TCP的方式连接上web服务器,
然后发送get协议获取程序文件,实现远程升级.
相关文章
- 火爆Github!这份LeetCode刷题模板太实用了吧
- 扩展Kubernetes插件,从这6个方向开始
- 2020毕业生报告发布:IT行业最受欢迎,「求稳」是求职趋势
- 前端开发与架构师
- Go 语言 map 解析之 key 的定位核心流程
- 用 20 行代码写出清晰易用的 Go 中间件 API
- 仅仅1行代码的“拍一拍”,网友们都已经玩上瘾了!
- 高级技术人员必须具备的三大思维模式
- 年中盘点:2020年炙手可热的10家DevOps初创公司
- 替代Matlab的国产软件出现,开发商知乎答疑,称半年实现70%功能
- C语言与物联网之简单通信协议
- 美国商务部:针对华为新规没有漏洞,已向半导体企业发出新规指南
- 全球TOP10超级计算机8台都选英伟达的三大原因
- 消息队列失败经验总结(幂等性概念以及影响)
- 如果每个程序员都必须要纹一段代码在身上,你会纹哪个语句?
- 采用Kubernetes时API网关面临的两个很重要的挑战
- 怎样度过第一份编码工作的艰难时期?
- 容器编排之王,2020年Kubernetes有趣的12个数据
- 刷题两个月,从入门到字节offer,这是我的模板 | GitHub 1.2k星
- GitHub开源Super Linter,用自动化解决开发者需求