如何使用树莓派构建 LoRa 网关?

news2024/9/20 0:22:31

顾名思义,远距离广域网或LoRaWAN技术广泛用于物联网(IoT)中的远距离、低功耗通信。

在本文中,我们将指导您如何将SX130x 868M LoRaWAN网关模块通过硬件附加在顶部(HAT)的方式连接到Raspberry Pi4。此设置创建了一个LoRaWAN网关,允许Raspberry Pi(RPi)与启用LoRaWAN的设备进行通信。

所需材料:

  • Raspberry Pi 4(推荐型号B或更高版本)

  • SX130x 868M LoRaWAN网关模块(ED-GW1302S-868M)

  • 与模块兼容的LoRa天线(随SX1302一起提供)

  • 装有Raspbian OS的MicroSD卡(32 GB,下方有安装说明)

  • SD卡读卡器

  • Raspberry Pi 的电源

  • 连接互联网

步骤1. 收集硬件

在开始之前,您需要准备所有必需的硬件组件,包括Raspberry Pi4、SX130x 868M LoRaWAN网关模块、LoRa天线和装有Raspbian OS的可运行MicroSD卡。

步骤2. 组装硬件

将MicroSD卡插入Raspberry Pi(在RPi安装完毕后——请参阅步骤3中的说明)

将SX130x LoRaWAN网关模块连接到Raspberry Pi的GPIO引脚。确保引脚正确对齐,并且模块牢固连接。它是一个HAT,所以应该可以完美贴合。

图一,SX130x LoRaWAN网关模块和Raspberry Pi的GPIO引脚之间的组装硬件

步骤3. 为Raspberry Pi安装操作系统

使用此链接下载并安装Raspberry Pi成像软件。

https://www.raspberrypi.com/software/

图二,Raspberry Pi软件

点击“选择操作系统”。

图三,在Imager软件中选择OS

选择32位操作系统Lite版本,然后在下一步中选择存储设备选项。

图四,选择存储设备选项

接下来,使用SD卡读卡器将SD卡插入计算机。选择显示的SD卡。在点击“写入”按钮之前,请务必点击齿轮图标。

图5,使用齿轮按钮来更改Wi-Fi设置和其他选项。

然后,点击“写入”图像。

现在,更改WiFi设置和其他选项。然后,点击“启用SSH”并设置您的用户名和密码。点击“配置无线局域网”,并输入您的WiFi的SSID和密码。这允许RPi在不连接到桌面屏幕的情况下启动。

图6,添加您的Wi-Fi的SSID和密码。

点击“保存”,然后点击“写入”按钮。等待过程完成,完成后,从当前设备中取出SD卡,并将其插入Raspberry Pi。

步骤4. 使用SSH连接Raspberry Pi

在组装并插入SD卡后,打开Raspberry Pi的电源。按照以下说明建立SSH连接。

图7,使用SSH连接RPi后,电源打开。

确定Raspberry Pi的IP地址对于建立连接是正确的。为此,请下载Angry IP Scanner软件:https://angryip.org/

图8,Angry IP软件。

点击“开始”后,将出现以下屏幕。一旦过程完成,找到主机名为“Raspberry pi”的IP地址。您还可以在路由器配置页面的DHCP部分中找到正确的信息。

图9,IP扫描过程。

在我们的例子中,IP地址是192.168.1.4。然而,您的情况可能会有所不同。接下来,下载bitvise ssh软件:https://bitvise.com/ssh-client-download

启动软件,并使用在SD卡闪存过程中设置的用户名和密码登录到IP地址。

图10,将SSH转移到RPi的过程。

点击“新建终端控制台”

图11, 点击“新建终端控制台”。

之后,您将看到以下屏幕。

图12,登录后的“终端”屏幕。

我们已成功与Raspberry Pi建立了SSH连接。

步骤5. 配置RPi

使用此命令启用SPI、串行和I2C:“Raspi-config”

图13, 配置RPi的“系统选项”窗口。

