LoRaIOT家庭环境监测系统的制作

电子说

1.2w人已加入

描述

步骤1:电池操作无线传感器设计

监测系统

434-MHz无线遥控器的设计使用以下部件:

ATtiny85 8-位AVR微控制器

Sensirion SHT31-D - 温度和湿度传感器分线板

Sparkfun 434-MHz RF链路发送器

10K欧姆电阻器

早期设计决策之一是避免需要稳压3.3V或5V的器件,以及选择在宽电压范围内工作的器件。这消除了对电池操作设计中的电源浪费的电压调节器的需要,并且延长了传感器的工作寿命,因为随着电池电压随时间下降它们将继续运行更长时间。所选部件的工作电压范围如下:

ATtiny85:2.7V至5.5V

SHT31-D:2.4V至5.5V

RF Link Tx:1.5V至12V

允许一定的余量,434-MHz无线遥控器应在功能上运行至3V的电池电压。如前所述,随着电池电压降低,发射功率降低,可以保持RF链路可靠性保持良好状态。

决定使用3节AA电池提供标称启动电压4.5V运行16个月后,测得的最低电池电压为4.36V。

ATtiny85看门狗定时器(WDT)用于使434-MHz无线遥控器在大多数时间内处于休眠模式。每隔8秒WDT就会唤醒ATtiny85以增加一个10分钟的计数器;在达到10分钟的时间间隔后,进行测量并传输数据包。

为了进一步降低功耗,SHT31-D和RF链路发送器由数字I/O端口引脚供电。 ATtiny85配置为输出。当I/O引脚被驱动为高电平(1)时会产生电源,当I/O引脚被驱动为低电平(0)时会被移除。通过软件,只需每隔10分钟对这些外围设备供电,持续1-2秒,同时进行测量和传输。有关相关软件的说明,请参阅434-MHz无线远程软件。

434-MHz无线遥控器中使用的唯一其他组件是10K欧姆电阻,用于上拉ATtiny85上的复位引脚。

早期的设计在电池上使用了一个电阻分压器,使ATTINY85上的ADC引脚能够测量电池电压。虽然很小,但这个分压器对电池施加恒定负载。一些研究发现了使用ATtiny85内部1.1V带隙参考电压来测量Vcc(电池电压)的技巧。通过将ADC参考电压设置为Vcc并测量内部1.1V参考电压,可以求解Vcc。只要Vcc》 3V,ATtiny85内部1.1V基准电压就是恒定的。有关相关软件的说明,请参阅434-MHz无线远程软件。

ATtiny85和SHT31-D之间的通信是通过I2C总线实现的。 Adafruit SHT31-D分线板包括用于I2C总线的上拉电阻。

ATtiny85和RF链路发送器之间的通信是通过配置为输出的数字I/O引脚实现的。 RadioHead Packet Radio库RH_ASK通过此数字I/O引脚用于RF链路发送器的开关键(OOK/ASK)。

步骤2:434-MHz无线远程硬件

监测系统

零件清单:

1 x Adafruit 1/4尺寸面包板,Digikey PN 1528-1101- ND

1 x电池座3 x AA电池,Digikey PN BC3AAW-ND

1 x Adafruit Sensiron SHT31-D分线板,Digikey PN 1528-1540-ND

1 x Sparkfun RF链路发送器(434-MHz),Digikey PN 1568-1175-ND

1 x ATtiny85微控制器,Digikey PN ATTINY85-20PU-ND

1 x 8引脚DIP插座,Digikey PN AE10011-ND

1 x 10K ohm,1/8W电阻,Digikey PN CF18JT10K0CT-ND

6.75“/17cm长18AWG漆包铜线

1 x片双面泡棉胶带

18“/45cm电线缠绕电线

ATtiny85使用插座,因为不支持在线编程。

SHT31-D分线板,RF Link发射器,8针DIP插座和天线导线焊接在面包板上,如上图所示。从18AWG天线导线的1/4“处取下珐琅焊接到面包板之前。

10K欧姆电阻器焊接在8针DIP插座的引脚1和8之间的面包板上。

绕线焊接在面包板上根据上一步骤中所示的无线远程原理图,在面包板的背面进行组件之间的链接。

