当前位置:网站首页>QT连载2:基于QT和STM32H750的LORA试验平台(1)
QT连载2:基于QT和STM32H750的LORA试验平台(1)
2022-07-30 05:45:00 【透明的光】
1.问题
项目需要用到无线通讯,要求传输距离差不多千米级别的,查询现有的无线通讯,差不多用的两个:LORA和4G。LORA不能上网,4G能上网。现在项目没有明显要求,所以只能两个都做。先选定比较好做的LORA,网上搜寻,正点原子的LORA差不多30块钱一个,可以用来学习。另一个原因是正点原子的程序例程做的不错,可以直接拿来修改。最后选用正点原子的LORA模块作为起始点。

2.思路
(1)LORA为无线传输,必须具备收发功能,所以需要买两个模块,用两个LORA模块进行回环测试。
扩展:CAN通讯,UART通讯,这种可以相对双工传输的协议,必须测试收发功能。
(2)控制芯片的选用,看LORA的使用说明书,可以得知LORA通讯时,仅仅转化为一个串口,所以收发功能需要两个串口。同时需要控制一个输出管脚,和一个输入管脚。测试初期不需要修改LORA参数,所以可以初步决定只需要一个输出管脚,串口的T和R,就可以满足LORA的传输需求。选用2个串口以上的ARM。同时考虑到需要做上位软件QT显示,所以另需要一个串口进行通讯。所以硬件需求差不多定下来:3个UART口。最后选用STM32H750。
以上是面上原因,深层次的是应为这个芯片自己比较熟悉,并且程序也都编写过,至于F103和407能不能用,也都可以,只要自己用着顺手,满足基本的条件,都可以用。反正仅仅是个平台,为啥不用自己喜欢的并且习惯的呢?

(3)上位软件采用QT,这个比较好编程,拉模块也比较方便,关键是一脉相承,最近一直在用,用着比较顺手。
3.硬件搭建

初步定下硬件搭建结构,利用说明书,链接好各个管脚,加上usb转串口线。
4.报文协议
(1)QT下发报文:

注:LORA1地址:03;LORA2地址:04。
(2)H750接收地址03和04报文,提取数据FFFF,加入报头5AA5,通过对应串口发送给对应LORA。

(3)LORA1和LORA2接收对方传递的报文,H750通过对应串口接收LORA的数据。

(4)H750加入提取数据FFFF,加入对应报头,通过串口1传递给QT。

此时,QT发送给LORA1的数据,经过LORA2接收后,回传给QT,并显示到对方接收框内。
5.QT界面

最终传递参数后显示:


6.写到最后
从开始买LORA模块,到中间修改程序,最后测试通过,大概花了4天时间,最后一天写文章,全部完成归档为一周的时间。以前导师说过做实验平台才能显示一个工程师的真正水平,现在明白,做的好不好和工程师基础有一定关系,但是和时间也有很大关系,工作中就给那么点时间,能完成最终任务才是领导需要的。当然实验平台得做的好看,漂亮,这个是最基础的。能让别人看出来自己花心思去做了,并且认认真真去做了,我想这个比什么都重要吧。至于我做的这个平台就算了,只是为了完成任务,希望以后能好好做一个平台展示给别人看。
7.展望
下面几期文章将详细介绍这个平台,包含QT程序,H750程序,串口知识。能让小伙伴在整体的基础上把握各个环节的作用,做的时候的想法,怎么个思路,同时需要代码的小伙伴请添加订阅号,如果有问题或者需要源码,可添加订阅号,留言后会发送源代码或者有任何问题可留言,将积极解决提出的问题。

边栏推荐
- Pytorch(三):可视化工具(Tensorboard、Visdom)
- MySQL data types and footprint
- AAcell五号文档室——跨平台文件传输的小室一间一间的
- Mysql client common exception analysis
- 新导则下 防洪评价报告编制方法及洪水建模(HEC-RAS)
- Flink-流/批/OLAP一体得到Flink引擎
- MySQL - Multi-table query and case detailed explanation
- 边境的悍匪—机器学习实战:第七章 集成学习和随机森林
- DeepLearing4j深度学习之Yolo Tiny实现目标检测
- Flink-stream/batch/OLAP integrated to get Flink engine
猜你喜欢

Detailed explanation of regular expression syntax and practical examples

MySQL 数据类型及占用空间

原型模式(Prototype):Swift 实现

工厂模式(Swift 实现)

Pytorch(一):动态图机制以及框架结构

Knowledge distillation method of target detection

Trust anchor for certification path not found.异常解决方法。

目标检测中的知识蒸馏方法

R language application in the field of ecological environment

第一个WebAssembly程序
随机推荐
二十二、Kotlin进阶学习:简单学习RecyclerView实现列表展示;
“R语言+遥感”的水环境综合评价方法
Pytorch(二):数据读取机制(DataLoader、DataSet)与图像预处理模块(transforms)
常用损失函数(一):Focal Loss
Dropout原理及作用
Pytorch(一):动态图机制以及框架结构
Self-augmented Unpaired Image Dehazing via Density and Depth Decomposition program running record
【总结】工业检测项目中如何选择合适的损失函数
DeepLearing4j深度学习之Yolo Tiny实现目标检测
CNN经典模型发展进程
Trust anchor for certification path not found.异常解决方法。
边境的悍匪—机器学习实战:第十三章 使用TensorFlow加载和预处理数据
二叉树(一):深度优先遍历与广度优先遍历
什么是过拟合、欠拟合现象以及如何缓解?
The first WebAssembly program
Mysql client common exception analysis
C语言学习经验
Shardingsphere depots table and configuration example
The application of Meta analysis in the field of ecological environment
Kaggle-M5