当前位置:首页 > 单片机 > 电子电路开发学习
[导读]好久没更新文章了,看看又做了什么些好玩的东西。文章目录前言开发板的选择获取疫情数据API接口ESP8266发送HTTPS请求LCD显示代码下载在其他MCU上的实现前言2020,新冠肺炎疫情在全球蔓延,国内得到了有效的控制,最近国内部分地区的疫情形势又紧张起来。不知道大家是否了解我...

好久没更新文章了,看看又做了什么些好玩的东西。

文章目录

  • 前言
  • 开发板的选择
  • 获取疫情数据API接口
  • ESP8266发送HTTPS请求
  • LCD显示
  • 代码下载
  • 在其他MCU上的实现

前言

2020,新冠肺炎疫情在全球蔓延,国内得到了有效的控制,最近国内部分地区的疫情形势又紧张起来。

不知道大家是否了解我之前做的一个新冠肺炎疫情监控平台,基于跨平台Qt实现,从桌面Qt,到嵌入式Qt,相关文章:

基于桌面Qt环境的疫情监控平台开发笔记

  • [开源]基于桌面Qt的肺炎疫情监控平台

  • [开源]基于桌面Qt的肺炎疫情监控平台1.1版本

基于嵌入式Qt环境的疫情监控平台开发笔记

  • [开源]我用STM32MP1做了个疫情监控平台1—交叉编译环境搭建

  • [开源]我用STM32MP1做了个疫情监控平台2—Qt环境搭建

  • [开源]我用STM32MP1做了个疫情监控平台3—疫情监控平台实现

  • [开源]我用STM32MP1做了个疫情监控平台4—功能完善界面重新设计

作为疫情监控三部曲:桌面PC > 嵌入式ARM Linux > MCU。在前面两个平台上实现之后,就想着在内存和性能都比较有限的MCU上实现,比如STM32F103,但一直都没有找到一个合适的API接口,直到最近发现了一个数据量比较小,连接比较稳定的API。

于是,设计了这个基于STM32 MCU的疫情监控平台,STM32通过串口和ESP8266进行AT指令交互,连接互联网获取最新的疫情数据,并显示在LCD显示屏上,可以直观方便的了解到最新的疫情数据信息。

最终效果如下:

显示效果
主板拆分

开发板的选择

开发板用的是我在大四时自己设计的STM32开发板——NiceDay,基于STM32F103RET主控。前几天看大佬说有学生在大一就自己画板打样了,我感到自愧不如啊!

这是我设计的第二块板子(第一块是毕业设计两轮平衡车主板),是在大四快毕业时,毕设实物和论文完成之后还有点时间,就设计了这款板子,最开始是准备做桌面天气时钟的。

NiceDay
NiceDay
拆分效果
如果你在百度上搜索:ESP8266 关键字,其中就有我当时的一个回答。

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数据内容如下:

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端口。这个信息在后面会用到。

API获取

ESP8266发送HTTPS请求

WiFi模块选择的是乐鑫的ESP8266-01S模组,支持AP、Station和AP
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