Pico-LoRa-SX1262

来自Waveshare Wiki
Eng23讨论 | 贡献2022年11月24日 (四) 14:56的版本 →‎文档
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Pico-LoRa-SX1262-868M
{{{name2}}}
{{{name3}}}
功能简介
特性 LoRa
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 SPI

说明

产品简介

本产品是一款基于 SX1262 模组的树莓派 Pico LoRa 节点扩展板,适用于 EU433 , EU868 , AS923 , US915等区域. 运行 LoRaWAN 协议的树莓派 Pico 和 LoRa 模组以及网关可接入 TTN,chirpstack 等服务器,方便快捷验证 LoRa 网络云服务

产品特性

  • 板载 Raspberry Pi Pico 接口,适用于 Raspberry Pi Pico 系列主板
  • 支持 LoRa和(G)FSK调制,适用于 EU433 , EU868 , AS923 , US915等
  • 板载 PH1.25 电池座和充电 IC,可接入锂电池充放电
  • 板载 2 个 LED 指示灯,方便查看模块运行状态
  • 提供完善的配套资料手册 (C 示例程序和使用手册等)

产品参数

电气 参数
射频芯片 SX1262
工作频段 EU433
EU868 (863~870MHz)
AS923 (915~928MHz)
US915(902~928MHz)
信号调制 LoRa/(G)FSK
发射功率 MAX@22dBm(可调)@3.3V
工作电压 5V
模组耗流 发射电流:45mA@14dBm
接收电流:5.3mA@125KHz
通信接口 SPI
工作温度 -40 ~ 85℃
尺寸 21.00 × 52.00mm

硬件说明

硬件连接

  • Pico-LoRa-SX1262-868M x 1 (本产品配置)
  • Raspberry Pi Pico x 1 (须自备)
  • Micro USB线 x 1 (须自备)

Pico-LoRa-SX1262-868M 001.jpg

Pico连接引脚对应关系
LoRa Pico 功能
VCC VSYS 电源输入
GND GND 电源地
BAT_AD GP26 板载电池ADC引脚
LoRa_DIO1 GP20 SX1262中断输出引脚或者特殊功能引脚
LoRa_RESET GP15 复位引脚(低电平有效)
LoRa_MISO GP12 SPI通信MISO引脚,从设备数据输出
LoRa_MOSI GP11 SPI通信MOSI引脚,从设备数据输入
LoRa_CLK GP10 SPI通信SCK引脚,从设备时钟输入
LoRa_CS GP3 SPI片选引脚(低电平有效)
LoRa_BUSY GP2 忙状态输出引脚

引脚说明

Pico-LoRa-SX1262-868M 002.jpg

  • 树莓派 Pico 使用SPI总线读写SX1262的36个寄存器完成LoRa无线数据传输,SPI总线频率应小于18MHz,具体SPI Timing Requires查看datasheet的第8章Digital Interface and Control

Pico-LoRa-SX1262-868M 014.jpg

  • SPI总线写命令到LoRa芯片会触发内部状态机模式的切换,应注意BUSY引脚低电平表示内部空闲允许接收命令,拉高表示内部已占用不能接受SPI命令,SPI总线需等带BUSY引脚重新拉低才可继续读写操作,TswMode最长是3.5ms

Pico-LoRa-SX1262-868M 013.jpg

产品尺寸

Pico-LoRa-SX1262-868M 003.jpg

LoRa和LoRaWAN

什么是LoRa?

Semtech 的 LoRa 是一种长距离、低功耗的物联网 (IoT) 无线平台,一般情况下泛指使用LoRa技术的射频芯片.主要特点如下

  • LoRa(long range 的缩写)采用的扩频调制技术源于啁啾扩频 (CSS) 技术,是远距离无线传输技术和LPWAN通信技术中的一种.扩频技术用带宽换取灵敏度的技术,Wi-Fi,ZigBee等都使用了扩频技术,但LoRa调制的特点是接近香农定理的极限,最大效率地提高灵敏度.相比于传统FSK技术,在相同的通信速率下,LoRa比FSK灵敏度好8~12dBm.目前,LoRa 主要在Sub-GHz的ISM频段运行,
  • LoRa技术融合了数字扩频、数字信号处理和前向纠错编码等技术使得在长距离通信性能层面大幅度提高,LoRa的链路预算优于其他任何标准化的通信技术,链路预算是指给定的环境中决定距离的主要因素.
  • LoRa射频芯片主要有 SX127X系列,SX126X系列,SX130X系列,其中SX127X,SX126X系列用于LoRa节点,SX130X用于LoRa网关,详情可参考Semtech的产品列表

