AWSIOTapp使用指导文档V2.0

Carmelo Anthony
Carmelo Anthony This guy is lazy,Introduction has not been set

0 People liked this article · 4190 views

AWSIOTapp使用指导文档 一、创建AWS账号 登录AWS官网,点击登录控制台。如果没有注册账号需要注册账号,已经注册账号可直接登录。  
1.png
输入注册号的AWS账号密码并登录  
2.png
二、登录IOT控制台 登录后界面如下,进入物联网--IoT Core  
3.png
登录后页面如下  
4.png
三、创建事物   点击管理--事物,创建一个事物  
5.png
点击注册事物后界面如下,点击创建单个事物  
6.png
  随后输入事物名称并点击下一步  
7.png
  选择一键式创建证书,  
8.png
  创建完成后提示事物和证书创建成功。需要下载事物的证书和私有秘钥并激活证书,之后点击完成。  
9.png
四、创建策略 点击安全--策略,创建策略。   
10.png
输入策略名称。操作默认填入iot:*;资源ARN填入*(这样所有客户端都能连接至AWSIoT);效果选择允许。随后点击创建则策略创建成功。  
11.png
五、附加事物、策略,接收传输 进入安全--证书页面,这里可以看到已创建的证书。点击“...”  
12.png
点击附加策略为策略附加证书。
13.png
选定已创建的策略并点击添加  
14.png
显示附加策略成功,随后点击附件事物为事物附加证书。  
15.png
选择已创建的事物并点击添加  
16.png
显示附加成功后点击接受传输  
17.png
18.png
  六、网关配置 4.1 网关联网 第一步:打开浏览器,在地址栏中输入网关的IP地址以登录网关,如图所示。  
101.png
网关的出厂默认IP地址:http://192.168.2.1;出厂默认账号密码:adm/123456。 第二步:接入互联网,分为以太网接入网络、SIM卡接入网络和WIFI接入网络三种方式。 一、以太网接入网络 1.点击“防火墙>>网络地址转换(NAT)”,在内部网络接口将fastethernet 0/1删除,如图所示。 
102.png
在内部网络接口删除fastethernet 0/1后在“外部网络接口”中新增fastethernet 0/1,点击<应用并保存>,如图所示。  
103.png
2.点击“快速向导>>新建WAN”。 选择1)静态IP配置:选择接口“fastethernet 0/1”,类型选择“静态IP”,配置相应网络参数,勾选NAT功能并点击<应用并保存>,如图所示。 
104.png
选择2)DHCP配置:类型选择“动态地址(DHCP)”,勾选NAT功能并点击<应用并保存>即可。 3.点击“工具>>PING探测”检查是否成功接入互联网。 在“主机”中填入国内常用网址来进行测试,出现下图所示说明表明网关已经成功接入互联网。  
105.png
二、移动运营商网络接入 点击“网络>>拨号接口”,进入拨号接口参数配置界面,选择“启用”。 1. 将SIM卡插入卡槽1,将4g天线与ANT口连接。 2. 待网络连接状态显示为已连接并且显示已分配相应IP地址等状态时说明SIM卡已成功上网,如图所示。  
106.png
进行SIM卡插拔卡操作时,请务必将网关断电!否则可能会导致数据丢失或者设备损坏! IR900支持双卡模式,当SIM卡插入卡槽2时,需修改参数配置! SIM卡插入卡槽2时,需修改参数配置,并点击<应用并保存>,如下图所示。 
107.png
三、WIFI接入网络 进入“网络>>WLAN接口”页面,如图,启用WLAN接口并配置参数,下表是部分参数配置说明 接口类型  默认为AP-Client 信道            与被连接wifi信道一致 SSID           连接后网关创建的wifi名称 认证方式     默认为开放式 客户端SSID 被连接wifi的名称 认证方式     无密码验证时选择开放式,有密码验证时选择WPA2-PSK 加密方式     默认为TKIP WPA/WPA2 PSK密钥 Wifi密码(wifi为开放式时无此项)  
108.png
当dot11radio 2状态为已连接时说明连接wifi成功  
109.png
4.2 网关固件及SDK 注:建议固件版本使用1.0.0.r9382,SDK版本使用1.4.3 打开“管理>>系统升级”界面,如图所示。此处显示的固件版本为当前固件版本;选中升级文件,点击<升级>并在升级完成后重启网关。  
110.png
SDK安装升级方法如下: 第一步:访问http://192.168.2.1/pysdk.jsp(网关地址加/pysdk.jsp),选中相应的python SDK并上传。 第二步:点击“Python>>运行状态”,可在“运行状态”界面查看python相关信息及SDK版本,“运行状态”如图所示。  
111.png
4.3 导入并运行APP 在python--pythonApp页面导入AWSIoT和InModbus2 app。  
112.png
导入完成后在运行状态可以看到已经上传的APP  
113.png
进入python--AppManager配置页面配置APP运行:在APP命令中添加APP名称,添加后点击新增,随后点击应用并保存。(建议直接在运行状态页面复制APP名称并粘贴至AppManager配置)  
114.png
4.4 使用WinSCP导入证书 在AppManager配置页面勾选使能调试服务器,点击应用并保存
115.png
      运行WinSCP软件,按下图配置连接:文件协议选择SFTP;主机名为网关ip地址;端口号222;用户名pyuser;密码为网关序列号(可在管理--系统页面直接复制)。配置完毕后点击保存并登录
