今天我们来说说根据光照强度自动判断是否开灯的一整套设备的实现。当然,我们是产品经理,我们不一定非要了解其中各种技术细节,怀着科普的心,我们从大体流程上来看看整个实现的过程。
系统架构
先来看看整个架构:
简单说是这样的,光照传感器来识别环境光亮,将识别的信息通过网关设备上传到物联网平台,物联网平台根据平台预先设置的规则,判断是否需要开启电灯,然后将控制指令下发到电灯,实现对电灯的智能控制。
而我们要讲的就是传感器、网关、云平台规则设置、智能电灯的打造。
物联网平台的使用
我们先来看看物联网平台在做什么,我们需要怎么做。
1、物联网平台的作用
物联网平台提供了基本的设备管理功能,它可以更快速的帮助我们来完成设备的远程控制,比如我们可以通过“腾讯连连”来控制电灯的状态,而不需要自己再耗费精力去编写代码。也就是说我们通过连接现成的物联网平台,完成规则联动,省去了我们自己开发联动规则的工作量。
2、选择物联网平台
市场上物联网平台有很多,这里我们选择腾讯云的物联网平台,主要原因如下:
- 腾讯云物联网平台是开放注册的,我们普通的用户也可以注册来使用,不像很多平台那样需要企业用户才能注册。
- 腾讯云提供的交互方式非常方便,不需要编译或者下载其他App,在微信上用小程序就可以进行。
3、腾讯物联网平台的配置
这部分我们简单说说即可,有需要开发的同学自行研究相信也能懂,产品的同学暂时就没必要了解全部了。大体流程就是注册账号、创建项目、创建产品、创建物模型、配置交互界面、创建设备。产品和设备都是实际设备在物联网平台的虚拟映射,而物模型就是通信过程中报文的定义。完成上述的全部配置后,我们就做好了物联网平台相关的准备工作,接下来我们就来看看设备的搭建。
光线传感器搭建
1、为光线传感器选择通信技术
光线传感器通常选择BLE(蓝牙)通信技术,其优点是低功耗,使用电池也可以用很久,且由于传感器布置位置灵活,布线不方便,蓝牙可以较好的解决这个问题。我们选择蓝牙的广播模式(一种蓝牙的工作模式)即可。(蓝牙有四种工作模式,分别为广播模式、从机模式、主机模式、观察者模式,后续我们会展开)
2、为光线传感器选择开发板
选择合适的开发板,需要支持蓝牙,当然也得支持我们选择的开发方式,例如支持Python。
3、为开发板准备开发环境
我们需要选择我们要使用的开发语言所需要的开发环境。
4、为传感器连接硬件电路
通常需要开发板、传感器、杜邦线、跳线、面包板等材料,这里涉及到硬件线路,我们不详细展开,对硬件感兴趣的同学可以详细了解一下。
5、编写传感器的蓝牙程序
该过程包括定义蓝牙广播包的数据格式,保证网关设备能够顺利的解析我们的数据,同样,网关并不是天生就能理解我们定义的报文,因此在网关开发的时候,我们需要在代码里写明蓝牙报文的规则。那么如何定义报文呢,假如我们是小米生态中的开发者,我们可以按照MiBeacon蓝牙协议设置广播包的格式,完成开发后,传感器的开发工作就完成了,此时可以进一步验证一下我们开发的成果。
6、验证传感器效果
我们用手机下载蓝牙调试软件,例如LightBlue、nRFConnect、BLEScanner等。使用app搜索我们开发好的传感器设备,接收到报文的时候,就可以看到我们开发的设备发出的报文的内容。接下来我们说说网关设备的搭建。
网关搭建
1、网关与设备通信
网关需要具备与传感器建立通信。在网关上进行开发,保证网关可以南向和光线传感器进行数据传输。
2、网关与云平台建立连接
在网关上安装MQTT的软件包,完成开发,将代码部署到网关上。与此同时,物联网平台是无法接收到传感器设备的信息的,我们需要按照创建电灯的方式,在物联网平台上创建传感器设备。完成所有的配置后,我们的网关就可以通讯物联网平台,同样,传感器的信息也会通过网关与云平台建立联系。
智能电灯的搭建
1、为电灯选择通信技术
电灯设备我们选择Wi-Fi来进行通信,这是因为:
- 电灯对通信速度的要求较低,因此wifi、ble、zigbee等通信方式均可。
- 电灯本身带电,所以不需要考虑功耗的问题,因此不用非得选择Ble和Zigbee这种低功耗的技术,Wi-Fi同样可用。
- 从普及度来看,BLE和ZigBee设备都需要搭配专有的网关才可以连接互联网,因此选择Wi-Fi更方便部署。
2、选择开发板并完成开发
选择合适的开发板,搭建好开发环境,完成烧录,开发代码,最终将代码部署到开发板上,此时完成了开发板的全部工作,接下来就需要连接电灯电路了,以实现电灯和控制板之间的控制。
3、电灯电路设计
通常对电灯的开关控制是用继电器完成的,继电器分为弱电和强电,弱电部分可以连接微处理芯片,强电部分可以连接灯泡,继电器就像中间人,一边连接芯片,一边连接设备,实现芯片对设备的控制。当然了,对于我们而言,不需要知道太过于细节的知识点,通过专业人员完成电路的连接和搭建,就可以完成智能电灯的搭建了。
4、电灯的远程控制
我们搭建好了电灯,就可以进行物联网平台的配置了,之前已经简单说过物联网平台的功能和配置,对于电灯的配置是一样的,需要在物联网平台上完成产品、设备等信息的创建,但是依然不够,因为蓝牙设备可以通过网关连接物联网平台,电灯我们选择了Wi-Fi的方式进行通信,因此电灯的开发板上需要部署和网关连接物联网平台类似的功能才行。通常我们需要关注的是Broker服务器的地址、设备三元组、账号密码等信息,完成相关的开发和配置后,电灯便可以连接到物联网平台。这时候只要在物联网平台发送MQTT的消息,电灯便可根据指令完成开关的切换。
到这里,我们完成了整个架构的搭建。
想要实现联动,我们只要在物联网平台上配置联动规则即可,例如传感器光照强度大于1024lux的时候,关闭电灯,完成此类配置便实现了联动的效果。
本节就讲到这里,这整个过程涉及到很多的细节,也不是三言两语就能说清楚的,后续我们会对每个环节有必要的地方详细展开,有兴趣的同学也可以自行研究。
原创文章,作者:王得宇AIPM,如若转载,请注明出处:https://www.pmtemple.com/silence/11887/