教你用STM32获取新冠疫情数据(裸机版)
扫描二维码
随时随地手机看文章
文章目录
- 前言
- 开发板的选择
- 获取疫情数据API接口
- ESP8266发送HTTPS请求
- LCD显示
- 代码下载
- 在其他MCU上的实现
前言
2020,新冠肺炎疫情在全球蔓延,国内得到了有效的控制,最近国内部分地区的疫情形势又紧张起来。不知道大家是否了解我之前做的一个新冠肺炎疫情监控平台,基于跨平台Qt实现,从桌面Qt,到嵌入式Qt,相关文章:基于桌面Qt环境的疫情监控平台开发笔记:- [开源]基于桌面Qt的肺炎疫情监控平台
- [开源]基于桌面Qt的肺炎疫情监控平台1.1版本
- [开源]我用STM32MP1做了个疫情监控平台1—交叉编译环境搭建
- [开源]我用STM32MP1做了个疫情监控平台2—Qt环境搭建
- [开源]我用STM32MP1做了个疫情监控平台3—疫情监控平台实现
- [开源]我用STM32MP1做了个疫情监控平台4—功能完善界面重新设计
开发板的选择
开发板用的是我在大四时自己设计的STM32开发板——NiceDay,基于STM32F103RET主控。前几天看大佬说有学生在大一就自己画板打样了,我感到自愧不如啊!这是我设计的第二块板子(第一块是毕业设计两轮平衡车主板),是在大四快毕业时,毕设实物和论文完成之后还有点时间,就设计了这款板子,最开始是准备做桌面天气时钟的。如果你在百度上搜索:ESP8266 关键字,其中就有我当时的一个回答。好了,言归正传,换个API就是疫情监控平台了:获取疫情数据API接口
2020新冠疫情的爆发,各大互联网IT公司和个人都开发了实时疫情地图平台,腾讯新闻、丁香园、网易、新浪等等,这些数据大小都在几百KB,对于PC和嵌入式Linux来说,不用在意数据量的大小,但是对于存储非常有限的MCU来说,数据量的大小是不得不考虑的一个问题,而且对于ESP8266来说,AT指令的方式,SSL缓存最大只有4096个字节的缓存!经过网上一番搜索,找到了几个数据量小的API,但是有的接口连接不稳定,刚连上就掉线了,最后终于找到了一个连接稳定,数据量小,数据齐全的接口:https://lab.isaaclin.cn/nCoV/zh
这是一位国人使用服务器爬虫获取了丁香园的数据,然后开放了API接口供大家免费使用,目前已经被调用了2千万次,这个网站还包括了多个接口,我只使用到了其中的疫情数据这一个接口:https://lab.isaaclin.cn/nCoV/api/overall
,数据量大概为1300个字节。JSON数据内容如下:为了能使用ESP8266获取这个API返回的内容,我们还需要知道以下信息:TCP连接类型,端口号,API地址。我们在浏览器中按F12,打开开发者模式,在地址栏输入https://lab.isaaclin.cn/nCoV/api/overall
这个接口地址,可以很容易的获取到我们想要的信息:服务器地址:47.102.117.253
端口号:443
API地址:https://lab.isaaclin.cn/nCoV/api/overall
关于端口号,如果API地址是http开头的,一般是选择TCP连接类型,80端口;如果是https开头的,一般是选择SSL连接类型,443端口。这个信息在后面会用到。