[资料分享] 瑞昱Ameba无线单片机-如何使用LoRa协议

marcrabs 2020-08-05 07:06:57

LoRa是LongRange的简称,是应用在物联网的低功耗广域网的一种传输技术。具有远距离通讯、低功耗等特点,代价就是传输速率,速率越低,传输的距离就会越远。基于线性调频扩频技术,保持了FSK调制相同的低功耗特性,额外增加了通信距离。因此使用LoRa技术,能够以低的发射功率获得更远的传输距离。

因此,LoRa非常符合物联网应用的一些场景,比如智能水表等。今天就给大家带来一篇在瑞昱ameba开发板上使用LoRa协议的教程,希望对大家有帮助。

材料准备
- Ameba x2
- Dragino LoRa Shield x 2

范例说明
Dragino Lora扩展板基于开放源码库,允许用户发送数据,能够达到极长的传输范围,并且在低data-rates提供超远距离扩频通信和高抗干扰性的同时尽量减少电流消耗,而因各个国家有不同的频段规划,在购买时请留意LoRa Shield所使用的频段。
LoRa Library请至下列连结下载:
https://github.com/ambiot/amb1_arduino/raw/master/Arduino_libraries/AmebaLoRa.zip
安装library的方式请参考Arduino官方网站的教学文章将zip档的library加入Ameba:
https://www.arduino.cc/en/Guide/Libraries#toc4

Dragino LoRa Shield SPI范例接线说明如下:
Dragino LoRa Shield可以直接嵌合在Ameba板子上,但由于Ameba的CS pin与标准的SPI协议相比有其特殊性,因此Dragino LoRa Shield的CS pin不能直接与Ameba的CS pin相连接,于此在Dragino LoRa Shield上的修改需将CS pin也就是pin 10的脚位往内扳,并且使用杜邦线接至pin 0,如下图示:

而Dragino LoRa Shield的SPI Data是从ICSP的SPI BUS产生的,因此如同以下图示接至AMEBA的SPI脚位:


范例使用说明
本范例中同时使用send及receive程式码,来作2块Dragino LoRa Shield的功能验证,一块是发送端,另一块是接收端,我们打开范例“File” -> “Examples” -> “AmebaLoRa ” -> “LoRaSender”及LoRaReceiverCallback, 分别编译并上传至Ameba之后按下Reset按钮,就可以在终端机看到底下的结果:
...全文
21033 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