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年电池寿命的物联网连接解决方案。

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

    关注

    12

    文章

    3854

    浏览量

    84651
  • 物联网
    +关注

    关注

    2867

    文章

    41592

    浏览量

    358274
  • 低功耗
    +关注

    关注

    9

    文章

    2225

    浏览量

    102653
收藏 人收藏

    评论

    相关推荐

    LoRaWAN联网平台应用

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

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

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

    #电工 #plc #联网 随温度变化而自动调光的联网模块

    plc联网模块
    juying
    发布于 :2023年11月07日 16:46:27

    联网里GPRS模块耗电是很高的,怎么控制功耗?

    联网里GPRS模块耗电是很高的,那一般都是怎么控制功耗的。
    发表于 11-06 06:39

    如何采用mqtt协议实现联网模块消息推送?

    如何采用mqtt协议实现联网模块消息推送
    发表于 11-03 06:55

    联网专业前景怎么样?

    联网专业前景怎么样? 联网专业在当今技术发展迅速的背景下具有广阔的前景。以下是联网专业的
    发表于 10-20 09:48

    基于飞腾派的边缘联网

    本帖最后由 zhh763984017 于 2023-9-21 16:53 编辑 今天给大家分享一个飞腾派的一个应用场景——边缘联网关。边缘联网关可以连接各种
    发表于 09-21 16:50

    LoRawan模块在报警系统的应用

    等原因,使得传统有线报警系统不能全部满足安装要求。搭载LoRawan模块的物联网通信技术,可以与各种智能终端结合,并可以将探测器安放在任意位置,一旦有险情就会第一时间触发报警系统,及时上报给指挥中心,可以大大提高探测
    的头像 发表于 09-13 08:56 196次阅读
    <b class='flag-5'>LoRawan</b><b class='flag-5'>模块</b>在报警系统的应用

    浅谈工业联网平台

    工业互联网平台 工业互联网平台的本质是在传统云平台的基础上叠加联网、大数据、人工智能等新兴技术,搭建对工业数据采集、存储、分析和应用的模块
    发表于 08-10 15:45

    【华秋推荐】联网入门学习模块 ESP8266

    随着全球信息技术的不断进步和普及,联网成为当今备受关注的技术热点之一。通过物理和数字设备之间的连接来实现自动化和互联互通的网络。无线传感器、云计算和大数据分析等技术,
    发表于 08-04 11:27

    搭建LoRaWAN服务器——ChirpStack

    用全双工LoRaWAN网关E870-L470LG11和SoC无线模块测试套件E78-400TBL-02来演示如何配置LoRaWAN网络通讯。此外,我们将搭建本地模拟的C
    的头像 发表于 07-31 23:07 578次阅读
    搭建<b class='flag-5'>LoRaWAN</b>服务器——ChirpStack

    NET Core LoRaWAN客户端使用Seeed LoRa E5模块

    电子发烧友网站提供《NET Core LoRaWAN客户端使用Seeed LoRa E5模块.zip》资料免费下载
    发表于 06-15 14:41 0次下载
    NET Core <b class='flag-5'>LoRaWAN</b>客户端使用Seeed LoRa E5<b class='flag-5'>模块</b>

    NET Core LoRaWAN客户端使用RAK3172模块

    电子发烧友网站提供《NET Core LoRaWAN客户端使用RAK3172模块.zip》资料免费下载
    发表于 06-15 14:38 0次下载
    NET Core <b class='flag-5'>LoRaWAN</b>客户端使用RAK3172<b class='flag-5'>模块</b>

    基于机智云联网平台的智能种树小车

    种树各个过程的进行。 主控板通过GPS北斗定位模块采集的信息确定具体种树的位置,以此实现区域化的种植,便于多辆种树小车同时工作而互不发生干扰。主控板通过图像识别摄像头拍摄的视频可以上传到联网
    发表于 05-31 19:38

    联网无线通信技术比较

      联网在经过多年由概念到实践的蛰伏,起伏之后,现在已经呈燎原之势,联网时代已经到来。起的太早的,有些已经在沙滩上了,再晚了的需要迎头赶上了。   从应用方面看,
    发表于 05-15 15:57