转到“系统选项”并启用SPI、串行和I2C。

图14,在接口窗口上启用SPI、I2C和Serial来配置RPi。

点击“是”。

图15, 三个选项都点击“Yes”。

然后它会要求重新启动。

步骤6. 连接SX1302

通过以下步骤安装SX1302网关二进制文件

  • sudo apt update

  • sudo apt install git

  • cd

  • git clone https://github.com/Lora-net/sx1302_hal.git

  • cd sx1302_hal

  • make clean all

  • make all

  • cp tools/reset_lgw.sh util_chip_id/

  • cp tools/reset_lgw.sh packet_forwarder/

接下来,有必要验证硬件是否已正确连接。

  • Cd sx1302_hal/util_chip_id/-   ./chip_id

一旦与硬件建立连接,您将观察到类似的输出…

图16, “获取芯片ID”命令。

您的EUI ID是网关的MAC地址,因此请务必记下它。使用此命令启动LoRa集中器屏蔽,并提供文件夹中的任何配置文件。

  • cd sx1302_hal/packet_forwarder/-

  • ./lora_pkt_fwd -c global_conf.json.sx1250.EU868

成功连接到LoRa集中器将类似于这样:

图17,网关已启动,并成功建立与LoRa集中器的连接

此时,通过EU868配置文件发送的任何数据都将在此屏幕上接收。

​结论

通过此网关发送数据将启用数据接收。下一步涉及使用Chirpstack连接、配置和管理网关。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2107802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

上手一个RGBD深度相机:从原理到实践--ROS noetic+Astra S(上):解读深度测距原理和内外参推导

