ESP32 介绍
乐鑫旗下的芯片,国产的,具体信息参考:
官方网站:espressif.com
rust 介绍
一门开发语言,懂得都懂,没啥好介绍的,官方网站:
官方网站:rust-lang
嵌入式平台资料入口:rust-embedded
开发资料准备
- github ESP 开源资料:esp-rs rust
- The Rust on ESP Book 简体中文版
学习Rust在ESP32平台上开发目的
手里有一台露营拖车,平时出去玩带着小车太累,于是打算改装一下露营车。正好手头有一块24V的锂电池,于是打算前方向轮换成两个轮毂电机,做个遥控器用于控制,后期希望可以做成自动跟随,这样出去玩的时候就省力很多,不用一直拖着小车。
手里有3块树莓派,但是树莓派的话,我寻思用于做这种功能,有点大材小用,且树莓派需要的供电电流电压都不小,就算使用充电宝,也用不了多久。秉承着适用原则,找了些资料,发现国产开发版ESP32系列社区也强大,资料也比较齐全。
另外为什么选择 rust 开发语言用于 ESP32 的开发板开发,不选择 C/C++。首先对于C的话,虽然平时不用,但是用的话也不是不行,但是对于C++的话,我是真的已经把在学校学的东西全部忘光了。另外就是考虑最擅长的 PHP,然而 PHP 这玩意我目前暂时没有听说用于底层开发的。退而求其次,发现 golang 也可以做底层开发,golang 有一个分支,叫 tinygo,然而 tinygo 对于 ESP32 上的蓝牙以及 WI-FI 的支持都没有。如果自己找官方资料,自己从头写 WI-FI、蓝牙驱动,如果说打算去挑战一下,基于 golang C 的方法,应该也能做,但是感觉又太过于浪费时间。Rust 相对来说,就很成熟了,且目前 rust 社区活跃度应该是和 golang 是差不多的,另外对于 ESP32 平台,虽然 WI-FI、蓝牙也是基于 Rust-C 的,但是已经很成熟,且受到 ESP32 官方支持,也算是个未来,多方面考虑后,是我个人觉得目前最好的选择。
学习过程拆分
目前拆分为几个大大步骤进行学习:
- WI-FI、蓝牙程序
- 摇杆手柄遥控系统
- 信号接收系统
- 无刷电机控制系统
- 无刷电机霍尔信号反馈处理系统(用于处理行驶平衡,不偏航)
- 无刷电机信号放大系统,因为开发版供电系统是 5V 的,无刷电机能行驶并能跑起来,必须得 24V 的电源系统,这个方面只能购买无刷驱动模块。
- 能量回收系统,目前对于这个没有头绪,这个东西需要放到后期慢慢研究,看是否能弄到现成的板子,从道理上来说是有的,不然自己还得研究电路设计和打板,会有比较大的难度。
已准备材料:
- [x] 3 块 ESP32 开发板
- [x] 遥控手柄板
- [x] 24V 电源
- [ ] ESP32 电池
- [ ] 2 个无刷轮毂电机
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。