四、Lua本地控制代码说明
用户可以配置Lua代码来判断获取数据的大小,并根据上下限阈值执行不同的操作,实现本地控制。
示例:采集一个温湿度、光照度传感器数据,并根据传感器阈值控制继电器动作进行本地报警或控制。
按照2.2节说明配置好相应的参数
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ee7ef633c8b1cb133e693c1bed5656da/0684d000baa1cd11a85deffcfc12c8fcc1ce2dd8.jpg?tbpicau=2025-02-19-05_e58c784e4a5a4b49e4ba1c2be0c2a7bf)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=8509255d8e1349547e1ee86c664c92dd/2f58bba1cd11728b9cc611fe8dfcc3cec1fd2cd8.jpg?tbpicau=2025-02-19-05_73531cedc29dfbfd4b32935d1d213fa0)
配置的Lua代码:
local temp=data.illumination if temp>1000 then ModbusTojson.count=ModbusTojson.count+1 count_str=tostring(ModbusTojson.count) SHELL="@CS=count:"..count_str if ModbusTojson.count==5 then ModbusTojson.count=0 SHELL="@CS=High illumination warning!@D=1@DO1=1" end else SHELL="@CS=illumination normal@D=1@DO1=0@PUB=1" end
注:如果Lua代码太长,配置的对话框也很长,可以直接点Enter回车配置
正常模式Lua代码为(方便阅读):
![](http://tiebapic.baidu.com/forum/w%3D580/sign=516763ff0c540923aa696376a25ad1dc/44f9cc11728b471065c4601086cec3fdfe0323d8.jpg?tbpicau=2025-02-19-05_160c415c8d71cb917d98118d0cbfbf10)
Lua代码实现效果:
当光照度小于或等于1000时,串口打印illumination normal,关闭DO1,并且不往服务器上报数据;当光照度大于1000时,先判断次数,串口打印count数量,如果Lua脚本连续执行5次光照度都大于1000,串口打印High illumination warning!,DO1打开,并且将采集的数据立即上报到服务器。
赋值语句为local y=data.x, 其中x为功能标识符(必须为英文),y为获取的标识符值,后面就是判断变量的大小和执行相应的操作。所有操作可以通过SHELL脚本执行,具体请参考脚本编程手册。ModbusTojson.count表示计数,如果采集很频繁告警以后就会一直上报数据,通过ModbusTojson.count计数可以设置上传周期。
说明:
①data.x为获取功能标识符的值,标识符只能配置为英文
②count为计数的个数,初始为0,可以通过判断count数量设置告警周期
③@PUB指令表示是否立即发布数据到服务器,@PUB=1表示发送,@PUB=0或者不配置表示不发送,只有等到了上报周期才发送。
④“SHELL=”后面可以是所有支持的脚本指令,具体请参考《LTE-xxx脚本编程手册》
⑤当最后一条功能标识符的指令发送完成执行一次Lua代码,执行周期=变化周期*标识符数量
一般流程为:先定义一个变量获取标识符值,设定变量阈值,判断大小,(bool值则判断真假,0为假,1为真),然后根据判断执行具体的操作,所有操作可以通过SHELL脚本执行,比如打印信息,上报数据,开/关继电器等。
五、NTP时间和GPS数据获取
5.1 NTP时间获取
当把功能标识符设置为TS时,表示获取NTP时间,其他Modbus RTU相关参数可以不用设置(无效),上报的json包里面会获取NTP时间,格式为年/月/日,星期,时:分:秒,比如获取的TS时间为2020/12/02,03,14:17:10,表示2020年12月02日,星期三,14:17:10。
注:如果想使用NTP时间功能,需要先把NTP时间开关打开
![](http://tiebapic.baidu.com/forum/w%3D580/sign=16c5e1b84c23dd542173a760e10bb3df/3349738b4710b912152a6b2286fdfc03904522d8.jpg?tbpicau=2025-02-19-05_0ee8c08e87e96d7eedbf827d668cef7c)
参数配置
![](http://tiebapic.baidu.com/forum/w%3D580/sign=9782a1cf9854564ee565e43183dc9cde/8cd34610b912c8fc1d186b11b9039245d48821d8.jpg?tbpicau=2025-02-19-05_8a0b2a6f863c576df8dc7403767a2b49)
2)TS时间上报
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d6f575b8134e9258a63486e6ac80d1d1/b948b812c8fcc3ce1c2b54efd745d688d63f20d8.jpg?tbpicau=2025-02-19-05_8d7d206a38a5f7cbec541b44131909fc)
5.2 GPS数据采集
注:GPS版本才支持此指令,否则指令无效
5.2.1采集指令
如果是带GPS版本,可以将功能标识符配置为GPS_xx来获取GPS数据,xx可以是以下内容,不同的指令获取的GPS格式也不同。
参数配置:
只需要将功能标识符配置为GPS_GGA,其他参数不用配置。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3d82fea2d758d109c4e3a9bae15accd0/474ac9fcc3cec3fd1cd53aa99388d43f859427d8.jpg?tbpicau=2025-02-19-05_57eb4fcb51527bcd2eb1c4ce51a286b4)
服务器接收的数据如下:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=b7983ab49409b3deebbfe460fcbd6cd3/36a4c2cec3fdfc0373937e64913f8794a6c226d8.jpg?tbpicau=2025-02-19-05_19b948fc8748a19544456dd07b58655f)
注:设备支持阿里IOT平台空间可视化GPS位置数据接口,设置GPS格式参数选项为。为"GPS_Aliyun"即可。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=708e79e5f6de9c82a665f9875c8380d2/3d96c2fdfc039245345e7cd3c294a4c27f1e25d8.jpg?tbpicau=2025-02-19-05_fdfbb718352a552f569d96f56c86d34c)
5.2.2 报文解析
示例:
1)配置标识符为GPS_GGA,采集的GPS数据为标准的GGA数据,格式解析如下:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx
<1> UTC 时间,格式为hhmmss.sss;
<2> 纬度,格式为ddmm.mmmm(第一位是零也将传送);
<3> 纬度半球,N 或S(北纬或南纬)
<4> 经度,格式为dddmm.mmmm(第一位零也将传送);
<5> 经度半球,E 或W(东经或西经)
<6> 定位质量指示,0=定位无效,1=定位有效;
<7>使用卫星数量,从00到12(第一个零也将传送)
<8>水平精确度,0.5到99.9
<9天线离海平面的高度,-9999.9到9999.9米M指单位米
<10>大地水准面高度,-9999.9到9999.9米M指单位米
<11>差分GPS数据期限(RTCMSC-104),最后设立RTCM传送的秒数量
<12>差分参考基站标号,从0000到1023(首位0也将传送)。
2)配置标识符为GPS_JW,则只返回经纬度信息,比如104.10194,30.65984。104.10194为经度,30.65984为纬度,可以用此经纬度在地图上定位。
六、用户自定义json模板
用户可以自定义json格式,通过用户json模板参数可以在json包里添加一些自定义标识符,比如DTU ID,Device name,Location,ts时间戳等信息。自定义json内容可以直接添加到原始json包内,也可以添加到原始的json包外,或者添加多重json。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=32df1b32d982d158bb8259b9b00819d5/3da5fd039245d68837e92f78e1c27d1ed01b24d8.jpg?tbpicau=2025-02-19-05_0462abba1ed0e79fedbb4f722aa6d771)
注:"ts":"?1"返回UNIX格式的时间戳;"ts":"?2"返回年/月/日,星期,时:分:秒格式的时间戳
采集温湿度、光照度数据,原始json包为:
{
"illuminance" : 300,
"humidity" : 65.7,
"temperature" : 19.7
}
例1:添加到原始的json包内
配置json模板为:
{"DTU ID":"0001","Device name":"test01","Location":"chengdu","ts":"?2"}
上报到服务器的json包为:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=5708346e9458ccbf1bbcb53229dabcd4/025b9345d688d43f63420c2e381ed21b0cf43bd8.jpg?tbpicau=2025-02-19-05_20fbfa5d6afb40a7d5282f450c74d7ee)
例2:添加到原始的json包外
配置json模板为:
{"DTU ID":"0001","Device name":"test01","Location":"chengdu","ts":"?1","params":{}}
上报到服务器的json包为:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=795479b489bf6c81f7372ce08c3cb1d7/6c1dd788d43f87944114d5f2971b0ef419d53ad8.jpg?tbpicau=2025-02-19-05_809a38bd5443abddffdcdd1de2a8ea9d)
例3:添加到原始的json包内部和外部
配置json模板为:
{"Device name":"test01","Location":"chengdu","params":{"DTU ID":"0001","ts":"?1"}}
上报到服务器的json包为:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=378e64532981800a6ee58906813733d6/28d0d53f8794a4c29bc87af74bf41bd5af6e39d8.jpg?tbpicau=2025-02-19-05_8d0745f30953011c983659ff50cc0203)
例4:添加多重json包
{"Devicename":"test01","DTU ID":"0001","Location":"chengdu",
"params":[{"property":"?1","value":"?2"}]}
注:红色的"?1"和"?2"是固定的格式,不能修改。"?1"表示获取标识符名称,"?2"表示获取标识符对应的值。
上报到服务器的json包为:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=2b69c46dc50a19d8cb03840d03f882c9/2a678694a4c27d1e35cda6185ed5ad6edfc438d8.jpg?tbpicau=2025-02-19-05_534cbd2b070b9d6abcdad3707ffee39f)
七、其他特殊关键字(服务器下发json指令)
7.1 SHELL
可以从服务器下发json格式的SHELL脚本,DTU会临时执行一次脚本。
7.1.1 阿里云IoT平台下发SHELL脚本
(1)在阿里云IoT平台定义物理模型功能标识符为SHELL,数据类型为text,长度为1024。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=845728e65cd8bc3ec60806c2b289a6c8/79cca5c27d1ed21be622b339e86eddc453da3fd8.jpg?tbpicau=2025-02-19-05_df59f933d94a44b34d497469d765e993)
(2)切换到在线调试,从标识符“SHELL”下发脚本,就可以实现阿里云IoT平台下发SHELL脚本,执行完毕后会返回脚本内容。脚本的内容为所有支持的脚本指令,具体请参考《LTE-XXX 4G DTU脚本编程手册》。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=69dcb134f93eb13544c7b7b3961ca8cb/5a9a7c1ed21b0ef4f203058298c451da83cb3ed8.jpg?tbpicau=2025-02-19-05_09d1c4fdbce9e383b9ddaced814e9350)
7.1.2 自建服务器下发SHELL脚本
连接上服务器以后,直接从服务器下发{"SHELL":"@C=010300000001V1@D=1"}
![](http://tiebapic.baidu.com/forum/w%3D580/sign=f30e14d2f43533faf5b6932698d1fdca/8346d31b0ef41bd547b8752814da81cb3bdb3dd8.jpg?tbpicau=2025-02-19-05_af34ef2547774b3946be64b7fcb0d4df)
7.2 luaCode
可以从服务器下发json报文配置用户Lua代码。
7.2.1 阿里云IoT平台配置用户Lua代码
(1)在阿里云IoT平台定义物理模型功能标识符为luaCode,数据类型为text,长度为2048。![](http://tiebapic.baidu.com/forum/w%3D580/sign=1344636c20380cd7e61ea2e59145ad14/59b7cf1b9d16fdfa0c6b5a32f18f8c5495ee7b44.jpg?tbpicau=2025-02-19-05_47904060e21e3846821c1d23d557d32e)
(2)切换到在线调试,从标识符“luaCode”下发用户Lua代码。例如采集温湿度传感器数据,可以在lua代码里面获取温度值,然后在做相应的操作,Lua代码设置成功以后会返回到服务器。![](http://tiebapic.baidu.com/forum/w%3D580/sign=6ebaccd449d79123e0e0947c9d355917/30439c16fdfaaf5157e41d63c95494eef11f7a44.jpg?tbpicau=2025-02-19-05_02f9fe7dc84f7cee7145e66e8bd55754)
7.2.2 自建服务器配置用户Lua代码
连接上服务器以后,直接从服务器下发{"luaCode":"local temp=data.temperature ...(some thing you do)"}![](http://tiebapic.baidu.com/forum/w%3D580/sign=c002a53bd42397ddd679980c6983b216/634efcfaaf51f3de11b525b8d1eef01f3b297944.jpg?tbpicau=2025-02-19-05_0857a413dc4faf4c58e446b6117e4ed0)
7.3 Reg1-Reg10
LTE-xxx网关版本有10个可读可写的寄存器供用户调用,可以用做阈值判断。用户可以自己配置Reg参数的值,只能是数字(可以是小数)。
7.3.1 阿里云IoT平台配置Reg![](http://tiebapic.baidu.com/forum/w%3D580/sign=aaed38cfd2dda144da096cba82b6d009/03a2ae51f3deb48f2a6e3d02b51f3a292cf57844.jpg?tbpicau=2025-02-19-05_d9268331310faaa0c77425d9bfd58851)
(1)在阿里云IoT平台定义物理模型功能标识符为Reg1~Reg10,数据类型为int32,取值范围为0~int32最大范围,这里定义的1000。
切换到在线调试,从标识符“Reg1”下发设置的值。![](http://tiebapic.baidu.com/forum/w%3D580/sign=36193e31e444ad342ebf878fe0a30c08/5109f2deb48f8c5433d459f37f292df5e1fe7f44.jpg?tbpicau=2025-02-19-05_76c9e81d9b137de0a9e4afc3b9f3b66b)
7.3.2 自建服务器配置Reg![](http://tiebapic.baidu.com/forum/w%3D580/sign=3fe708a8e8345982c58ae59a3cf5310b/0d86b58f8c5494ee582593c568f5e0fe98257e44.jpg?tbpicau=2025-02-19-05_39cc48ce618ea72b8fc11cefaf6994ab)
连接上服务器以后,直接从服务器下发{"Reg1":100}
设置成功后,DTU会立即上报配置的Reg值。
用户可以配置Lua代码来判断获取数据的大小,并根据上下限阈值执行不同的操作,实现本地控制。
示例:采集一个温湿度、光照度传感器数据,并根据传感器阈值控制继电器动作进行本地报警或控制。
按照2.2节说明配置好相应的参数
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ee7ef633c8b1cb133e693c1bed5656da/0684d000baa1cd11a85deffcfc12c8fcc1ce2dd8.jpg?tbpicau=2025-02-19-05_e58c784e4a5a4b49e4ba1c2be0c2a7bf)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=8509255d8e1349547e1ee86c664c92dd/2f58bba1cd11728b9cc611fe8dfcc3cec1fd2cd8.jpg?tbpicau=2025-02-19-05_73531cedc29dfbfd4b32935d1d213fa0)
配置的Lua代码:
local temp=data.illumination if temp>1000 then ModbusTojson.count=ModbusTojson.count+1 count_str=tostring(ModbusTojson.count) SHELL="@CS=count:"..count_str if ModbusTojson.count==5 then ModbusTojson.count=0 SHELL="@CS=High illumination warning!@D=1@DO1=1" end else SHELL="@CS=illumination normal@D=1@DO1=0@PUB=1" end
注:如果Lua代码太长,配置的对话框也很长,可以直接点Enter回车配置
正常模式Lua代码为(方便阅读):
![](http://tiebapic.baidu.com/forum/w%3D580/sign=516763ff0c540923aa696376a25ad1dc/44f9cc11728b471065c4601086cec3fdfe0323d8.jpg?tbpicau=2025-02-19-05_160c415c8d71cb917d98118d0cbfbf10)
Lua代码实现效果:
当光照度小于或等于1000时,串口打印illumination normal,关闭DO1,并且不往服务器上报数据;当光照度大于1000时,先判断次数,串口打印count数量,如果Lua脚本连续执行5次光照度都大于1000,串口打印High illumination warning!,DO1打开,并且将采集的数据立即上报到服务器。
赋值语句为local y=data.x, 其中x为功能标识符(必须为英文),y为获取的标识符值,后面就是判断变量的大小和执行相应的操作。所有操作可以通过SHELL脚本执行,具体请参考脚本编程手册。ModbusTojson.count表示计数,如果采集很频繁告警以后就会一直上报数据,通过ModbusTojson.count计数可以设置上传周期。
说明:
①data.x为获取功能标识符的值,标识符只能配置为英文
②count为计数的个数,初始为0,可以通过判断count数量设置告警周期
③@PUB指令表示是否立即发布数据到服务器,@PUB=1表示发送,@PUB=0或者不配置表示不发送,只有等到了上报周期才发送。
④“SHELL=”后面可以是所有支持的脚本指令,具体请参考《LTE-xxx脚本编程手册》
⑤当最后一条功能标识符的指令发送完成执行一次Lua代码,执行周期=变化周期*标识符数量
一般流程为:先定义一个变量获取标识符值,设定变量阈值,判断大小,(bool值则判断真假,0为假,1为真),然后根据判断执行具体的操作,所有操作可以通过SHELL脚本执行,比如打印信息,上报数据,开/关继电器等。
五、NTP时间和GPS数据获取
5.1 NTP时间获取
当把功能标识符设置为TS时,表示获取NTP时间,其他Modbus RTU相关参数可以不用设置(无效),上报的json包里面会获取NTP时间,格式为年/月/日,星期,时:分:秒,比如获取的TS时间为2020/12/02,03,14:17:10,表示2020年12月02日,星期三,14:17:10。
注:如果想使用NTP时间功能,需要先把NTP时间开关打开
![](http://tiebapic.baidu.com/forum/w%3D580/sign=16c5e1b84c23dd542173a760e10bb3df/3349738b4710b912152a6b2286fdfc03904522d8.jpg?tbpicau=2025-02-19-05_0ee8c08e87e96d7eedbf827d668cef7c)
参数配置
![](http://tiebapic.baidu.com/forum/w%3D580/sign=9782a1cf9854564ee565e43183dc9cde/8cd34610b912c8fc1d186b11b9039245d48821d8.jpg?tbpicau=2025-02-19-05_8a0b2a6f863c576df8dc7403767a2b49)
2)TS时间上报
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d6f575b8134e9258a63486e6ac80d1d1/b948b812c8fcc3ce1c2b54efd745d688d63f20d8.jpg?tbpicau=2025-02-19-05_8d7d206a38a5f7cbec541b44131909fc)
5.2 GPS数据采集
注:GPS版本才支持此指令,否则指令无效
5.2.1采集指令
如果是带GPS版本,可以将功能标识符配置为GPS_xx来获取GPS数据,xx可以是以下内容,不同的指令获取的GPS格式也不同。
参数配置:
只需要将功能标识符配置为GPS_GGA,其他参数不用配置。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3d82fea2d758d109c4e3a9bae15accd0/474ac9fcc3cec3fd1cd53aa99388d43f859427d8.jpg?tbpicau=2025-02-19-05_57eb4fcb51527bcd2eb1c4ce51a286b4)
服务器接收的数据如下:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=b7983ab49409b3deebbfe460fcbd6cd3/36a4c2cec3fdfc0373937e64913f8794a6c226d8.jpg?tbpicau=2025-02-19-05_19b948fc8748a19544456dd07b58655f)
注:设备支持阿里IOT平台空间可视化GPS位置数据接口,设置GPS格式参数选项为。为"GPS_Aliyun"即可。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=708e79e5f6de9c82a665f9875c8380d2/3d96c2fdfc039245345e7cd3c294a4c27f1e25d8.jpg?tbpicau=2025-02-19-05_fdfbb718352a552f569d96f56c86d34c)
5.2.2 报文解析
示例:
1)配置标识符为GPS_GGA,采集的GPS数据为标准的GGA数据,格式解析如下:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx
<1> UTC 时间,格式为hhmmss.sss;
<2> 纬度,格式为ddmm.mmmm(第一位是零也将传送);
<3> 纬度半球,N 或S(北纬或南纬)
<4> 经度,格式为dddmm.mmmm(第一位零也将传送);
<5> 经度半球,E 或W(东经或西经)
<6> 定位质量指示,0=定位无效,1=定位有效;
<7>使用卫星数量,从00到12(第一个零也将传送)
<8>水平精确度,0.5到99.9
<9天线离海平面的高度,-9999.9到9999.9米M指单位米
<10>大地水准面高度,-9999.9到9999.9米M指单位米
<11>差分GPS数据期限(RTCMSC-104),最后设立RTCM传送的秒数量
<12>差分参考基站标号,从0000到1023(首位0也将传送)。
2)配置标识符为GPS_JW,则只返回经纬度信息,比如104.10194,30.65984。104.10194为经度,30.65984为纬度,可以用此经纬度在地图上定位。
六、用户自定义json模板
用户可以自定义json格式,通过用户json模板参数可以在json包里添加一些自定义标识符,比如DTU ID,Device name,Location,ts时间戳等信息。自定义json内容可以直接添加到原始json包内,也可以添加到原始的json包外,或者添加多重json。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=32df1b32d982d158bb8259b9b00819d5/3da5fd039245d68837e92f78e1c27d1ed01b24d8.jpg?tbpicau=2025-02-19-05_0462abba1ed0e79fedbb4f722aa6d771)
注:"ts":"?1"返回UNIX格式的时间戳;"ts":"?2"返回年/月/日,星期,时:分:秒格式的时间戳
采集温湿度、光照度数据,原始json包为:
{
"illuminance" : 300,
"humidity" : 65.7,
"temperature" : 19.7
}
例1:添加到原始的json包内
配置json模板为:
{"DTU ID":"0001","Device name":"test01","Location":"chengdu","ts":"?2"}
上报到服务器的json包为:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=5708346e9458ccbf1bbcb53229dabcd4/025b9345d688d43f63420c2e381ed21b0cf43bd8.jpg?tbpicau=2025-02-19-05_20fbfa5d6afb40a7d5282f450c74d7ee)
例2:添加到原始的json包外
配置json模板为:
{"DTU ID":"0001","Device name":"test01","Location":"chengdu","ts":"?1","params":{}}
上报到服务器的json包为:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=795479b489bf6c81f7372ce08c3cb1d7/6c1dd788d43f87944114d5f2971b0ef419d53ad8.jpg?tbpicau=2025-02-19-05_809a38bd5443abddffdcdd1de2a8ea9d)
例3:添加到原始的json包内部和外部
配置json模板为:
{"Device name":"test01","Location":"chengdu","params":{"DTU ID":"0001","ts":"?1"}}
上报到服务器的json包为:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=378e64532981800a6ee58906813733d6/28d0d53f8794a4c29bc87af74bf41bd5af6e39d8.jpg?tbpicau=2025-02-19-05_8d0745f30953011c983659ff50cc0203)
例4:添加多重json包
{"Devicename":"test01","DTU ID":"0001","Location":"chengdu",
"params":[{"property":"?1","value":"?2"}]}
注:红色的"?1"和"?2"是固定的格式,不能修改。"?1"表示获取标识符名称,"?2"表示获取标识符对应的值。
上报到服务器的json包为:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=2b69c46dc50a19d8cb03840d03f882c9/2a678694a4c27d1e35cda6185ed5ad6edfc438d8.jpg?tbpicau=2025-02-19-05_534cbd2b070b9d6abcdad3707ffee39f)
七、其他特殊关键字(服务器下发json指令)
7.1 SHELL
可以从服务器下发json格式的SHELL脚本,DTU会临时执行一次脚本。
7.1.1 阿里云IoT平台下发SHELL脚本
(1)在阿里云IoT平台定义物理模型功能标识符为SHELL,数据类型为text,长度为1024。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=845728e65cd8bc3ec60806c2b289a6c8/79cca5c27d1ed21be622b339e86eddc453da3fd8.jpg?tbpicau=2025-02-19-05_df59f933d94a44b34d497469d765e993)
(2)切换到在线调试,从标识符“SHELL”下发脚本,就可以实现阿里云IoT平台下发SHELL脚本,执行完毕后会返回脚本内容。脚本的内容为所有支持的脚本指令,具体请参考《LTE-XXX 4G DTU脚本编程手册》。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=69dcb134f93eb13544c7b7b3961ca8cb/5a9a7c1ed21b0ef4f203058298c451da83cb3ed8.jpg?tbpicau=2025-02-19-05_09d1c4fdbce9e383b9ddaced814e9350)
7.1.2 自建服务器下发SHELL脚本
连接上服务器以后,直接从服务器下发{"SHELL":"@C=010300000001V1@D=1"}
![](http://tiebapic.baidu.com/forum/w%3D580/sign=f30e14d2f43533faf5b6932698d1fdca/8346d31b0ef41bd547b8752814da81cb3bdb3dd8.jpg?tbpicau=2025-02-19-05_af34ef2547774b3946be64b7fcb0d4df)
7.2 luaCode
可以从服务器下发json报文配置用户Lua代码。
7.2.1 阿里云IoT平台配置用户Lua代码
(1)在阿里云IoT平台定义物理模型功能标识符为luaCode,数据类型为text,长度为2048。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=1344636c20380cd7e61ea2e59145ad14/59b7cf1b9d16fdfa0c6b5a32f18f8c5495ee7b44.jpg?tbpicau=2025-02-19-05_47904060e21e3846821c1d23d557d32e)
(2)切换到在线调试,从标识符“luaCode”下发用户Lua代码。例如采集温湿度传感器数据,可以在lua代码里面获取温度值,然后在做相应的操作,Lua代码设置成功以后会返回到服务器。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=6ebaccd449d79123e0e0947c9d355917/30439c16fdfaaf5157e41d63c95494eef11f7a44.jpg?tbpicau=2025-02-19-05_02f9fe7dc84f7cee7145e66e8bd55754)
7.2.2 自建服务器配置用户Lua代码
连接上服务器以后,直接从服务器下发{"luaCode":"local temp=data.temperature ...(some thing you do)"}
![](http://tiebapic.baidu.com/forum/w%3D580/sign=c002a53bd42397ddd679980c6983b216/634efcfaaf51f3de11b525b8d1eef01f3b297944.jpg?tbpicau=2025-02-19-05_0857a413dc4faf4c58e446b6117e4ed0)
7.3 Reg1-Reg10
LTE-xxx网关版本有10个可读可写的寄存器供用户调用,可以用做阈值判断。用户可以自己配置Reg参数的值,只能是数字(可以是小数)。
7.3.1 阿里云IoT平台配置Reg
![](http://tiebapic.baidu.com/forum/w%3D580/sign=aaed38cfd2dda144da096cba82b6d009/03a2ae51f3deb48f2a6e3d02b51f3a292cf57844.jpg?tbpicau=2025-02-19-05_d9268331310faaa0c77425d9bfd58851)
(1)在阿里云IoT平台定义物理模型功能标识符为Reg1~Reg10,数据类型为int32,取值范围为0~int32最大范围,这里定义的1000。
切换到在线调试,从标识符“Reg1”下发设置的值。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=36193e31e444ad342ebf878fe0a30c08/5109f2deb48f8c5433d459f37f292df5e1fe7f44.jpg?tbpicau=2025-02-19-05_76c9e81d9b137de0a9e4afc3b9f3b66b)
7.3.2 自建服务器配置Reg
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3fe708a8e8345982c58ae59a3cf5310b/0d86b58f8c5494ee582593c568f5e0fe98257e44.jpg?tbpicau=2025-02-19-05_39cc48ce618ea72b8fc11cefaf6994ab)
连接上服务器以后,直接从服务器下发{"Reg1":100}
设置成功后,DTU会立即上报配置的Reg值。