Infineon英飞凌官微

文章数:1586 被阅读:2056451

账号入驻

如何将赛普拉斯PSoC 6 MCU接入LoRaWAN TTN

最新更新时间:2018-04-12
    阅读数:


图1:物联网(loT)网络(来源:https://thethingsnetwork.org)


关于LoRa

LoRa是一种相对较新的用于远距离低功耗的无线通信技术,主要应用于物联网(IoT)领域。有关详细信息,请访问其专利持有者——Semtech公司(http://www.semtech.com)和LoRa联盟社区(http://lora-alliance.org)。

 

基于LoRa技术的LoRaWAN,可在全球各地布局物联网(IoT)网络(见图1)。IBM提供免费的堆栈(LMiC),网址为:https://github.com/mcci-catena/ibm-lmic/releases。TTN提供一个开源网络,网址为:https://thethingsnetwork.org。


小编今天介绍的项目就是如何将采用LoRaWAN LMiC堆栈的PSoC 6 MCU设备连接到TTN。


本文转自Hackster.io网站(点击文章末尾的“阅读原文”访问该网站相关页面),由小编编译,欢迎拍砖。


项目简介



通过Dragino LoRa RFM95W,将采用LMiC堆栈的Cypress PSoC 6 MCU设备连接到LoRaWAN TTN平台。


准备材料


硬件:      

  • Cypress PSoC 6 (CY8CKIT-062-BLE) ×1   

  • SeeedStudio Dragino LoRa Shield     ×1              


软件应用程序和在线工具:

  • Cypress PSoC Creator 

    (https://www.hackster.io/cypress/products/psoc-creator)


构建系统


One Thing(设备)是由一个PSoC 6 MCU先锋套件(CY8CKIT-062-BLE)和一个配备有LoRa射频模块(RFM95W/RF96 = SX1276)的Arduino 扩展板组成。图1展示了整个硬件配置。在PSoC Creator中导入一个现成的项目,硬件抽象层(HAL)已经过调整适用于PSoC 6 MCU,并导入了IBM LMiC v1.6的LoRaWAN堆栈。

图2:基于PSoC 6 MCU的TTN设备和TTN网关


所需硬件:


  • PSoC 6 CY8CKIT-062-BLE先锋套件  ×1

  • Dragino LoRa 扩展板(含RFM95W射频模块)×1

  • 选配:LoRa网关,例如:LG01   ×1


Dragino LoRa扩展板具有完整的相关文档,以及专门的网页(维基网页),所有项目细节均已列出在相关页面:http://wiki.dragino.com/index.php。


在PSoC 6 MCU先锋套件中使用该扩展板,需满足以下跳线设置:

CY8CKIT-062和Dragino LoRa的跳线设置图解

(图片来源:http://wiki.dragino.com)


该扩展板采用了一个HopeRF生产的基于Semtech SX1276的RFM95W射频模块。请务必安装天线,然后小心地将Dragino LoRa扩展板安装在PSoC 6 MCU先锋套件上,如图3所示。

图3:安装有Dragino LoRa扩展板和RFM95W射频模块的CY8CKIT-062-BLE


网关


为确保接入TheThingsNetwork,必需要保证LoRa网关可访问。


你可以通过TTN网站 https://www.thethingsnetwork.org/,查询附近是否存在TTN LoRa网关。此次案例演示,因为我们没有TTN LoRa网关,所以决定买一个便宜的单通道网关(图4),然后通过搭建我们自己的网关节点连接到TTN。 


图4-图片来源:

http://www.dragino.com/products/lora/item/119-lg01-s.html


LG01-S是一个单通道开源LoRa网关,它可以通过WiFi、以太网、3G/4G蜂窝网络将LoRa无线网络和一个IP网络连接起来。


详情请查阅:http://www.dragino.com/products/lora/item/119-lg01-s.html


请注意:单通道网关(如LG01)有一定的局限性。它只由一个通道并且以一种速度接收和传输数据,且不具备下行链路的功能,所以无法用于需要将信息发送回设备的场合。此外,并非所有的网络都可以允许使用单通道网关,目前TTN是可以的。所以,作为既经济又快捷的解决方案,我们决定这次使用它来进行首个LoRaWAN测试。


获取更多关于如何配置LG01以适用于TTN的详细信息,请访问Dragino网站 http://wiki.dragino.com/index.php?title=Connect_to_TTN。


软件


整个软件项目已添加到本项目的文档中。然而,所用的堆栈可能还会有更新的版本。以下列出一些已使用过的编译:

  • PSoC Creator v4.2 (www.cypress.com)

  • IBM LMiC堆栈 v1.6 (https://github.com/mcci-catena/ibm-lmic/releases

  • 进入如下链接,获取所导入的基于Arduino的项目主程序:

    https://github.com/dragino/Arduino-Profile-Examples/blob/master/libraries/Dragino/examples/LoRa/LoRaWAN/Arduino_LMIC/Arduino_LMIC.ino

为便于PSoC 6 MCU以及相应的PSoC Creator工具链采用LMiC库,需要做出一些修改,其中一个主要问题与#defines用法有关: 


原始版本:

PSoC Creator:


综述在LMiC v1.6内做出的所有变动:


hal.h:

  • 增加的

  • 增加的

lmic.c

  • PSoC Creator:

lorabase.h 

  • 增加的

oslmic.h

radio.c

  •  PSoC Creator:


最后,HAL.c/h/的执行需要使用PSoC 6 MCU外设和API。因此,该模块已经重新编写了与头文件及其功能规范相关的内容。


注意:要在PSoC Creator内完成全局定义:

  • See Project -> Build Settings... -> Compiler -> CM4 -> Preprocessor Definitions:

  • CFG_lmic_clib; CFG_eu868; CFG_DEBUG; CFG_sx1276_radio


附件的项目仍然有22条警示需要继续解决,包括未用到的变量,符号问题等,但这并不影响常规测试。 


测试


由于没有公共的TTN网关,我们基于Dragino LG01-S建立了自己的单通道网关。该网关已在TheThingsNetwork 注册,且无论何时连接至网络均可以在地图上显示(图5/6)。

 

图 5:TTN网络地图显示的赛普拉斯网关


图 6:赛普拉斯LoRa网关详细信息


在网络控制台内,用户可增加自己的设备、随时监控该设备与TTN的连接,以及观察所接收到的数据包(上行链路)。


图7显示赛普拉斯网关处于在线连接状态,并且显示上一次在线时间仅为一分钟前。已接收信息超过200条。


图8显示了通过我们的PSoC 6设备(注册为“psoc6lora”),一个数据包已经被上传至TheThingsNetwork。并且,有效负载(PSoC6LoRa)是通过我们自己的网关接收获得,此外,还展示了更多细节方面的信息,如频率和扩展因子。


图7:赛普拉斯网关在线信息


图8:PSoC 6 LoRa设备信息


经过初步测试得出,通过LoRa通信可以顺利地连接我们自己的网关,距离为大约10厘米(参见图9)。荷兰作为领先的运行LoRa网络的国家,我们在进行客户访问期间进一步完成了一些其他的测试。 在距离酒店大约6.7公里的距离上,我们连接到另一个网关,如图9所示。该网关的详细信息见图10。


 图9:在酒店和一个外部网关之间建立起PSoC MCU LoRa通讯连接


图10:网关所接收到的来自酒店的PSoC 6数据包详情


客户访问回来的途中,开车穿过荷兰的时候,PSoC 6 MCU LoRa设备在车内运行,可以连接到了A12高速公路旁边的几个网关。

图11:连接至A12高速公路上的网关

 

总结


集成LoRaWAN软件堆栈的PSoC 6 MCU已经成功进驻TheThingNetwork。

 

这个项目应该被视为一个非常基本的概念验证,主要对运行在PSoC 6 MCU上面的LMiC堆栈进行验证。

 

目前,我们并未涉及LoRa的所有方面,尤其是距离范围或低功耗考量。这些研究毋庸置疑将是下一步要完成的。

 

在荷兰已经完成了一些快速测试,连接距离可以达到7公里左右的外部网关。

 

由于内部仅有一个单通道网关可用,如调频或者下行链路等其他功能尚有待评估。但作为LMiC所提供的主要部分,预计可以正常运行。


该项目所需的完整的软件项目已附在此备忘录内。


下一步计划要做的是在低功耗运行方面的研究……敬请期待!


代码

PSoC Creator Project (PSoC6_RFM95_LoRaWAN_IBM_LMiCv16)C/C++


下载

https://halckemy.s3.amazonaws.com/uploads/attachments/396339/PSoC6_RFM95_LoRaWAN_IBM_LMiCv16.cyprj.zip


该PSoC Creator项目运行LMiC LoRaWAN堆栈。


看完这个项目,您是否已跃跃欲试?赛普拉斯欢迎大家将自己的创作踊跃投稿,我们将在微信上选登,选登文章作者将赢得我们的微信红包!您还在等什么?



长按下方的二维码

关注赛普拉斯最新动态




最新有关Infineon英飞凌官微的文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved