当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]如果你曾尝试使用标准的 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 )。
换一批
延伸阅读

电机驱动系统作为工业设备、新能源汽车、智能装备的核心动力单元,其调试质量与效率直接决定设备的性能、可靠性及量产周期。当前,随着电机控制技术向矢量控制(FOC)、无传感器控制等高端方向演进,调试过程涉及电路、算法、机械等多...

关键字: 电机驱动 矢量控制 传感器

在传感器检测系统中,信号发生电路承担着激励敏感元件、产生载波信号或提供参考基准的重要职责。许多传感器的输出信号极为微弱,淹没在电路噪声和环境干扰之中。传统的解决方案是增加放大器的增益,但这往往同时放大了噪声,信噪比的改善...

关键字: 正反馈电路 传感器

Home Assistant 在自动化方面表现卓越,但要添加一个自定义的人工智能传感器通常需要设置 MQTT 代理、编写 YAML 文件或者开发一个定制的 Python 集成程序。而这个项目却无需上述任何步骤——一个人工...

关键字: 人工智能 计数器 传感器

“PRIMUS X2”的飞行控制器是一款多功能控制板,可用于开展各种项目。其中之一就是直线跟随机器人。此次的目标是打造一款基于 PID 控制的快速直线跟随机器人。该程序是在“Pluto IDE”平台上编写的。这款直线跟随...

关键字: 飞行控制器 传感器 机器人 PRIMUS X2

我们的鸟食器总是遭到松鼠、金花鼠以及其他非鸟类动物的频繁侵扰——以至于“鸟食器”这个名称几乎都不合适了。所以我想利用 Arduino UNO Q 强大的物体检测功能来制作一个只供鸟类使用的食器。

关键字: 喂食器 Arduino 显示器

我偶然发现了一款那种高端的道奇挑战者型闹钟,它的启动声音是那种充满力量感的引擎轰鸣声,而不是普通的闹钟铃声。老实说,它看起来超级酷——但看了它一会儿之后,我却觉得:

关键字: OLED 显示屏 Arduino DS3231

如果你曾经驾驶过遥控飞机,并且想要详细了解飞行过程中的具体情况——比如飞行高度、飞行方向、温度以及有图像记录——那么市面上大多数的 FPV 系统都无法满足你的需求。它们能实时传输视频,但不会存储任何数据。一旦你降落,所有...

关键字: ESP32 飞行记录器 传感器

空气污染已成为现代城市面临的最为严峻的环境问题之一。颗粒物浓度的不断上升,尤其是 PM2.5 和 PM10,对人类健康构成严重威胁,会导致呼吸系统疾病、心血管问题以及降低预期寿命。鉴于这些担忧,成本低廉且易于使用的空气质...

关键字: Wio终 传感器 HM3301

该项目展示了如何利用射频识别技术及一款 Arduino 板来构建一个智能考勤系统。用户无需使用人工登记表,只需扫描射频识别卡即可即时记录考勤情况。该系统会读取每张卡的唯一标识码并记录相关数据,适用于学校、办公室以及小型组...

关键字: Arduino 射频 RFID 读取器

作为一名七年级的“创造者”,我认为技术应当易于获取且能带来改变。对于视障人士而言,传统的手杖几十年来几乎没有发生什么变化。它们能够探测地面上的物体,但往往无法保护使用者避开头部高度的障碍物,也无法提供实时的环境信息。我的...

关键字: 智能助行器 传感器 Arduino Uno Q 芯片
关闭