风筝
发表于: 2018-11-24 17:58:04 | 显示全部楼层

本篇文章将指导您如何将Microchip ATSAMR34 Xplained Pro评估套件连接到The Things Network。

Xvr1Sz4.png


获取Microchip ATSAMR34 Xplained Pro评估套件

ATSAMR34 Xplained Pro评估套件是用于评估ATSAMR34低功耗LoRa Sub-GHz SiP的硬件平台。 它支持Atmel Studio 7.0 IDE,自3.44.0发布以来,Advanced Software Framework(ASFv3)提供了一组示例代码。

Xplained Pro MCU系列评估套件包括一个板载嵌入式调试器(EDBG),无需外部工具即可对ATSAMR34进行编程或调试。

该套件提供了一系列功能,使您可以立即开始使用ATSAMR34低功耗LoRa Sub-GHz SiP外设,并了解如何将器件集成到您自己的设计中。

有关该套件的详细信息,请访问:https://www.microchip.com/Develo ... uctDetails/dm320111


ATSAMR34 Xplained Pro套件包含以下项目:

●    ATSAMR34 Xplained Pro评估套件

●    一个外置天线

ATSAMR34.png


收集Device EUI唯一标识符

LoRaWAN设备具有由芯片制造商分配给设备的64位唯一标识符(DevEUI)。 处理空中激活(OTAA)到LoRaWAN网络需要此DevEUI密钥。

Microchip ATSAMR34 Xplained Pro评估套件随附板载DevEUI。 这种独特的钥匙存放在EDBG芯片中,并印在贴在电路板背面的贴纸上。

翻转电路板并收集MAC值,稍后在TTN控制台中配置ATSAMR34 Xplained Pro套件时将使用该值。

MAC.png


注意:在软件方面,Microchip LoRaWAN协议栈使您可以灵活地使用Microchip闪存的DevEUI密钥或使用您自己的DevEUI密钥。


注册TTN帐户和应用程序

在本节,您将熟悉The Things Network界面。首先,您将创建自己的帐户。然后,您将创建一个独特的应用程序并添加新设备,以便您连接ATSAMR34 Xplained Pro评估套件。

第1步.  创建TTN帐户

1.    转到https://account.thethingsnetwork.org/users/login

2.    点击“创建一个帐户”

3.    输入唯一的“USERNAME”。您将无法在之后进行更改,并且在TTN中必须是唯一的。

4.    输入您的电子邮件地址和密码。

5.    点击“创建帐户”。

6.    您将收到一封确认帐户的电子邮件。您无需立即激活帐户。它可以在没有激活的情况下使用1周。

7.    验证/更新帐户信息。登录后,点击右上角的“帐户”,根据需要修改您的信息。


第2步.    创建LoRaWAN应用程序

1.    单击“控制台”链接。

2.    单击“APPLICATIONS”图标。

3.    点击“添加一个开始!”链接。

       表单将显示添加应用程序。

4.    填写“应用程序ID”和“说明”框。

      注意:对于应用程序ID,标识符必须与The Things网络唯一。如果你选择像“myfirstapp”这样的名字,那么大多数人肯定会选择相同的名字,但它会失败。

5.    对于“手柄注册”,请根据您的位置选择合适的手柄。    (例如:ttn-handler-eu,如果你在欧洲)。

6.    然后,单击“添加应用程序”。

7.    现在,您应该看到应用程序的摘要页面。

请注意以下事项:

应用程序ID,通过MQTT数据API访问数据的应用程序使用的唯一标识符。

应用程序EUI(AppEUI)需要在加入网络之前嵌入到ATSAMR34节点中。

访问密钥:通过MQTT数据API访问数据的应用程序也需要访问密钥。


第3步.  注册LoRaWAN设备

1.    单击摘要页面上的“注册设备”链接,添加您的ATSAMR34 Xplained Pro设备。

       应出现“注册设备”表单。