电池座的正极和负极引线焊接到一组“+”和“ - ”总线分别位于面包板上。

434-MHz无线遥控器使用无线网桥和LoRa IOT网关进行测试。每次插入电池时,434-MHz无线遥控器将立即发送一个数据包,此后每隔约10分钟发送一次数据包。从434-MHz传感器层接收到无线数据包后,无线网桥上的绿色LED闪烁约0.5秒。如果在网关中配置了434-MHz无线远程站号,则应通过LoRa IOT网关显示站名,温度和湿度。

使用编程的ATtiny85测试无线遥控器后,将一块双面泡棉胶带切割成与面包板相同的尺寸,用于将完成的面包板连接到电池座上。

步骤3:434-MHz无线遥控器软件

监测系统

监测系统

434-MHz无线远程软件附带此步骤,评论很好。

我使用Sparkfun Tiny AVR编程器和Arduino IDE对ATtiny85微控制器进行了编程。 Sparkfun有一个关于如何设置驱动程序等的广泛教程以及如何让程序员使用Arduino IDE。

我在Tiny AVR Programmer中添加了一个ZIF(零插入力)套接字来制作很容易添加和删除程序员的芯片。

步骤4:无线网桥硬件

监测系统

监测系统

监测系统

监测系统

零件清单:

1 x Arduino Uno R3,Digikey PN 1050-1024-ND

1 x Adafruit Proto Shield Arduino Stack V.R3,Digikey PN 1528-1207-ND

1 x Adafruit RFM9W LoRa无线电收发器板(915-MHz),Digikey PN 1528-1667-ND

1 x Sparkfun RF链路接收器(434-MHz),Digikey PN 1568-1173-ND

1 x 8针DIP插座,Digikey PN AE10011-ND

6.75“/17cm长度18AWG漆包铜线

3.25“/8.5cm长18AWG漆包铜线

24“/61cm电线缠绕电线

1 x USB电缆A/MicroB,3英尺,Adafruit PID 592

1 x 5V 1A USB端口电源,Adafruit PID 501

按照Adafruit.com上的说明组装原型屏蔽。

按照Adafruit.com上的说明组装RFM95W LoRa收发器板.3.25“/8.5cm长度的18AWG导线用于天线,并在从导线上剥去1/4“的珐琅后直接焊接到收发器板上。

小心地将8针DIP插座切成两半长度来创建两组4针SIP插座。

如图所示,将两个4针SIP插座焊接到原型屏蔽罩上。这些插座将用于插入RF Link接收器,因此请确保它们位于在焊接之前,正确的孔与RF链路发送器匹配。

如图所示,将RFM9W LoRa收发器板焊接到原型屏蔽。

Arduino Uno和之间建立了以下连接。使用w的RFM9W收发器板将电线缠绕在原型板的顶部:

RFM9W G0 - 》 Arduino数字I/O引脚2,RadioHead库在此引脚上使用中断0

RFM9W SCK - 》 Arduino ICSP接头,引脚3

RFM9W MISO - 》 Arduino ICSP接头,引脚1

RFM9W MOSI - 》 Arduino ICSP接头,引脚4

RFM9W CS - 》 Arduino数字I/O引脚8

RFM9W RST - 》 Arduino数字I/O引脚9

以下连接在原型板的底部:

RFM9W VIN - 》原型板5V总线

RFM9W GND - 》原型板接地(GND)总线

RF Link Rx引脚1(GND) - 》原型板接地(GND)总线

RF Link Rx引脚2(数据输出) - 》 Arduino数字I/O引脚6

RF Link Rx引脚2(Vcc) - 》原型开发板5V总线

原型板绿色LED - 》 Arduino数字I/O引脚7

引脚信息RF链路接收器可在www.sparkfun.com上获得。

从6.75“长度的18AWG电线的1/4‘剥去珐琅质,并将其插入紧邻RF Link Rx Pin的原型板孔中8(天线)。一旦插入孔中,将剥离的末端弯曲,使其与RF Link Rx引脚8接触并将其焊接到位。

使用下一个提供的草图编程Arduino Uno重置或上电后,绿色LED将闪烁两次0.5秒。从434-MHz传感器层接收到无线数据包后,绿色LED闪烁约0.5秒。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分