raspberry pi zero体验
入手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