银尔达IOT物联网开发平台:iot.yinerda.com
更多资料访问:https://yinerda.yuque.com/yt1fh6/iot
功能支持4G设备的连接,管理;支持设备数据点定义,解析,处理,储存,统计;支持微信小程序/APP管理对接;通过电话、短信、微信、邮件等报警信息通知;支持服务与服务器对接;支持服务器边缘计算数据;支持私有化部署,log替换,特殊功能定制。
银尔达IOT平台是银尔达自主研发的物联网平台。包括设备连接,设备管理,WEB管理,小程序/APP管理。
能够快速做设备连接,原型评估,功能测试,批量设备管理。
同时对客户需求安全性,私有化良好的支持,可以给客户服务器上单独部署系统,可以实现单台服务器5000台设备容量,也可以部署集群,扩展设备连接量。
一、简介
本文档记录企业用户如何在IOT平台如何创建产品,获取设备连接参数,设备如何配置参数,管理设备,调试设备;终端用户如何管理在APP或者WEB上管理设备。
IOT的使用方法一样,唯一区别的就是对于不同产品的不同功能和任务的区别。
本教材涉及到2个平台,一个是IOT平台(iot.yinerda.com),一个是DTU平台(dtu.yinerda.com)。
IOT平台是创建产品,定义数据,定义逻辑,观察数据的的业务平台。
DTU平台是配置4G设备参数,让4G设备连接IOT平台的工具。
二、注册账号
https://iot.yinerda.com 注册账号,支持手机注册要和邮箱注册。如果手机手不到验证码,就建议邮箱注册。
手机收不到验证码的情况一般是拦截或者携号转网的可能收不到。
注册的时候密码必须是3种字符必须包含数字,字母和特殊符号保证账号安全。

三、账号登录
WEB注册的账户,系统默认就会注册企业角色和终端角色用户。账号登录如果是设计产品选择“企业用户”登录,如果是用产品的选择“终端用户”登录。
如果是小程序上注册的用户,只能使用“终端用户”登录。

四、编辑应用
系统进入的时候默认只有一个"公版应用",匹配的是公版小程序,可以用来测试和小规模使用,对自有品牌要求不高的情况。如果要创建自己的小程序,需要创建私有应用这个需要费用。
进入应用后,就可以编辑产品分类,创建产品,授权设备了。

五、创建产品分类
产品分类必须创建,并且创建二级分类,然后才能创建产品。创建产品分类是为了方便管理多个产品使用。
如果是私有应用,还会在小程序显示产品类型列表,方便宣传自己的产品。

六、创建产品
创建产品的时候,需要定义数据点,编排UI细节可以参考集成教程的相关章节。
这你使用模板的创建方式,模板是银尔达提前创建的数据点和UI,直接使用,可以用来演示看现象。后续根据自己需求修改添加数据点,编辑UI等。这里以“虚拟测试器”为模板创建产品。这个“虚拟测试器”演示数据点,UI等功能,不与任何实际硬件资源相关,任何设备都可以测试。


创建好的产品,进入详情,可以设置产品图标,数据点,UI排序,这你我们不去修改任何配置,接着向下操作。

七、授权设备
在设备管理,设备列表里面授权设备,设备编码使用设备IMEI作为编码,方便管理。新账户默认有1台1年的授权名额,用于测试,可以直接添加。

在设备列表里面就会显示未激活。这时候IOT的工作已经结束了,需要在DTU平台配置硬件,然后让设备连接IOT平台。

八、DTU配置参数使用方法
进入DTU配置平台https://dtu.yinerda.com 创建分组,添加设备,配置参数
基本资料参考教程https://yinerda.yuque.com/yt1fh6/4gdtu/textbcabgx9evwvd
九、开始配置DTU参数
9.1、添加设备
使用I微信扫码模块上的二维码,获取IMEI,MEI添加设备,添加后会有个产品型号,这个产品信号在后面的分组里面会用到。就是创建分组需要选择的分组型号。

9.2、创建分组

9.3、分组分配设备



勾选分配设备后就可以点击返回,进入分组列表,然后进入“参数配置”进行配置参数

9.4、配置基本参数

9.5、配置串口参数
如果涉及到串口通讯和数据采集的,需要按需求配置。不同的硬件资源不一样。

9.6、配置网络通道连接参数
网络通道选择MQTT协议,按连接信息的提示配置。注意后面的设备ID如果是用的模块的IMEI,使用${IMEI}去替换。这里就就体现出来使用IMEI的方便性。后面所有一个产品的设备都加到这个分组里面就可以了。
DTU的MQTT服务器连接参数在IOT平台,设备管理,设备列表,详情,连接信息查看。

