关注分享主机优惠活动
国内外VPS云服务器

利用物联网工作室搭建气象监测屏幕

摘要:使用开发监控大屏平台,即物联网开发平台。在应用程序编辑器中,构建一个实时气象数据监控面板。设置完成后,文本组件将显示气象监测设备报告的温度值。

1.在该实际案例中,利用LoRa气象监测设备监测气象信息,上报温度、湿度、气压、经纬度等数据,并利用物联网Studio平台搭建监测屏幕,显示气象监测设备的最新数据和历史数据图表。

架构图这个案例的架构图如下。

方案设计的实施过程:

独立建设气象站LoRa网络。配置LoRa气象监测设备接入物联网平台。在物联网工作室平台上搭建监控画面。

准备材料购买LoRa网关硬件和LoRa气象监测设备。

购买通过Link WAN认证(内置Link WAN key)的产品,可参观广域物联网或阿里云物联网组件馆。

2.配置LoRa网关

在使用LoRa设备之前,需要在物联网网管平台上配置LoRa网关,构建物联网所需的网络服务。

前提是IOT网络管理平台已经开通。

操作步骤登录左侧导航栏中的IOT网络管理平台控制台,选择快速启动。选择开始构建对应的共享网络。

点击开始体验。注册网关,填写您的网关基本信息和位置信息,然后单击下一步。请检查网关设备标签上的网关GwEUI、PIN码和频段信息。如下图所示。

打开电源并将网关连接到网络。过一会儿,网关状态显示在线,这意味着网关在线成功。

添加网络访问凭据,然后单击下一步。

将优惠券授权给您自己,然后单击“完成”。

执行结果将凭证授权给自己后,使用凭证在物联网平台上创建一个具有LoRaWAN联网模式的产品。

3.配置LoRa设备接入物联网平台。

配置好LoRa网关后,需要在物联网平台上创建LoRa产品和设备,定义对象模型,编写并提交LoRa设备的数据解析脚本。

创建产品和设备登录物联网平台的控制台。在实例概述页面,找到对应的实例,点击该实例,进入实例详细信息页面。

在左侧导航栏中,选择设备管理>产品。在“产品”页面上,单击“创建产品”以创建具有LoRaWAN网络模式的产品。参数描述产品名称自定义产品名称。类别被选为用户定义的类别。节点类型为直连设备。网络模式是LoRaWAN。网络接入凭证选择您在物联网平台中创建的授权网络接入凭证。数据格式选择为透明/用户定义。选择认证方法作为设备密钥。成功创建产品后,单击添加设备列下的转到添加以添加设备。请检查您的设备标签上的设备版本和PIN码。

测试设备连接到物联网平台。根据设备上的标识连接设备的天线、GPS天线、电池或电源。

设备上电约2分钟后,在物联网平台控制台对应实例下设备页面的设备列表中,设备状态会显示为在线。

定义对象模型就是将物理空间中的实体数字化,在云端构建实体的数据模型。在物联网平台中,定义对象模型意味着定义产品功能(包括属性、事件和服务)。功能定义完成后,系统会自动生成产品的实物模型。在这个例子中,气象监测设备报告诸如温度、湿度、气压、地理位置坐标等信息。所以,首先在物联网这个平台上,为这些信息定义数据模型,也就是定义相应的属性。

在物联网平台控制台对应实例下的左侧导航栏中,选择设备管理>产品。在产品页面上,找到之前创建的产品,然后单击相应的视图。在产品详细信息页面的函数定义选项卡下,选择编辑草稿>添加自定义函数以添加以下自定义函数。属性名称标识符类型取值范围步长单位读写类型温度温度double-99~1000.01℃读写湿度湿度double1~1000.01%读写大气压atmospheric float 550 ~ 10600.01 HPA HPA读写经度经度经度double-180~1800.01。读写双-90 ~ 900.01纬度Altitudefloat0~99990.01m读写X加速度_ X浮动-1000 ~ 10000.01mg读写Y加速度_ Y浮动-1000 ~ 10000.01mg读写Z加速度Ac。燃烧_ zfloat-1000 ~ 10000.01mg读写速度speed float -10000 ~ 100000.01km/h读写电池电压Battery _ Voltage float 0 ~ 1000000.01v读写气阻Gas _ Resistance float -10000 ~ 100000.01没有新的读写。

