【IoT最佳实践】设备获取实时天气信息

Web service在物联网IoT中的应用 JSON+CoAP+UDP**的Web service是XML+HTTP+TCP在IoT中的一种替代。基于此架构,可以实现PC,移动终端对end-device端的快速访问。 阅读详情

【摘要】 物联网智能设备可以通过物联网平台统一获取实时天气信息,本文提供一个实现该功能的DEMO和其使用方法。

场景说明

随着技术的发展,物联网设备也越来越智能化,例如可以显示当地的实时天气。

在物联网解决方案中,若由每个设备自己去查询本地实时天气,会有设备端业务逻辑复杂化,查询天气接口调用过于频繁等问题;但若由物联网应用统一调用接口去查询天气再通过物联网平台下发给各个设备,这些问题都能迎刃而解。

在本示例中,我们模拟一个设备上报地区码,物联网平台再上报给应用服务器,应用服务器根据地区码信息查询当地天气信息后再通过物联网平台下发给设备,实现设备获取实时天气信息的功能。

注:本示例运行DEMO的机器需要作为服务器接收物联网平台的推送消息,必须绑定一个外网IP。

配置设备管理服务

在设备管理服务中创建产品模型并注册设备。

  1. 登录华为云官方网站,访问设备管理服务。

  2. 单击“立即使用”进入设备管理控制台。

  3. 单击页面右上角的“进入设备管理服务”进入控制台。

  4. 在“应用列表”页面中点击应用图标查看应用详情。

1576200434881410.png

5. 重置密钥,并妥善保存重置后的应用ID和密钥。

1576200477998127.png

6.单击页面左下角的1576200526741470.png切换左侧菜单,打开“产品模型”页面,单击页面右上角的“新增产品模型 > 本地导入”。

注:本文中使用的产品模型和设备仅为示例,您可以使用自己的产品模型和设备进行操作。

7.导入样例模型文件,“产品名称”自定义,如“MQTT_Device”。点此获取样例模型文件

8.进入“设备 > 设备注册”页面,单击“创建”,填写设备注册参数。

 1576201300135714.png1576201300135714.png

  1. 选择产品:选择您导入的产品模型,如“MQTT_Device”。

      设备识别码:设备唯一物理标识,如IMEI、MAC地址等,用于设备在接入物联网平台时携带该标识信息完成接入鉴权。无真实设备时可随意填写英文字母和数字的组合字符串。

       预置秘钥/确认秘钥:原生MQTT设备接入时,暂无作用,可不填写或随意填写。

填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“密钥”。

购买天气预报API

本文以华为云应用市场提供的天气预报API为例,您也可以使用其他的天气预告API作为数据源。

  1. 访问华为云应用市场,购买天气预报API。

  2. 购买完成后,从购买页面右上角进入买家中心。

 1576201377741138.png1576201377741138.png

3.单击天气预报所在行右侧的“管理”。 

1576201431142352.png

4.点击应用信息右边的眼睛图标,查看并记录AppKey和AppSecret。 

1576201471288105.png

开发物联网应用

开发物联网应用,实现设备上报地区码后应用自动查询当地天气并下发给设备。

本文中使用DEMO进行演示,您可以参考DEMO开发自己的物联网应用进行使用。

  1. 点击下载天气应用DEMO。

  2. 准备JAVA开发环境并导入DEMO工程,操作方法可参考开发指南。

  3. 打开“main.resources > application.properties”,修改配置。

1576201521749755.png

  1. server.port为本DEMO的监听端口,若8099端口已被占用可修改为其他端口。

    platformIp和platformPort修改为物联网平台的应用接入地址,可在设备接入服务的管理控制台查看。

    appId和secret修改为配置设备管理服务时获取的应用ID和密钥。

    subscription_CallbackUrl中的IP部分修改为本机的外网IP,端口部分与server.port保持一致。

    deviceId修改为配置设备管理服务时获取的设备ID。

    serviceId和method对应产品模型中的下发命令服务和命令,使用本文提供的样例模型时无需修改。

    apiKey和apiSecret替换为购买天气预报API时获取的AppKey和AppSecret。

验证操作

  1. 右键单击“com.huawei.iotplatform.Main > Main.java”,选择“Run As > Java Application”,若控制台显示订阅返回“消息接收服务器搭建完成完成”,表示DEMO运行成功。1576201691936262.png

  2. 使用设备上报数据。

    您可以使用配置设备管理服务时注册的真实设备接入平台,上报“areaCode”等于0755的数据。

    您也可以使用模拟器模拟设备订阅Topic: /huawei/v1/devices/{deviceId}/command/json(其中{deviceId}需要替换成实际设备ID)后,上报“areaCode”等于0755的数据,操作方法请参考MQTT.fx模拟设备接入。

  3. 期望结果:

        若您使用真实设备上报数据,设备会收到一条“SET_WEATHER”命令。

        若您使用模拟器上报数据,可在“Subscribe”页签查看到平台下发的“SET_WEATHER”命令。1576201813206075.png

