Thingsboard 能通过规则链(Rule Chains) 获取和处理天气(weather)信息。通过集成外部的天气 API(如 OpenWeatherMap、WeatherStack、或百度天气等)来实现。
官方案列链接 :使用 REST API 调用进行天气读数 |ThingsBoard 社区版
我们拿举例来说:
第1步,去天气网站注册并获取API Key,如:OpenWeatherMap

天气API 获取后, 您可以用如下去测试是否成功:
http://api.openweathermap.org/data/2.5/weather?q=Beijing,cn&APPID=您的APPID
第2步,创建一个定时规则链
在thingsboard中创建一个定时规则链

第3步,创建一个资产Asset
并在资产中配置GPS信息

第4步,创建属性来存放GPS位置信息和API
创建server-side attribute ,
APPID – 字符串 , 你获得的API Key
latitude – 双精度,纬度
longitude – 双精度,经度
units – 字符串,存放单位,“metric”(公制)用于米每秒风速和摄氏温度;“imperial”(英制)用于英里每小时风速和华氏温度;空白(即不填写)用于米每秒风速和开尔文温度。

第5步,添加 “generator” 节点(可以定时触发天气数据请求)
来源选择刚才的资产, Gerenator function填入:
return { msg: {}, metadata: {}, msgType: “POST_TELEMETRY_REQUEST” };

测试阶段300秒,就是5分钟产生一次
第6步,获取APPID 和 经纬度

第7步, 调用API
http://api.openweathermap.org/data/2.5/weather?lat=${ss_latitude}&lon=${ss_longitude}&units=${ss_units}&APPID=${ss_APPID}
GET模式

* 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
};

第9步,保存天气数据

第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
淘宝小店:陈皮王五工作室
评论列表(18条)
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]
[…] 物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五… […]