感谢:
首先感谢公司的前辈杨工、雷经理,以及采购的同事胡经理和严经理等同事帮忙,才有机会接触到lora这个技术。
其次感谢南京仁钰的于总、冯总二位大牛提供的技术支持
首先搭建openwrt上面的编译环境,确保可以正常编译openwrt固件,我是用的是联发科的mt7628,16M+128MB,这个芯片固件兼容mt7688,但是发热量巨大,后期换为mt7688.
固件正常编译后,需要生成交叉编译链:
方法如下:选中Build the Openwrt SDK
配置交叉编译链:
调试代码可以使用nfs。
下载lora网关的源码,修改makefile文件,配置交叉编译工具位mips编译链。
每个目录下的makefile 都需要修改,其次还要加上一些软连接 -ldl -lpthread 和其他一些软连接
源码有二级目录,每一个makefile文件都需要加。
编译通过,运行结果如下:
mt7628只有一个SPI接口,两个spi中的一个是使用另外的一个GPIO模拟出来的,并且这个地方的spi限制有36个字节的传输限制,lora最多传输256字节数据,因此需要修改内核。
这个是数据处理的主要流程:
<configure the radios and IF+modems>
<start the LoRa concentrator>
loop { <fetch packets that were received by the concentrator>
<process, store and/or forward received packets>
<send packets through the concentrator> }
<stop the concentrator>
今天先写到这里,晚上加班测试一下行不行,哈哈,我估计不行,spi那里的坑估计得填。