单片机学习小组
直播中

陈键

7年用户 998经验值
擅长:可编程逻辑 电源/新能源
私信 关注

搭建的LoRa终端的总体思路与步骤有哪些呢

搭建的LoRa终端的总体思路与步骤有哪些呢?
怎样去设计一种LoRa终端的目标系统呢?

回帖(1)

卢鉴冰

2022-2-10 14:42:54
搭建的LoRa终端的总体思路与步骤:

1. 搭建的LoRa终端的系统需求和目标
2. 设计LoRa终端的目标系统
3. 设计LoRa终端的主机开发环境
4. 设计LoRa终端的软件架构
5. 构建LoRa终端的实际硬件开发平台
6. 构建LoRa终端的实际软件开发平台
7. 迭代式实现LoRa终端的软件功能
1. LoRa终端系统的系统需求目标

(1)搭建一个低功耗的LoRa的通用终端,用于远距离传输传感器采集到数据。
(2)能够支持多种传感器信息的采集,包括温度、湿度、压力、GPS定位等。
(3)LoRa的终端主要用于LoRa协议的学习、开发调试,并非最终产品,因此暂不考虑终端相关的机械、外观、生产等。
(4)尽可能的利用开源的、通用的软件和硬件平台实现。
(5)支持LoRa MAC层标准,便于接入到第三方LoRa服务器。
2. 设计LoRa终端的目标系统


LoRa终端开发版提供三类的对外接口
(1)传感器接口
传感器类型:温度、湿度、速度、液压、GPS定位、摄像头、三轴传感器等。
设备接口:采用单片机MCU的外部设备总线,包括GPIO、SPI、I2C、串口、工业CAN总线、显示屏LCD总线。
(2)LoRa的射频天线接口
用于发送和接收LoRa的射频电磁波信号,天线的长度与电磁波的波长相关。
(3)LoRa主机调试接口
串口:考虑到大量的笔记本没有提供串口,因此需要通过串口转USB芯片,提供USB串口
仿真接口:用于下载目标程序和调试目标程序,仿真器接口包括:Jtag接口(10 pin)、SWD接口(20 pin)、SWIM接口(4 pin)。
3. 设计LoRa终端的主机开发环境





  • 主机开发环境:Protel99SE:用于开发原理图和PCB.
  • 串口程序:用于查看目标系统的程序执行的串口打印结果,如secureCRT等,这里的工具很多。
  • MCU继承开发环境:用来开发目标程序,包括编辑、编译、汇编、连接,特别是需要一个交叉编译器。这里工具有MCU硬件厂家提供的集成开发工具,如ST Visual Develop,也包括一些第三方厂家开发的通用继承开发环境,如IAR for ARM。
  • 目标系统的目标代码:这是通过集成开发工具的交叉编译编译出来的目标代码,包括中间每个源文件的目标代码,还包括最终连接后的在目标板上可执行程序。

4. 设计LoRa终端的软件架构

这是主要值上图中的源代码部分:



  • 目标系统的源代码:源代码是通过集成开发工具的工程文件来管理和维护的。包括MCU芯片厂家提供的MCU lib和外设接口驱动程序,也包括传感器设备的驱动程序、LoRa芯片驱动程序、LoRa MAC层协议。这些程序都不需要我们重新开发,可以理工芯片厂家提供的开源代码。而用户定制程序,属于代码集成,与业务相关和硬件威廉希尔官方网站 板相关,需要我们开发。为了降低这块程序的开发量,通常可以基于开发板厂家提供的demo程序开发或基于LoRa芯片厂家提供的demo程序进行开发。

5. 构建LoRa终端的实际硬件开发平台

(1)LoRa射频芯片的选择
(2)MUC芯片的选择
(3)LoRa终端开发板的选择(可以通过淘宝购买)
6. 构建LoRa终端的实际软件开发平台

(1)来自于LoRa官网上的开源代码
(2)来自MCU厂家官网上的开源代码
(3)来自集成开发工具提供的内置的开源库
(4)来LoRa终端开发板提供商(淘宝)提供的非开源代码
(5)自己写的特定应用的demo和业务代码

7. 迭代式实现LoRa终端的软件功能

(1)MCU的初始化与代码的执行,并能够通过SPI总线操作和管理LoRa的射频芯片
(2)两个LoRa终端,实现点对点裸数据格式通信:打通MCU通过LoRa射频芯片进行通信的通路。
(3)两个LoRa终端+LoRa基站实现点对多点的裸数据格式通信:打通LoRa终端到LoRa基站之间的通路。
实现LoRa MAC协议,支持Class A, B,C三种选项,  并与LoRa基站进行通信
(4)从传感器接收数据、并通过LoRa空中接口与LoRa的基站进行通信
(5)LoRa终端通过LoRa基站,使用LoRo MAC协议与LoRa的核心网服务器进行通信。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分