0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Microchip模块实现LoRaWAN物联网应用

电子设计 来源:郭婷 作者:电子设计 2019-02-27 08:26 次阅读

LoRaWAN提供的性能特性与满足物联网。除了扩展的工作范围和低功耗要求外,LoRaWAN还提供安全,灵活的通信选项。然而,实施LoRaWAN解决方案所需的硬件和软件可能成为专注于物联网应用本身的开发团队的主要障碍。

本文将详细介绍Microchip Technology在第1部分中介绍的RN2903 LoRa模块,以及展示如何将其与一些额外的硬件和软件一起使用,以实现远程,低功耗的物联网设计。

快速启动套件

Microchip Technology的RN2903 LoRa模块近在咫尺用于物联网设计的插件LoRaWAN硬件解决方案。即便如此,它仍然只是完整LoRaWAN网络的基石,开发人员仍然必须考虑支持硬件和软件系统。 Microchip通过全面的评估套件满足了这一需求,该套件提供了为物联网实现LoRaWAN所需的其他元件。

如第1部分所述,Microchip Technology的RN2903支持915 MHz的LoRaWAN兼容通信,旨在实现简化物联网应用程序的开发。 Microchip模块经过全面认证,包含实现LoRaWAN连接所需的所有组件(图1)。模块的命令处理器使用板载LoRaWAN固件来完全支持LoRaWAN A类协议。板载EEPROM为LoRaWAN配置参数提供存储,通过减少主机和模块之间的数据传输来增强性能并提高安全性。

如何使用Microchip模块实现LoRaWAN物联网应用

图1:Microchip的LoRa模块通过其板载命令处理器,LoRaWAN协议栈,无线电收发器和串口为LoRaWAN连接提供了一个插入式解决方案连接。 (图像来源:Microchip Technology)

Microchip RN2903模块提供专用UART接口,用于与外部MCU主机通信。此外,该模块还包含14个GPIO引脚,开发人员可使用模块固件对其进行编程,以监控或控制外部设备,如开关和LED。最后,该模块提供一个RF信号引脚,便于连接到简单的套筒偶极天线

模块的命令处理器根据从外部主机MCU通过其UART接口接收的命令执行LoRaWAN事务。与任何网络通信方法一样,LoRaWAN消息以特定格式发送和接收。对于LoRaWAN,LoRa联盟标准在字节级别详细说明了这些格式。 RN2903模块提供了一种直观的基于文本的方法,可将LoRaWAN标准字节级格式抽象为一组带有可选参数的关键字命令。

Microchip定义了三种类型的关键字:

< li>用于LoRaWAN MAC配置和控制的mac命令

针对PHY无线电层的无线电命令

sys命令用于其他模块功能,例如提供模块固件版本信息或访问模块的EEPROM存储

例如:

mac tx uncnf 30 23A5

端口30上发送一条消息,数据值为“ 2,3,4,5-“ 。 “uncnf”选项表示设备未请求来自网络服务器的确认。或者,使用“cnf”选项表示设备期望网络服务器确认收到。 LoRa模块负责在将此消息发送到其网关以便传送到网络服务器之前加密该消息。

radio tx 6d657373616765

传输包含值[0x6d] [0x65] [0x73] [0x73] [0x61] [0x67] [0x65](示例文本字符串“message”,十六进制)

sys set nvm 100 FF

将值0xFF存储在EEPROM中用户分区的地址0x100

IoT器件设计

通过其串行接口,RN2903几乎不需要额外的组件来实现LoRaWAN-兼容的物联网硬件设计。 Microchip凭借其RN2903 LoRa Mote进一步加速了开发速度。 Microchip LoRa Mote旨在展示其LoRa模块功能,提供实现兼容LoRaWAN的无线传感器所需的全套硬件和软件。

Microchip RN2903 LoRa Mote和RN2483 LoRa Mote各自组合各自具有Microchip PIC18LF45K50 8位MCU的LoRa模块,用作传感器操作和LoRaWAN协议执行的主处理器。此外,Mote还包括用于采集样本数据的光和温度传感器,以及用于用户反馈的LCD显示器。 Mote通过标准USB接口连接到主机,可以访问LoRa模块的UART接口。

