物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

Thingsboard 能通过规则链(Rule Chains) 获取和处理天气(weather)信息。通过集成外部的天气 API(如 OpenWeatherMap、WeatherStack、或百度天气等)来实现。

官方案列链接 :使用 REST API 调用进行天气读数 |ThingsBoard 社区版

我们拿举例来说:

第1步,去天气网站注册并获取API Key,如:OpenWeatherMap

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

天气API 获取后, 您可以用如下去测试是否成功:

http://api.openweathermap.org/data/2.5/weather?q=Beijing,cn&APPID=您的APPID

第2步,创建一个定时规则链

在thingsboard中创建一个定时规则链

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

第3步,创建一个资产Asset

并在资产中配置GPS信息

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

第4步,创建属性来存放GPS位置信息和API

创建server-side attribute ,

APPID – 字符串 , 你获得的API Key

latitude – 双精度,纬度

longitude – 双精度,经度

units – 字符串,存放单位,“metric”(公制)用于米每秒风速和摄氏温度;“imperial”(英制)用于英里每小时风速和华氏温度;空白(即不填写)用于米每秒风速和开尔文温度。

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

第5步,添加 “generator” 节点(可以定时触发天气数据请求)

来源选择刚才的资产, Gerenator function填入:

return { msg: {}, metadata: {}, msgType: “POST_TELEMETRY_REQUEST” };

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

测试阶段300秒,就是5分钟产生一次

第6步,获取APPID 和 经纬度

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

第7步, 调用API

http://api.openweathermap.org/data/2.5/weather?lat=${ss_latitude}&lon=${ss_longitude}&units=${ss_units}&APPID=${ss_APPID}

GET模式

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

* ss_ 需要加在服务器属性之前

第8步,摘取需要的数据

由于API会返回很多数据,我们只要特定的数据,其他不需要。

var newMsg = {
    "outsideTemp": msg.main.temp,
    "outsideMaxTemp": msg.main.temp_max,
    "outsideMinTemp": msg.main.temp_min,
    "outsideHumidity": msg.main.humidity,
};
return {
    msg: newMsg,
    metadata: metadata,
    msgType: msgType
};
物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

第9步,保存天气数据

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息

第10步,就是做仪表板,把这个放在地图的仪表板上

系列文章

物联网开源平台开发系列001 – 开源平台Thingsboard 介绍

物联网开源平台开发系列002 – Thingsboard 用户系统分析

物联网开源平台开发系列003 – Thingsboard OAuth2 – Google身份验证登陆

物联网开源平台开发系列004 – Thingsboard的实体、资产、设备一般说明及数据存储 – 陈皮王五de杂记

物联网开源平台开发系列005 – Thingsboard的API简述 – 陈皮王五de杂记

物联网开源平台开发系列006 – 在Thingsboard内创建一个设备 – 陈皮王五de杂记

物联网开源平台开发系列007 – Thingsboard的批量导入设备 – 陈皮王五de杂记

物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记

物联网开源平台开发系列009 – Thingsboard服务器对IoT设备下发指令 – 陈皮王五de杂记

物联网开源平台开发系列010 – Thingsboard规则引擎简介 – 陈皮王五de杂记

物联网开源平台开发系列011 – Thingsboard规则节点Originator Telemetry – 陈皮王五de杂记

物联网开源平台开发系列012 – Thingsboard 设备离线Alarm设置 – 陈皮王五de杂记

物联网开源平台开发系列013 – Thingsboard 遥测产生告警Alarm – 陈皮王五de杂记

物联网开源平台开发系列014 – Thingsboard遥测时序数据存储结构及分区策略 – 陈皮王五de杂记

物联网开源平台开发系列015 – Thingsboard postgresql数据库基本配置 – 陈皮王五de杂记

物联网开源平台开发系列016 – 再谈Thingsboard的设备注册 – 陈皮王五de杂记

物联网开源平台开发系列017 – Thingsboard的设备联动场景 – 陈皮王五de杂记

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五de杂记

物联网开源平台开发系列019 – Thingsboard设备数据传播给资产 – 陈皮王五de杂记

物联网开源平台开发系列020 – Thingsboard的实体视图Entity View – 陈皮王五de杂记

物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记

物联网开源平台开发系列022 – 通过Thingsboard网关gateway动态创建设备 – 陈皮王五de杂记

物联网开源平台开发系列023 – Thingsboard设备列表仪表盘 – 陈皮王五de杂记

物联网开源平台开发系列024 – Thingsboard接入摄像头方案 – 陈皮王五de杂记

物联网开源平台开发系列025 – Thingsboard规则链节点的JS代码调试 – 陈皮王五de杂记

原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/1095.html

淘宝小店:陈皮王五工作室

(0)
GaryGary
上一篇 2025-02-25 下午2:55
下一篇 2025-02-26 下午6:16

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(18条)