前言 最近在做项目的时候,项目组丢给了我一个深度相机,今天我们来尝试上手一个实体深度相机。 本教程设计基础相机的原理,使用,标定,和读取。(注:本教程默认大家有ROS1基础,故不对程序进行详细…

Camelyon16数据集切块批量预处理

参考自: Camelyon16数据集切块预处理 区别是这里做了批量处理 数据集目录格式: ** main.py** # !/usr/bin/python3 # -*- coding: utf-8 -*- # Time : 2024/9/4 20:21 # Author : 猫娜Lisa # File : camelyon16_get_patch.py # Software: PyC…

Linux从0到1——基础IO(下)【磁盘/文件系统/软硬链接/动静态库】

Linux从0到1——基础IO(下) 0. 前言1. 磁盘1.1 物理存储结构1.2 磁盘的逻辑存储结构 2. 文件系统2.1 文件系统的管理思想2.2 详解块组2.3 文件名和inode2.4 挂载 3. 软硬链接3.1 引入3.2 软链接3.3 硬链接 4. 动静态库4.1 静态库4.2 动态库 0. 前言 前面…

强化学习之PPO算法

PPO算法 什么是PPO算法PPO算法的原理PPO-Clip的目标函数 什么是PPO算法 PPO算法,全称为Proximal Policy Optimization(近端策略优化),是一种强化学习算法。它由OpenAI在2017年提出,旨在解决策略梯度方法中的一些问题&…

带你0到1之QT编程:六、打地基QList的高效用法

此为QT编程的第六谈!关注我,带你快速学习QT编程的学习路线! 每一篇的技术点都是很很重要!很重要!很重要!但不冗余! 我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点! 码…

【系统架构设计师-2012年】综合知识-答案及详解

更多内容请见: 备考系统架构设计师-核心总结索引 文章目录 【第1~2题】【第3~4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10~11题】【第12~13题】【第14~19题】【第20~21题】【第22~24题】【第25~26题】【第27~31题】【第32~33题】【第34~36题】【第37…

南京大学机试试题合集

🍰🍰🍰hello宝子们,今天我们来练习南京大学的机试题目,这些题目的缺点就是太老了,都是18或19年的题,大家就练练手。加油!fighting!( •̀ ω •́ )✧ 🍩1161…

geodatatool(地图资源工具)3.8

geodatatool(地图资源工具)3.8(新)修复更新,修复更新包括: 1.优化在线地图多线程下载及用户体验。 注意:在线地图下载与背景地图显示用的是同样的源,所以在线地图是否能下载&#x…

通过Jflash合并程序以 BOOT + APP 合并为例

打开【jflash】新建一个JFash工程 建好后界面如下 打开【File】下面的【Open data file…】 找到Boot程序所在位置 打开后界面如下,可以看到hex中的数据 点击【File】下面的【Merge data file…】 打开应用程序 查看APP地址区域是否有数据&#xff0c…

备战秋招60天算法挑战,Day32

题目链接: https://leetcode.cn/problems/house-robber-ii/ 视频题解: https://www.bilibili.com/video/BV1WRYKeKEQE/ LeetCode 213. 打家劫舍 II 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。…

京东的AIGC革新之旅:通过JoyCoder实现研发提效 | 新程序员

【导读】从需求分析、设计编码到测试运维,AI已经逐步渗透到软件开发的各个环节,如何切实针对研发场景进行提效,是业内每个企业都在思考的问题。本文作者详细分析了AI在研发中的实际应用,并分享了JoyCoder与京东内部工具结合的实际…

一款可以替代Notepad++的免费高级文本编辑器

Kate 文本编辑器是一款跨平台的免费高级文本编辑器,具有丰富的功能和特性。它支持标签页、代码高亮、多文件查找、垂直/水平视图、侧边栏、颜色主题等特性,类似于Notepad。它以其多功能性和易用性广受好评。Kate 支持多文档界面(MDI&#xff…

加密技术.

基本保密通信模型 密码学发展 古典密码学 主要特点:数据的安全基于算法的保密 经典的加密⽅法包括凯撒密码(Caesar Cipher)(替代密码)、维吉尼亚密码(Vigenre Cipher) 主要分类 替代密码&…

OCR技术视角:智能文档管理中的票据自动化识别与处理

在数字化转型的浪潮中,企业对于高效、自动化的文档管理需求日益增长。票据作为企业运营中不可或缺的部分,其识别与管理的智能化成为了提升工作效率的关键。本文将深入探讨智能文档系统中票据识别功能的原理、技术优势以及在不同行业中的应用实践&#xf…

【报错已解决】`Solving environment: failed`

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言:一、问题描述:1.1 报错示例:1.2 报错分析:1.3 解决思路&#xff…

智能指针,QT,C++语言的关键字总结

八、C中关键字总结 1> C中一共有63个关键字,如上图所示,其中标红的为c语言中的关键字,有32个 2> 数据类型相关的关键字 bool、true、false:对于bool类型数据的相关处理,值为true和false char、wchar_t:char是…

《Exemplar Free Class Agnostic Counting》CVPR2022

概述 摘要: 这篇论文提出了一种新颖的“无范例类别无关计数”(Exemplar Free Class Agnostic Counting)方法,旨在测试时对新类别的对象进行计数,而无需访问该类别的标记训练数据。以往的类别无关计数方法无法在完全自…

【刷题笔记】打家劫舍问题

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 题目一 题目链接:打家劫舍I 思路 小偷每到一初,都可以选择对这个位置偷还是不偷,所以,这次我们需要定义两个表 小Tips:针对这种情况,一般…

OpenGL/GLUT实践:水面模拟——从单振源到 Gerstner Wave(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果1 简单水面模拟——单振源1.1 水面高度函数1.2 水面建模1.3 openGL 渲染(1) renderSense(2) 其他 1.4 实现效果 2 添加鼠标控制3 添加纹理4 多个振源组合5 Gerstner Wave 模型5.1 原理5.2 具体实现5.2.1 全局变量…

pytest 常用的辅助函数和工具函数

pytest 常用的辅助函数和工具函数示例 # File: my_module.pydef fetch_data():return process datadef process_data():data fetch_data()return data.upper() import logging import sys import pytest#01-------------------------------pytest.fixture,sample_data 在测试…