当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]如果你曾尝试使用标准的 Arduino 或业余爱好者使用的 LoRa 板来构建工业物联网传感器节点,那你一定深有体会其中的困难。现实中的工业传感器,比如土壤氮磷钾监测器、流量计或气象站,很少使用简单的 I2C 或 SPI 通信方式。它们通常采用 RS485(Modbus RTU)或 0-10V 模拟信号进行通信。

ArduLora:连接Arduino与工业物联网

1. 物联网发展中的“产业差距”

如果你曾尝试使用标准的 Arduino 或业余爱好者使用的 LoRa 板来构建工业物联网传感器节点,那你一定深有体会其中的困难。现实中的工业传感器,比如土壤氮磷钾监测器、流量计或气象站,很少使用简单的 I2C 或 SPI 通信方式。它们通常采用 RS485(Modbus RTU)或 0-10V 模拟信号进行通信。

要将这些设备连接到标准的 LoRa 开发板上,通常需要:

•连接外部的 RS485 通信收发模块。

•构建定制的电压分压器,将 10 伏电压降至 3.3 伏。

•想个办法来切换传感器的电源,以免耗尽你的电池电量。

•编写混乱且复杂的代码来处理时间问题。

其结果往往是一堆凌乱的“意大利面条状”连接线,这种连接方式不可靠,而且无法在恶劣的户外环境中使用。所以我们需要更好的解决方案。

2. 进入ArduLora:全能解决方案

ArduLora 是为满足对清洁、专业且易于使用的中继设备的需求而开发的。它是一款小巧的开发板,它将 RAK3172 LoRaWAN 模块出色的远距离传输能力与适用于工业部署所需的精确硬件接口相结合。

与使用面包板进行原型设计不同,ArduLora 使您能够直接从 Arduino 开发环境过渡到坚固耐用的现场部署。

重要的硬件特性:

•大脑:由 RAK3172(STM32WLE5CC)驱动,基于 RUI3 框架支持 LoRaWAN 和 LoRa P2P 协议。

•内置 RS485 接口:内置的 SP3485 通信收发器使您能够直接与数千个现成的 Modbus 传感器进行通信。

•高压模拟输入:配备有两个专用模拟输入通道(AI1/AI2),具有内置校准功能,能够安全读取 0 - 10V 工业信号,其采样精度高达 12 位/14 位的 ADC。

•智能电源管理:有一个专用的电源控制引脚(PB5),当板子进入休眠状态时,您可以完全切断外部传感器的电源,从而显著延长远程节点的电池续航时间。

•状态指示:机载的黄色、红色和蓝色指示灯可即时提供传输、接收和系统状态的视觉反馈。

3. “ArduLora原生库”

硬件只是成功的一半。为了让 ArduLora 真正做到“与 Arduino 无缝兼容”,我们开发并发布了一个基于面向对象编程的官方 ArduLora 库(可在 Arduino 库管理器中直接获取)。

示例代码:在 ArduLora 板上运行 LoRaP2P 程序

我们将复杂的 RUI3 类似 AT 命令的 API 进行了封装,将其转化为简洁、易懂的 C++ 函数。过去需要 20 行的设置代码现在只需两行即可完成:

示例代码:在 ArduLora 板上点亮 LED 灯

示例:Modbus 主机

这个例子中,我们的板子是从 Modbus 协议获取指令的主控制器。

代码说明:

•Modbus 主节点:创建一个“主节点”对象以控制其他设备。

•Serial_Canopus:专为 ArduLora 上的 Modbus 引脚预设的特殊串口。

•node.readHoldingRegisters(0, 10):向从设备请求从地址 0 到 9 的数据。

•node.getResponseBuffer(i):获取从传感器接收到的实际值。

Arduino 串行监视器会显示寄存器的值:

示例:Modbus 从机

这个示例中,我们的板子是从机(从 Modbus 协议读取数据)。该板子在 PB4(AI1)处读取模拟量,并将值存储到 040001 号寄存器中(FC03,地址为 1)

代码说明:

•regBank.setId(1):将该板设置为 Modbus 设备 ID 1。

•regBank.add(40001):为其他设备预留了一个可读取数据的寄存器地址。

•slave.run():负责监听来自 Modbus 主机的请求的引擎。

4. 实际应用领域

因为 ArduLora 能够将 Arduino 编程与工业硬件连接起来,所以其应用的潜力是无限的:

•智能农业:连接一个 RS485 土壤氮磷钾传感器,利用 Modbus 库读取养分数据,并将数据通过无线网络传输至 LoRaWAN 门禁系统。

•工厂监控:连接 0-10V 压力或温度传感器,即可在不铺设网络电缆于工厂各处的情况下监测机器运行状况。

•智慧城市:建造超低功耗的环境监测站,这些监测站能够依靠小型电池和太阳能板运行数年之久。

5. 参与进来!

我们开发了 ArduLora 旨在帮助创客和工程师轻松构建可靠的物联网网络,无需经历繁琐的流程。该硬件现已上市,其相关库代码也是完全开源的。

GitHub 仓库及代码:NamNamIoT/ArduLora

获取该板子:可在 Tindie 和 Elecrow 网站上购买。

拿一块板子,安装好这个库,然后告诉我们你构建出了多么了不起的工业网络!

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