最近接到一个24小时自助无人棋牌室,就是共享棋牌室的项目:
开发一个小程序,客人通过小程序选择空闲的包间,选择预约时间后,线上支付费用;
到店后通过小程序一键开启包间的电子门。
预约流程很简单,项目的核心在于,到店后判断当前客户的有效订单,并控制相应的门禁控制器,打开包间的房门,并且控制包间内的灯光、麻将桌和空调等电器通电并自动打开。然后在订单到期后,系统自动控制当前包间内的所有电器和灯光关闭。
这是一个典型的物联网应用场景,
需要三方控制开关等电器设备,我们对比了几个物联网平台:
涂鸦50台设备以上要收一个门槛的接口服务费,15万一年,并不起,太TM贵了;
另外几个平台没有找到对应的设备;
最终选择了,统软云物联网,性价比高,很适应商用;
要对接的设备清单:
wifi通断器,100左右一台,就是一个可以连wifi,可通过接口和小程序远程控制的继电器,控制包间的电磁锁。电磁锁淘宝上有卖,50-80一把,什么门都能装;
wifi墙插,150一台,跟普通的墙壁插座外观上没有任何区别,但可以连无线,可通过接口和小程序远程控制,机麻、饮水机等电器插上面就可以远程控制其通电了;
wifi墙壁开关,120一台,有一路二路三路的,分别可控制对应路数的灯光,同样可以连无线,可通过小程序和接口远程控制,订单到期后自动关闭,客人仍然可通过按下开关再次开灯,但1分钟后仍然后自动关闭,很银性。
基本上最主要的设备就是上面三个了,
先通过官网一样下了一单,两天就收到了,配网、开始调试:
1. 上行消息:在云平台上设置服务端的消息地址,当设备启动、下线、或在用户按下开关等按钮时,平台会把相应的消息推送到这个url地址,跟公众号接收用户消息的接收方式很像;
当设备状态发生变化时,平台将会把以下4类消息推送到您设置的地址上,您已关闭消息推送或尚未设置消息推送目标地址,点击设置注意:相应是实时推送的,如果推送失败,将再次尝试推送,直到推送成功,最多推送5次。 当返回状态HTTP 1.1 200 OK(只判断HTTP状态)时,就认为推送成功,所以没有返回值要求。
2. 下行命令:云平台提供的接口调用方式也很简单,无论是什么类型的设备,一般来说,在参数里指定设备ID,和命令参数,就可以。响应速度非常快,反复测试:接口调用大概200-300ms,命令延迟则在50ms以内,非常快。
请求地址: http://iot-api.unisoft.cn/{app_id|/device/control/?sign={sign}&ts={ts} 关于sign和ts的定义
必须使用POST方式
名称 | 必填 | 类型 | 说明 |
---|---|---|---|
device | 是 | string | 设备ID,读取设备列表时返回的ID |
sync | 否 | int | 为1时(默认),同步返回指令执行结果 为0时(需指定),返回是否下发成功,而不返回指令执行结果 |
属性 | 是 | string | 命令,格式为 设备的属性名称=属性值 在设备详情页,可查询设备的可用指令以及可用的值 如power=1,则下发命令接通设备电源 |
当sync为1(同步执行)方式下,才会返回指令执行结果
名称 | 类型 | 说明 |
---|---|---|
code | int | 200正确 501 未指定设备name,设备name为16位字符串。设备列表接口中输出了此ID,在本控制台的设备列表中也可以查看。 502 设备不存在 检查设备ID是否正确,设备是否删除。 503 没有可识别的指令 指令中的功能不存在,请在产品列表中的指定产品的功能列表中,查看可用功能。 50xx请见“全局错误代码” |
另外,在用官方的配网小程序时,很惊喜,竟然已经可以支持大批量设备同时配网了,这个就太节省时间了,想到去年一个项目的100多台设备,是一台一台配的网啊,几个人折腾了3个多小时。
来源地址:https://blog.csdn.net/tyanzhiqi/article/details/129962941