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程序,串口知识。能让小伙伴在整体的基础上把握各个环节的作用,做的时候的想法,怎么个思路,同时需要代码的小伙伴请添加微信:
|