当前位置: 首页 > news >正文

【雕爷学编程】MicroPython动手做(33)——物联网之天气预报

天气(自然现象)
是指某一个地区距离地表较近的大气层在短时间内的具体状态。而天气现象则是指发生在大气中的各种自然现象,即某瞬时内大气中各种气象要素(如气温、气压、湿度、风、云、雾、雨、闪、雪、霜、雷、雹、霾等)空间分布的综合表现。

天气过程就是一定地区的天气现象随时间的变化过程。各种天气系统都具有一定的空间尺度和时间尺度,而且各种尺度系统间相互交织、相互作用。许多天气系统的组合,构成大范围的天气形势,构成半球甚至全球的大气环流。天气系统总是处在不断新生、发展和消亡过程中,在不同发展阶段有着其相对应的天气现象分布。

在这里插入图片描述
天气预报
是应用大气变化的规律,根据当前及近期的天气形势,对某一地未来一定时期内的天气状况进行预测。它是根据对卫星云图和天气图的分析,结合有关气象资料、地形和季节特点、群众经验等综合研究后作出的。如我国中央气象台的卫星云图,就是我国制造的“风云一号”气象卫星摄取的。利用卫星云图照片进行分析,能提高天气预报的准确率。天气预报就时效的长短通常分为三种:短期天气预报(2~3天)、中期天气预报(4~9天),长期天气预报(10~15天以上),中央电视台每天播放的主要是短期天气预报。

天气预报的主要内容是一个地区或城市未来一段时期内的阴晴雨雪、最高最低气温、风向和风力及特殊的灾害性天气。就中国而言,气象台准确预报寒潮、台风、暴雨等自然灾害出现的位置和强度,就可以直接为工农业生产和群众生活服务。天气预报是根据气象观测资料,应用天气学、动力气象学、统计学的原理和方法,对某区域或某地点未来一定时段的天气状况作出定性或定量的预测。它是大气科学研究的一个重要目标。对人们生活有重要意义。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
气象术语
1.时间的划分:天气预报中所说的白天,指当地标准时间8点至20点,其中17点至20点叫做傍晚;20点以后到第二天的8点叫做夜间。
2.天气状况(阴晴的划分):晴是指全天内天空中云量低于3成(即30%);多云是天空中有4-7成的中、低云或6-10成的高云时的天空状况;少云是天空中有1-3成的中、低云或4-5成的高云时的天空状况;阴是天空阴暗,密布云层,或天空虽有云隙而仍感到阴暗(总云量8成以上),偶尔从云缝中可见到微弱阳光的天气现象。
雾:悬浮在贴近地面的大气中的大量微细水滴(或冰晶)的可见集合体。雾和云的区别仅仅在于是否接触地面。雾使地面的水平能见度显著降低。按国际气象组织规定,使能见度降低到1公里以下的称为雾。
云量和云高:云量是指云遮蔽天空视野的成数;云高是指云底距离测站地面的垂直距离。
3.气温:天气预报中所说的气温,指在野外空气流通、不受太阳直射下测得的空气温度(一般在百叶箱内测定)。最高气温是一日内气温的最高值,一般出现在14-15时,最低气温一般出现在早晨5-6时。
4.降水:降水分降雨、降雪、雨夹雪、冰雹。
降雨情况:气象部门一般指的是24小时内降雨的多少。对雨量的多少,一般分为零星小雨、小雨、阵雨、中雨、大雨、暴雨、大暴雨、特大暴雨8个级别。根据24小时降水量(毫米)的降雨等级为:小雨0.1~9.9,中雨10.0~24.9,大雨25.0~49.9,暴雨50.0~99.9。
冰雹:坚硬的球状、锥状或形状不规则的固态降水。
降雪按照降雪量分为小雪、中雪、大雪、暴雪、暴风雪等。其中暴雪是降雪强度较大的雪(下雪时水平能见度距离小于500m或24小时内降雪量大于15mm);暴风雪,又称雪暴,是大量的雪被强风卷着随风运行,并且不能判定当时是否有降雪,水平能见度小于1km的天气现象。
5.风:风是指空气的水平流动现象。用风向和风速表示:风向分十六个方位,是指风吹来的方向;风速用风级或多少米/秒表示,分用2分钟的平均情况表示的平均风速和瞬间情况代表的瞬时风速。
风的强度用风速表示,一般采用蒲风级或多少米/秒来衡量,分十三级:
静风:即0级风。
和风:即4级风。风速在5.5-7.9m/s之间的风。
微风:即3级风。
大风:即8级风。平均风速为17.2-20.7m/s的风。
狂风:即10级风。
暴风:即11级风。风速在28.5-32.6m/s之间的风。
飓风:即12级以上风。

