用 LoRa 模块做CO感测简单范例

对于刚开始入手lora的maker,可能没甚么信心可以抓住重点,但事实上,lora架构很简单,只要node与gateway频道的频率设定相同,以及与server新增装置的 key设定一样,就可以成功做数据传输的动作了。
本专案用acsip群登 s76s lora模块做co感测,作为一个简单范例。
材料
1. acsip s76s lora积木式模块与0db天线
2.mq-9一氧化碳co感测模块
3.arduino mega 2560
4.一些公对母、公对公杜邦线
5.一台lora gateway;道理就像一般所使用的网关一样,只是从不同网段的转送,变成lora与因特网间的转送。我们这次用kiwitec tlg2901 high capacity gateway。
说明一下:lora若要能够接通必须要有两个关键。如前述所言,一个是频率、一个是key,像是acsip s76s这个lora积木式模块出厂时设定为868mhz,但能用韧体调整为915mhz,所以使用上请先记得参考lora模块以及gateway的说明书确定。
硬件接线
对于mq-9一氧化碳感测模块,可以参考下表:
以下为acsip s76s lora积木式模块的脚位图,接线的方式如下图。
特别提醒一下,s76s模块内部已经有跳线将tx、rx能直接对应到用户的电路上,所以请勿反接。
软件部分
lora传输的时候,lora node上的程序有三个项目要做:
a. 加入abp,key与server设定的device相同,就能成功把payload解密
b. lora node决定用哪个port用来发送讯息
c. 决定用确认(cnf)或非确认(ucnf)的方式来传输讯息给loraserver
我们采用非确认的方式,port在我们这里是设定为2。至于传输的命令嘛~~就跟透过serial把字符串输出给device一样,够容易吧!
参考程序代码如下
#include <softwareserial.h>
softwareserial lora(5, 4);
#define tx_port 2 // up to gatewaydefinition #define rx_port 1
char dat[64];
void setup() { // put your setup code here,to run once: serial.begin(9600); lora.begin(115200); delay(1000);
lora.print(“mac join abp”); // join your abpdelay(5000); }
void loop() { int len = lora.available();if( len > 0 ) { lora.readbytes(dat, len); for(int x=0; x < len; x++) {serial.print((char)dat[x]); } }
// put your main code here, to runrepeatedly: float sensor_volt; float rs_gas; // get value of rs in a gas floatratio; // get ratio rs_gas/rs_air int sensorvalue = analogread(a0); float r0 =2.10;
sensor_volt=(float)sensorvalue/1024*5.0;rs_gas = (5.0-sensor_volt)/sensor_volt; // omit *rl
/*-replace the name “r0” with the value ofr0 in the demo of first test -*/ ratio = rs_gas/r0; // ratio = rs/r0/* ———————————————————————–*/
serial.print(“sensor_volt = “);serial.println(sensor_volt); serial.print(“rs_ratio = “);serial.println(rs_gas); serial.print(“rs/r0 = “); serial.println(ratio);
serial.print(“”);
sprintf(dat, “mac tx ucnf %d %04d”,tx_port, sensorvalue); lora.print(dat);
delay(30000); }
作者:赖建宏

荣耀Note9什么时候上市?荣耀新款大屏手机渲染图曝光!华为荣耀Note9下月发:2799买吗?
仅使用两根电线即可感应多个按钮
智慧农业气象作物生长与环境监测科研进展
半固态与固态电池之电池技术升级
卖的如此火热的手机它无法在微信支付中选择指纹验证
用 LoRa 模块做CO感测简单范例
Nexys3学习手记3:硬件外设走马观花
企业OA上云靠谱最重要,多年业务推进为何华为云成为我的首选?
太阳能电池工作原理-电池的构造
什么是测速电机
台积电如期量产苹果A14处理器,今年营收增幅可望超过产业平均数
盘点机器人传感器的类型及其作用
基于Altera FPGA快速开发医疗成像设备详解
Windows 10移动版仅为17%的设备供电
苹果CEO库克避谈元宇宙 更愿意称之增强现实
微雪电子4.2寸电子纸黄黑白三色墨水屏介绍
教你用3个电池撑起1个电焊机
Manz在SNEC 2012发布晶体硅设备系列新品
iPhone 12/Pro LTE和5G网络信号出现意外掉线问题
国内半导体产业如何弯道超车