一板网电子技术论坛

天南地北客
发表于: 2018-11-24 23:32:27 | 显示全部楼层

IMG.jpg


ARM mbed网站上有一篇关于他们对LoRaWAN的支持的精彩文章。https://os.mbed.com/blog/entry/Adding-a-LoRaWAN-stack-to-Mbed-OS-58/


他们的代码今年有了很大改进。以前,使用起来有点棘手 - 现在github上有一个可以从Mac、Windows或Linux上的命令行本地构建的干净安装。使用GNU ARM嵌入式工具链和mbed-os。


我在下面描述了一个简单的方法,将此代码与DISCO-L072CZ-LRWAN1评估板一起使用(如图)。该代码可以简单地适用于STMicro Nucleo板上的sx1272 mbed扩展板,并且还支持RAKWireless RAK811节点。


我假设您已经在TTN控制台的应用程序中注册了您的设备:

  1. https://console.thethingsnetwork.org/applications/[your application name]/devices
复制代码

1.  设置GNU ARM嵌入式工具链并安装mbed-cli:

在Windows 10 PC上 - 只需使用可从此处下载的安装程序:mbed-cli安装程序


Mbed CLI的Windows安装程序包括以下组件:

●    Python - Mbed CLI是一个Python脚本,因此您需要Python才能使用它。安装程序安装Python的2.7.13版。它与Python 3不兼容

●    Mbed CLI版本1.2.2 - Mbed CLI

●    Git和Mercurial - Mbed CLI支持Git和Mercurial存储库。正在安装Git和Mercurial。 git和hg被添加到系统的PATH中

      ●    Git - 版本2.12.2

      ●    Mercurial - 版本4.1.1

●    GNU Arm嵌入式工具链 - 用于Arm的GNU嵌入式工具链

●    Mbed Windows串口驱动程序 - 串口驱动程序

请注意,Windows安装程序会设置所有路径,甚至可以配置一些MBED变量

检查gcc编译器的路径:

  1. mbed config -L
复制代码

在Mac上 - 使用自制软件 - 请记住在安装之前进行brew update && brew升级

如果你需要先安装自制软件,那么使用

  1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
复制代码

否则,只是:

  1. brew tap ArmMbed/homebrew-formulae
  2. brew install arm-none-eabi-gcc
  3. brew install python@2
  4. brew install mercurial
  5. brew install git
  6. git clone https://github.com/ARMmbed/mbed-cli
  7. cd mbed-cli
  8. python setup.py install
复制代码

检查mbed-cli的版本并确保安装正确 - 版本应为=> 1.8.2

  1. mbed-cli --version
复制代码

检查arm-none-eabi-gcc的安装位置

  1. which arm-none-eabi-gcc
复制代码

设置mbed的路径

  1. mbed config -G GCC_ARM_PATH "/usr/local/bin"
复制代码

在linux计算机上,以下是一个典型的安装(我使用的是ubuntu xenial)

  1. sudo apt-get install software-properties-common
  2. sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
  3. sudo apt-get update
  4. sudo apt-get install gcc-arm-embedded
  5. sudo apt-get install build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev
  6. sudo apt-get install mercurial git python-dev python-pip
  7. pip install mbed-cli
  8. mbed-cli --version
  9. which arm-none-eabi-gcc
  10. mbed config -G GCC_ARM_PATH "/usr/bin"
复制代码

2.    从mbed github中下载示例代码,并使用mbed-cli在文件夹中创建本地mbed-os环境(注意'mbed-cli'也可以使用'mbed'工作)

  1. mbed import mbed-os-example-lorawan
  2. cd mbed-os-example-lorawan/
复制代码

3.    配置节点

编辑mbed_app.json以配置lora.device-eui,lora.application-eui,lora.application-key


4.    编译并发送到评估板(假设只连接了一个ST-Link / Nucleo / DISCO板)

  1. mbed compile -m DISCO_L072CZ_LRWAN1 -t GCC_ARM --flash
复制代码

5.    使用mbed作为终端模拟器:

  1. mbed sterm --baudrate 115200
复制代码

请注意,在linux上,可能需要更改串行端口的用户权限,类似于:

  1. sudo chmod 666 /dev/ttyACM0
复制代码

6.  按下探索板上的黑色复位按钮

你应该会看到这个:

  1. Mbed LoRaWANStack initialized
  2. CONFIRMED message retries : 3
  3. Adaptive data  rate (ADR) - Enabled
  4. Connection - In Progress ...
复制代码

几秒钟后,会显示:

  1. Connection - Successful
  2. Dummy Sensor Value = 2.1
  3. 25 bytes scheduled for transmission
  4. Message Sent to Network Server
复制代码

如果遇到任何问题,请随时在下面回复。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 43 | 回复: 69



Archiver|手机版|小黑屋|

GMT+8, 2018-12-19 05:44 , Processed in 0.031249 second(s), 32 queries . Powered by Discuz! X3.4

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

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