在这里插入图片描述
1、心知天气
是一家零售行业气象服务方案提供商,通过数据接口(API)、自然语言处理(NLP)、预警与推送(Trigger)、数据可视化(BI)等产品,向用户提供精细化天气数据与零售气象解决方案,帮助零售企业量化天气对于业务的影响。心知科技是一家自然大数据公司,致力于利用自然界大数据与人工智能等技术,帮助企业把控天气与环境变化带来的挑战和机遇。自2006年起,心知科技通过天气大数据和机器学习算法与垂直领域的需求结合,已在零售、物流等行业开发完成场景化的商业气象服务解决方案。

心知智能天气解决方案,是心知科技在2018年推出的,针对App与智能硬件推出的一站式天气信息解决方案。天气聊天机器人ChatBot与天气预警机器人WhenBot,作为心知天气的两个主要产品,分别覆盖了ToC的用户使用场景与ToB的业务应用场景。ChatBot基于NLP技术的自然语言查询API,支持通过自然语言文本查询天气信息,让智能硬件和APP开发者可以很方便的增加一个由心知天气海量,精细天气数据支撑的自然语言对话查天气功能。目前心知天气 ChatBot 活跃在数千万智能终端上,为小米、京东智能音箱提供了便捷的天气查询服务。

在这里插入图片描述
2、心知天气官网与天气数据接口文档

心知天气官网:https://www.seniverse.com
天气数据接口文档:https://www.seniverse.com/docs

在这里插入图片描述
在这里插入图片描述

3、注册并登陆心知天气官网

天气数据 API:通过标准的 Restful API 接口,提供标准化的数据访问。无论是APP、智能硬件还是企业级系统都可以轻松接入心知的精细化天气数据。

添加免费版可以调用数据

国内 370 个主要城市

天气实况,包括天气现象文字、代码和气温 3 项数据
未来 3 天天气预报,包括白天天气现象文字及代码、晚间天气现象文字及代码、当天最高温度和最低温度、风向风速
6 项基本类生活指数,包括穿衣、紫外线强度、洗车、旅游、感冒、运动指数

https://www.seniverse.com/dashboard

在这里插入图片描述

4、查看你的 API 密钥
当你在 心知天气 控制台 - 产品管理 中添加了 API 产品后,即可在产品详情中查看该 API 产品的密钥。

每组密钥由“公钥”(参数 uid)和“私钥”(参数 key)组成,例如:

公钥 PKwiV7auWJE3iBJ8d
私钥 SMEieQjde1C9eXnbE

心知天气支持两种 API 安全验证方式:

(1)“私钥” 直接请求方式

将 API 密钥中的“私钥”作为 API 请求中的 key 参数值: https://api.seniverse.com/v3/weather/now.json?key=your_private_key&location=beijing&language=zh-Hans&unit=c

说明 此方式较为方便,但请注意不要泄漏你的“私钥”。

(2)“公钥 + 私钥” 签名验证方式

“公钥 + 私钥” 验证方式更加安全。请求地址中只包含你的“公钥”以及用你的“私钥”制作的签名,因此不会在请求地址中泄露你的私钥。

在这里插入图片描述

5、查询福建福州当天的天气情况

#MicroPython动手做(33)——物联网之天气预报
#查询福建福州当天的天气情况from mpython import *
import network
import time
import music
import json
import urequestsmy_wifi = wifi()my_wifi.connectWiFi("zh", "zy1567")def get_seni_weather(_url, _location):_url = _url + "&location=" + _location.replace(" ", "%20")response = urequests.get(_url)json = response.json()response.close()return jsonrgb.fill((int(0), int(102), int(0)))
rgb.write()
time.sleep_ms(1)
music.play('D5:1')
w1 = get_seni_weather("https://api.seniverse.com/v3/weather/daily.json?key=SSY9pi-U4QH-ZDrf", "fuzhou")
oled.fill(0)
oled.DispChar((''.join([str(x) for x in [w1["results"][0]["location"]["name"], "                                 ", w1["results"][0]["daily"][0]["date"], "                          ", w1["results"][0]["daily"][0]["text_day"], "  风力", w1["results"][0]["daily"][0]["wind_scale"], "级                                  ", w1["results"][0]["daily"][0]["low"], "  - ", w1["results"][0]["daily"][0]["high"], " 度"]])), 0, 0, 1)
oled.show()

