在车间这种需要高可靠性的场景下,远程控制8路设备其实并不复杂。芯步的开放接口走的是标准HTTP协议,只要能发网络请求就能控制,不需要懂硬件底层——这一套搞定之后,点一下屏幕就能让8台设备同时响应。
一、痛点与思路
老李是车间主任,他最头疼的就是每天下班要跑遍整个车间,一台一台关设备。有时候半夜哪台机器忘了关,还得专程跑回来。而且车间里一些大功率设备,如果同时启动容易跳闸,人工操作很难把握好时间差。
针对“远程控制8条线路通断”这个需求,最直接的办法是选用芯步的8路智能控制器。这玩意儿就像一个大号的、能联网的、带8个开关的配电盒。你只要给它发一条指令,它就能让你在手机上点一下,或者让系统自动判断,来控制对应线路的“合闸”或“拉闸”。
二、硬件选型推荐
要实现8路控制,那就要选8路智能控制器。
交流版:接照明、空调、电机这类设备。
直流版:接电磁阀、门锁、气动元件。这两款都支持单路独立控制,也就是8条线路可以互不干扰,想开哪路开哪路,想关哪路关哪路。
接线也很直白——把车间的220V火线接入控制器的输入端,从对应的输出端子引线出来接到设备上,零线共用。这样控制器里的继电器“咔嗒”一吸合,电路就通了。
三、接口对接核心逻辑
芯步最方便的一点是,它的开放接口非常标准化,无论你用的是C#写的MES,还是Python写的爬虫脚本,甚至是一个简单的网页,只要支持HTTP协议,都能直接调用。
1. 准备工作
在动手写代码前,需要拿到三样东西:
AppID 和 AppSecret:相当于软件系统的账号和密码,在芯步控制台里点一下就能生成。
设备ID:就是这台8路控制器在云端的唯一身份证号,在控制台的设备列表里可以看到,类似“820720”这样一串数字。
签名:为了防止接口被人随便乱刷,每次发指令都要按照规则算一个签名。
2. 签名与请求地址
签名的算法(如果你对接过程序,直接把这段逻辑丢给开发):Sign = md5( md5(AppSecret) + ts )用大白话讲就是:先把AppSecret做一次MD5加密,把它跟当前的时间戳(ts)拼在一起,然后再做一次MD5,最后得到的就是Sign。
请求地址(URL)的格式:https://api.thingboot.com/{你的AppID}/device/control/?sign={计算好的Sign}&ts={当前时间戳}
3. 控制8条线路的命令写法
控制8路的核心精髓就在这个 order 参数里,它是一个JSON字符串。假设你的设备ID是820720,现在来看几种常见的控制场景:
第一种场景:单独控制某一路的开关比如要关掉第3路(吹风机),打开第5路(传送带):
关第3路:
{"device":"820720","order":{"power3":0}}开第5路:
{"device":"820720","order":{"power5":1}}
特别说明
power后面的数字代表第几路,1代表通/开,0代表断/关。
第二种场景:一键全开或全关如果需要紧急断电或者班前全开:
全关:
{"device":"820720","order":{"power":0}}全开:
{"device":"820720","order":{"power":1}}
第三种场景:只控制特定的几条线路比如只想让第1、3、5路接通:{"device":"820720","order":{"batch":{"relay":[1,3,5],"power":1}}}这个命令非常实用,比如换产线的时候,只需要复位特定的几台设备,不用动其他的。
场景四:顺序启动(防止跳闸)车间里大功率设备多,如果8路同时启动,电流冲击很大,容易跳闸。芯步的接口支持“先通后断”或者延时动作:让第2、4路先断开,过2秒钟(2000毫秒)再接通第6、8路:{"device":"820720","order":{"reset":{"relay":[2,4,6,8],"interval":2000}}}这样就能实现“错峰启动”,对电网非常友好。
4. 怎么获取设备当前状态?
如果