单击“在线发布”将物理模型发布为正式版本。写数据解析脚本在这个例子中,LoRa设备上报的数据是二进制格式的,比如01880537A5109D5A00846C。其中1和2字节是数据识别码0188;字节3、4、5为海拔高度数据:339m字节6、7、8为纬度数据纬度:34.1925;;9、10和11字节是经度数据:108.8858。

阿里云物联网平台的标准数据格式是Alink JSON格式,所以二进制数据不能直接用于业务处理。并且物联网平台发布的数据也是Alink JSON格式。你需要根据你的设备数据格式和定义的物理模型编写一个数据解析脚本,提交给物联网平台,供物联网平台调用解析上下行数据。

登录物联网平台的控制台,在对应实例的产品详情页面选择数据分析选项卡。在编辑脚本输入框中,输入解析脚本。说明脚本代码中属性的标识符必须与定义对象模型时定义的一致。

有关详细的数据分析脚本说明,请参考LoRaWAN设备数据分析。

该示例的数据解析脚本如下:

//var COMMAND _ REPORT = 02;//var COMMAND _ SET = 01;var ALINK _道具_报告_方法= " thing . event . property . post ";//标准ALink JSON格式题目,设备上传属性数据到云端。var ALINK _ PROP _ SET _ METHOD = " thing . service . property . SET ";var ALINK _ VERSION = " 1.1 ";函数rawDataToProtocol(bytes){ var uint 8 array = new uint 8 array(bytes . length);for(var I = 0;I <字节.长度;i++){ uint 8 array[I]= bytes[I]& 0x ff;} var dataView = new dataView(uint 8 array . buffer,0);var JSON map = { };//var fHead = uint 8 array[0];//字节0是报告协议。//if(f head = = COMMAND _ REPORT){ JSON map[" METHOD "]= ALINK _道具_报告_方法;//ALink JSON格式-属性报告。JSON map[" VERSION "]= ALINK _版本;//ALink JSON格式-协议版本号固定字段。JSON map[" id "]= " "+12345;//ALink JSON格式-表示这个请求的id值。var params = { };switch(dataview . getint 16(0)){ case 0x 0267:params[" Temperature "]= math . floor(dataview . getint 16(2)* 0.1 * 10)/10;//保留两位小数。params["湿度"]= math . floor(100 * dataview . getuint 8(6)* 0.01/2 * 10)/10;params[" Atmosphere "]= math . floor(dataview . getint 16(9)* 0.1 * 10)/10;打破;案例0x 0188:var buffer = new uint 8 array(4);缓冲区[0]= 0;buffer[1]= uint 8 array[2];buffer[2]= uint 8 array[3];buffer[3]= uint 8 array[4];var latitude = new DataView(buffer . buffer,0);params[" Latitude "]= math . floor(Latitude . getint 32(0)* 0.0001 * 10000)/10000;缓冲区[0]= 0;buffer[1]= uint 8 array[5];buffer[2]= uint 8 array[6];buffer[3]= uint 8 array[7];var longitude = new DataView(buffer . buffer,0);params["经度"]= math . floor(Longitude . getint 32(0)* 0.0001 * 10000)/10000;缓冲区[0]= 0;buffer[1]= uint 8 array[8];buffer[2]= uint 8 array[9];buffer[3]= uint 8 array[10];var altitude = new DataView(buffer . buffer,0);params[" Altitude "]= math . floor(Altitude . getint 32(0)* 0.01 * 100)/100;打破;case 0x 0371:params[" Acceleration _ X "]= dataview . getint 16(2);params[" Acceleration _ Y "]= dataview . getint 16(4);params[" Acceleration _ Z "]= dataview . getint 16(6);打破;case 0x 0702:params[" Battery _ voltage "]= dataview . getint 16(2)/10;params[" Speed "]= math . floor(dataview . getint 16(6)* 0.01 * 100)/100;打破;case 0x 0902:params[" Gas _ resistance "]= dataview . getint 16(2);打破;} JSON map[" params "]= params;//ALink JSON format - params标准字段}返回jsonMap} function protocol torawdata(bytes){ var method = JSON[" method "];var id = JSON[" id "];var version = JSON[" version "];var payload array =[];返回payloadArray}}测试脚本。选择模拟类型以报告设备数据。在模拟输入下的输入框中,输入模拟数据:01880537A5109D5A00846C。单击开始。分析结果显示在运行结果列中。

