美文网首页LoRa相关LPWAN设计
LoRa相关设备AT指令集

LoRa相关设备AT指令集

作者: 小鱼儿他老汉 | 来源:发表于2017-09-08 08:54 被阅读75次
sprint-mobile-broadband-usb-modem-598u-by-sierra-wireless.jpg

串口协议分类

串口作为物理层/传输层的设计中,存在大量的协议,包括:

  1. STX/ETX,以STX/ETX为首尾隔断符,实现类似HDLC/TLV的消息报文结构,面向字节;
  2. SLIP,基于拨号上网的协议;
  3. AT Modem,以贺氏Hayes MODEM为标杆,成为M2M的参考基准,字符型/二进制协议,并支持透传;
  4. Firmata,MIDI行业用的字符型/二进制协议,7bit传输;
  5. mbed RPC,HTTP REST风格的字符型协议;

前两种都是二进制协议,后几种是字符型即混合型协议。

以IoT和M2M行业的渊源,理应继承AT Modem的协议。LoRa以长距离为卖点,所以波特率都不高,传输的二进制数据可以转换成Hexdecimal字符传输。

LoRaHAM AT指令

以STM提供的AT_SLAVE工程作为蓝本,适当添加ALOHA HAM电台所需指令。AT基本格式是:

  1. 无参数:ATZ\r\n
  2. 有参数:AT+MDM=1\r\n,参数以逗号隔断,必要时添加双引号;
  3. 查询:ATZ?
  4. 查询参数:ATZ=?

除单独约定外,其他格式均不支持。

命令 解释 备注
AT\r\n Attention
AT+DEUI get Device IEEE-EUI
AT+DADDR set/get Device Addr
AT+APPKEY set/get App Key N/A
AT+NWKSKEY set/get NWK Session Key N/A
AT+APPSKEY set/get App Session Key N/A
AT+APPEUI set/get App EUI N/A
AT+ADR set/get ADR mode N/A
AT+TXP set/get TX Power
AT+DR set/get Data Rate
AT+DCS set/get Duty Cycle N/A
AT+PNM set/get Public Network N/A
AT+RX2FQ set/get RX2 Win-Freq N/A
AT+RX2DR set/get RX2 Data Rate N/A
AT+RX1DL set/get RX1 delay N/A
AT+RX2DL set/get RX2 delay N/A
AT+JN1DL set/get JOIN Win1 delay N/A
AT+JN2DL set/get JOIN Win2 delay N/A
AT+NJM set/get NWK JOIN mode N/A
AT+NWKID set/get NWW ID N/A
AT+FCU set/get UPLINK Counter N/A
AT+FCD set/get DOWNLINK Cnt N/A
AT+CLASS set/get Device Class N/A
AT+JOIN JOIN Network N/A
AT+NJS get Network JOIN status N/A
AT+SENDB Send Binary
AT+SEND Send ASCII
AT+RECVB get Received in Binary
AT+RECV get Received in ASCII
AT+VER get Version of Firmware
AT+CFM set/get Confirm/ACK msg
AT+CFS get isACK of last msg
AT+SNR get SNR of MCU/Dev
AT+RSSI get RSSI
AT+BAT get Battery level
AT+MDM=<n> n=[0,1], 0:LoRa, 1:FSK 暂不支持FSK
AT+FREQ=<n> n=freq N/A

大部分N/A的指令针对LoRaWAN/LoRaMAC有效,而LoRaHAM(即采用ALOHA协议的adhoc网络节点)设备暂时不需要这些指令。

表中所列指令都是从主机端发给MODEM的。许多数据是MODEM异步发送给主机的,这在蜂窝数据行业中被称为URC(Unsolicited Result Code)。URC需要额外定义,主要有远端发送给本地设备的业务消息,以及本地网络事件,或硬件事件等。理论上说,大多数接收指令都可以有URC代码,如电压报警、来电呼叫、消息到达、网络配置更新等。对于LoRa来说,来电呼叫(+RING)是不存在的,其他都有。

有了这些指令,软件和固件可以分头开发了。主机软件可以使用Python来仿真设备。

相关文章

  • LoRa相关设备AT指令集

    串口协议分类 串口作为物理层/传输层的设计中,存在大量的协议,包括: STX/ETX,以STX/ETX为首尾隔断符...

  • armv7,armv7s,arm64,i386,x86_64

    介绍 这些指令集在那些设备中有用到呢? 在实际开发中的选择问题Xcode中指令集相关选项(Build Setting中)

  • 如何辨别.framework是动态库还是静态库

    一、iOS指令集1.移动设备指令集(1)arm64iphone机型:iphone Xs Max| iphone X...

  • RadioTerminal for LoRa主机软件

    图1:Radio Terminal界面图(初稿) 软件名称是Radio Terminal,而且仅针对LoRa设备。...

  • 在代码中使用多线程技术

    线程基础 可以把线程想象成单一顺序的指令集。这些指令集 被翻译并交给设备的硬件来执行。多个指令集被同事执行时,这样...

  • Xcode Architecture 选项属性理解

    这里是设备对应的Achitectures指令集: Xcode的Achitectures设置 Architectur...

  • mbed LoRa相关代码汇集

    mbed是重要的LoRa代码汇集地之一。上面有多名作者和团队在贡献代码。除了Semtech/STM/MultiTe...

  • LoRa PingPong 固件测试

    LoRa最基础的固件就是Radio PHY的PingPong测试。A/B两台设备之间互相试探着发送PING/PON...

  • 路由器漏洞利用入门

    路由器漏洞利用 0x0 背景知识 1.MIPS指令集合 MIPS 指令集主要使用在一些嵌入式的 IOT 设备中,比...

  • iOS架构

    iOS模拟器运行i386/x86_64指令集,需要引用x86目录下的库文件; 在iOS设备上运行arm指令集,需要...

网友评论

    本文标题:LoRa相关设备AT指令集

    本文链接:https://www.haomeiwen.com/subject/erqgjxtx.html