树莓派论坛

 找回密码
 立即注册

树莓派WIFI小车java版(-)准备工作

seth.yang 发表于 2015-6-30 19:09:30 | 显示全部楼层 |阅读模式
现在网上有很多的关于树莓派WIFI小车的介绍,基本上是基于python或C来控制的。本人愚笨,仅对java有感,经过一段时间的折腾,倒腾出java版的控制程序,与大家分享,希望对偏java的同学有所启发

一、准备工作
1. 硬件列表
所用硬件都是从淘宝淘来的
1. 树莓派主板  (树莓派3、3B+也同样适用,2019年更新)
pi.png
  我用的是树莓派2B板
2. 摄像头
noir.png
  我使用的是树莓派的RPI NoIR摄像头模块,支持红外,因为买的早,比较贵,¥150
3. 无线网卡
wifi.png
      任何树莓派支持的无线网卡都可以,我用的RTL8188C,淘宝 ¥30
4. PCA9685 12位-16通道 PWM 扩张板
pca.png
  因为树莓派的PWM很挫,并且口子不够,AdaFruit 出品的这款板子很给力,通过I2C连接rpi,独立3.3V电源。淘宝¥23
5. S90 舵机x 2 + 云台
servo.png
      用于调整摄像头的角度,2个舵机可以支持上下左右旋转摄像头。淘宝¥42
6. L298N电机驱动板
l298n.png
      淘宝¥7.6
7. 5V输出电源板
5v.png
  很好用的东东,尺寸只有17x22mm,7-28V输入,5V1.5A输出。淘宝¥3.8
8. USB移动电源
      拿了一个旧的手机移动电源,给树莓派供电
9. 18650 3.7V电池x 2
1860.png
   充满电实际有7.9V,给4个电机和2个舵机供电。淘宝¥18两节
10. 小车底盘
car.png
   淘宝很多,价格不一。我买的¥17
11. 减速电机+轮胎 x 4
wheel.png
   电机减速比很重要,尽量选加速比大的减速电机。我买的TT减速电机+轮胎+固定套件,减速比1:180,很给力。淘宝¥8 x 4
12. android智能手机或平板
通过wifi遥控小车
13. 其他小配件/电子元件
杜邦线,二极管,发光LED,1K电阻若干,拨片式小开关
2. 软件列表
1. Raspbian
从官网下载最新镜像2015-02-16-raspbian-wheezy.img,写到TF卡上
启动树莓派后,自动进行首次设置,打开摄像头
pi-1.png
回车,选择enable
pi-2.png
回车确定
打开I2C选项
pi-3.png
选择 Advanced Options,回车
pi-4.png
选择 I2C,回车后一路选择是
pi-5.png
pi-6.png
pi-7.png
pi-8.png
回到主页后,选择 Finish,重启树莓派
pi-9.png
设置时区
  1. sudo mv /etc/localtime /etc/localtime.bak
  2. sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码
游客,如果您要查看本帖隐藏内容请回复


这个是java版wifi小车的关键。Pi4j组织提供了控制树莓派GPIO的java api,我们所有对小车的控制都是通过这个库进行了。
  1. cd ~
  2. wget http://get.pi4j.com/download/pi4j-1.0.zip
  3. unzip  pi4j-1.0.zip
复制代码
6. 配置java环境
  1. sudo vi /etc/profile
复制代码
在文件的末尾加上
  1. export JAVA_HOME=/usr/local/java
  2. export PATH=$JAVA_HOME/bin:$PATH
复制代码
7. mjpg-streamer
可以集成树莓派的摄像头模块,并提供http服务,供远程查看视频。在后面的java版小车程序里,通过命令行调用 mjpeg-streamer控制摄像头
  1. sudo apt-get -y install subversion libv4l-dev libjpeg8-dev cmake
  2. cd ~
  3. git clone https://github.com/codewithpassion/mjpg-streamer.git
  4. cd mjpg-streamer/mjpg-streamer
  5. sudo make USE_LIBV4L2=true clean all
  6. sudo make DESTDIR=/usr install
复制代码
测试mjpg-streamer
  1. 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 ---
传送门:

评分

参与人数 1 +1 收起 理由
565911035 + 1

查看全部评分

left1020 发表于 2015-7-2 17:09:09 | 显示全部楼层
绝世好文,不得不顶
树老大 发表于 2015-6-30 19:21:10 | 显示全部楼层
这得强力支持下,期待后续文档。。。加精
flykwan 发表于 2015-7-1 20:06:29 | 显示全部楼层
看不太懂,挺复杂
dingxiao 发表于 2015-7-2 10:00:00 | 显示全部楼层
非常好,喜欢。
belial0317 发表于 2015-7-3 01:15:24 | 显示全部楼层
怎么提供java服务的?
seth.yang  楼主| 发表于 2015-7-3 14:18:38 | 显示全部楼层
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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 树莓派论坛 ( 粤ICP备15075382号-1 )