2.    输入设备ID和设备EUI框的信息。

      对于设备ID,输入唯一可读的名称。此名称在您的应用程序中必须是唯一的。

      对于Device EUI,输入从ATSAMR34 Xplained Pro评估套件的标签记录的8字节DevEUI。

      对于App Key,让TTN生成此密钥。

3.   点击“注册”。

      您应该看到状态为“从未见过”的信息框。稍后您将激活该设备。


第4步.    收集OTAA凭证

您现在拥有嵌入节点所需的所有密钥,并能够在TTN上进行通信。

从集成在ATSAMR34 Xplained Pro评估套件中的EDBG芯片中,您就拥有了DevEUI。

从TTN帐户,您已获得AppEUI和AppKey。

注意:此外,您拥有凭证,应用程序ID和访问密钥,您可以嵌入应用程序(如Node-RED)以通过TTN MQTT数据接口访问设备数据。


以C样式/ msb格式记录AppEUI和AppKey。稍后,您需要将这些数据粘贴到ATSAMR34终端设备演示应用程序中。

device oveview.png


在TTN上注册网关

以下操作说明将帮助您将自己的网关注册到TTN。

为此,我们专注于The Things Gateway(https://www.thethingsnetwork.org/docs/gateways/gateway/)。

您还可以参考视频说明“如何:在5分钟内激活物联网网关”(https://youtu.be/cJNK4y1is2Q?t=45s)。

1.    要激活您的网关,转到https://activate.thethingsnetwork.org/login

2.    确保您已登录,然后单击“让我们开始!”。

      这时将出现一个表单来注册您的网关。

3.    首先在“网关ID”字段中输入网关的唯一标识符。

4.    从下拉菜单中选择适当的频率规划。这基于网关运行的区域。

5.    保持选中“自动更新网关”框以启用进一步更新。

6.    单击“注册网关”。

7。  然后,为了增强功能,您将连接到网关的WiFi接入点。

       在PC上,选择名为“Things Gateway - xxx”的WiFi接入点并连接到该接入点。

8.    连接到网关的WiFi后,“Continue”按钮将变为蓝色,您可以单击它以进入下一步。

9.     然后,您必须选择希望网关连接到Internet的方式。

       如果您选择WiFi,请在字段中输入网络的SSID、安全模式和密码,然后单击“Configure Gateway”。

10.   这会将设置发送到网关,在接下来的几分钟内,您将看到具有网关状态的页面。需要30秒到2分钟才能完成配置设置。

       激活页面将指示网关上的LED指示灯指示的内容。

11.    您的浏览器将刷新页面以切换回您的WiFi配置,如果一切正常,您将看到通过您的网关发送的第一条消息。

12.    配置网关后,您可以通过控制台管理其余设置,并添加其他详细信息,如位置、海拔高度等。建议您通过管理无线网络从PC中删除网关的SSID。它将确保您的PC不会再次尝试连接到网关。

13.    这样您应该可以在“Gateway Overview”页面中看到网关。

Gateway overview.png


注意:访问https://www.thethingsnetwork.org/map以在地图上查看您注册的网关。


跳转到指定楼层
风筝
发表于: 2018-11-24 18:28:40 | 显示全部楼层

软件安装

以下是本篇文章使用的软件列表。


Atmel Studio 7.0

1.    下载并安装Atmel Studio 7.0 IDE。下载地址:https://www.microchip.com/mplab/avr-support/atmel-studio-7

2.    打开Atmel Studio 7.0 IDE。

3.    然后,您需要安装高级软件框架(ASFv3)作为Atmel Studio的扩展。

      在菜单中,转到Tools -> Extensions and Updates ...,然后安装高级软件框架(> = 3.44.0)。

4.    安装完成后,必须重新启动Atmel Studio。


注意:ASFv3是一个MCU软件库,为AVR和SAM闪存MCU和无线设备提供大量嵌入式软件。 ASFv3由Atmel Studio 7.0中的ASF向导配置(作为Studio的扩展安装)。 ASFv3也可作为独立(.zip)提供,其内容与Studio扩展(https://www.microchip.com/mplab/ ... -software-framework)相同。


重要信息:

在下一个Atmel Studio IDE版本发布之前,您必须手动安装Device Part Pack,以便在Atmel Studio 7.0 IDE上使用SAMR34 / R35进行开发。(Atmel Studio的IDE版本之间发布的所有产品都应由用户手动添加以开发应用程序)。

●    转到Tools -> Device Pack Manager

●    检查更新

●    搜索SAMR34并单击“安装”

●    对SAMR35重复相同的操作

●    重新启动Atmel Studio 7.0 IDE


Tera Term

从以下网址下载并安装串行终端程序:https://osdn.net/projects/ttssh2/releases/


硬件安装

为了实现连接,您需要在您的网关范围内。 如果您没有网关,请查看世界地图(https://www.thethingsnetwork.org/map)以查看您的本地社区是否在您所在的位置部署了网关。


要准备与ATSAMR34 Xplained Pro板的交互,请按照以下步骤操作:

1.    插上天线并始终确保天线已插入电路板,然后再接通电源。

2.    通过micro-USB线将电路板连接到PC。

       USB电缆必须连接到ATSAMR34套件的EDBG USB接口。

3.    等待USB驱动程序安装和COM端口安装。

       USB端口为电路板供电,使用户可以使用该套件进行通信。

4.    启动Tera Term程序并配置安装的串口:115200 bps 8N1。

Hardware.png


LoRaWAN Mote应用程序

Microchip LoRaWAN堆栈的ASFv3安装程序是Atmel Studio的扩展,为ATSAMR34器件中的LoRaWAN终端设备提供解决方案。该扩展允许用户将ASF中的ATSAMR34驱动器或传感器模块即插即用到Microchip LoRaWAN堆栈中,并创建易于演示的解决方案。


第1步.    生成应用程序

在Atmel Studio 7.0中执行以下步骤以生成LoRaWAN Mote应用程序。

1.    打开Atmel Studio IDE。

2.    从顶部菜单中选择:File -> New -> Example Project

3.    在“New Example Project from ASF or the Extensions”窗口中:

       =>选择SAMR34作为Device Family。

       =>从项目列表中,选择LoRaWAN Mote Application。

       =>为项目命名或使用默认名称(避免长文件名)。

       =>选择项目的位置。项目的路径应尽可能短。

       =>单击“确定”。

New Example Project from ASF or the Extensions.png

4.    选中“接受许可协议”复选框,然后单击“完成”。

5.    Atmel Studio为所选应用程序示例生成项目文件,可以与ATSAMR34 Xplained Pro板一起使用。

project files.png

6.    您可以使用菜单中的默认设置构建固件:Build - > Build Solution。

7.    成功编译和链接后,固件将显示在解决方案资源管理器的“输出文件”部分中。

Output Files.png


现在,您已准备好修改应用程序的设置以将终端设备连接到TTN。

回复

使用道具 举报

风筝
发表于: 2018-11-24 19:01:26 | 显示全部楼层

设置您的区域频段

Microchip LoRaWAN Stack根据LoRa Alliance为全球不同监管区域定义的LoRaWAN区域参数支持多个区域频段。默认情况下,项目中启用了所有区域。要禁用某些区域,请执行以下步骤。

1.    从“解决方案资源管理器”面板中选择项目。

Solution Explorer.png

2.    从顶部栏菜单中,转到:Project -> Properties (Alt+F7)。

3.    从左侧窗格中,选择Toolchain。

4.    在右侧窗格中,转到:“ARM/GNU C Compiler -> Symbols”。

       区域频段宏定义列在“已定义的符号”窗格中。

       * AS_BAND = 1(亚洲)

       * AU_BAND = 1(澳大利亚)

       * EU_BAND = 1(欧洲)

       * IND_BAND = 1(印度)

       * JPN_BAND = 1(日本)

       * KR_BAND(韩国)

       * NA_BAND = 1(北美)

Defined Symbols.png

5.    当相应区域频段的宏设置为1时,将启用对区域频段的运行时支持。当宏设置为0时,将禁用区域频段的运行时支持。

例如,以下是仅启用欧洲区域的宏定义值:

* AS_BAND = 0(亚洲:文莱、柬埔寨、印度尼西亚、老挝、新西兰、新加坡、台湾、泰国、越南)

* AU_BAND = 0(澳大利亚)

* EU_BAND = 1(欧洲868 MHz)

* IND_BAND = 0(印度)

* JPN_BAND = 0(日本)

* KR_BAND = 0(韩国)

* NA_BAND = 0(北美)

注:Microchip LoRaWAN协议栈的发行说明包含支持的区域频段列表。


配置LoRaWAN激活参数

要在TTN上激活ATSAMR34 Xplained Pro开发板,您将使用OTAA激活程序。 OTAA方法需要将以下参数嵌入到LoRaWAN Mote应用程序中:

●    AppEUI:从您的TTN帐户复制/粘贴

●    AppKey:从您的TTN帐户复制/粘贴

●    DevEUI:在ATMSAMR34 Xplained Pro评估套件的EDBG芯片中进行序列化(嵌入式)


您从ASFv3生成的LoRaWAN Mote应用程序提供可配置的参数,例如conf_app.h文件中的OTAA凭据。该文件位于<your project folder> / src / config。


要配置设备,请执行以下步骤:

1.    从“Solution Explorer”窗格中,展开/ src / config文件夹。

2.    打开conf_app.h文件。

conf_app.png

该文件包含与LoRaWAN Mote应用程序相关的可能配置。

3.    使用您从TTN帐户收集的AppEUI和AppKey修改DEMO_APPLICATION_EUIDEMO_APPLICATION_KEY宏的值。

DEMO_APPLICATION_EUI.png

注意:默认情况下,LoRaWAN Mote应用程序使用EDBG芯片中的嵌入式DevEUI。您可以通过更改位于符号定义和conf_board.h文件中的EDBG_EUI_READ宏的值来使用您自己的DevEUI。确保两侧的DevEUI相同:终端设备和网络服务器。


conf_board.h文件:

  1. /* TODO: If Board is having EDBG with DEV_EUI flashed in
  2. Userpage Enable this Macro otherwise make it as 0 */
  3. #define EDBG_EUI_READ      1
复制代码

符号定义窗口:

Symbols definition.png


构建固件

在Atmel Studio 7.0中执行以下步骤以构建LoRaMote演示应用程序的固件。

1.    从菜单中,转到:Build - > Build Solution

2.    成功编译和链接后,固件将显示在解决方案资源管理器的“Output Files”部分中。

Output Files section of Solution Explorer.png



烧写固件

执行以下步骤以在ATSAMR34 Xplained Pro上烧写固件。

1.    成功构建固件后,通过USB电缆将ATSAMR34 Xplained Pro套件连接到PC。 完成驱动程序安装后,Atmel Studio会检测到电路板。

2.    转到Debug - > Start without Debugging(Ctrl + Alt + F5)

Start without Debugging.png


运行演示应用程序

您从ASFv3生成的LoRaWAN Mote应用程序用于通过LoRaWAN协议将温度传感器数据发送到网络服务器。它使用UART串行接口和115200 bps 8N1配置,UART用于显示菜单选项。用户输入通过键盘提供。

1.    使用115200 bps 8N1配置打开Tera Term程序。

2.    在ATSAMR34 Xplained Pro板上,按RESET按钮(靠近EDBG USB接口)。

       应用程序将启动,在Tera Term上将显示菜单。您可以与LoRaWAN Mote应用程序演示进行交互。

3.    从第一个菜单中,选择Demo应用程序。

Demo application.png

4.    从第二个菜单开始,根据您的区域频段配置,选择合适的频段。

regional band configuration.png

5.    然后,终端设备将使用您之前在代码中修改过的OTAA参数自动尝试加入网络。您应该观察成功的加入消息,否则请仔细检查双方的OTAA密钥(终端设备和TTN)并从菜单中发送加入请求。

Join Reques.png

6.    从显示的第三个菜单中,选择“发送数据”。

Send Data.png

终端设备将发送包含摄氏温度和华氏温度的上行消息。

uplink message.png

现在是时候验证TTN服务器中终端设备的激活情况,以确认设备状态并通过TTN控制台与设备进行交互。

7.    在TTN控制台中,通过单击“应用程序”然后选择您创建的应用程序,然后单击“设备”子菜单并选择之前创建的设备,导航到“Device Overview”页面。

Device Overview page.png

8.    向下滚动并观察设备的状态。您应该看到“active”(绿色)状态以及帧计数器​​:

active.png

9.    单击“Data”选项卡以查看在TTN上接收的电路板上行链路有效负载数据。

data.png

有效载荷以HEX格式显示,对应于摄氏温度和华氏温度的温度值。

32 39 2E 32 43 => 29.2C

2F => /

38 34 2E 36 46 => 84.6F

回复

使用道具 举报

风筝
发表于: 2018-11-24 21:12:40 | 显示全部楼层

在TTN中部署Payload Decoder功能

您可以在TTN应用程序中部署一个小的JavaScript代码段,将TTN接收的字节数组有效负载解码为更有用的格式。

1.    在TTN控制台中,导航到Application -> <Your Application> -> Payload Formats

Payload Formats.png


2.    在下面显示的“decoder”编辑器窗口中键入或复制/粘贴下面的JavaScript代码:

  1. function Decoder(bytes, port) {

  2.     var result = {tempC: "", tempF: ""};

  3.     result.tempC = String.fromCharCode(bytes[0], bytes[1], bytes[2], bytes[3]);

  4.     result.tempF = String.fromCharCode(bytes[6], bytes[7], bytes[8], bytes[9]);

  5.     return result;

  6. }
复制代码

Payload Formats o.png

您可以通过在“Payload”窗口中输入(十六进制)测试字节32 39 2E 32 43 2F 38 34 2E 36 46并按“Test”按钮来测试该功能。

Payload window.png

生成正确的JSON表示成功的结果。

完成后,按“save payload functions”按钮保存/应用该功能。


现在,当您返回设备的数据视图时,您应该看到为每个新的上行链路消息生成解码的JavaScript对象。这些可由外部应用程序访问。

Applation Data.png


从TTN生成下行链路数据包

TTN控制台允许您安排/发送下行数据包到您的设备。本篇文章中,ATSAMR34 Xplained Pro已配置为Class -A设备。在这种情况下,设备在发送上行链路消息之后打开两个监听窗口,以便检查来自网络服务器的下行链路消息。

downlink packets.png


1.    在TTN控制台中,导航到“Device Overview”页面。

2.    向下滚动到Downlink字段。您可以在此处输入/安排下行链路负载。

downlink payload.png

注意:

Payload是将发送的十六进制字节数组字段。

FPort是应用程序端口号。

下行链路传输也可以确认。

3.    完成如下所示的字段以发送未经证实的下行链路消息(到FPort 1):

payload fields.png


4.    按“发送”以安排下行链路。

5.    返回Tera Term程序,从菜单中发送温度数据。在发送上行链路分组之后接收并处理下行链路消息。您应该观察以十六进制格式收到的消息。


在设备级别收到的消息:

Message received at device level.png

网络服务器上的消息流:

Message flow at Network Server.png


一个简单的节点RED应用

再深一步介绍,您可以创建一个Node-RED应用程序,通过TTN服务器显示来自ATSAMR34 Xplained Pro板的温度数据。

首先,让我们连接一个从TTN获取上行链路消息的简单流,在功能节点的帮助下提取摄氏温度和华氏温度值,并在简单的图表上绘制数据。

a simple flow.png

function.png

defult.png


译者注:本篇文章翻译自The Things Network官网:https://www.thethingsnetwork.org/labs/story/connecting-the-microchip-atsamr34-xplained-pro-kit-with-lorawan-to-the-things-network,如有错漏,敬请指正。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 5 | 回复: 15



手机版|

GMT+8, 2024-4-26 22:38 , Processed in 0.065626 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表