什么是LoRaWAN?

  • LoRaWAN 是一种建立在 LoRa 无线电调制技术之上的低功耗广域网开放协议。旨在将电池供电的“事物”无线连接到区域、国家或全球网络中的互联网,并针对关键的物联网 (IoT) 要求,例如双向定向通信、端到端安全、移动性和本地化服务。其中节点无线连接到互联网有入网认证,相当于建立节点和服务器间的加密通信信道,LoRaWAN协议层次下图所示。
    • MAC层中的Class A/B/C 三类节点设备基本覆盖了物联网所有的应用场景,三者之间不同点在于节点收发的时隙不同
    • Modulation层中EU868,AS430等表明不同国家使用频段参数不同,地区参数请点击参考链接

SX1262-LoRa-HAT-021.png

  • 实现LoRaWAN网络覆盖城市或其它区域需要由节点(LoRa节点射频芯片)、网关(或称基站,LoRa网关射频芯片)、Server和云四部分组成,如下图所示
    • DEVICE(节点设备)需先发起入网请求数据包到GATEWAY(网关)再到服务器,认证通过后才可以正常和服务器收发应用数据
    • GATEWAY(网关)可通过有线网络,3/4/5G无线网络与服务器进行通信
    • 服务器端主要运营商有TTN等,自行搭建云端服务请参考lorawan-stackchirpstack

SX1268-LoRa-HAT-021.png

  • 树莓派 Pico 和 Pico-LoRa-SX1262 通过 LoRaWAN 接入互联网有两种方式,一是 OTAA(Over-The-Air-Activation),二是 ABP(Activation By Personalization) , 本文通过方式一 OTAA 入网, 入网过程参照下图所示 , 详细文档参考链接1 链接2源码
    • 步骤1.终端设备将Join-Request消息发送到将要加入的网络,注意加入过程始终由终端设备发起,Join-Request消息可以使用任何数据速率并使用特定于区域的加入通道之一来传输.例如,在欧洲,终端设备可以通过在 868.10 MHz、868.30 MHz 或 868.50 MHz 中随机选择来发送Join-Request消息.Join-Request消息通过一个或多个网关到达网络服务器.另外注意按照当地无线电管理规定选择适用频段,频段分布具体表格点击链接查看或访问LoRa Alliance搜索, Join-Request消息由以下字段组成,而AppEUI,DevEUI由服务器端注册生成,请参考下面说明.
      • AppEUI: IEEE EUI64 地址空间中的 64 位全局唯一应用标识符,唯一标识能够处理 Join-Request 帧的实体。
      • DevEUI: IEEE EUI64 地址空间中唯一标识终端设备的 64 位全局唯一设备标识符。
      • DevNonce: 由终端设备生成的唯一的随机的 2 字节值.网络服务器使用每个终端设备的 DevNonce 来跟踪它们的加入请求.如果终端设备使用先前使用的 DevNonce 发送加入请求(这种情况称为replay attack),网络服务器会拒绝加入请求并且不允许该终端设备向网络注册.
    • 步骤2.网络服务器处理Join-Request-Message.如果允许终端设备加入网络,网络服务器将生成两个会话密钥(NwkSKey 和 AppSKey)和 Join-accept 消息.然后使用 AppKey 对加入接受消息本身进行加密.网络服务器使用 ECB 模式下的 AES 解密操作来加密 Join-accept 消息.
    • 步骤3.网络服务器将加密的加入接受消息作为正常下行链路发送回终端设备.
    • 步骤4.终端设备使用AES解密Join-Accept.并使用 AppKey 和 AppNonce 生成两个会话密钥 NwkSKey 和 AppSKey用于后续和 Networking 服务器通信. Network Server 同样保存了 kSKey ,Join服务器分发 AppSKey 给 Application Server.

Pico-LoRa-SX1262-868M 016.png

  • 作为终端设备接入互联网络的DevEUI,AppEUI参数, 需要由服务器端注册生成,其具体过程如下
    • 注册并登录TTS后创建应用(Applications)

Pico-LoRa-SX1262-868M 006.jpg

    • 在当前应用中创建节点设备,点击如下图红框位置

Pico-LoRa-SX1262-868M 007.jpg

    • 创建节点设备的各项参数如下图红框中的5个步骤所示,需要保存Step2的DevEUI,Step3的AppKey值以备后用

Pico-LoRa-SX1262-868M 008.jpg

应用

