入手pi zero w,体验最小型主板

前言

以前写过一篇关于树莓派使用备忘的blog,使用的是pi 3B。

pi 3B在一段时间作为NAS服务器使用过一段时间。后来组装了一台小主机后,3B基本上就处于吃灰状态。

最近想将3B利用起来,实现家庭监控。可能吃灰很久的缘故,点亮后设备异常,重新刻录系统后,故障依旧。

果断下单pi zero w。使用闪迪16G TF卡,读速约98MB/秒。

1. 简单对比

  • pi zero 和pi zero w的区别
    • zero w增加了802.11 b/g/n WiFi无线网卡和低功耗蓝牙4.1 (BLE)。
  • pi zero w 和 pi 3B 区别
    • pi zero w cpu单核1GHz的cpu,pi 3B 四核1.2GHz
    • pi zero w 内存512MB,pi 3B 内存1024MB
    • pi zero w 无网卡,HDMI口,只有小口的HDMI。

2. 安装系统

个人倾向安装raspbain lite版本。mac 系统推荐使用etcher刻录镜象,非常简单。

3. 开启ssh服务

系统安装完,默认ssh服务未开启。在boot分区新建一个文件,文件命名为 ssh

2016-11-25:
  * SSH disabled by default; can be enabled by creating a file with name "ssh" in boot partition

4. 配置无线wifi

修改/etc/wpa_supplicant/wpa_supplicant.conf,追加无线配置。

network={
  ssid="wifi1"
  psk="000000"
  key_mgmt=WPA-PSK
  priority=999
}
network={
  ssid="wifi2"
  psk="000000"
  key_mgmt=WPA-PSK
  priority=888
}
ssid 无线名字
psk  无线名字
key_mgmt 加密模式,如果没有密码,为NONE
priority 连接优先级,数字越大优先级越高(不可以是负数
scan_ssid 连接隐藏WiFi时需要指定该值为1

5. 摄像头配置

5.1. 开启摄像头

命令行下执行以下命令,开启摄像头

sudo raspi-config

5.2. 拍摄照片

raspistill -o image.jpg

# -v 调试信息查看。
# -w 图像宽度
# -h 图像高度
# -rot 图像旋转角度,只支持 0、90、180、270 度
# -o 图像输出地址,例如image.jpg,如果文件名为“-”,将输出发送至标准输出设备
# -t 获取图像前等待时间,默认为5000,即5秒
# -tl 多久执行一次图像抓取。

raspistill -o image%d.jpg -rot 180 -w 1024 -h 768 -t 20000 -tl 5000 -v

# 截取一张宽1024px,高768px,旋转180度的图片,抓取的总时长为20秒,并且每5秒抓取一张,保存的文件名为image1.jpg,image2.jpg

5.3. 通过vlc监控


sudo apt-get update
sudo apt-get install vlc
sudo raspivid -o - -t 0 -w 1280 -h 1024 -fps 25 -b 1200000 |cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}\' :demux=h264

客户端安装VLC,打开媒体网络串流输入 http://IP:8090 查看实时不卡的网络监控了。
使用PI官方的raspivid捕获视频工具把视频流输出到vlc,通过vlc转码成h264网络视频流通过http协议以ts的形式封装,然后输出到8090端口。 

5.4 参考链接

6. 通过usb配置虚拟网卡进行连接

pi zero 因为没有有线网卡,调试不是很方便。除了使用串口链接外,可以通过usb直连。

6.1. 修改配置文件

  • 修改boot 文件下的config.txt 添加 dtoverlay=dwc2 打开usb网卡模式

  • 修改boot 文件下的cmdline.txt 在rootwait参数之后添加modules-load=dwc2,g_ether,在打开系统时开启usb网卡模式。

6.2. 通过usb链接设备

用USB数据线在Pi 0上供电。使用的端口是USB,而不是PWR。这个端口允许您为Pi 0提供电源,并进行数据传输。连接后等待系统初始化配置。

通过如下命令进行ssh连接

ssh pi@raspberrypi.local 

6.3. 配置usb网卡的静态ip

通过sudo vi /etc/network/interfaces添加如下配置。

allow-hotplug usb0
iface usb0 inet static
address 10.0.0.2
netmask 255.255.255.0
gateway 10.0.0.1
#network 10.0.0.0
#broadcast 10.0.0.255
#dns-nameservers 8.8.8.8 4.4.4.4
sudo ifdown usb0
sudo ifup usb0
ifconfig usb0

6.4. 参考链接