汉枫Elfin-EW11/EG11连接阿里云物联网平台--温湿度检测

简介: 给大家带来详细例程介绍: Elfin-EW11/EG11连接阿里IoT之温湿度检测。

目录:

实现功能

所需设备

AliIOT物联网平台配置

设备连接(EW11/EG11)

设备调试

设备WEB应用开发

设备运维大屏展示

完整文档:[点此下载
](链接地址http://www.hi-flying.com/download-center-1/application-notes-1/download-item-industry-products-application-manual)
实现功能:
Elfin-EW11/EG11通过RS485端口连接一个温湿度传感器,读取温度、湿度数据上传到阿里云IOT平台并在WEB网页上展示出来。具体如下:

EW11/EG11主动读取温湿度传感器的温湿度值

EW11/EG11将读取的温湿度数值传输到阿里IoT云端

IoT云端数据以Web方式展示出来

使用设备:
1_yYJw.png

1、Elfin-EW11(配RJ45转4Pin端子):1套

点此购买

2、Elfin-EG11(配RJ45转4Pin端子):1套

点此购买

3、温湿度传感器(RS485接口):1个

12V1A电源:1个购买
点此购买

其中:温湿度传感器参数如下:
采用Modbus-RTU通讯规约

串口参数:RS485,波特率9600,数据位8,停止位1,校验位无

地址码:01

温湿度传感器通讯协议示例以及解释:

举例:读取设备地址0x01的温湿度值

问询帧(16进制):
2_amvw.png
应答帧(16进制):(例如读到温度为25.8℃,湿度为62.9%RH)
3_3X90.png

温度计算:

温度:0102 H(十六进制)= 258 =>温度= 25.8℃

湿度:0275 H(十六进制)= 629 =>湿度= 62.9%RH

读取命令:01 03 00 00 00 02 C4 0B

回复数据:01 03 04 02 75 01 02 6A 00(示例)

(注意:当温度低于0 ℃时温度数据以补码的形式回复,此处例子仅测试0 ℃以上温度)

AliIOT物联网平台配置
1、 AliIOT物联网平台注册、登录:网址:https://iot.aliyun.com/products/iotstudio

2、 建立设备模型:根据对设备的抽象,在云端建立设备模型。在本例中,创建一个温湿度检测产品。设备端物模型抽象如下表
4_WqUB.png
3、 打开https://iot.console.aliyun.com/product,选择【设备管理】->【产品】,点击【创建产品】
5_I4Qo.png
完成后即可看到新创建的产品,点击【查看】即可看到产品详情。
6_bap9.png
4、点击【功能定义】->【自定义功能】->【编辑草稿】,进入编辑草稿页面【自定义功能】->【编辑草稿】添加产品属性及功能
7_5E3q.png
5、 添加自定义功能:当前温度和当前湿度
9_NlmZ.png
自定义功能添加完毕后,点击【发布更新】定义一个版本号,完成后的功能列表如下:
10_fH2a.png
6、编写云端解析脚本在产品详情页中点击【数据解析】,进行解析脚本的编写,解析脚本支持JavaScript和Python2.7语言,此处以JavaScript为例进行编写。

关于数据解析更多说明,参考:

https://help.aliyun.com/document_detail/68702.html
11_78Ly.png

此例编写脚本如下,可将下列脚本粘贴至【编辑脚本】中,脚本的逻辑为,将其中湿度和温度16进制值取出,转换为10进制的湿度和温度,赋值给CurrentHumidity和CurrentTemperature。

// 以下为脚本模版,您可以基于以下模版进行脚本编写​/** * 将设备自定义topic数据转换为json格式数据, 设备上报数据到物联网平台时调用 * 入参:topic   字符串,设备上报消息的topic      * 入参:rawData byte[]数组                  不能为空 * 出参:jsonObj JSON对象                    不能为空 */function transformPayload(topic, rawData) {    var jsonObj = {}    return jsonObj;}​/** * 将设备的自定义格式数据转换为Alink协议的数据,设备上报数据到物联网平台时调用 * 入参:rawData byte[]数组     不能为空 * 出参:jsonObj Alink JSON对象 不能为空 */function rawDataToProtocol(rawData) {    var jsonObj = {}    return jsonObj;}​/** *  将Alink协议的数据转换为设备能识别的格式数据,物联网平台给设备下发数据时调用 *  入参:jsonObj Alink JSON对象  不能为空  *  出参:rawData byte[]数组      不能为空 * */function protocolToRawData(jsonObj) {    var rawdata = [];    return rawdata;}​var ALINK_PROP_REPORT_METHOD = 'thing.event.property.post'; //标准ALink协议topic, 设备 上传属性数据到 云端var ALINK_PROP_SET_METHOD = 'thing.service.property.set'; //标准ALink协议topic, 云端 下发属性控制指令 到设备端​/*示例数据:传入参数 ->  0x010304027501026A00  010304027501026A00为温湿度传感器返回的整体数据  其中0275是CurrentHumidity值,转化为10进制为629,除以10为62.9  其中0102是CurrentTemperature值,转化为10进制为258,除以10为25.8,输出结果 ->{  "method": "thing.event.property.post",  "id": "16974850",  "params": {    "CurrentHumidity": 62.9,    "CurrentTemperature": 25.8  },  "version": "1.1"}​*/function rawDataToProtocol(bytes){    var uint8Array = new Uint8Array(bytes.length);    for (var i = 0; i < bytes.length; i++)    {        uint8Array[i] = bytes[i] & 0xff;     }    var dataView = new DataView(uint8Array.buffer, 0);  //10进制bytes数组转16进制字符串    var str = "";     for(var j=0; j<bytes.length; j++)    {      var tmp = (bytes[j] & 0xff).toString(16);      if(tmp.length == 1)      {          tmp = "0" + tmp;      }      str += tmp;    }​    var jsonMap = {};    var fHead = uint8Array[0]; // command    {        jsonMap['method'] = ALINK_PROP_REPORT_METHOD; //Alink协议 - 属性上报topic        jsonMap['version'] = '1.1'; //Alink协议 - 协议版本号固定字段        jsonMap['id'] = '' + dataView.getInt32(1); //Alink协议 - 标示该次请求id值        var params = {};        //截取16进制字符串并转成10进制,并除以10        var Humidity_bp = parseInt(str.substring(6,10),16)/10;     var Temperature_bp = parseInt(str.substring(10,14),16)/10;        params['CurrentHumidity'] = Humidity_bp;//对应产品属性中 CurrentHumidity     params['CurrentTemperature'] = Temperature_bp;//对应产品属性中 CurrentTemperature        jsonMap['params'] = params;//Alink协议 - params标准字段    }​    return jsonMap;}

7、验证脚本在【数据解析】->【脚本编辑】页面下方,可以模拟设备上报数据,查看解析结果。如输入设备上报数据:0x010304027501026A00,点击【执行】,查看解析结果,结果正确后,点击【提交】,提交解析脚本。

8、创建设备完成产品类型的建立之后,创建真实的设备,在【设备】列表中,选择 产品 后,点击【添加设备】。
13_XLNo.png
输入设备DeviceName,自定义一个设备名称,如此处定义为THSensor001,添加完成后,可以一键复制设备证书,等待写入设备中。

如此处添加的设备证书如下:
14_451c.png
15_VWq1.png
16_0zL0.png
若未及时复制设备证书,也可在建好的设备详情页,DeviceSecret处,点击“查看”,查看设备证书信息。

9、设备添加完成后,会先处于“未激活”状态,如下所示:
18_0P9o.png

至此AliIOT云端配置已经完成,接下来完成DTU的配置。

设备连接(EW11/EG11)

案例一:设备EW11的设置和连接

1.硬件连接:

19_y2QS.png
2.EW11设置连接路由器:

(1)EW11供电后,配置EW11为STA模式连接一个路由器

EW11出厂默认AP组网模式,如果要修改为STA组网,可以采用几种方式,方式如下:

方法一: PC无线直连Elfin-EW1X热点,PC打开IOTService工具,通过工具进去配置,执行步骤详见如下。
20_HNfK.png

进入 [设备编辑] 后,在WiFi设置框里 选择模式:STA,扫描需接入的信号热点,最后输入热点密码,点击 确认,后进入 [设备状态] 页面, 重启 DTU设备。

注意:DTU设备设置为STA模式,重启后,不再广播无线热点信号,因此PC或手机不能再搜索到Elfin-EW1X的热点。

设备重启后,EW11与路由器建立连接,PC或手机可通过路由器连接到DTU设备。如下图所示,EW11已经连上路由器并获取到IP地址。

21_Nano.png

方法二: 采用PC无线直连EW11_XXXX热点,浏览器输入10.10.100.254(产品默认IP),再输入用户名密码(默认为admin,admin,打开产品配置Web页面。

点击 [系统设置] 进入 [无线网络设置], 扫描选择要连接的AP热点,输入密码,提交后,进入[其他]-˃[恢复出厂设置/重启] 框下,点击“重启”按钮。
22_GNBW.png

方法三: Smartlink配网,该方法采用智能家居常用的配网方式,具体步骤可参考《Elfin-EW1X_操作指南》。

3、EW11设置连接AliIOT参数:

电脑安装IOTServcie工具后,绑定设备后,选择EW11设备,进入【设备编辑】页面,设置 【串口】参数和【连接】参数。

23_gVgI.png

24_MiDx.png

填写完成后,点击“确认”->“确认”保存参数,重启设备。

重新进入到AliIOT物联网平台,在【设备管理】->【设备】列表里,可以查看到设备已经激活并显示在线,如下所示:
25_JeTF.png

4、设置EW11串口主动轮询温湿度传感器功能

(1)编辑脚本

EW11可以通过编辑HIS脚本实现串口自动轮询功能,每隔一定时间主动发出轮询命令。此处设置脚本参考如下,可将如下脚本复制到txt文档保存:

更多HIS脚本编辑介绍,请下载说明文档.

下载地址:http://www.hi-flying.com/download-center-1/application-notes-1/download-item-his-script

(2)导入脚本

在IOTservice工具里,选择EW11设备后,点击【设备编辑】->【高级设置】->【编辑脚本】->【导入脚本】,选择编辑好的TXT脚本文件,直接会导入到EW11设备里面,然后重启EW11设备。

26_C6FK.png

(3)之后,进入【设备状态】查看EW11接入状态:

27_djeK.png

5、 AliIOT物联网平台数据接收展示进入到AliIOT物联网平台,在【设备管理】->【设备】列表里选中设备,点击【查看】,进入设备详情页,点击【运行状态】,可查看数据,如下所示:
28_ACZh.png
29_kJzt.png

设备运行一段时间后,点击【查看数据】,可以看到各个时间点温湿度变化情况:
30_NCtf.png
31_P1eJ.png

案例二:设备EG11的设置和连接

1、硬件连接
19_y2QS (1).png

2、EG11设置连接网络:
(1)EG11支持移动、联通SIM卡,只需插入SIM卡即可自动连接网络
(2)EG11接入网络后,电脑开启IOTService工具,绑定EG11设备,绑定设备方法,可参考《HF DTU 设备快速使用指导》。

3、 EG11设置连接AliIOT参数:电脑安装IOTServcie工具后,绑定设备后,选择EG11设备,进入【设备编辑】页面,设置 【串口】参数和【连接】参数。

32_d9Rd.png
33_Qve5.png

填写完成后,点击“确认”->“确认”保存参数,重启设备。重新进入到AliIOT物联网平台,在【设备管理】->【设备】列表里,可以查看到设备已经激活并显示在线,如下所示:

34_Iohm.png

4、 设置EG11串口主动轮询温湿度传感器功能EG11不支持HS脚本功能,可以通过设置串口心跳包方式实现对传感器的定时查询,如下:

35_bnWf.png

设置之后,点击“确认”重启设备,再次进入【设备状态】查看EG11接入状态:
36_MeZf.png

5、 AliIOT物联网平台数据接收展示进入到AliIOT物联网平台,在【设备管理】->【设备】列表里选中设备,点击【查看】,进入设备详情页,点击【运行状态】,可查看数据,如下所示:
37_slYP.png
38_l0qw.png

设备运行一段时间后,点击【查看数据】,可以看到各个时间点温湿度变化情况:
39_qn0P.png

设备调试

在设备连接上AliIOT物联网平台,并上传数据后,若出现数据显示不正确时,可以使用AliIOT物联网平台的【日志服务】功能,选择产品后,点击【上行消息分析】,选择一个【MessageID】查看设备上传到平台的原始数据,并根据上传的数据查找原因,再做匹配调整。

40_roRn.png

如此处查看THSensor002上传的一个数据值,16进制显示为:0x01030402a100dd6a30,其中02a1和00dd分别为湿度值和温度值,转换为10进制后为:673和221,则湿度和温度分别为67.3%RH和22.1℃。

设备WEB应用开发

阿里云IoT物联网平台还提供【应用开发】功能,可以自定义Web页面和APP页面。(注:当前APP自定义开发功能暂时关闭,Ali完善后再重新上线)

1、进入Ali IoT Studio菜单下,选择【项目管理】->【新建项目】->【新建空白项目】,自定义填入一个项目名称。
41_G14d.png

2、之后,进入创建项目的主页,选择【Web应用】,【新建】一个Web应用。
42_cg1B.png
43_cV2S.png
3、 进入Web可视化开发页面,根据需要创建自己的Web展示页面。
44_MiRv.png

4、 选择【组件】进行页面设计,比如选择“实时曲线”,然后选择曲线表后,对“样式” 和“交互”进行设置,比如“关联产品”和“配置数据源”。

45_wksl.png
5、 之后生成页面,可以预览,待设计成熟后,可以发布。比如此Demo预览界面如下:
46_V40v.png

设备运维大屏展示

阿里云物联网平台还提供强大的监控运维功能,大屏显示所有管理设备运行状态,实时掌握设备最新运行情况。在【运维监控】->【运维大盘】->【设备运维大盘】,可以查看整体状态。

47_Lskz.png
48_HgAl.png

相关文章
|
1月前
|
SQL 关系型数据库 MySQL
2024年阿里云数据库创建_数据库账号密码和连接教程
阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案。详细阿里云数据库购买和使用流程方法如下
|
2月前
|
消息中间件 DataWorks 物联网
MQTT问题之接入阿里云物联网平台如何解决
MQTT接入是指将设备或应用通过MQTT协议接入到消息服务器,以实现数据的发布和订阅;本合集着眼于MQTT接入的流程、配置指导以及常见接入问题的解决方法,帮助用户实现稳定可靠的消息交换。
163 1
|
27天前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
367 3
|
5天前
|
消息中间件 存储 JavaScript
阿里云IOC物联网异步处理基础概念
该内容介绍了异步处理基础和消息队列的相关概念。首先,同步处理指任务完成后才能执行其他操作,而异步则允许任务并行执行,不阻塞程序。异步能提高系统并发性和响应性,但也增加复杂性和资源消耗。接着,提到了消息队列,包括生产者、消费者、队列、broker和topic等概念,并指出在IoT中,设备作为生产者发送消息到特定topic,消费者从队列获取数据。最后,简要介绍了AMQP协议,它是用于应用程序间消息传递的开放标准,常用于分布式系统和物联网,如RabbitMQ和Apache Qpid。课程将以Apache Qpid为例接收IoT数据。
116 6
阿里云IOC物联网异步处理基础概念
|
17天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
77 3
|
1月前
|
监控 安全 数据挖掘
物联网平台中如何快速检测设备异常
物联网平台中如何快速检测设备异常
26 0
|
1月前
|
SQL 关系型数据库 MySQL
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程,阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案
336 0
|
2月前
|
API 网络安全
阿里云视觉智能平台中人脸搜索功能在长时间不使用后第一次使用时出现连接失败
阿里云视觉智能平台中人脸搜索功能在长时间不使用后第一次使用时出现连接失败
228 2
|
2月前
|
消息中间件 网络协议 物联网
MQTT协议问题之阿里云物联网服务器断开如何解决
MQTT协议是一个轻量级的消息传输协议,设计用于物联网(IoT)环境中设备间的通信;本合集将详细阐述MQTT协议的基本原理、特性以及各种实际应用场景,供用户学习和参考。
128 1
|
2月前
|
人工智能 自然语言处理 搜索推荐
阿里云推出企业级大模型RAG系统,几次点击即可连接PB级知识库
阿里云推出企业级大模型RAG系统,几次点击即可连接PB级知识库
701 1

相关产品

  • 物联网平台