随笔

#PiCar整理

下位机 Arduino 程序源码:https://github....
Arduino 负责通过 L298N 控制小车电机和 PWM 调速,以及控制摄像头云台的两个舵机。
Arduino 与上位机(树莓派)通过 USB 串口通信,通信协议详见下位机程序注释。

上位机树莓派程序源码:https://github....
上位机程序采用 Python 语言的 Flask 框架开发,主要负责控制下位机,以及与客户端的网络通信。另外,上位机还负责前车灯(两个大功率 LED)的控制。
与客户端的通信协议采用 HTTP,设计了若干个 API 供客户端调用,具体的 API 请参考程序源码。
另外,摄像头也是与树莓派相连的,关于树莓派摄像头的实时传输,可以使用 mjpg-streamer,可参考:http://shumeipa...

PC 客户端程序源码:https://github....
PC 客户端采用 C# 开发,提供了直观的 GUI 方便使用,还通过 Hook 注册了键盘快捷键,方便直接通过键盘控制小车。