用户指南
使用指南

通信模组

为了支持 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-2025 RHILEX Technologies Inc. All rights reserved.