使用前,导入mpython、json、urequests、Timer和天气图标seniverse模块(seniverse模块,将seniverse模块文件导入掌控板文件根目录):

from mpython import*import jsonimport urequestsfrom seniverse import *from machine import Timer

使用心知天气的免费天气API,您须先在心知天气官网注册一个账号,您将获得一个API密钥(key),API密钥(key)是用来验证API请求合法性的一个唯一字符串,通过API请求中的key参数传入:

API_KEY = 'yourkey'

添加天气实况和多日天气预报的请求地址(更多请求可参考心知天气官网提供的天气数据选项):

url_now="https://api.seniverse.com/v3/weather/now.json" #获取天气实况的请求地址url_daily="https://api.seniverse.com/v3/weather/daily.json" #获取多日天气预报的请求地址

连接您的 WiFi 网络,需要设置您的WiFi名称和密码:

mywifi=wifi()mywifi.connectWiFi('yourESSID','yourpassword')

注解

参数:unit 为温度单位, c 为摄氏度℃。start 为起始时间,如 -2 前天,-1 昨天,0 今天,1 明天。days 为天数,返回从start算起days天的结果。更多参数可参考心知天气官网。 https://www.seniverse.com/doc

对返回的所有结果有选择性的输出,元组可以使用下标索引来访问元组中的值:

today=dailyRsp['results'][0]['daily'][0]['date'][-5:] #当前日期,显示“月-日”todayHigh=dailyRsp['results'][0]['daily'][0]['high'] #最高温度todaylow=dailyRsp['results'][0]['daily'][0]['low'] #最低温度
nowText=nowRsp['results'][0]['now']['text'] #天气现象文字nowTemper=nowRsp['results'][0]['now']['temperature'] #温度todayIco=nowRsp['results'][0]['now']['code'] #天气现象图标city=nowRsp['results'][0]['location']['name'] #地理位置

注解

元组的具体使用方法参考Python的元组。

mPython X 实验图形编程

在这里插入图片描述

查询福建福州当天的天气情况

在这里插入图片描述

相关文章:

【雕爷学编程】MicroPython动手做(33)——物联网之天气预报

天气(自然现象) 是指某一个地区距离地表较近的大气层在短时间内的具体状态。而天气现象则是指发生在大气中的各种自然现象,即某瞬时内大气中各种气象要素(如气温、气压、湿度、风、云、雾、雨、闪、雪、霜、雷、雹、霾等&#xff…...

分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离 (三)

本篇主要说明: 1. 因为这个mysql版本是8.0,所以当其中一台mysql节点挂掉之后,主从同步,甚至双向数据同步都失效了,所以本篇主要记录下当其中的节点挂掉之后如何再次生效。另外推荐大家使用mysql5.7的版本,这…...

探秘企业DevOps一体化平台建设终极形态丨IDCF

笔者从事为企业提供研发效能改进解决方案相关工作十几年,为国内上百家企业提供过DevOps咨询及解决方案落地解决方案,涉及行业包括:金融、通信、制造、互联网、快销等多种行业。 DevOps的核心是研发效能改进,效能的提升离不开强大…...

百度智能创做AI平台

家人们好,在数字化时代,人工智能正引领着一场前所未有的创新浪潮。今天,我们将为大家介绍百度智能创做AI平台,这个为创意赋能、助力创作者的强大工具。无论你是创意工作者、内容创作者,还是想要释放内心创造力的个人&a…...

Python 开发工具 Pycharm —— 使用技巧Lv.1

Basic code completion Ctrl空格 is available in the search field when you search for text in the current file CtrlF, so there is no need to type the entire string 基本代码完成Ctrl 空格可在搜索领域当你搜索文本在当前文件Ctrl F,所以没有必要整个字符串类型 To m…...

zookeeper --- 高级篇

一、zookeeper 事件监听机制 1.1、watcher概念 zookeeper提供了数据的发布/订阅功能,多个订阅者可同时监听某一特定主题对象,当该主题对象的自身状态发生变化时(例如节点内容改变、节点下的子节点列表改变等),会实时、主动通知所有订阅者 …...

TypeScript【enum 枚举】

导语 在 TypeScript 中,新增了很多具有特性的一些数据类型处理方法,enum 【枚举】就是其中,很具有代表性的一种,所以本章节就来聊聊 在 TypeScript 中如何去运用 enum 【枚举】。 枚举的概念: 枚举(Enum&am…...

SpringBoot项目增加logback日志文件

一、简介 在开发和调试过程中,日志是一项非常重要的工具。它不仅可以帮助我们快速定位和解决问题,还可以记录和监控系统的运行状态。Spring Boot默认提供了一套简单易用且功能强大的日志框架logback,本文将介绍如何在Spring Boot项目中配置和…...

复习之selinux的管理

一、什么是selinux? SELinux,Security Enhanced Linux 的缩写,也就是安全强化的 Linux,是由美国国家安全局(NSA)联合其他安全机构(比如 SCC 公司)共同开发的,旨在增强传统 Linux 操…...

无涯教程-Lua - 文件I/O

I/O库用于在Lua中读取和处理文件。 Lua中有两种文件操作,即隐式(Implicit)和显式(Explicit)操作。 对于以下示例,无涯教程将使用例文件test.lua,如下所示。 -- sample test.lua -- sample2 test.lua 一个简单的文件打开操作使用以下语句。…...

java+ssm民宿酒店客房推荐预订系统_2k78b--论文

摘 要 互联网日益成熟,走进千家万户,改变多个行业传统的工作方式。民宿推荐管理以用户需求为基础,借由发展迅猛的互联网平台实现民宿推荐管理的信息化,简化旧时民宿推荐管理所需的纸质记录这一繁杂过程,从而大幅提高民…...

Docker实战-关于Docker镜像的相关操作(一)

导语   镜像,Docker中三大核心概念之一,并且在运行Docker容器之前需要本地存储对应的镜像。那么下面我们就来介绍一下在Docker中如何使用镜像。 如何获取镜像? 镜像作为容器运行的前提条件,在Docker Hub上提供了各种各样的开放的…...

Jenkins Gerrit Trigger实践

1.创建Gerrit Trigger 2.jenkins master节点生成gerrit用户的密钥 这里的用户名得写登录gerrit后个人信息中的 Username 3.gerrit 配置刚刚jenkins生成密钥的公钥 4.gerrit 用户加入群组 不加这个群组,下一步测试就会报错“User aeshare has no capability conn…...

Xcode protobuf2.5添加arm64编译器补丁生成静态库

项目需求,protobuf源码编成静态库使用 但是,github上的protobuf源码没有对应arm64的编译器定义,编译出来的静态库使用时报错。 下面的连接是arm64编译器代码补丁包,把编译器代码放到src/google/protobuf/stubs/atomicops_intern…...

计算机毕设 深度学习疫情社交安全距离检测算法 - python opencv cnn

文章目录 0 前言1 课题背景2 实现效果3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两…...

四数之和——力扣18

文章目录 题目描述双指针法题目描述 双指针法 class Solution {public:vector<vector<int>>...

Serializable 和 Externalizable区别?

Serializable接口 java.io.Serializable 接口没有方法或字段&#xff0c;仅用于标识可序列化的语义。 public interface Serializable { }可序列化类的所有子类型本身都是可序列化的。在进行序列化操作时&#xff0c;会判断要被序列化的类是否是Enum、Array和 Serializable类…...

2023 电赛 E 题 K210 方案--K210实现矩形识别

相关库介绍 sensor&#xff08;摄像头&#xff09; sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(10) reset()&#xff1a;重置并初始化单目摄像头 set_pixformat()&#xff1a;设置摄像头输出格式&#xff0c…...

【雕爷学编程】MicroPython动手做(29)——物联网之SIoT 2

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…...

chapter13:springboot与任务

Spring Boot与任务视频 1. 异步任务 使用注解 Async 开启一个异步线程任务&#xff0c; 需要在主启动类上添加注解EnableAsync开启异步配置&#xff1b; Service public class AsyncService {Asyncpublic void hello() {try {Thread.sleep(3000);} catch (InterruptedExcept…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...