现在网上有很多的关于树莓派WIFI小车的介绍,基本上是基于python或C来控制的。本人愚笨,仅对java有感,经过一段时间的折腾,倒腾出java版的控制程序,与大家分享,希望对偏java的同学有所启发
一、准备工作 1. 硬件列表 所用硬件都是从淘宝淘来的 1. 树莓派主板 (树莓派3、3B+也同样适用,2019年更新) 我用的是树莓派2B板 2. 摄像头 我使用的是树莓派的RPI NoIR摄像头模块,支持红外,因为买的早,比较贵,¥150 3. 无线网卡 任何树莓派支持的无线网卡都可以,我用的RTL8188C,淘宝 ¥30 4. PCA9685 12位-16通道 PWM 扩张板 因为树莓派的PWM很挫,并且口子不够,AdaFruit 出品的这款板子很给力,通过I2C连接rpi,独立3.3V电源。淘宝¥23 5. S90 舵机x 2 + 云台 用于调整摄像头的角度,2个舵机可以支持上下左右旋转摄像头。淘宝¥42 6. L298N电机驱动板 淘宝¥7.6 7. 5V输出电源板 很好用的东东,尺寸只有17x22mm,7-28V输入,5V1.5A输出。淘宝¥3.8 8. USB移动电源 拿了一个旧的手机移动电源,给树莓派供电 9. 18650 3.7V电池x 2 充满电实际有7.9V,给4个电机和2个舵机供电。淘宝¥18两节 10. 小车底盘 淘宝很多,价格不一。我买的¥17 11. 减速电机+轮胎 x 4 电机减速比很重要,尽量选加速比大的减速电机。我买的TT减速电机+轮胎+固定套件,减速比1:180,很给力。淘宝¥8 x 4 12. android智能手机或平板 通过wifi遥控小车 13. 其他小配件/电子元件 杜邦线,二极管,发光LED,1K电阻若干,拨片式小开关 2. 软件列表 1. Raspbian 从官网下载最新镜像2015-02-16-raspbian-wheezy.img,写到TF卡上 启动树莓派后,自动进行首次设置,打开摄像头 回车,选择enable 回车确定 打开I2C选项 选择 Advanced Options,回车 选择 I2C,回车后一路选择是 回到主页后,选择 Finish,重启树莓派 设置时区 - sudo mv /etc/localtime /etc/localtime.bak
- sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码
这个是java版wifi小车的关键。Pi4j组织提供了控制树莓派GPIO的java api,我们所有对小车的控制都是通过这个库进行了。 - cd ~
- wget http://get.pi4j.com/download/pi4j-1.0.zip
- unzip pi4j-1.0.zip
复制代码6. 配置java环境 在文件的末尾加上 - export JAVA_HOME=/usr/local/java
- export PATH=$JAVA_HOME/bin:$PATH
复制代码7. mjpg-streamer 可以集成树莓派的摄像头模块,并提供http服务,供远程查看视频。在后面的java版小车程序里,通过命令行调用 mjpeg-streamer控制摄像头 - sudo apt-get -y install subversion libv4l-dev libjpeg8-dev cmake
- cd ~
- git clone https://github.com/codewithpassion/mjpg-streamer.git
- cd mjpg-streamer/mjpg-streamer
- sudo make USE_LIBV4L2=true clean all
- sudo make DESTDIR=/usr install
复制代码测试mjpg-streamer - mjpg_streamer -i "input_raspicam.so -fps 15" -o "output_http.so -w /usr/www -p 8002"
复制代码用浏览器(chrome或firefox)打开应该可以看到 mjpg-streamer 的视频了 http://树莓派ip:8002/ 8. Android sdk v18+ [/hide]这个是用来开发手机端遥控器的 sdk 至此,准备工作结束。
--- TO BE CONTINUED --- 传送门:
|