LoRa 器件和网络(如 LoRaWAN)使得智能物联网应用能够帮助解决地球面临的能源管理、自然资源减少、污染控制、基础设施效率、防灾等艰巨挑战。Semtech 的 LoRa 器件已在智慧城市、家居和建筑、社区、计量、供应链和物流、农业等领域实现了数百个成功应用案例。LoRa 网络已覆盖 100 多个国家/地区的数亿台器件,致力于打造一个更智慧的地球。

环境搭建

  • 本教程在Windows 10编译环境使用VScode(Cmake)进行开发,点击下载相关IDE并安装后并打开
  • VScode(Cmake)编译环境请点击The C/C++ SDK, get-start文档的Chapter 7. Using Visual Studio Code进行安装, 国内用户请点击查阅链接1

Pico-ResTouch-LCD-2.8 006.jpg

程序下载

1. 直接点击链接下载并解压
2. github下载

例程使用

  • 解压程序或使用git下载程序到与pico-sdk同一级目录下,编译环境安装参考Pico环境设置章节

Pico-LoRa-SX1262-868M 009.jpg

  • 打开VScode,在VScode选择打开pico-lorawan文件夹,在example\otaa_temperature_led\config.h文档中填写刚刚保存的DevEUI和AppKey两个值

Pico-LoRa-SX1262-868M 010.jpg

  • 若环境设置正确,点击VScode的Build按钮等待编译结束,将编译好文件下载到进入Boot模式的RaspberryPi Pico,打开串口查看日志信息

Pico-LoRa-SX1262-868M 011.jpg
Pico-LoRa-SX1262-868M 012.jpg

代码简析

1. 此例程在pico-lorawan基础上增加了基于Semtech SX1262的Pico-LoRa-SX1262-868M模块的适配
2. LoRaWAN协议国内用户请点击链接1链接2参考文档,国外用户请点击链接3参考相关文档
3. 若用户自行建立云服务器,请点击参考lorawan-stack,chrpstack

开发软件

Pico快速上手

固件下载

MicroPython固件下载
Pico MicroPython.gif
C_Blink固件下载
Pico Blink.gif
教程名3
列表3
教程名4
列表4
教程名5
列表5
教程名6
列表6
教程名7
列表7
教程名8
列表8

视频教程

PICO系列教程1——基础介绍

PICO系列教程2——外设GPIO

PICO系列教程3——PWM(脉冲宽度调制)

PICO系列教程4——ADC(模拟数字转换器)

PICO系列教程5——UART (异步收发传输器)

PICO系列教程6——I2C(集成电路总线)

PICO系列教程7——SPI(串行外设接口)

PICO系列教程8——PIO(可编程输入输出端口)

文字教程

基础介绍

Raspberry Pi Pico的基础介绍

MicroPython系列

【MicroPython】machine.Pin类函数详解
【MicroPython】machine.PWM类函数详解
【MicroPython】machine.ADC类函数详解
【MicroPython】machine.UART类函数详解
【MicroPython】machine.I2C类函数详解
【MicroPython】machine.SPI类函数详解
【MicroPython】rp2.StateMachine类函数详解

C/C++系列

【C/C++】 Windows教程1——环境搭建
【C/C++】 Windows教程2——创建工程

Arduino IDE 系列

环境搭建

  • 打开Arduino IDE,进入File->Preferences
  • 在弹出的对话框中,在“Additional Boards Manager URLs”字段中输入以下URL(需要梯子):
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
  • 点击OK关闭对话框。
  • 进入IDE中的工具->开发板管理器
  • 在搜索框中输入“pico”,然后选择“添加”:
  • 无法下载的,可以点击此处下载压缩包提取密码为 0755 ,然后复制到指的目录下
    • 解压后,复制到C:\Users\username\AppData\Local\Arduino15下
    • 例如:我的用户名是ZhangSan,那么就是C:\Users\ZhangSan\AppData\Local\Arduino15下
    • 注意:要将文件管理器中的隐藏的项目打开:点击查看 -> 勾选隐藏的项目,不勾选会看不见AppData文件夹

Pico-W系列教程(即将上线)

  • 敬请期待

开源例程

MircoPython视频例程(github)
MicroPython固件/Blink例程(C)
树莓派官方C/C++示例程序 (github)
树莓派官方micropython示例程序 (github)
Arduino官方C/C++示例程序 (github)

FAQ

技术支持


联系人:钟工
EMAIL:3004517899@qq.com
电话:0755-83040712
QQ:3004517899
微信:扫下方二维码添加
Zsh.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证