2017年11月27日

新玩具-树莓派3

作者 非鱼

被销售同事忽悠,买了个树莓派3 Model B玩一下。记录一下安装步骤,以免忘记。

1、设备到手,安装好散热片,外壳,风扇。因为同时买了官方摄像头模块,还有个电子纸屏幕模块,一起安装。摄像头插入到标准接口里,电子纸屏幕按照官方Demo项目里的README插上对应的8个针脚。

2、官网下载Lite版Raspbian系统,无桌面的,Mac下用软件Etcher把镜像写入到TF卡。把卡插进设备里,通电启动。通电前要连接HDMI显示器,启动后再连接就不会有输出了。

3、连接USB键盘,用默认用户名pi密码raspberry登录进去。启用WIFI:修改/etc/wpa_supplicant/wpa_supplicant.conf,在最后添加:

network={
ssid=“WIFI名称“
psk=”WIFI密码“
}

保存重启,就会连上WIFI,启动过程最后界面上会显示本机IP地址。(PS:可以写多段network,自动识别连接多个WIFI)

4、再用键盘登录进去,sudo raspi-config,在几个选项下面分别启用ssh,启用camera,启用spi。然后重启。应该就可以在别的电脑上用ssh连接进去了。

5、系统已经自带了python,直接安装django, uwsgi, nginx,按照标准配置,跑起来第一个默认django项目。

6、操作摄像头。安装picamera库和二维码识别库。

sudo apt-get install python-picamera

sudo apt install zbar-tools python-zbar python-qrtools python-qrcode qrencode

然后写一个python文件:

import time
import picamera
import picamera.array
import numpy as np
import zbar

WIDTH = 800
HEIGHT = 480
with picamera.PiCamera() as camera:
camera.resolution = (WIDTH, HEIGHT)
camera.framerate = 24
camera.start_preview()
time.sleep(1)
with picamera.array.PiYUVArray(camera) as stream:
scanner = zbar.ImageScanner()
scanner.parse_config(‘enable’)
counter = 1
while True:
camera.capture(stream, format=’yuv’, use_video_port=True)
image = zbar.Image(WIDTH, HEIGHT, ‘Y800’, stream.array[…, 0].tostring())
scanner.scan(image)
for symbol in image:
print(symbol.type, symbol.data)
counter += 1
stream.truncate(0)
if counter>10:
break
time.sleep(1)
camera.stop_preview()

这个代码运行起来就可以实现先将摄像头数据同步到HDMI显示器中预览,然后在内存中连续扫描二维码识别,识别成功10次以后退出。其它场景自己扩展。

7、安装spidev库,使用官方代码操作电子纸屏幕。

8、安装opencv-python,类似上面的代码从摄像头取数据通过opencv检测人脸,检测到以后再通过百度人脸识别Api进行身份识别。

9、外接LED灯组件,通过python-GPIO库控制红绿灯显示。

10、安装cups,作为网络打印机,还可以支持AirPrint协议,将任意打印机变身AirPrint打印机。

11、安装homebridge,模拟homekit家庭网关,可以在iOS的家庭应用中直接控制红绿灯显示。

12、安装snowboy,支持在python中监听语音,使用本地语音唤醒词,收到唤醒词后做指定任务或录音5秒钟再调用百度语音识别接口,根据语音指令执行动作。

待续。

外接继电器组件,控制强电开关。