当前位置:首页 > 单片机 > 电子电路开发学习
[导读]好久没更新文章了,看看又做了什么些好玩的东西。文章目录前言开发板的选择获取疫情数据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 )。
换一批
延伸阅读

在嵌入式系统工程领域,主要挑战在于在严格的时间约束下实现任务的确定性执行。微控制器通常需要同时执行复杂的数学运算,并管理高频的输入和输出。如果采用简单的定时方法,例如使用阻塞式的忙等待循环,常常会导致处理器饥饿问题,即一...

关键字: 信号发生器 嵌入式系统 STM32

本实验活动重点在于利用微控制器的模数转换器(ADC)外设来监测外部电压源。具体而言,该系统设计用于测量CR1220纽扣电池和5V USB总线供电电源的电压。对这些电平进行监测对于依赖电池作为备用电源的嵌入式系统非常有用,...

关键字: 电压分压器 噪声滤波器 STM32

本项目展示了我们在固件编程方面的初步工作。我们开发该项目,旨在通过实践操作更好地理解课程中的概念和应用。我们的项目名为“电子音调发生器”,通过一个小扬声器产生不同的声音。按下不同的按钮或组合按键,系统会生成不同频率,从而...

关键字: 扬声器 音频合成器 示波器 STM32

嵌入式系统,STM32内部Flash的擦写寿命始终是悬在开发者头顶的达摩克利斯之剑。STM32F103系列Flash典型擦写次数仅为10000次,若每次温度调整、参数变更都直接写入,按每日操作数十次计算,不足一年便逼近寿...

关键字: STM32 Flash

电池供电的物联网设备中,降低待机功耗是延长续航的核心课题。STM32的Stop模式提供了保留SRAM和寄存器内容的最低功耗状态,是实现“微安级待机、毫秒级唤醒”的关键技术。实测数据表明,STM32L4系列在Stop 2模...

关键字: STM32 低功耗

一切始于一个我不断在身边发现的常见问题——无论是亲密的朋友,还是我在健身训练的健身房圈子中。经过数周高强度的锻炼后,很多人都在问同一个问题:“我想要增肌的肌肉为什么没有增长,而那些我本意没想练的肌肉却反而变得酸痛?”

关键字: 可穿戴设备 机器学习 STM32

在STM32嵌入式控制中,PID控制器是温度、电机转速、平衡小车等闭环系统的核心算法。本文提供一份可直接移植的增量式PID代码模板,并分享工程中行之有效的参数整定方法。

关键字: STM32 PID控制器

在STM32软件开发中,ST官方提供两套固件库:HAL(Hardware Abstraction Layer)与LL(Low-Layer)。很多工程师困惑:两者除了API风格不同,运行效率和资源消耗究竟差多少?本文基于S...

关键字: STM32 HAL库 LL库

本项目是一个专为RT-Thread RT-Spark开发板设计的硬件与软件定制接口。它创建了一个交互式系统,通过物理输入(按钮)产生数字输出(LCD文本和LED信号)。通过连接外部面包板组件与开发板内置功能之间的桥梁,我...

关键字: LCD LED STM32

在STM32嵌入式开发中,精确延时是非常基础但又极其关键的功能。无论是驱动单总线传感器(比如DS18B20)、控制LCD屏幕时序、还是生成精确的脉冲信号,都需要用到微秒级甚至纳秒级精度的延时。很多新手刚开始使用STM32...

关键字: STM32 嵌入式
关闭