我是觉得这个接口处确实是用的串口(怪我以前没有好好看文档,就是串口的协议,好尴尬)。我就觉得这个设计好顶,我一直都想知道怎么做的。一年前我太垃圾不能想明白,现在比以前强了很多,想重新研究一下。
首先我的目的是,自己做一个外围的控制器来控制无人机。因为我觉得是很酷的事情。
资料的来源是:官方的开源代码,Mind 的一些代码,拆解,官方的说明书,加点个人经验,最后是一点点的好奇心。
我首先是这样想的,主控芯片是ESP32-D2WD,有三个串口,串口0,作为烧录程序,程序执行时候的打印串口,而且和我们的CP2012N芯片连接。完成了UART-USB的转换工作。
而后是两个串口,串口1就做了很无人机的通讯链路。因为DJI的工程师跟我说这里是USB信号来着,其实我一直不太相信。
一是,源码中没有体现这个转换的过程
二是,硬件上面不支持这个设计
首先是这样的连接状态,测量电压,得出是5V,因为飞机端的口是USB,符合逻辑电压是5V(不到5V其实,可能我万用表便宜的毛病)。
这个地方是5V供电
我在想这个接口,假如它是USB信号的话,那么它连接电脑的时候会进行设备的枚举和注册。
我做了这样的实验,电脑没有反应,但是这个地方确实是供电了
这里补一个实验,将这个地方使用TTL转USB,先焊接吧。
定义
母口,我们焊接一下
接电脑是有结果的
会频繁的打印这个帧,我也不知道是什么
厂家代码VID(厂家代号)、PID(芯片代号)
这个是串口模拟过来的USB实例
这个是串口0的信息
因为使用的是CP2102N,下面也给出电路的设计。
接口
芯片的连接,就是ESP32的串口到芯片
这就是我整理了一点东西
一些元件我也看不懂是什么。不过可以整理一个引脚的表出来。
也可以说说以前的一些理解,毕竟比以前强点了。。。。也准备重新审视一下这个设备。
红外线 光流(黑白)
这个模式好,我给我的小飞机加上
我写了这么多的文章,最疑惑的就是这里
因为完成无线链路的切换,我觉得很神奇。单纯的数据传输我觉得可以理解,但是确实是转换了通信的链路,因为我觉得这个接口如果使用串口是不可以传的这么流畅的。
这也就是我为什么可以接电脑供电的原因,看最后一句无线模块替换
在这个模式下才可以搜索到热点
这个是扩展件的热点
802.11A,5GHZ,192.10.2
单个机器
802.11G,2.4GHZ,192.10.2
只能说牛逼,我不理解,因为内部确实有射频芯片,视频链路也正常,那就是使用的。
说明书里面也说了
这个是波妞的功能
按键的作用
RGB的作用
以及如何开启SDK控制模式
这个是扩展件和飞机之间的交互,写的是串口
好吧,串口,解惑了,不是差分信号
使用串口就可以通信,控制前先调用SDKon函数
返回ETT(edu tello?)
就是发送这个
这么发?使用串口1写这个字符就行
esp32有三个串口
上面的27,26,是IIC控制的LED屏幕,下面是串口1的参数,100W
小人不才,没有算出来。。。
这个地方是?UDP网络发给ESP32的控制序列
对比,如果是ok,就更新状态
错误就把状态逆过来
如果是mac,就会提取出来,然后状态更新,通过串口0打印结果,或者就是打印没有mac。
这个是函数的作用
这里写自己的逻辑
在初始化里面写自己的任务
这里又出现了三个rgb的io脚
我们想想现在用了多少引脚,额,太多了,突然不想数了。
上面的射频芯片我想通信使用的是spi。因为我觉得这个速度最快。。。。USB不慢,不过是ESP32不自带这个功能。
在这里,又是日本的厂子
64MB,所以这个Flash就不是ESP32的,是射频这个芯片的,而且还有EXT 回复这些,我都没有在源码里面看到,通过UDP也可以控制ESP32来看。就是两个控制片子,这个射频信号接收来自网络链路的信息,然后再通过第三个串口控制开源的控制器。
你看这些命令整整齐齐的。
事实上:
看到这个,事情就变得更加有趣起来。
看了看是最新的添加,集群控制
代码语言:javascript复制https://www.murata.com/products/connectivitymodule/wi-fi-bluetooth/overview/lineup/type1gc
代码语言:javascript复制https://atta.szlcsc.com/upload/public/pdf/source/20201204/C964632_F2B790CC23A72455AEF523510305B30A.pdf
代码语言:javascript复制https://www.onlinedown.net/soft/261875.htm
最后给大家看看我的小柿苗
只是为什么不可以使用自己的MCU控制呢?我觉得是线材的原因。。。可能是,如果大家有什么别的发现,可以联系我。
大家有没有这个按钮,可以私信我一下!