ThingsBoard IoT Gateway 实战(二)- 通过 Request Connector 获取天气 在 ThingsBoard IoT Gateway 中,访问外部API是通过 Request 连接器实现的。将“thingsboard”部分中的主机和端口属性值改为ThingsBoard主机和端口。本节进行Thingsboard平台中网关的新增配置,如果已经配置,请直接跳到下一节。实际项目中,我们可以用城市名称或者区域名称+天气来做设备名,客户可以不配置,直接把这个设备挂在租户下面就可以了。这节讲解网关通过HTTP请求连接器获取设备遥测消息。设备列表中出现了一个代表外部天气API的设备。 阅读详情

相关推荐

FreeRTOS系统CPU使用率统计

操作系统中CPU使用率是在软件架构设计中必须要考虑的一个重要性能指标。它直接影响到程序的执行时间以及优先级更高的任务能否实时响应的问题。而CPU使用率也不能过低,避免资源浪费。

灵哎惹,凌沃敏的博客 1378

【IoT最佳实践】设备获取实时天气DEMO代码解读

【摘要】 之前,我们曾为您介绍如何实现设备实时获取天气信息,本文将为您从代码逻辑层面解读该实时天气应用的DEMO。 本文承接【IoT最佳实践】设备获取实时天气信息,为您解读实时天气DEMO的代码逻辑,助您开发自己的实时天气应用。 业务逻辑 在看代码之前,让我们先来了解下这个设备获取实时天气应用的业务逻辑。 1. 首先,应用需要先向物联网平台订阅设备数据变化通知,这样设备上报数据时平台才...

华为云官方博客 3395

车载测试工程师必备:5分钟搞定CANoe台架搭建(附DBC导入技巧)

本文为车载测试工程师提供快速搭建CANoe测试台架的实用指南,涵盖硬件连接、DBC文件导入及常见报错解决方案。通过详细步骤和高效技巧,帮助工程师在5分钟内完成台架搭建,提升车载测试效率,特别适合紧急功能验证场景。

potato的博客 812

ESP8266获取心知天气

下面是使用AT指令连接到心知天气 测试AT指令 AT 响应: OK 若是没有回应 OK,检查一下引脚连接情况 1. 配置 WiFi 模式 AT+CWMODE=1 //1:作为客户端 2:作为服务器 响应 : OK 2.复位 AT+RST 响应 . . ready //最后一行 3.连接网络 AT+CWJAP=“SSID”,“password” 响应 : WIFI CONNECTED WIFI GOT IP OK 4.查询 ESP826.

m0_47329175的博客 6916

不会写GLSL?用Cesium 1.120 + Heatmap.js 2.0.5也能搞定动态洪水模拟(附完整源码)

本文介绍了一种无需GLSL编程的3D洪水动态模拟方案,结合Cesium 1.120和Heatmap.js 2.0.5实现高效可视化。通过数据层、可视化层和集成层的技术降级方案,开发者可以快速构建专业级洪水演进效果,适用于应急管理、水利工程等场景。文章包含完整源码和性能优化技巧。

weixin_30329623的博客 521

zds1104示波器使用指南

(2)将探头连接到探头补偿端,按下auto setup按键,一键捕获。(3)连接需要测量信号,开始查看波形。操作说明书,可以自行查看操作说明书。

m0_61973119的博客 6769

STM32ESP8266获取天气解析天气hal库附源码:为物联网设备提供精准天气信息

STM32ESP8266获取天气解析天气hal库附源码:为物联网设备提供精准天气信息 【下载地址】STM32ESP8266获取天气解析天气hal库附源码 本项目展示了如何利用STM32F103ZET6与ESP8266模块结合,通过心知天气API获取实时天气信息,并使用CJSON库解析JSON数据。代码基于HAL库编写,结...

gitblog_06769的博客 267

从零拆解快手Web端__NS_hxfalcon:JS逆向签名参数定位与复现

在JS逆向与前端反爬攻防中,签名参数总是绕不开的核心环节。无论是接口加密还是请求签名,其本质都是通过在客户端收集环境信息、时间戳与业务参数,经特定算法计算后生成用于服务端校验的动态令牌。理解这类参数的生成原理,不仅能提升逆向分析效率,也能帮助前端开发者更好地设计自身接口防护方案。在实际工程中,面对经Webpack打包且高度混淆的代码,直接全局搜索参数名往往难以奏效,需要结合请求抓包、调用栈跟踪、环境适配等方法逐步定位。此类签名参数广泛存在于现代Web应用的GraphQL或REST接口中,是接口数据安全的重要

