树莓派WIFI小车java版(-)准备工作
现在网上有很多的关于树莓派WIFI小车的介绍,基本上是基于python或C来控制的。本人愚笨,仅对java有感,经过一段时间的折腾,倒腾出java版的控制程序,与大家分享,希望对偏java的同学有所启发一、准备工作1. 硬件列表所用硬件都是从淘宝淘来的1. 树莓派主板(树莓派3、3B+也同样适用,2019年更新)我用的是树莓派2B板2. 摄像头我使用的是树莓派的RPI NoIR摄像头模块,支持红外,因为买的早,比较贵,¥1503. 无线网卡 任何树莓派支持的无线网卡都可以,我用的RTL8188C,淘宝 ¥304. PCA9685 12位-16通道 PWM 扩张板因为树莓派的PWM很挫,并且口子不够,AdaFruit 出品的这款板子很给力,通过I2C连接rpi,独立3.3V电源。淘宝¥235. S90 舵机x 2 + 云台 用于调整摄像头的角度,2个舵机可以支持上下左右旋转摄像头。淘宝¥426. L298N电机驱动板 淘宝¥7.67. 5V输出电源板很好用的东东,尺寸只有17x22mm,7-28V输入,5V1.5A输出。淘宝¥3.88. USB移动电源 拿了一个旧的手机移动电源,给树莓派供电9. 18650 3.7V电池x 2 充满电实际有7.9V,给4个电机和2个舵机供电。淘宝¥18两节10. 小车底盘 淘宝很多,价格不一。我买的¥1711. 减速电机+轮胎 x 4 电机减速比很重要,尽量选加速比大的减速电机。我买的TT减速电机+轮胎+固定套件,减速比1:180,很给力。淘宝¥8 x 412. 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**** Hidden Message *****
这个是java版wifi小车的关键。Pi4j组织提供了控制树莓派GPIO的java api,我们所有对小车的控制都是通过这个库进行了。cd ~
wget http://get.pi4j.com/download/pi4j-1.0.zip
unzippi4j-1.0.zip6. 配置java环境sudo vi /etc/profile在文件的末尾加上export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH7. 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-streamermjpg_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+这个是用来开发手机端遥控器的 sdk至此,准备工作结束。
--- TO BE CONTINUED --- 传送门:树莓派WIFI小车java版(二)硬件连接 (点此访问)树莓派WIFI小车java版(三)小车java控制程序 (点此访问)树莓派WIFI小车java版(三)小车java控制程序 续集(点此访问)树莓派WIFI小车java版(四)android 控制程序 (点此访问)
绝世好文,不得不顶 这得强力支持下,期待后续文档。。。加精 赞:dizzy: 看不太懂,挺复杂 支持一下 非常好,喜欢。 学习下 怎么提供java服务的? belial0317 发表于 2015-7-3 01:15
怎么提供java服务的?
在第三部分(http://www.shumeipai.net/thread-26817-1-1.html)和第四部分(http://www.shumeipai.net/thread-26834-1-1.html)里分别提供了java的控制程序和基于android的遥控程序。
源代码在https://github.com/seth-yang/remote-car