Skip to Content
🎉 RHILEX 最新版已发布。 了解更多 →
User GuideModule通信模组

通信模组

为了支持 LoRA、蓝牙、通用 2.4G 等模块,RHILEX 提供了一些插件模块的接口,以软件的形式将通信模块接入进来。这个特性被抽象为:通信模组。

module

支持模块

当前阶段支持以下常见模块:

  • 妙享蓝牙 BLE 模组
  • 亿百特 E32 LoRA 模组
  • 亿百特 E43 2.4.G 模组
  • 正点原子 ATK-01 LoRA 模组

RHILEX 将外部模块做了最大可能的兼容和抽象,一般来说,绝大部分通用串口通信模块,几乎可以无成本接入 RHILEX。如果有个性化的通信模块需要支持,请联系 RHILEX 团队开发对应的驱动。

环境参数

以下列出了支持的外部通信模块及其对应的标识:

[ # WIFI_SUPPORT: 支持无线局域网通信,用于高速数据传输和互联网接入。 'WIFI_SUPPORT', # BLC_SUPPORT: 支持低功耗蓝牙通信,适用于近距离低速率数据交换和设备配对。 'BLC_SUPPORT', # BLE_SUPPORT: 支持蓝牙低能耗技术,适合电池供电设备的低功耗数据传输。 'BLE_SUPPORT', # ZIGBEE_SUPPORT: 支持 Zigbee 协议,一种低速短距离传输的无线网上协议,适用于智能家居和工业自动化。 'ZIGBEE_SUPPORT', # RF24g_SUPPORT: 支持 2.4GHz 射频通信,常用于无线传感器网络和小型设备间的数据传输。 'RF24g_SUPPORT', # RF433M_SUPPORT: 支持 433MHz 射频通信,具有较好的穿透能力和较远的传输距离,适用于远距离无线控制。 'RF433M_SUPPORT', # MN4G_SUPPORT: 支持 4G 移动通信网络,提供高速移动宽带连接。 'MN4G_SUPPORT', # MN5G_SUPPORT: 支持 5G 移动通信网络,提供更高的数据传输速度和更低的延迟。 'MN5G_SUPPORT', # NBIoT_SUPPORT: 支持窄带物联网通信,专为大规模物联网设备设计的低功耗广域网络技术。 'NBIoT_SUPPORT', # LORA_SUPPORT: 支持 LoRA 长距离低功耗无线通信技术,适用于广域物联网应用。 'LORA_SUPPORT', # LORA_WAN_SUPPORT: 支持 LoRaWAN,一种基于 LoRA 技术的低功耗广域网络协议,用于物联网设备的长距离通信。 'LORA_WAN_SUPPORT', # IR_SUPPORT: 支持红外线通信,常用于遥控器和短距离数据传输。 'IR_SUPPORT', # BEEP_SUPPORT: 支持蜂鸣器信号,通常用于简单的音频提示或警报。 'BEEP_SUPPORT' ]

交互流程

输入请求

客户端发送一个 JSON 格式的请求,包含设备名称、主题和参数:

JSON
{ "name": "EC200A-4G-DTU", "topic": "mn4g.ec200a.info.csq", "args": "" }

返回响应

服务器处理请求后,返回一个 JSON 格式的响应,包含状态码、消息和数据:

JSON
{ "code": 200, "msg": "Success", "data": { "name": "EC200A-4G-DTU", "topic": "mn4g.ec200a.info.csq", "args": "", "result": "{\"cops\":\"CMCC\",\"csq\":30,\"iccid\":\"11223344556677\"}" } }

响应中的 result 字段包含了具体的设备信息,如运营商、信号强度和 SIM 卡 ID。

命令行参数

启动的时候需要带上参数:

Linux

KEY=value

Windows

如果你想要在 Windows PowerShell 中启动一个名为 rhilex.exe 的程序,并传递一个名为 LORASUPPORT 的环境变量,其值为 atk01,你可以使用以下命令:

Start-Process rhilex.exe -ArgumentList "LORASUPPORT=atk01"

这条命令会启动 rhilex.exe,并传递一个名为 LORASUPPORT 的环境变量,其值为 atk01。 如果你想要在 PowerShell 中设置这个环境变量,然后再启动程序,你可以这样做:

$env:LORASUPPORT = "atk01" Start-Process rhilex.exe

在这个例子中,我们首先使用 $env:LORASUPPORT 变量前缀来设置环境变量 LORASUPPORT,并将其值设置为 atk01。然后,我们使用 Start-Process 命令来启动 rhilex.exe。 请注意,环境变量在启动的程序中是全局可用的,这意味着所有通过 PowerShell 启动的程序都将继承这个环境变量。如果你想要设置这个环境变量,并且确保它只在启动的程序中可用,你可以使用 -Environment 参数来创建一个新的环境变量集:

$env:LORASUPPORT = "atk01" Start-Process rhilex.exe -Environment "LORASUPPORT=atk01"

-Environment 参数来创建一个新的环境变量集,其中包含 LORASUPPORT 环境变量,其值为 atk01。这个环境变量集将只在启动的 rhilex.exe 程序中可用。 其中 KEY 是模块的名称,value 是 ini 里面的配置,看下面案例,假设我们要启动一个 lora 模块。

配置

[transceiver.atk01] # Address: Device is on COM3 serial port for communication address = /dev/ttyUSB0 # io_timeout: Timeout for I/O ops (30 sec), prevents indefinite waiting io_timeout = 30 # at_timeout: Timeout for AT cmds (200 ms), adjusts responsiveness at_timeout = 200 # BaudRate: Data transfer speed set to standard 9600 baud baudrate = 9600 # DataBits: Each character uses 8 bits for transmission data_bits = 8 # Parity: parity ('N' 'O' 'D') check, if additional bits for error detection parity = N # Stopbits: Single stop bit (1) marks end of each character transmission stop_bits = 1 # Transport Protocol: 1|2|3, goto homepage for detail transport_protocol = 1

指令

$env:LORASUPPORT = "atk01" Start-Process rhilex.exe -Environment "LORASUPPORT=atk01"

表示启用 [transceiver.atk01] 这个模块。

Linux 和 Windows 下命令行参数传递不同,请根据实际情况调整。

© 2023-2026 RHILEX Technologies Inc. All rights reserved.