在开发过程中,工程师可以通过发送mac,radio和sys命令字符串来执行LoRaWAN操作。模块使用Mote的USB连接。在运行时期间,在IoT设备主机上运行的代码将根据IoT应用程序的需要发出命令和处理响应。对于LoRaWAN应用,Microchip提供了一个带有Mote硬件的扩展C软件库。例如,应用程序级例程MOTEapp.c收集传感器数据并通过LoRaWAN连接传输数据,处理RN2903预期的低级mac命令(清单1)。

复制

。 。 。

moteApp_clearBuffers();

//确保端口在允许的范围内

//为Tx准备DataBuffer

light = 0;

温度= 0;

NOP();

//测量传感器

moteApp_setSensorsInput();

uint8_t sizeOfUpdate = 0;

light = moteApp_convertSensorValue(moteApp_getLightValue());

oled_putString(moteApp_getLightString(),6,1);

sizeOfUpdate = moteApp_addToDataBuffer(moteApp_getLightString(),4);

temperature = moteApp_convertSensorValue(moteApp_getTempValue());

temperature = ADC_TempConversion(temperature) ;

moteApp_add8bToDataBuffer(温度,4 + moteApp_lightStringSize()+ 1);

//执行正常操作

//获取随机频道

randomPortNum = TMR2_ReadTimer();

//为Tx准备DataBuffer

moteApp_add8bToDataBuffer(randomPortNum,0);

dataBuffer [3] = 0x20;

NOP ();

sendDataCommand(“mac tx uncnf”,dataBuffer,12);

清单1:Microchip提供的C软件演示了一个示例IoT应用程序,该应用程序从Mote的光和温度传感器收集数据,使用数据构建消息( add8bToDataBuffer )并使用mac tx命令发送消息( sendDataCommand )。 (代码来源:Microchip Technology)

应用级开发

随着基于关键字的简化命令方法,Microchip LoRa模块和相关的Mote开发板大大简化了LoRaWAN端的开发设备。然而,即使系统级Mote板及其相关软件也只能处理LoRaWAN层次结构中最低的终端设备级别。完整的LoRaWAN兼容网络需要额外的硬件组件,包括兼容的网关和网络服务器。

此外,在实施物联网应用程序时,开发人员必须处理LoRa联盟标准仅解决的问题。标准OSI堆栈的最低级别。因此,开发人员需要完成额外的网络层,从位于LoRaWAN MAC标准所寻址的数据链路层之上的OSI网络层开始。

Microchip通过硬件和软件开发套件满足了这一需求实现完整的LoRaWAN兼容网络,包括终端设备,网关和网络服务器。 Microchip RN2903 LoRa网络评估套件和RN2483 LoRa网络评估套件将一对Motes与Microchip的LoRaWAN网关板捆绑在一起。该板由LoRaWAN网关核心板和配有天线和电缆的相关无线电子卡组成。

在软件方面,该套件使用Microchip LoRa技术评估套件,该套件提供所有软件组件需要完全评估示例LoRa系统(图2)。

如何使用Microchip模块实现LoRaWAN物联网应用

图2:Microchip的LoRa网络评估套件和软件套件实现了完整的LoRaWAN网络应用,包括终端设备(Mote板),网关(核心板) )和网络服务器(mchplora)。 (图像来源:Microchip Technology)

Suite提供了一个网络服务器(mchplora)作为docker容器,旨在在开发系统中的虚拟机上运行。网关板通过USB连接到开发系统,并与Mote板无线通信。 Mote板通过开发系统的USB连接到基于java的开发实用程序。

Microchip LoRa开发套件旨在与评估套件配合使用,提供全面的Java套件,提供更广泛的服务比Mote C库更好。例如,要发送MAC传输,Development Suite会将基础事务抽象为 macTX 类的简单 execute 方法(清单2)。

复制

void macTXSendAction()

