基于STM32的网络天气预报系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

气象网站的API接口,得到JSON格式的气象数据并解析,调用气象信息图标函数,在彩色液晶
屏幕上显示未来3天的天气信息。测试结果表明,该系统显示的天气信息形象,易于观察,成本
低,适合在家居生活中推广应用。
前言:天气预报是人们日常生活和工作中必不可少的信息,广泛用于工业、农业、渔业、
商业、能源、交通、运输、建筑、林业、水利、国土资源、海洋、盐业、环保、旅游、航空、
符串,通过API请求中的key参数传入。用户ID是在注册心知会员时得到的一个10位字符串,如
U123456789。用户ID会被使用在签名验证方式中。
现在以北京天气为例进行分析研究,查看北京当天的详细气象信息。获取指定城市的实况天
气,请求地址 https:///v3/weather/now.json?key=24qbvr1mjsnukavo&location=beijing&la

的文本格式来存储和表示数据。它使得人们很容易的进行阅读和编写。同时也方便了机器进行

解析和生成,并有效地提升网络传输效率。JSON数据符号类型及功能如表1所示。

表1 JSON符号类型

符号
说明

{}
双括号表示对象
[]

“”
中括号表示数组 双引号内是属性或值


冒号表示后者是前者的值
对象是一个无序的“名称/值”对集合。一个对象以“{”开始,“}”结束。每个“名称”
资源的支持,数据量大,计算量大。对于一些小型组织和单位是难以负担的。
本文旨在设计一套适用于家居生活的天气预报终端显示设备,能够实时显示本地的天气信
息。系统采用C/S结构,从网络服务器获取天气信息再解析。采用ESP8266WIFI网络芯片来获取
网络上的天气信息并在STM32嵌入式处理器上实现数据解析然后将天气在LCD屏幕上的功能。

后跟一个“:”(冒号)。“‘名称/值’ 对”之间使用“,”(逗号)分隔。数组是值的有序集

合。一个数组以“[”开始,“]”结束。值之间使用“,”(逗号)分隔。值可以是双引号括起
来的字符串(string)、数值(number)、true、false、null、对象(object)或者数组(array)。字
2 系统总体设计
使用简单、开发方便等优势。 2.2 ESP8266WIFI模块
E S P 8 2 6 6 是 一 款 超 低 功 耗 的 U A RT- W i F i 透 传 模 块 , 拥 有 行 业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和 物联网应用设计,可以将用户的物理设备连接到Wi-Fi 无线网络 上,进行互联网或局域网通信,实现联网功能。Stm32的串口3 和ESP8266的串口0通信。引脚连接说明:ESP8266RXD管脚与 STM32的PB10(USARTT3_TX)连接,ESP8266TXD管脚与Stm32的 PB11(USARTT3_RX)连接,模块3.3V供电。
本系统的核心是解析来自网络JSON格式的天气数据,以此来 设计硬件电路和软件程序。选取STM32为主控芯片,ESP8266WIFI 模块负责网络通信,从天气网络服务器请求天气数据,液晶显示屏 显示天气信息。在加上电源、Flash、EEPROM、RTC和SD卡等模 块构成硬件系统,系统框图1所示。
图1 系统框图
邮电、保险、消防等多个行业和部门,给人们的生活、学习、工作和娱乐带来极大的方便。天
气预报主要是使用收集大量的数据(气温、湿度、风向和风速、气压等等),然后使用目前对
大气过程的认识(气象学)来确定未来空气变化。天气预报的信息一般是国家气象局经过计算
并通过互联网、手机或者电视等媒体发布。数值天气预报系统需要具有上万亿次的计算机能力
nguage=zh-Hans&unit=c。具体参数:key-API密钥,location-位置,language-语言,unit- 单位。
返回结果:
{“results”:[{
“location”:{
“id”:”WX4FBXXFKE4F”,
"name":"北京",
"country":"CN","path":"北京,北京,中国",
STM32
基 于
的 网 络 天 气 预 报 系 统 的 设 计 与 实 现
• 110 •
ELECTRONICS WORLD・探索与观察
以家居生活天气预报作为研究对象,提出一种嵌入式系统的网络天气预报方案;该方案采
用STM32嵌入式处理器为主控芯片,无线网络采用ESP8266WIFI芯片构建,通过TCP协议访问
“timezone”:”Asia/Shanghai”,
“timezone_offset”:”+08:00”},
ELECTRONICS WORLD・探索与观察
“now”:{ "text":"晴", “code”:”1”, “temperature”:”24” }, “last_update”:”2018-09-09T19:40:00+08:00” }] } 根据API返回的数据,进行解析,得到2018年9月9日,北京当天的 气象信息为晴天,气温24度。
符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。
1.2 气象信息JSON数据结构分析
解析以JSON方式提供的气象信息。从气象网站心知天气URL:https:///
doc获取API接口。在API中添加密钥key和用户ID。密钥是用来验证API请求合法性的一个唯一字
使用STM32的USRT2与ESP8266进行通信联网。ESP8266 配置为
station模式,然后打开TCP通信。STM32将心知天气某城市的API封装
为HTTP格式,并通过ESP8266发送出去。在HTTP返回的JSON格式数
本文设计的网络天气日历系统具有一下特点:
采用嵌入式解决方案;绵源自能够与WIFI网络互联;阳 职
能够显示本地的未来1-3天的气温、温度、风向和风速、气压等天气信息;

系统功能可扩展。


1.JSON数据和天气API接口概述


1.1 JSON数据简介

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。采用完全独立于编程语言
相关文档
最新文档