讓Alphabot 能看見世界
Alphabot 配備了RPi Camera 攝像頭和 SG90舵機2個,可控制攝像頭360度旋轉(由于被基座擋住,所以是XY面上的180° + Z方向的180°)。
為了方便之后的開發(fā)調試, 需要做一些準備工作和背景知識的學習。
WebIOPi
WebIOPi 項目使用Web 來控制 Raspberry Pi 3 Model B 的 40個通用輸入輸出接口GPIO(General Purpose Input Output)。

WebIOPi 提供多種編程接口可供訪問。可以使用Python/Javascript/Java 來開發(fā)應用, 非常方便調試。
使用這個工具的好處是,一方面很直觀的看到各個端口的狀態(tài), 另一方面不需要寫代碼就能直接控制各個端口。比如后面需要驅動小車前進,直接將對應端口設置高低電平就可以了。
按照說明安裝成功之后, 打開web 控制界面:

GPIO Header
幫助調試控制GPIO 各個針腳。

左右兩邊的
IN 和OUT 表示當前的輸入/輸出狀態(tài)。鼠標點擊之后會相應切換。RPi.GPIO 庫使用以下方法來編程控制。
GPIO.setup(self.IN2,GPIO.OUT)
GPIO List
類似GPIO Header, 不過過濾了不能控制的端口。
Serial Monitor
直接調試穿行接口。
Device monitor
調試或者控制轉換器或者傳感器,目前未用到。 之后接溫度傳感器等可能用到。

Weaved/remote3.it
remote3.it 是Weaved的新版,rebranding。一些代碼層面的庫可能還是保留Weaved 字眼。
作用類似 ZeroTier 。讓Raspberry Pi 穿墻連上互聯(lián)網(wǎng), 這樣從互聯(lián)網(wǎng)上就可以訪問Pi了。也就不需要在同一個LAN 才能訪問了。 一些使用場景包括:
- Pi 留在辦公室或者實驗室, 在家也能連上進行調試。 (傳統(tǒng)的解決方案是使用VPN 連到辦公室網(wǎng)絡, 再SSH登陸辦公室網(wǎng)絡內的機器)。大大的便利。
- Pi 放在犄角旮旯的角落,物理接觸不到, 或者干脆在異地。 還經(jīng)常重啟變動IP(DHCP)。 使用Weaved 的好處是設備重啟后會重新自動注冊到remote3.it 的服務器, 通過remote3.it 網(wǎng)站管理平臺可以看到設備,從而可以通過remote3.it的代理連接上設備。 你再也不需要知道設備本身的IP了。

這是remote3.it 自己的介紹
A new era in remote device management
We have been hard at work creating a more powerful, flexible and intelligent remote device management platform. It's called remot3.it (remote-it) and delivers a host of new features that will make it easier to connect, manage and update remote devices. The new remot3.it web UI makes it easier then ever. And it's all built on top of the Weaved features and services you've come to trust.
Cayenne
Create your Internet of Things with Cayenne

阿里云鏡像源
國內apt-get 安裝慢如蝸牛, 使用阿里云的鏡像速度能稍微好點。 建議設置。
- 添加源
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
- 更新源
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade
安裝 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

至此就看到攝像頭了。
然而一直無法控制攝像頭的轉動。 調試了很久, 把代碼也看了一遍, 無所收獲。 仔細看了看電路板的走線, 表示看不懂。 只能回到Alphabot的說明書,看了一遍又一遍。 終于注意到說明書里不經(jīng)意的提到跳線。然而并不明白跳線是什么意思, 網(wǎng)上也沒有查到更加深入的解釋。 又只好如端詳美麗的少女一樣仔細端詳線路板,在看過數(shù)十遍之后,終于發(fā)現(xiàn)了,這排黃色的小塊是可以動的。

按照各個組件的說明跳完線之后: (其實應該是把所有的接線切換到最里面來,表示接到PI 上,而不是Arduino上)

黃色連線邊上有凹槽,手指甲用點力,就能拔出來。