116.png
    登录后如显示此提示框点击跳过即可
117.png
  之后在WinSCP左侧页面进入到从AWS下载的证书和私钥文件夹下;右侧页面进入到/var/app/AWSIoT文件夹下。将下载好的证书和私钥导入至当前文件夹  
118.png
119.png
4.5  AWSIoT配置文件编辑 注:编辑配置文件建议使用notepad++软件 AWSIoT默认配置文件如下  
120.png
根据平台创建的证书和私钥修改配置文件后如下图  
121.png
4.6  InModbus2配置文件编辑 InModbus2配置文件示例如下,示例配置文件申明版本号为v2,通过Modbus-tcp方式实时采集PLC寄存40010的值解析并上传。 config:     version: 2     desc: inmodbus configuration     id: GATEWAY_1519462860 controllers:    - controller:      id: Demo      name: Demo      protocol: mbtcp      address: 192.168.2.5      param: 19200-8-N-1      port: 502      machine_address: '1'      byte_order: cdab      io:        - address: '40010'          type: float groups:    - group:      name: 现场状态      polling_interval: 5      uploading_interval: 5      vars:        - var:          id: environment temperature          level: 2          type: float          calc_mode: instant          unit: '℃'          expression: values['Demo.40010']/10.0          desc: Evironment temperature 下面将拆分解释配置文件。 4.6.1 文件信息 配置文件信息有版本号、文件id和描述。其版本号作用是指定InModbus2 APP配置文件的解析方式,文件id是远端更新配置文件的依据。具体格式如下: config:     version: 2    # 配置文件版本,默认     desc: inmodbus2 configuration    # 配置文件表述 id: GATEWAY_1519462860    # 配置文件Id 4.6.2 控制器 控制器描述了使用Modbus协议连接信息、id和Modbus采集的IO寄存器地址信息等,控制器可选择配置ModBus中2种传输模式,同时支持连接多台设备,添加多台设备只需在 controllers: 下增加 - controller: 即可。另Modbus采集地址是由十进制的字符串表示,01功能码地址支持1-10000,02功能码地址支持10001-20000和110001-165535,03功能码地址支持20001-30000和310001 -365535,04功能码地址支持40001-50000和410001 -465535。数据类型支持基本数据类型bit、word、dword、float和int等,还支持连续数据读string:N、bytes:N、words:N、dwords:N和floats:N(N即数据个数)。支持的ModBus字节序有’abcd’、’dcba’、’cdab’和’badc’。具体使用格式如下: controllers:  # 配置控制器    - controller:      id: Demo  # 控制器Id(不能重复)      name: Demo   # 控制器名称      protocol: mbtcp  # modbus采集方式mbtcp(modbus tcp)|mbrtu(modbus rtu)      address: 192.168.2.5 # mbtcp IP地址(mbrtu -> localhost)      param: 19200-8-N-1    # mbrtu串口参数(使用mbtcp时无需此字段)      port:502  # mbtcp IP端口mbrtu(/dev/ttyO1->RS232)|(/dev/ttyO5-> RS485))      machine_address: '1'    # modbus从站地址      byte_order: cdab    # modbus字节序      io:  # 采集寄存器地址集合        - address: '40010'    # 寄存器      type: float    # 寄存器数据类型 4.6.3 采集策略组 策略组主要实现对采集的IO值进行策略计算,将每个IO以采集轮询间隔分组,在组中根据计算模式进行数据的分析,以下是采集策略组的基本结构(instant计算模式,实时上传数据)。 groups:     # 采集策略组    - group:    # 策略组1      name: 现场状态   # 组名称      polling_interval: 5    # 本组采集间隔      uploading_interval: 5    # 本组上传间隔      vars:        - id: SDGJ    # Id(全局唯一,不可重复,纯数字时加’’)          level: 2    # 寄存器等级          type: float   # 解析成的类型          calc_mode: instant    # 计算方式(instant->瞬时 |complex->平均值 |accumulator->累加 |timer->计时 |counter->计数)          unit: ''    # 单位(配合平台显示)          expression: values['Demo.40010']    # 运算公式(values
  • 固定)     desc: 手动告警    # IO寄存器描述(配合平台显示)4.6.4 写IO寄存器策略组支持平台和SMS对IO寄存器进行写操作,需在对应 - id: 添加如下格式的字段:writeable:    # 添加写功能     address: Demo.40010    # 写地址(控制Id+寄存器地址) expression: float($var)    # 写前转换公式($var固定)4.6.5 实时告警策略组支持IO的实时告警,需在对应 - id: 添加如下格式的字段:warnings:    # 添加告警功能           - expression: values['Demo.40010']/10 > 30.0    # 告警触发条件             code: 101    # 错误代码             level: 2     # 等级(报警等级,1-提醒,2-警告,3-次要警告,4-重要警告,5-严重警告)             desc: The temperature is above the setting(>30.0) # 告警描述             duration: 0    # 死区持续时间(可删字段)             interval: 0    # 间隔(可删字段)           - expression: values['Demo.40010']/10 <10.0             code: 102             level: 2             desc: The temperature is below the setting (<10.0)4.7 导入配置文件并重启APP编辑好配置文件后需要将配置文件导入相应APP并重启APP。进入python--Python APP页面中选择需要导入配置文件的APP后点击浏览选择对应配置文件并导入即可。第一步:导入配置文件
    1001.png
     第二步:重启APP进入python--运行状态页面,点击App运行状态进入supervisor页面
    1002.png
     点击重启APP,APP重启后对应pid值会变化。
    1003.png
     4.8 查看日志当InModbus2出现如下日志说明下端控制器数据已经发送至AWSIoTapp。
    1004.png
     当AWSIoT出现如下日志说明数据已经发送至AWS平台。
    1005.png
     当AWSIoTapp出现如下日志请检查在AWS平台上操作是否正确或重启AWSIoTAPP。
    1006.png
    1007.png
      五、订阅主题  在AWS平台测试页面输入配置文件中serie_topic填写的主题并订阅主题 
    1008.png
    点击订阅后可以在左侧看到已订阅主题,同时在下方能看到已上传的数据。至此就完成了通过InModbus2协议将下端控制器数据上传至AWS平台的操作了。六、数据存储至Dynamodb数据库根据https://docs.aws.amazon.com/zh_cn/iot/latest/developerguide/iot-create-role.html中的规则栏设置权限及角色。设置完成后进入Dynamodb数据库 
    1009.png
    点击创建表 
    1010.png
    自定义表名称,主键为必填项。如需便于增加数据筛选条件可勾选添加排序键,类型选择字符串,随后点击创建。(建议类型使用字符串类型)
    1011.png
     在行动中新建规则
    1012.png
     填写规则名称,属性填‘*’,主题筛选条件填入需要获取哪个主题的数据。 
    1013.png
    1014.png
     点击添加操作,选择将消息插入到DynamoDB表并点击配置操作。 
    1015.png
    1016.png
    选择已创建的表名称,填入哈希键值
    1017.png
     选择创建好的aws_iot_dynamoDB角色并点击添加操作,随后点击创建规则即可。
    1018.png
    1019.png
     九、FAQ 编辑配置文件时请注意不同设备的mq_client_id和serie_topic均不要重复。 发现日志异常或平台上未能查看到数据请检查操作步骤是否有误或者重启AWSIoTAPP。 使用时需要关闭管理--设备远程监控平台中的设备远程监控平台功能。
    1020.png
      AWS使用限制请查看此链接:https://docs.aws.amazon.com/zh_cn/general/latest/gr/aws_service_limits.html#limits_iot  在DynamoDB中创建表时如果表类型选择数字时请勿选择添加排序键

Published on 2018-09-11 14:54

Disclaimers:

This document is written by Carmelo Anthony Original published on 技术社区 ,The copyright belongs to the author。

Log in,More exciting content waiting for you to find,Contribute wonderful answers,Participate in comment interaction

go Sign in! No accountgoregister

Recommended content

article Python Modbus 学习值得分享的博客
article Python 2.7.10 Windows 环境安装包
article 设备云服务DS操作使用流程
article IR900/IG900系列边缘计算网关介绍
article 测试:IG902-B采集1000个寄存器测试实验
article 关于InModbus2配置文件的一些注意事项
article IR900 Python SDK 更新至1.3.2
article MobusSlave Simulating Software
article IR900 Python功能-Eclipse集成开发工具使用
article InHand_IDE Python 开发环境 2018年版本