{

if(this.application.device.updateValueFlag)

this.application.device.wanPojo.setData(this.data.getText());

if(this.application.device.updateValueFlag){

this.application.device .wanPojo.setPortNumber(this.portNumber.getText());

}

ICommand macTX = CommandFactory.getCommand(CommandFactory.mactx);

DeviceModel currDev = this.application.device;

macTX.setDataModel(currDev);

< p>

列表任务=新的ArrayList();

task.add(macTX);

if(currDev!= null)

this.application.mvcController.execute(task);

else

System.err.println(“当前设备未设置”);

}

清单2:Microchip LoRa开发套件提供了一个完整的LoRaWAN环境,包括一组抽象的LoRaWAN事务的Java包(jar文件)例如mac tx到一组简单的软件调用,例如 macTXSendAction()。 (代码来源:Microchip Technology)

在清单2中, CommandFactory 是在 LoRaDevUtility.jar 中定义的类,用于定义

public static String mactx =“mac tx”;

然后创建相应类的实例,在本例中为 macTx 类对象,当工厂被称为 CommandFactory.mactx :

if(command.compareTo(mactx)== 0)

返回新的macTX();

LoRaDevUtility.jar 中的 macTX.class 提供运行时配置值和各种服务功能,如数据包验证以及类的主要实用程序方法, execute 。 execute 方法以所需格式创建所需的mac tx命令字符串,传输消息( WriteI2cData ),然后获取响应:

< span>复制

command = new StringBuilder()。append(“mac tx”)。append(((DeviceModel)this.server).wanPojo.getIsConformed())。append(“”)。append(( (DeviceModel)this.server).wanPojo.getPortNumber())。append(“”)。append(((DeviceModel)this.server).wanPojo.getData()。replace(“0x”,“”))。toString ();

byte [] data = command.getBytes();

((DeviceModel)this.server).getController()。transport.WriteI2cData(this.processPacket.pack(data) ),null,this.timeout);

byte [] read = null;

read = super.readResponseData();

结论

高效连接是由大量低功耗物联网设备组成的物联网网络的基本要求。 LoRaWAN提供有效的物联网连接解决方案,以最低的功率要求提供远程操作。与任何连接选项一样,实现本身就是一项重大任务,使开发人员不再主要关注物联网应用本身。

基于Microchip Technology的RN2903 LoRa模块,Microchip Technology的LoRa网络评估套件及随附LoRa Development Suite提供完整的LoRaWAN应用程序。通过预先认证的硬件和软件的组合,开发人员可以快速开发出能够实现15公里无线范围和10年电池寿命的物联网连接解决方案。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4265

    浏览量

    85677
  • 物联网
    +关注

    关注

    2903

    文章

    44284

    浏览量

    371345
  • 低功耗
    +关注

    关注

    10

    文章

    2362

    浏览量

    103602
