image.png
2017年2月,树莓派基金发布了一款新的产品 pi zero w。zero系列是树莓派家族中最为小型的一个系列,仅有三分之一信用卡的大小,和STM32这种传统单片机(核心板)大小差不多,但是树莓派可是运行着Linux系统,在对实时性要求不严苛的情况下,妥妥秒杀单片机。
pi zero w是 pi zero的升级款,两者配置几乎一模一样。所不同的是,w代指,前者不仅多了wifi模块,还多了蓝牙4.1模块,大大增强了互联互通的能力。初代zero太坑,联网巨麻烦,因此新款版甫一问世,就销售一空,10美元的原价淘宝已经炒到200+,还限购……zero w的受欢迎程度可见一斑。
先看一下zero w的硬件配置:
image.png
1、制作启动系统
系统可以在官网上下载,有好多可以选择。
image.png
个人建议就选就可以,这款系统又有两个版本“ WITH PIXEL”和“ LITE”。后者是前者的精简版,要是没有连接显示器的要求,请安装后者。zero w硬件配置不高,建议选择后者。
值得说明的是,下载时最好选择下载,这样下载速度会快一些。
树莓派依靠SD卡内的系统启动,如果不插入SD卡,上电之后,什么反应都没有……
下将系统写入SD卡要用到。
2、使能串口调试
初次使用树莓派,是无法直接联网的,因此如果不想连接显示器进行设置,可以开启串口调试,效果和ssh是一样的。
对新写入的系统,需要在.txt 内最后一行加入开启串口调试的命令
enable_uart=1
2016年的某些版本是默认不开启ssh的(也是神奇……),不过对于刚写入系统的zero w开启ssh也没用,因为ssh必须在联网的情况下才能用,此时开机树莓派是不知道WiFi名字和密码的,联网也无从谈起。
3、串口调试刚写入系统的 pi
树莓派zero w的管脚如图所示,此视图排针在右侧
image.png
观察此图可知,右列的第3、4、5个端口分别为GND、TxD、RxD。
上可供串口调试的软件有很多,此处推荐
image.png
image.png
pi 默认的用户名:pi,密码:。第一次使用可输入修改密码。
image.png
更多串口配置可以参考官网。4、开启SSH
pi的系统设置可开启ssh,命令是raspi-,需要以管理员权限运行。
是以为基础的Linux,因此操作起来和比较像,root权限运行需要在前面加sudo。
sudo raspi-config
image.png
image.png
image.png
至此,ssh已经开启,如果处在联网的状态下,可以用ssh登陆树莓派了。
除此以外,还可以在SD卡的根目录下新建一个ssh的空白文件(无后缀),系统启动时发现此文件会自动打开ssh
5、为pi zero w设置WIFI
sudo nano /etc/network/interfaces
nano使用起来和普通的文本编辑器没什么区别,保存时按ctrl+o,退出按ctrl+x,如果没保存就退出,会提示是否保存,其他nano的用法可以参考nano简明使用指南。
把wlan0 inlet 后面的换成dhcp。
image.png
第一步我们发现wpa的配置文件在/etc//.conf,此文件就是我们配置WiFi名称和密码的地方。其他更详细配置参见官网说明.
GNU nano 2.2.6 File: /etc/wpa_supplicant/wpa_supplicant.conf
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="你的WiFi名称"
psk="你的密码"
key_mgmt="WPA-PSK"
priority=5
}
network={
ssid="你的WiFi名称2"
psk="你的密码2"
key_mgmt="WPA-PSK"
priority=4
}
> ,树莓派会自动连接优先级高的WiFi。
sudo ifup wlan0
image.png
可以看到,WiFi已经绑定到192.168.31.11这个IP上了。
如果可以登录路由器后台,可以给此树莓派绑定一个静态IP,这样就不用每次连接后都更换IP了。
如果想远程连接树莓派,由于在局域网内,除了要能远程访问到路由器,还需要开启路由器向192.168.31.11这个IP的22端口的转发。
6、设置树莓派自动重连WiFi
由于不可知的原因,有可能会导致树莓派失去连接,这时候需要重新连接WiFi。
自动重连的原理是,定期查看是否断网,如果断网了重启WiFi,参考的文章是这篇,第一步略有修改。
#!/usr/bin/python
import os, time
while True:
if '192' not in os.popen('sudo wpa_cli status').read():
print 'n****** wifi is down, restart... ******n'
os.system('sudo ifup wlan0')
time.sleep(300) #5 minutes
#!/bin/sh
python /home/pi/autowifi.py &
sudo cp -f /home/pi/autowifi.sh /etc/init.d/
sudo chmod +x /etc/init.d/autowifi.sh
sudo chown root:root /etc/init.d/autowifi.sh
sudo update-rc.d autowifi.sh defaults
image.png
这样一款不会断线的树莓派就设置好了。
发表回复