job.md 4.8 KB

-

##

ssh root@183.56.252.244 -p 8022

plcplatform.worldflying.cn

scp -P 8022 target/x86_64-unknown-linux-gnu/release/iotplatform_lite root@183.56.252.244:iotplatform_lite/

scp -P 8022 ../../../add_service.sh root@183.56.252.244:iotplatform_lite/

[https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx664469117500d259&redirect_uri=https%3A%2F%2Fwww.worldflying.cn%2Ftools%2Fwxredirect%2Fplc.html&response_type=code&scope=snsapi_base&state=base#wechat_redirect]

[https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx664469117500d259&redirect_uri=https%3A%2F%2Fwww.worldflying.cn%2Ftools%2Fwxredirect%2Fplc.html&response_type=code&scope=snsapi_base&state=base#wechat_redirect]

[https://www.worldflying.cn/tools/wxredirect/iot.html?code=081C2G1w3lOms63CIf3w31t8n71C2G1j&state=base]

mosquitto插件开发完了,地址在这里https://code.worldflying.cn/jevian/mosquitto_plugin
总代码不到100行,重要的逻辑代码不到50行,编译也简单,安装libmosquitto-dev mosquitto-dev后直接make即可。
已经实现了一次性登录与登录有效期,acl也支持有效期功能
我已经把这批设备需要添加的数据库内容添加进去了,你也把服务器的信息以及客户端的动态规则记得加进去,我的工作应该是结束了。
用户表中有两个字段,一个是mode,另一个是deadline。
如果mode为0就是长期有效账号密码,如果为1就是一次性账号密码,登录成功后,插件会把这条记录删除,下次就无法再用它登录了。
deadline是允许使用的最后时间(linux时间戳),当超过这个时间后,这条记录也就无效了。
至于你是想设最后时效,还是享设只使用一次,亦或是同时有效,这个随你。功能完成了,你怎么用随便你。反正就是要注意一下,不要让一个账号被破解后,他可以操作我们的所有设备,这是绝对不被允许的。
一、用户登录
mqtt服务器地址为plcmq.worldflying.cn
端口为9001
目前两个账号可用
一个是:
clientid:mqtt_client
username:client
password:123456
另一个是:
client:mqtt_client2
username:client2
password:123456
必须通过加密的websocket去连接,也就是wss

二、设备
目前有两个设备,分别为460089721505216挂在mqtt_client下与460089721505219挂在mqtt_client2。

三、调用
以mqtt_client控制460089721505216为例
客户端需要订阅如下topic
/wf/Iot/client/460089721505216 用来获取烧录plc代码成功与失败状态
460089721505216/dev/avty 用来获取设备在线状态,会收到ONLINE与OFFLINE
460089721505216/DI0/state 用来获取DI0状态,会收到ON与OFF
460089721505216/DI1/state 用来获取DI1状态,会收到ON与OFF
460089721505216/DI2/state 用来获取DI2状态,会收到ON与OFF
460089721505216/DI3/state 用来获取DI3状态,会收到ON与OFF
460089721505216/DI4/state 用来获取DI4状态,会收到ON与OFF
460089721505216/DI5/state 用来获取DI5状态,会收到ON与OFF
460089721505216/DI6/state 用来获取DI6状态,会收到ON与OFF
460089721505216/DI7/state 用来获取DI7状态,会收到ON与OFF
460089721505216/DO0/state 用来获取DO0状态,会收到ON与OFF
460089721505216/DO1/state 用来获取DO1状态,会收到ON与OFF
460089721505216/DO2/state 用来获取DO2状态,会收到ON与OFF
460089721505216/DO3/state 用来获取DO3状态,会收到ON与OFF
460089721505216/DO4/state 用来获取DO4状态,会收到ON与OFF
460089721505216/DO5/state 用来获取DO5状态,会收到ON与OFF
460089721505216/DO6/state 用来获取DO6状态,会收到ON与OFF
460089721505216/DO7/state 用来获取DO7状态,会收到ON与OFF
460089721505216/BEEP/state 用来获取蜂鸣器状态,会收到ON与OFF
客户端需要向如下topic发送消息
/wf/Iot/device/460089721505216 用来发送烧录plc指令给设备
460089721505216/DO0/cmd 用来控制DO0状态,可发送ON与OFF
460089721505216/DO1/cmd 用来控制DO1状态,可发送ON与OFF
460089721505216/DO2/cmd 用来控制DO2状态,可发送ON与OFF
460089721505216/DO3/cmd 用来控制DO3状态,可发送ON与OFF
460089721505216/DO4/cmd 用来控制DO4状态,可发送ON与OFF
460089721505216/DO5/cmd 用来控制DO5状态,可发送ON与OFF
460089721505216/DO6/cmd 用来控制DO6状态,可发送ON与OFF
460089721505216/DO7/cmd 用来控制DO7状态,可发送ON与OFF
460089721505216/BEEP/cmd 用来控制蜂鸣器状态,可发送ON与OFF

四、烧录
还是以mqtt_client控制460089721505216为例
向topic /wf/Iot/device/460089721505216发送
act=isp&imgurl=http://124.222.106.170/test_app_l011_nothing.bin
其中imgurl后面跟的是固件的下载地址,我们的编译平台给你什么你填什么即可。
如果烧录成功,topic /wf/Iot/client/460089721505216会收到success,失败会收到failure