9.7、配置网络通道注册包
网络通道参数的注册包里面需要包含IMEI,ICCID是必须的,方便你获取SIM卡信息,管理SIM卡。
注册包也是一个设备重连平台的标记,可以通过注册包去观察重连。
注册包格式是{"cmd":"dreg","did":"0","IMEI":"${IMEI}","iccid":"${ICCID}","pver":"test","fver":"DTU_1.1.20","times":"${TIMEM}"}
其中cmd字段是固定的,did是0是固定的,其他的pver是硬件版本,fver是固件版本可以根据自己需求去写。

9.8、配置任务
任务就是一段运行在DTU内部的代码。实现IOT平台命令的解析,赋值,数据上报。里面可以实现串口数据的读取解析,然后按IOT平台的数据规则上报就能显示。同时按IOT平台的数据格式解析就能设置参数,控制设备。
IOT通讯协议参考:https://yinerda.yuque.com/yt1fh6/iot/qwmrgk2simzto6ai
这个可以自己写,也可以提需求找我们工程师写。
把下面的任务代码,拷贝到DTU的任务里面用来测试,拷贝的时候点击复制代码即可。

function
local tname="TEST"
log.info(tname,"start")
local nid=1
local uid=1
PronetStopProRecCh(1)
UartStopProRecCh(1)
--IOT系统保留字段
local pver,fver,rssi,pele="TEST","DTU.1.1.21",50,50
--自定义字段
local sw1=0
local in1=0
local vin=0
local mode=0
local temp=0
local lasttime =os.time()
local needdup =1
local sdid =1
--查询table 数组里面是否有某个变量
function CheckNameInTable(t,value)
for i, v in ipairs(t) do
if v == value then
return true
end
end
return false
end
--通过CSQ获取信号强度的函数
function TaskGetRssi()
local csq = mobile.csq()
local r =0
if csq > 29 then
r = 100
elseif csq > 25 then
r = 90
elseif csq > 22 then
r = 80
elseif csq > 20 then
r = 70
elseif csq > 18 then
r = 60
elseif csq > 16 then
r = 50
elseif csq > 14 then
r = 40
else
r = 0
end
return r
end
--解析服务器
while true do
--接收服务器下发的数据
local netr = PronetGetRecChAndDel(nid)
if netr then
log.info(tname,"netr data",netr)
--解析IOT模型数据服务器下发的是JSON
local obj,r =json.decode(netr)
if r and obj and obj.cmd and obj.did then --判断关键字段是否缺失,然后根据自己定义的数据点去解析字段做逻辑
if obj.cmd =="sset" then --服务器设置参数
local p = obj.param --把param的值取出来存起来后面做逻辑,也可以一再这里做逻辑,最好不要做延迟动作的逻辑,否则和阻塞系统
if p.sw1 then
in1=p.sw1
end
--应答服务器
local b={}
b.cmd="ssetbck"
b.did=obj.did --注意这个did需要和服务器下发的did一样,表示应答对应的命令
b.rst=0
b.times =os.time().."000" --转换成ms
local s = json.encode(b)
log.info(tname,"ssetbck data",s)
PronetSetSendCh(nid,s) --发给服务器应答数据
lasttime = os.time()
elseif obj.cmd =="sget" then--服务器读取一个或者多参数
local p=obj.param.datapoint
local b={} --b是组装应答的结构体
b.cmd ="sgetbck"
b.did =obj.did
b.rst =0
b.times =os.time().."000" --转换成ms
b.param={}
-- param.xxx xxx就是服务器获取的字段,当然如果流量足够,可以直接返回设备全部的状态给服务器
if CheckNameInTable(p,"imei") then
b.param.imei=mobile.imei()
end
if CheckNameInTable(p,"iccid") then
b.param.iccid=mobile.iccid()
end
if CheckNameInTable(p,"imsi") then
b.param.imsi=mobile.imsi()
end
if CheckNameInTable(p,"pver") then
b.param.pver=pver
end
if CheckNameInTable(p,"fver") then
b.param.fver=fver
end
b.param.rssi=TaskGetRssi() --注意rssi是百分比表示
b.param.pele=100 --注意pele是百分比表示
--业务字段
b.param.sw1=sw1 --这些是模出来的的数据,实际场景需要根据硬件API去获取
b.param.in1 =in1 --这些是模出来的的数据,实际场景需要根据硬件API去获取
vin =vin+1
b.param.vin =vin --这些是模出来的的数据,实际场景需要根据硬件API去获取
b.param.mode =mode
temp=temp+1
b.param.temp = temp --这些是模出来的的数据,实际场景需要根据硬件API去获取
local s = json.encode(b)
log.info(tname,"sgetbck data",s)
PronetSetSendCh(nid,s) --发给服务器应答数据
lasttime = os.time()
elseif obj.cmd =="dgetbck" then --服务器应答设备获取参数的命令,可以处理也可以不出来,应答表示服务器收到了,没应答你可以重发
elseif obj.cmd =="dupbck" then --服务器应答设备上报参数的命令
end
end
end
--主动上报数据,一般是检查状态变化后或者周期上报,IOT 要求5分钟内必须上报数据要不然会提示离线
if os.time() -lasttime > 180 then --没任何数据交互180秒上报一次
lasttime = os.time()
needdup =1
log.info(tname,"heart up")
end
if needdup ==1 then
local b={} --b是组装应答的结构体
b.cmd ="dup"
b.did =sdid..""
b.times =os.time().."000" --转换成ms
b.param={}
b.param.rssi=TaskGetRssi() --注意rssi是百分比表示
b.param.pele=50 --注意pele是百分比表示,自己可以用vin去转换
--业务字段
b.param.sw1=sw1 --这些是模出来的的数据,实际场景需要根据硬件API去获取
b.param.in1 =in1 --这些是模出来的的数据,实际场景需要根据硬件API去获取
vin =vin+1
b.param.vin =vin --这些是模出来的的数据,实际场景需要根据硬件API去获取
b.param.mode =mode
temp=temp+1
b.param.temp = temp --这些是模出来的的数据,实际场景需要根据硬件API去获取
local s = json.encode(b)
log.info(tname,"dup data",s)
PronetSetSendCh(nid,s) --发给上报发给服务器
needdup =0
sdid =sdid+1 --每次发送后did要与上一次不一样
lasttime = os.time()
end
sys.wait(100)
end
end
当操作上面的步骤后,就完成了DTU的配置,点击保存参数。

