Android ThingsAndroid Things智能小车Android Things

Android Things Day 5

2017-01-20  本文已影响209人  asylum001

让Alphabot 能看见世界

Alphabot 配备了RPi Camera 摄像头和 SG90舵机2个,可控制摄像头360度旋转(由于被基座挡住,所以是XY面上的180° + Z方向的180°)。
为了方便之后的开发调试, 需要做一些准备工作和背景知识的学习。

WebIOPi

WebIOPi 项目使用Web 来控制 Raspberry Pi 3 Model B 的 40个通用输入输出接口GPIO(General Purpose Input Output)。

WebIOPi
WebIOPi 提供多种编程接口可供访问。可以使用Python/Javascript/Java 来开发应用, 非常方便调试。
使用这个工具的好处是,一方面很直观的看到各个端口的状态, 另一方面不需要写代码就能直接控制各个端口。比如后面需要驱动小车前进,直接将对应端口设置高低电平就可以了。

按照说明安装成功之后, 打开web 控制界面:

WebIOPi web 管理页面

GPIO Header

帮助调试控制GPIO 各个针脚。

GPIO Header
左右两边的INOUT 表示当前的输入/输出状态。鼠标点击之后会相应切换。
RPi.GPIO 库使用以下方法来编程控制。
GPIO.setup(self.IN2,GPIO.OUT)

GPIO List

类似GPIO Header, 不过过滤了不能控制的端口。

Serial Monitor

直接调试穿行接口。

Device monitor

调试或者控制转换器或者传感器,目前未用到。 之后接温度传感器等可能用到。

Device monitor

Weaved/remote3.it

remote3.it 是Weaved的新版,rebranding。一些代码层面的库可能还是保留Weaved 字眼。
作用类似 ZeroTier 。让Raspberry Pi 穿墙连上互联网, 这样从互联网上就可以访问Pi了。也就不需要在同一个LAN 才能访问了。 一些使用场景包括:

Cayenne IoT Ready Program ™ for Hardware Manufacturers

阿里云镜像源

国内apt-get 安装慢如蜗牛, 使用阿里云的镜像速度能稍微好点。 建议设置。

  1. 添加源
pi@raspberrypi:~ $ sudo vi /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
  1. 更新源
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade

安装 Camera驱动

enable raspberry pi camera

enable raspberry pi camera enable raspberry pi camera
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

i2c-dev
bcm2835-v4l2

重启

pi@raspberrypi:~ $ sudo reboot now
pi@raspberrypi:~ $ ls -lah /dev/video0 
crw-rw----+ 1 root video 81, 0 Jan 18 13:50 /dev/video0

# 安装依赖
pi@raspberrypi:~ $ sudo apt-get install libv4l-dev libjpeg8-dev subversion
pi@raspberrypi:~/AlphaBot/mjpg-AlphaBot/mjpg-streamer $ make USE_LIBV4L2=true clear all
pi@raspberrypi:~/AlphaBot/mjpg-AlphaBot/mjpg-streamer $ sudo ./start.sh 

安装 mjpg-streamer

mjpg-streamer

至此就看到摄像头了。

然而一直无法控制摄像头的转动。 调试了很久, 把代码也看了一遍, 无所收获。 仔细看了看电路板的走线, 表示看不懂。 只能回到Alphabot的说明书,看了一遍又一遍。 终于注意到说明书里不经意的提到跳线。然而并不明白跳线是什么意思, 网上也没有查到更加深入的解释。 又只好如端详美丽的少女一样仔细端详线路板,在看过数十遍之后,终于发现了,这排黄色的小块是可以动的。

Pi 跳线

按照各个组件的说明跳完线之后: (其实应该是把所有的接线切换到最里面来,表示接到PI 上,而不是Arduino上)

跳线

黄色连线边上有凹槽,手指甲用点力,就能拔出来。

References

  1. WebIOPi
  2. weaved
上一篇下一篇

猜你喜欢

热点阅读