最近在看无人机方面的源码,准备看俩套,分别是Crazy和PX4的。后者略微有些复杂,但是干货太干,准备之后看。这里就先看Crazy的。
这个无人机呢,是全部开源的。在其官网上面有很多关于这个无人机的东西,这篇文章就来说说里面的一个配件,就是将信号放大的小玩意儿~不止是放大信号,而且还可以连接电脑,用电脑来控制飞行器,连接手机,手机又可以控制飞行器,就是一个天线一样的东西。
这个dongle其实我是不知道怎么翻译的,大部分的翻译叫做加密狗。。。
https://www.bitcraze.io/documentation/hardware/crazyradio_pa/crazyradio_pa-datasheet.pdf
这是设计的数据手册
Crazyradio PA是基于Nordic Semiconductor的nRF24LU1 +的远程开放式USB无线硬件。它具有一个20dBm功率放大器,LNA,并已与Crazyflie兼容固件进行了预编程。功率放大器扩大了范围,与Crazyflie 2.X无人机一起提供了长达1公里(视线)的范围,并且从Crazyradio PA到Crazyradio PA的视距范围达到了2公里。
就是另外一种开源的飞控之间做了桥接
Crazyradio PA不仅可以与Crazyflie和Crazyflie 2.X一起使用。由于它是一个开放项目,具有从头开始编写的固件和Python API以供使用,因此对于需要比WiFi范围更长且带宽要求不相同的系统来说,这是一个很好的构建块。硬件随附了最新的固件以及引导加载程序,该引导加载程序可通过USB进行固件升级,而无需任何其他硬件。
https://github.com/bitcraze/crazyflie2-nrf-firmware
随便找了点芯片的配置
可以看到是一个增强的51单片机,与外界SPI连接,以及有AES的加密功能
https://launchpad.net/gcc-arm-embedded
sudo apt-get install
gcc-arm-none-eabi
gdb-arm-none-eabi
binutils-arm-none-eabi
如果开启蓝牙功能需要用arm的gcc去编译
里面运行的两套协议,一套是STM32和芯片之间的协议,一种是设备间连接
+-----------+------+-----+=============+-----+-----+
| START | TYPE | LEN | DATA | CKSUM |
+-----------+------+-----+=============+-----+-----+
syslink是串行连接,1MB的速率
START是2字节常量,0xBC 0xCF。
TYPE定义数据包的类型
LENGTH和类型均为uint8_t,定义数据长度。
CKSUM是2个字节的Fletcher 8位校验和。
上层是蓝牙系统的收发。
联系客服