weixin_29474431的博客 336

STM32使用ESP8266模块AT指令连接心知天气API获取天气信息

二、连接WiFi ESP8266有三种WiFi模式,分别是station模式,AP模式和station+AP模式。简单来说,station模式就是8266作为连接WiFi的设备;AP模式就是8266作为提供WiFi的设备,相当于手机的热点功能。连接WiFi最简单的步骤就两步:8266为station模式和连接WiFi。 设置WiFi模式 设置WiFi模式的AT指令有AT+CWMODE,AT+CWMODE_CUR和AT+CWMODE_DEF。

weixin_46084281的博客 6926

数据工程师——ETL

文章摘要 ETL(数据抽取、转换、加载)是数据处理的核心流程,负责将分散数据源整合为高质量数据。ETL与ELT的主要区别在于转换步骤顺序,分别适用于不同规模数据场景。数据仓库通过ETL从多个数据源集成数据,支持分析决策。维度建模中的事实表记录业务指标,维度表提供上下文信息。缓慢变化维度(SCD)处理随时间变化的维度数据,常见类型包括直接覆盖型、新增版本型等。数据清洗解决数据缺失、重复、错误等问题,确保数据质量。数据血缘记录数据流转路径,便于问题排查和影响分析。常用ETL工具如Kettle通过转换和作业实现数

weixin_45729710的博客 1559

蓝桥杯FPGA赛道积分赛

代码如下: 按键驱动 代码如下 按键驱动 代码如下: 顶层文件 按键驱动 数码管驱动 声明:本代码借鉴网络资料,如有侵权和错误请联系作者删除。我是从寒假开始备赛的,由于我基础不行,备赛过程中也是混混呃呃的,备赛效率不高,总体来说备赛不认真,有点拖拉,但是最后我也坚持备赛到了今天,在备赛过程中,即复习了旧的东西,也学到了新的东西,总结起来还是有点收获的,后天北京、天津、河北地区就要进行省赛了,我会全力以赴,不管结果怎么样,尽力就好,最后祝大家都能

weixin_69804913的博客 1983

YIBABY-IOT物联网水泵应用平台 IOT 物联网水泵平台,NB-IOT协议,支持物联网设...

IOT 物联网水泵平台,NB-IOT协议,支持物联网设备信息采集和指令下发,对接电信AEP或阿里云物联网平台,设备参数设置,多设备绑定与解除等功能。IOT 物联网水泵平台,NB-IOT协议,支持物联网设备信息采集和指令下发,对接电信AEP或阿里云物联网平台,设备参数设置,多设备绑定与解除等功能。水泵中心:水泵添加,水泵删除,水泵绑定,水泵设备控制,实时天气,通知公告。水泵中心:水泵添加,水泵删除,水泵绑定,水泵设备控制,实时天气,通知公告。个人中心:个人信息,设备信息,设备绑定,我的设备,登陆。

2509_94268028的博客 731

yolov8涨点系列之轻量化主干网络替换

yolov8涨点系列之轻量化主干网络替换,以EfficientVit为例

zhang1379的博客 2887

STM32ESP8266获取时间和天气:实现物联网数据交互

STM32ESP8266获取时间和天气:实现物联网数据交互 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在物联网技术日益成熟的今天,利用微控制器和无线模块实现实时数据获取已成为可能。STM32ESP8266获取时间和天气项目正是基于这一理念,利用STM32单片机和ESP8266 Wi-Fi模块,从网络服务中获取天气和时间信息,并在TFT屏幕和手机APP上显示,为用户...

gitblog_06753的博客 1141

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

物联网(IoT)的概念与应用

摘要:物联网(IoT)是"物物相连的互联网",通过传感器、网络和平台实现物品间的智能交互。其核心架构包括感知层(传感器、RFID)、网络层(5G、LoRa)、平台层(数据管理)和应用层(智能家居、智慧城市等)。典型应用涵盖智能家居、工业物联网、车联网等领域,关键技术涉及边缘计算、数字孪生等。未来趋势将向AIoT融合、统一标准和绿色节能方向发展,实现更广泛的智能化应用。

Catinholic的博客 4039

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

基于ESP8266的物联网天气站项目—源码(毕业作品)

本项目成功实现了基于ESP8266的物联网天气站,该天气站能够实时获取并显示天气数据,为用户提供便捷的天气信息服务。这个项目不仅提供了一个实用的工具,也是一个学习物联网开发的好机会。未来,我们可以通过增加更多的传感器和功能,将这个天气站扩展为一个多功能的环境监测系统。因此,本项目旨在设计并实现一个基于ESP8266的物联网天气站,该天气站能够实时获取并显示天气数据,为用户提供便捷的天气信息服务。ESP8266开发板因其低成本和强大的功能,被广泛应用于物联网项目,如智能家居设备、天气站、安全系统等。

