全面拆解和构建5G物联网-3:搭建LoRa终端的总体思路、步骤与架构

搭建的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的核心网服务器进行通信。


后记:

后续将继续深入讨论上述的步骤5-7。

猜你喜欢

转载自blog.csdn.net/HiWangWenBing/article/details/107580815