收藏 人收藏

    评论

    相关推荐

    联网学习路线来啦!

    ,通过这个网络可以实现设备之间的数据交流和互动。 联网的核心是数据,通过采集和分析数据,可以实现对设备和环境的监控和控制。
    发表于 11-11 16:03

    LORA模块联网中的重要性

    联网(IoT)是一个由互联网、传统电信网、传感器网络等多种网络组成的网络概念,它允许物体与物体、物体与人、人与人之间通过信息传感设备进行数据交换和通信,从而实现智能化识别、定位、跟踪
    的头像 发表于 10-31 16:59 326次阅读

    【星闪派联网开发套件体验连载】智能交通灯

    发板,5个模块,1个底板,1条数据线 单独的星闪派开发板: 全家福: 硬件组装: 星闪派联网开发套件,模块化、集成化,各功能模块已集成到小
    发表于 10-05 13:00

    联网系统中高精度RTK定位方案的实现_高精度定位模块

    联网系统中为什么要使用高精度定位模块 联网系统中使用高精度定位模块的原因主要体现在以下几个方
    的头像 发表于 09-26 17:53 862次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b>系统中高精度RTK定位方案的<b class='flag-5'>实现</b>_高精度定位<b class='flag-5'>模块</b>

    什么是联网技术?

    什么是联网技术? 联网技术(Internet of Things, IoT)是一种通过信息传感设备,按约定的协议,将任何物体与网络相连接,实现
    发表于 08-19 14:08

    数据安全与精准控制:LoRa技术与LoRaWAN网关实现智能灌溉的精准化应用

    LG1301-PF是LoRaWAN网关。 它可以与任何符合标准LoRaWAN协议V1.0的LoRaWAN节点一起使用。 网关以linux平台为主机,主要由集中器,GPS模块,WIFI
    的头像 发表于 07-23 14:55 360次阅读
    数据安全与精准控制:LoRa技术与<b class='flag-5'>LoRaWAN</b>网关<b class='flag-5'>实现</b>智能灌溉的精准化应用

    一文了解联网通信协议之MQTT如何助力无线模块广泛连接

    引言:随着联网技术的飞速发展,无线模块在连接各种智能设备、实现数据交互中扮演着至关重要的角色。为了有效满 足
    的头像 发表于 06-07 16:10 1027次阅读
    一文了解<b class='flag-5'>物</b><b class='flag-5'>联网</b>通信协议之MQTT如何助力无线<b class='flag-5'>模块</b>广泛连接

    4G联网开关求助

    阿里云联网平台 合宙模块780E 724 或者移远4G模块开发一款联网开关,有的APP ,可
    发表于 05-19 15:28

    事关卫星联网LoRaWAN 2027 发展路线图重磅公布

    ,是Semtech公司专有的一种基于扩频技术的超远距离无线传输技术。而LoRaWAN则是用来定义网络的通讯协议和系统架构,由LoRa联盟推出的低功耗广域网标准,可以有效实现LoR
    的头像 发表于 04-26 08:06 531次阅读
    事关卫星<b class='flag-5'>物</b><b class='flag-5'>联网</b>!<b class='flag-5'>LoRaWAN</b> 2027 发展路线图重磅公布

    联网综合实验平台分享

    一、简介 实验平台主要定位于满足联网相关课程的实训要求,实验平台支持ZigBee、BLE、lorawan、nbiot、RFID等无线网络通信,支持无线传感器网络、
    发表于 01-29 17:30 881次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b>综合实验平台分享

    TLT507-联网模块开发案例

    TLT507-联网模块开发案例
    的头像 发表于 01-26 10:26 880次阅读
    TLT507-<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>模块</b>开发案例

    TL3588-联网模块开发案例

    TL3588-联网模块开发案例
    的头像 发表于 01-24 11:51 664次阅读
    TL3588-<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>模块</b>开发案例

    LoRaWAN联网平台应用

    本文通过分析 LoRaWAN的特点,以及 LoRaWAN联网平台在智慧农业、智慧水务、智慧医疗等领域的应用,来介绍 LoRaWAN在智慧农
    的头像 发表于 01-11 16:01 420次阅读
    <b class='flag-5'>LoRaWAN</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>平台应用

    LoRaWAN模块强势面市联网 (IoT) 要求

    LoRaWAN是基于LoRa技术的一种通信协议,可将“事物”无线连接到区域、国家或全球网络中的互联网LoRaWAN技术可满足关键的联网
    的头像 发表于 01-08 09:52 514次阅读
    <b class='flag-5'>LoRaWAN</b><b class='flag-5'>模块</b>强势面市<b class='flag-5'>物</b><b class='flag-5'>联网</b> (IoT) 要求

    利用经过认证的 LoRaWAN 模块加速远距离连接的开发

    作者:Stephen Evanczuk 投稿人:DigiKey 北美编辑 在农业、资产跟踪、公用事业和联网 (IoT) 等许多基于传感器的大规模生产应用中,开发人员需要提供能用于更广泛工作范围
    的头像 发表于 01-01 17:16 912次阅读
    利用经过认证的 <b class='flag-5'>LoRaWAN</b> <b class='flag-5'>模块</b>加速远距离连接的开发