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控制台的应用程序中注册了您的设备: - 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编译器的路径:
在Mac上 - 使用自制软件 - 请记住在安装之前进行brew update && brew升级 如果你需要先安装自制软件,那么使用 - /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
复制代码否则,只是: - brew tap ArmMbed/homebrew-formulae
- brew install arm-none-eabi-gcc
- brew install python@2
- brew install mercurial
- brew install git
- git clone https://github.com/ARMmbed/mbed-cli
- cd mbed-cli
- python setup.py install
复制代码
检查mbed-cli的版本并确保安装正确 - 版本应为=> 1.8.2 检查arm-none-eabi-gcc的安装位置 设置mbed的路径 - mbed config -G GCC_ARM_PATH "/usr/local/bin"
复制代码
在linux计算机上,以下是一个典型的安装(我使用的是ubuntu xenial) - sudo apt-get install software-properties-common
- sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
- sudo apt-get update
- sudo apt-get install gcc-arm-embedded
- sudo apt-get install build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev
- sudo apt-get install mercurial git python-dev python-pip
- pip install mbed-cli
- mbed-cli --version
- which arm-none-eabi-gcc
- mbed config -G GCC_ARM_PATH "/usr/bin"
复制代码
2. 从mbed github中下载示例代码,并使用mbed-cli在文件夹中创建本地mbed-os环境(注意'mbed-cli'也可以使用'mbed'工作) - mbed import mbed-os-example-lorawan
- cd mbed-os-example-lorawan/
复制代码
3. 配置节点 编辑mbed_app.json以配置lora.device-eui,lora.application-eui,lora.application-key
4. 编译并发送到评估板(假设只连接了一个ST-Link / Nucleo / DISCO板)
- mbed compile -m DISCO_L072CZ_LRWAN1 -t GCC_ARM --flash
复制代码
5. 使用mbed作为终端模拟器:
- mbed sterm --baudrate 115200
复制代码请注意,在linux上,可能需要更改串行端口的用户权限,类似于: - sudo chmod 666 /dev/ttyACM0
复制代码
6. 按下探索板上的黑色复位按钮 你应该会看到这个: - Mbed LoRaWANStack initialized
- CONFIRMED message retries : 3
- Adaptive data rate (ADR) - Enabled
- Connection - In Progress ...
复制代码几秒钟后,会显示: - Connection - Successful
- Dummy Sensor Value = 2.1
- 25 bytes scheduled for transmission
- Message Sent to Network Server
复制代码
如果遇到任何问题,请随时在下面回复。 |