解决问题一 (如何减少硬体成本及功耗):
在初接触LoRa模组的人中有需多会先使用既有厂商开发的UART模组,其原因是可以加快开发时间及人力成本。但其中会碰到两个问题为UART模组中必定有一颗微处理器MCU,而外部也必须再外接一颗MCU来处理系统流程如下图。
图1
当使用两个MCU时就必须考虑到多一颗MCU就是多一个价格成本,除此之外还有多一个功率消耗。当然曾经有厂商开发可以在其模组可开发自有程式的产品,但是因为其需要较大的技术支援所以会有最小采购需要MOQ的限制或是NRE工程费用的产生。此次方案我们就是介绍如何自行使用ATMEGA328来处理感测器的信号后将其资料由SX1276传送出去及接收。如此可让使用LoRa的工程师有另一个选择。
解决问题二 (使用LoRa改善传输技术改善通讯能力):
对于大楼建筑、工厂或是农场以至于如欧美之家庭之安全需求是一大需求,对于此类安防之系统架构一般都是使用实体有线、FSK(频率偏移调变)、Zigbee、Bluetooth或是Wifi等传输模式来做为通讯方式。但这些通讯方式或多或少都有其先天的限制,下面为我约略做的整理比较表
图2
依上表来看,如果我们要在此等警告系统中使用上列技术的话会有点挑战性。所以我们以本方案来提出使用LoRa方式来解决如下问题
距离: LoRa 可提供高至-148 dB 的感度,可提供长距离及高穿透性的应用。
抗干扰: 使用展频技术可提供高抗杂讯。
省电: 低至0.1uA之耗电可提供长时间不需更换电池使用。
方案特色说明
本方案之特色为提供LoRa开发人员除了在使用市场现有已经内含LoRa协议的模组外有另一个选择! 可以在ATMEGA328 MCU上同时有自己的应用程式及LoRa协议,这个特色可以使产品可以降低成本和减少电池功耗及增加待机和工作的时间的优势。
工作原理描述说明
在此方案中我们是以Semtech出品的SX1276RF1KAS模组来当SPI模组的范例,其相同的模组在市面上有许多公司在生产销售。我们这里就是使用该模组再加上广为使用在Arduino开发环境上的Atmega328来示范。我们先使用Arduino 来连接SX1276 的SPI界面、Reset、DIO0和电源接脚,之后再在主程式中呼叫程式库来执行SX1276参数设定及传送接收功能。
如何使用SX1276RF1KAS SPI模组开发
一 SX1276RF1KAS架构解析
该SX1276RF1KAS为Semtech LoRa开发平台Eiger Platform中的SPI模组,其主要的组成为做为核心的LoRa芯片SX1276、记忆参数的24AA128 EEPROM(在本方案中不会使用)、高频通道切换芯片PE4259及匹配回路如图三如下。
图3
二 如何连接SX12761KAS与ATMEGA328硬体架构
- 图四中所示当我们使用SX1276时我们需要连结其中的SPI (MOSI、MISO、NSS及SCK),Reset、DIO0及电源等接线如下。下图为SX1276RF1KAS之接脚图
图4
2. 在图五中为我们在这个方案中所使用的Arduino Pro-Mini开发板中的接脚图,其中除了MISO、MOSI、SCK为固定脚位外其他NSS、DIO0及Reset皆可以按需求在程式库中改变其脚位。
图5
图6 SX1276及Arduino ProMini 接脚对照图
安装Arduino开发环境及操作说明
步骤一 (环境安装):
示范如何安装 Arduino (影片演示)(油管视频,想看?你懂的)
//www.youtube.com/embed/piJb3b9A5go
步骤二 (软体开发及上传至MCU):
按下面连接以观看如何开启程式、组译及烧录至IC (影片演示)(油管视频,想看?你懂的)
//www.youtube.com/embed/cVoo5gB_jks
如何在在Arduino下使用Library开发LoRa
步骤一: 寻找及安装程式库
在网路上我们可以找到各式各样的程式库,在这个方案中我们使用的是由Sandeep Mistry所提供的LoRa程式库;其版权为根据MIT License来授权使用。
我们会使用Sandeep的程式库是其API简洁易用,其次可以简单的描述来设定如频率、展频因子、频宽等等参数。详细API说明可参考如下
https://github.com/sandeepmistry/arduino-LoRa/blob/master/API.md
图7 Sandeep Mistry 程式库相关资料
步骤二: 如何安装Sandeep LoRa 程式库 (影片演示)(油管视频,想看?你懂的)
//www.youtube.com/embed/mPb8XwzAGX0
步骤三: 开启范例测试SPI沟通
图8
步骤四: 开启发送及接收程式范例:
图9
基本程式结构
一 传送
图10
二 接收
图11
成果演示
一 测试环境解说
图12 测试环境布置
二 使用Semtech 开发工具验证所开发之方案传送功能(油管视频,想看?你懂的)
//www.youtube.com/embed/sm7Rqfw2DUg
三 使用Semtech 开发工具验证所开发之方案接收功能(油管视频,想看?你懂的)
//www.youtube.com/embed/68dj9ZfEglQ
►场景应用图
►产品实体图
►展示板照片
►方案方块图
►核心技术优势
SX1276 芯片为具有LoRa®远程调制解调器,可提供超长距离扩频通信和高抗干扰性,同时将电流消耗降至最低。 Semtech的专利LoRa调制技术SX1276可以使用低成本的震荡晶体和材料清单来实现-148dBm以上的灵敏度。高灵敏度与高达+ 20dBm功率放大器相结合,产生了业界领先的链路预算,使其成为物联网应用的最佳选择之一。 与传统的调制技术相比,LoRa提供了优异的抗干扰性和低耗能之间的最佳方案。
►方案规格
芯片组 ~ SEMTECH LoRa SX1276系列 频率 ~ 862-1020MHz(型号:LM-230H) 传输功率 ~ 100mW(MAX。) 传输媒体 ~ UART UART波特率 ~ 1200/2400/4800/9600/19200/38400/57600bps 电流消费 ~ 接收:13 mA(典型值),发射:120 mA(典型值),睡眠:2.2uA(典型值) 传输距离 ~ 1KM〜10KM(0.81Kbps) 接收灵敏度 ~ -132dBm@0.81Kbps 工作温度 ~ -40°C~85°C 尺寸 ~ 尺寸25毫米x 18毫米x T2.6毫米:身份验证和加密 感测器主要特点 检出气体:可燃气体,烟气 检测强度:300〜10000ppm(可燃气体) 工作电压:5.0V±0.1V AC或DC 预热时间:≥2分钟