9.9、更新参数
完成上面的参数配置后,点击保存,然后从新给设备上电,设备会自动更新参数。重启设备后,等30秒左右,刷新页面,或者点击查找,检查参数是否更新。如果更新了到IOT平台观察设备是否在线。


9.10、设备上线激活
观察设备是否IOT在线,如果SIM卡,网络正常,IOT平台就会显示设备在线。设备的到期时间就按按设第一次上线开始计算。

9.11、设备测试
当设备上线后,就可以在平台和小程序上面操作控制设备了。使用微信扫码设备二维码就可以绑定设备。企业用户注册的只会默认注册了终端用户角色,用注册的号码和密码登录即可。



十、高级的产品设计方法
高级的产品设计,其实就是产品数据点定义,UI定义,然后使用任务解析数据实现逻辑。这些就参考简单任务和高级任务的教程。只有创建产品选择的模板和拷贝的任务有区别。其他步骤一样。
银尔达IOT平台可以方便的实现各种控制,数据显示等简单场景,可以定制UI,定制任务大大缩短产品研发周期。复杂场景一般需要定制服务器,定制业务系统也可以。
需求有很多,无非就是围绕串口采集和控制,继电器控制,输入检查,模拟量检查,然后实现一定需求的业务逻辑。可以根据自己的需求和工程师沟通评估是否能实现,快速评估。
可电话联系:杨洋 13560789567。
IOT平台可实现的常见项目和功能:
| 功能 | 说明 | 工作量 |
| 简单资源控制 | 单继电器远程控制,远程断电,断油,工程收款控制 | 很容易 30分钟完成 |
| 输入报警器,设备状态检测 | 很容易 30分钟完成 | |
| 4-20ma,1-10V ,1-5V 模拟量传感器的数据采集检测 | 很容易 30分钟完成 | |
| 串口采集和控制 | modbus协议的传感器数据采集,比如电表,水表,气压,水位传感器等数据采集 | 简单 0.5天完成 |
| modbus协议传感器的数据采集和远程控制 | 复杂 1~2天完成 | |
| 项目类型 | 使用RS485对接温控器,实现温度参数的设置和参数的读取 | 复杂 1个星期完成 |
| 使用RS485对接变频器控制正反转,检查电压,电流,故障 | 复杂 1~2个星期完成 | |
| 智慧机房监控,RS485采集电压,功率电流,实现继电器的远程控制启停,实现环境温度湿度的监控,风机电机的监控 | 复杂 1~2个星期完成 | |
| 智慧农业大棚控制,RS485串口屏幕显示,继电器控制,输入检查,传感器的检查,定时灌溉 | 困难 一个月完成 | |
| 智慧家电,比如咖啡机,串口屏控制显示进度,一键冲泡,后台形成记录,远程锁机 | 困难 一个月完成 |
1268

被折叠的 条评论
为什么被折叠?