2301_77325761的博客 2493

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

天气API—手机一键推送天气信息到掌控板

通过App Inventor 2创建安卓App应用,访问“天气API”获取城市天气数据并同步到TinyWebDB数据库,然后通过Easy Iot物联网平台下发指令到掌控板,实现一键推送天气实况到掌控板。

手机连接万物 1527

探索智能物联网:STM32驱动ESP8266 WiFi模块获取天气

探索智能物联网:STM32驱动ESP8266 WiFi模块获取天气 【下载地址】STM32驱动ESP8266WiFi模块获取天气 本仓库包含了【STM32训练—WiFi模块】第二篇、STM32驱动ESP8266 WiFi模块获取天气的完整设计工程。该工程详细展示了如何使用STM32微控制器驱动ESP8266 WiFi模块...

gitblog_09812的博客 499

秒懂物联网 (IoT)?

如果你只是在谷歌上搜索 “什么是物联网?”,很多答案都过于专业,让人难以理解。举例来说:“物联网(IoT)是一个由相互关联的计算设备、机械和数字机器、物体、动物或人组成的系统,这些设备、机器、物体、动物或人都被赋予了唯一的标识符,并且能够在无需人与人或人与计算机交互的情况下通过网络传输数据。”—— 一个过于专业的物联网解释如果你感到困惑,也并不孤单,很多人都会有这样的感受。大多数人既不想也不需要深入了解物联网的细枝末节。在这篇文章中,我将为你提供一个关于物联网及其工作原理的简单解释。什么是物联网?

雪兽软件 777

esp8266获取天气信息:心知天气get及url讲解说明

本人最近在使用esp8266获取天气预报,在网上搜寻了一番,使用了心知天气的api(不是打广告),本人对网络方面不是很懂,经过几天的查找资料与学习,然后在博客记录下,方便以后的学习可广大学友。 url全称是资源描述符,我们可以这样认为:一个url地址,它用于描述一个网络上的资源,而http中的get、post、put、delete就对于着这个资源的查、改、增、删4个操作,get一般用于获取/查询资...

weixiao的博客 1万+

天气预报查询API:为应用带来实时天气信息

随着移动互联网和云计算的发展,天气预报查询API已经成为开发者日常工作中不可或缺的一部分。无论是移动应用、网站,还是物联网设备,实时天气数据的获取能够提供更贴合用户需求的功能,比如提供精准的出行建议、精准的农田管理、以及各种智能设备的自动化调节。

海碗吃饭的博客 783

物联网IOT面临挑战

例如,在汽车中,发动机控制单元(ECU)的作用仅仅是确保发动机中的正常燃烧和排放,但是汽车使用ECU来跟踪燃料经济性,并通过无线连接将其报告给中央服务器。物联网的真正前景在于这些设备产生的数据和它们能够提供的服务。即使是最小的传感器也能提供有用的服务,尽管嵌入式设备、物联网或移动应用程序开发人员可能倾向于不考虑服务,但改变这种思维模式,让物联网能够连通世界是非常重要的。他们感兴趣的是更深的层面——确保他们的安全系统能够检测到房子周围的活动,或者是通过系统能够自动地让空调能够保持在一个舒适的温度。

1669

物联网(IoT):设备和服务

需要从服务的角度来看待物联网问题 虽然“物”是物联网(IoT)中的术语,但事实上,消费者和企业感兴趣的并不仅仅是事物或设备。物联网的真正承诺在于这些设备产生的数据和它们所采取的行动。即使是最小的传感器也在提供有用的服务,尽管嵌入式设备开发人员往往不会从服务的角度考虑,但为了满足物联网全连接世界所要求的功能、质量、性能和安全要求,改变这种思维方式非常重要。 物联网是由服务组成的 尽管在物联网中停留了一个名字,但“物”本身并不是主角。物联网更关键的是这些设备提供的信息收集、关键基础设施的控制以及对现实..

Pokemogo的博客 1050

通过Temboo实现从Arduino获取雅虎天气信息

如果问我未来的科技行业发展有哪些亮点的话,我必须说物联网一定是其中之一。物联网技术发展迅速,现在我们已经看到非常多的设备通过互联网互相通信了。物联网技术的发展背后的推动因素之一是Arduino和Raspberry PI这类廉价硬件的普及,在这些廉价硬件背后的中流砥柱则是各种物联网云平台。Temboo就是众多物联网云平台中的佼佼者。下面我们就来介绍一下如何将Arduino连接到雅虎的天气服务并用获取...

happytofly的博客 1293
上一篇: 跑道防侵入,华为云ModelArts平台助力航空器识别AI模型开发
下一篇: 【我的物联网成长记13】物联网卡能否携号转网?
A_F_O
博客等级 码龄7年 52粉丝 1453原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值