首页 > 评测 > 完整的LoRa体验,有这一套就够了!——LoRa IoT Kit体验
完整的LoRa体验,有这一套就够了!——LoRa IoT Kit体验
- [导读]
- 如果想要完整的LoRa体验,至少需要一个LoRa网关和一个LoRa节点。而除了这两者必须部件之外,Dragino的套件中还提供了更多惊喜。所以想要完整的LoRa体验究竟要花多少银子?这或许是很多LoRa入门开发者最关心的问题。我们认为Dragino在这一方面做的不错。
LG01-P内置AR9331模块,最高运行主频为400MHz,并布署了OpenWRT系统,从这点看,完全可以把LG01-P当作一个路由器来使用。LoRa这一块的通信,使用的是RF96 LoRa模块,提供了高达168dB的链路预算,最高100mW的输出,支持FSK, GFSK及LoRa等调制/解调功能。除了LoRa模块,PCB上还集成一颗ATMEG328P的芯,通过SPI/UART分别与RF96及AR9331进行通信。下面是拆开网关之后看到的样子
图中红色的PCB板包含了ATMEGA328P及LoRa模块,它的下面就是Dragino HE Linux模块,内含AR9331。可以看到WIFI天线是内置的,引出的天线接口连接到LoRa模块上。另外可以看到LG01P内部还预留了一个LoRa BEE模块接口,只是没有连接模块,估计是作未来扩展功能之用。
LoRa模块可以拆下来,拆下来看到下面的IoT模块也就是Dragino HE Linux模块
这就是实现网络通信的模块,金属屏蔽罩内部是AR9331模块,配合OpenWRT与Internet连接。另外看到下面还有个叫SENSOR的接口,应该可以用来连接外部传感器。
LG01-P默认打开WIFI连接,没有设置加密,可以使用WIFI设备如手机连接到网关,网关默认的IP地址是10.130.1.1,开启了DHCP服务,移动WIFI设备可以直接获取IP地址,如下是手机连接到网关后的信息
将LoRa网关的WAN口与上级路由器连接,可通过DHCP获取WAN口获取IP地址,这些都是默认设置,无需配置,下面是LoRa网关连接到路由器后使用浏览器登录信息
默认密码为dragino,使用过OpenWRT的用户对这个界面应该非常熟悉。如果使用3G/4G模块连接Internet的话,需要在OpenWRT内进行设置,这里直接使用WAN口连接,使用默认设置就行。
除了可以使用WEB配置,也可以使用SSH连接网关进行配置,下面是使用SSH连接到LoRa网关的配置界面
重点还是LoRa。
LoRa只是一种无线通信技术,工作在物理层,不同设备会存在不兼容的情况。LoRaWAN是一种通信协议,基于LoRa技术实现,除了消除硬件之间的不兼容,还在加密、动态切换等方面予以定义,实现的方法可能各不相同,但最终的LoRaWAN数据包消除了这些差异。LoRaWAN协议栈是软件,通常结合MCU来具体实现,Dragino的LoRaWAN协议栈通过ATMEG328P来实现,一来是支持资源比较多,另一个也可能是出于成本的考虑。
DRAGINO LoRa IoT Kit里包含一个网关,俩个不同类型的结点,其中一个带GPS,下面来试试通信。
最基础的LoRa通信需要两个设备,彼此之间通过LoRa交换数据,这里选择LG01-P做为服务器,另外使用一个LoRa Shield做为结点。前面已经说过,LoRa只负责RF信息交换,具体的数据信息交换需要使用协议栈来实现,LoRa联盟给出了一个规范,不过当前很多厂商自己的实现并未完全遵守该规范,不过这并不影响实际的使用,只是不同厂商之间的设备进行信息交换时会存在兼容性问题。LoRaWAN不兼容的后果就是需要分别对网关及结点设备都加入自己的协议控制。本次的评估套件,不管是网关还是LoRa Shield,二者都是通过ATMEG328P来控制,所以使用ARDUINO IDE来作为开发环境就行。
启动ARDUINO IDE,先添加IDE对Dragino的支持,在ARDUINO IDE的首选项对话框中添加DRAGINO硬件支持,如下
在Additional Boards Manager URLs中输入的地址为:http://www.dragino.com/downloads/downloads/YunShield/package_dragino_yun_test_index.js,这里添加的只是板级支持及示例代码,但是不包含底层的LoRa硬件库文件,还要另外下载RF库文件支持,下载地址为http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.63.zip,解压后放到Arduino的库文件目录。
接下来就把网关或LoRa Shield当成一个Arduino(Yun)设备来用就好了。先对网关烧写代码,下面是本次测试中要用到的两个示例代码,位于examples目录下,其中Server运行在LG01-P上,Client运行在结点上。
需要注意一点,LG01-P没有引出编程用的串口,可以使用网络接口来对网关编程,配置好的设备型号及端口如下
现在可以编译并上传服务器端代码,打开串口可以看到如下信息
服务器端开始监听结点信号,使用的频段是868MHz,此时客户端还未就绪,串口信息也没有刷新,就一直等待。
接下来要给客户端设备上传代码,基本过程类似,除了代码不同外,还需要将开发板的型号设置为Arduino/Genuino UNO,然后开始上传客户端代码。很快就可以看到串口输出信息有变化
通信开始了!
确实很简单,再想想底层使用的是LoRa,远距离通信技术,小激动。两个设备放在一起挨得很近,RSSI的值看上去很好,不知道扔到两公里外是什么状况,小期待!
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前