确认脚本能够正确解析数据后,点击提交,将脚本提交至物联网平台系统。说明物联网平台不能调用草稿状态的脚本,只会调用提交的脚本解析数据。

脚本解析设备上报的属性数据成功后,可以在“设备详情页对象模型数据>运行状态”页签下查看设备上报的属性数据。

4.使用IoT Studio开发监控屏幕。

物联网工作室平台,即物联网开发平台。您可以使用IoT Studio中的Web应用程序编辑器来构建监控屏幕,以显示设备报告的数据。

操作步骤在物联网平台控制台左侧的导航栏中,选择IoT Studio >项目管理,点击通用项目下的新建项目,新建一个通用项目。具体操作见一般项目。成功创建,自动进入项目。

在项目左侧的导航栏中,选择产品,然后单击相关物联网平台产品,将创建的气象监测产品与项目相关联。具体操作见普通项目相关产品。在项目左侧的导航栏中,选择设备,然后点击与物联网平台相关联的设备。待监控数据的源设备与项目相关联。具体操作请参考普通项目相关设备。在项目左侧的导航栏中,选择主页,然后单击Web应用程序>新建以创建新的Web应用程序。请参阅创建Web应用程序了解详情。在Web应用程序编辑器中,构建一个实时气象数据监控面板。选择一个自定义的新页面,并设置面板页面的显示效果,如页面标题和背景颜色。在左侧导航栏中,选择

组件,打开组件列表。从组件列表中,将一个矩形组件拖到画布上,并配置组件样式。详见矩形。从组件列表中拖拽一个文本组件叠加到矩形组件上,然后将文本组件的数据源配置为气象监测设备的温度属性。具体操作见正文。设置完成后,文本组件将显示气象监测设备报告的温度值。

从组件列表中,拖放一个文本组件以覆盖矩形组件,文本内容设置为温度(℃)作为温度显示组件的标题。选择三个已配置的组件,单击鼠标右键,然后选择Group以形成一个组件组。

根据要显示的属性数量复制多个组。复制组件组时,会同时复制每个组件的显示效果配置和数据源配置。

右键单击复制的组件组,然后选择“融合组”。复制的组件组的所有配置都是相同的。在重新配置组件数据源等信息之前,您需要解散该组。

将数据源设置为产品的其他属性,并设置相应的属性名称和单位。如果需要,可以将其他组件(如图片组件)添加到页面中。请参考基本组件说明。控制面板效果参考图如下。

配置完所有组件后,单击页面顶部的。

预览、预览和测试应用程序页面。在Web应用程序编辑器中,创建一个新的空白页,并配置属性数据曲线显示图。以组态温度数据显示图为例。

在左侧导航栏中,选择

页面,然后单击新符号+添加空白页。在左侧导航栏中,选择

组件,将一个实时曲线组件拖放到画布上,并将实时曲线组件的数据源配置为气象监测设备的温度属性。具体操作见实时曲线。配置图形的显示样式。调整图形的大小和坐标,设置是否显示时间选择器,并将系列名称设置为温度。说明如果时间选择器前面的复选框被选中,这意味着时间选择器显示在图表上。应用发布后,可以设置时间,查看相应时间段的温度数据。

配置完成后,单击页面顶部的。

预览、预览和测试应用程序页面。单击页面顶部的。

发布,发布应用程序。在下一步中应用发布后,在左侧导航栏中选择。

应用程序设置,可以打开应用程序令牌验证,为应用程序绑定自己的域名等等。

关于Web应用可视化开发的更多操作说明,请参考Web可视化开发文档。

未经允许不得转载:主机频道 » 利用物联网工作室搭建气象监测屏幕

评论 抢沙发

评论前必须登录!