一类是大场作品如华硕、Google、Apple小米等等
一类是独立购买的单一功能产品,如无线门铃、智能插座、无线灯控等等
大厂作品的好处是系统整合完整,可以互相支持连动,但是缺点也很明显,就是『天地万物﹐朕赐给你的才是你的﹐朕不给﹐你不能抢。 』,就是大厂没出的你就不能用。独立购买单功能的好处是想要什么买什么,但是缺点就是,没有整合,当设备一多起来,光遥控器就要搞死你
这个系列就要要来合并上面两个优点整合起来,将家里会用到的设备全部无线化,又有统一的接口可以管理。既然讲到无线,当然要提到最适合DIY应用的LoRa无线技术LoRa有4大优点:
1.使用Sub1GHz频段,绕射能力强,传输距离长,全家都收的到
2.尺寸小巧,而且省电,不用常常换电池
3.市面上唯一可以建构网络的IOT技术,适合家庭应用
4.设计图与code原厂都开放网络可以查询,建置成本低廉
这次为了简化开发难度我们使用诠鼎代理群登的LoRa模块S76S。S76S的好处是尺寸小巧,只有11mm x 13mm,而且有开发版,脚位有外拉出来,方便开发。之前的第一系列温湿度计无线化帮助我们有了第一个无线的产品跟平台,现在就来第二集: 智慧家庭无线化二:照明统计与调配
目标:
1. DIY制作包含LoRa模块的照度计2. 接收小主机要可以使用计算机,手机监看,并作数据统计
3. 要可以一个小主机接收多个照度计
4. 可以整合第一集的温湿度数据
使用组件:

延伸阅读 基于ACSip S76S使用LoRa技术的智能家庭无线-室内空气质量侦测方案
实作:
一、传感器端硬件设置:
使用的光照感应IC是BH1750,这里为了演示方便,使用现成的模块GY-30来实作
将GY-30的VCC接Arduino的3.3V脚位,SCL接到NANO的A5,SDA接到NANO的A4,GND直接接地
S76S的3.3V脚位接到UNO的3.3V,TX、RX脚位分别接到UNO的pin0跟pin1,GND接地
接线示意图如下

实际接线图如下

二、ATMEGA328跟照度计读取设定:
使用Arduino的好处是可以有链接库可以直接呼叫而且还是以面向对象的方式撰写
宣告与启动设定画面

GY-30里面的ADD脚位是用来设定I2C地址的
如果有输入电压超过0.7V的话地址是0X5C,低于0.7V的话地址则是0X23,预设为0X23
BH1750 lightMeter(0x23);
有一点比较要注意的地方是
BH1750两种测量模式,分为一次量测与连续量测,两种模式又各自细分为三种精细度,所以总共有6种模式
-低分辨率模式-(4 lx精度,16ms测量时间)
-高分辨率模式-(1 lx精度,120ms测量时间)
-高分辨率模式2-(0.5 lx精度,120ms测量时间)
预设为:连续量测-高分辨率模式-(1 lx精度,120ms测量时间)
// begin returns a boolean that can be used to detect setup problems.
if (lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE)) {
Serial.println(F("BH1750 Advanced begin"));
}
else {
Serial.println(F("Error initialising BH1750"));
}
三、S76S设定:
S76S使用的是群登P2P的程序代码
这个程序代码的特点是已经定义好他的群组为1个Master对32个Slave,每一个Slave占用的时间为0.5秒,所以询问完一个群组为16秒钟
32个Slave的设计是适合智能家庭的
架构图如下:

设定如下:
详细设定可以参考第一集或是可以看附件的手册
我们这里直接写好子函式,呼叫就可以设定设定

四、ATMEGA328+照度计+LoRa:
以上全部设定完成之后,以Arduino端只要做一件事情,就是将GY-30收到的数据透过S76S送出去,因为这是照度计,不需要控制,所以只要单向传送就可以了。
数据传送子函式

传感器端主程序

完整的程序代码请看附件
五、接收器端硬件设置:
将S76S的3.3V与GND分别接到ESP-32S左右两边的pin19,再将S76S的TX、RX分别接到ESP-32S的pin17与pin16
接线示意图如下

实际接线图如下

六、S76S设定:
S76S的设定同上,差别是,改成设定为Master,在启动即可
一样已经写成子函式直接呼叫即可设定

七、ESP-32S设定:
ESP-32S的部分,一样可以利用ARduino编辑程序,
实际操作说明:
宣告设定

启动设定

网络校时子函式

网络传送子函式:

主程序:

展示:
因为这个方案是利用ESP-32S将数据用UDP的方式丢出 所以接收端就非常自由,只要可以接收UDP讯号的设备都可以当作 接收接口
在这里是用IBM开发的Node-Red去做画面演示
第一步:先将流程图一一拉出来设定好:
如下图
第二步就是将数据显示出来就大功告成了
如下图
附件档案列表