树莓派raspberry pi zero w上手笔记

树莓派raspberry pi zero w上手笔记_第1张图片
image.png

2017年2月,树莓派基金发布了一款新的产品raspberry pi zero w。zero系列是树莓派家族中最为小型的一个系列,仅有三分之一信用卡的大小,和STM32这种传统单片机(核心板)大小差不多,但是树莓派可是运行着Linux系统,在对实时性要求不严苛的情况下,妥妥秒杀单片机。

raspberry pi zero w是raspberry pi zero的升级款,两者配置几乎一模一样。所不同的是,w代指wireless,前者不仅多了wifi模块,还多了蓝牙4.1模块,大大增强了互联互通的能力。初代zero太坑,联网巨麻烦,因此新款wireless版甫一问世,就销售一空,10美元的原价淘宝已经炒到200+,还限购……zero w的受欢迎程度可见一斑。
先看一下zero w的硬件配置:

树莓派raspberry pi zero w上手笔记_第2张图片
image.png

1、制作启动系统

系统可以在raspberry官网上下载,有好多可以选择。

树莓派raspberry pi zero w上手笔记_第3张图片
image.png

个人建议就选raspbian就可以,这款系统又有两个版本“RASPBIAN JESSIE WITH PIXEL”和“RASPBIAN JESSIE LITE”。后者是前者的精简版,要是没有连接显示器的要求,请安装后者。zero w硬件配置不高,建议选择后者。
值得说明的是,下载时最好选择utorrent下载,这样下载速度会快一些。

树莓派依靠SD卡内的系统启动,如果不插入SD卡,上电之后,什么反应都没有……
windows下将系统写入SD卡要用到Win32DiskImager。

  • 1、解压下载的系统,应该会出现一个xxxx.img的文件,将其移动到不带中文的路径下
  • 2、打开Win32DiskImager选择此img文件,并选择需要写入的SD卡


    树莓派raspberry pi zero w上手笔记_第4张图片
    image.png
  • 3、点击write,等待写入完成

2、使能串口调试

初次使用树莓派,是无法直接联网的,因此如果不想连接显示器进行设置,可以开启串口调试,效果和ssh是一样的。
对新写入的系统,需要在config.txt 内最后一行加入开启串口调试的命令

enable_uart=1

2016年raspbian的某些版本是默认不开启ssh的(也是神奇……),不过对于刚写入系统的zero w开启ssh也没用,因为ssh必须在联网的情况下才能用,此时开机树莓派是不知道WiFi名字和密码的,联网也无从谈起。

3、串口调试刚写入系统的raspberry pi

树莓派zero w的管脚如图所示,此视图排针在右侧


树莓派raspberry pi zero w上手笔记_第5张图片
image.png

观察此图可知,右列的第3、4、5个端口分别为GND、TxD、RxD。
Windows上可供串口调试的软件有很多,此处推荐MobaXterm

  • 1、新建session,选择com口,波特率必须选择115200
树莓派raspberry pi zero w上手笔记_第6张图片
image.png
  • 2、点击确定,并进入串口模式
树莓派raspberry pi zero w上手笔记_第7张图片
image.png

raspberry pi 默认的用户名:pi,密码:raspberry。第一次使用可输入passwd修改密码。

树莓派raspberry pi zero w上手笔记_第8张图片
image.png

更多串口配置可以参考 官网。

4、开启SSH

raspberry pi的系统设置可开启ssh,命令是raspi-config,需要以管理员权限运行。
raspbian是以Debian为基础的Linux,因此操作起来和Ubuntu比较像,root权限运行需要在前面加sudo。

sudo raspi-config
树莓派raspberry pi zero w上手笔记_第9张图片
image.png
树莓派raspberry pi zero w上手笔记_第10张图片
image.png
树莓派raspberry pi zero w上手笔记_第11张图片
image.png

至此,ssh已经开启,如果处在联网的状态下,可以用ssh登陆树莓派了。
除此以外,还可以在SD卡的根目录下新建一个ssh的空白文件(无后缀),系统启动时发现此文件会自动打开ssh

5、为pi zero w设置WIFI

  • 1、修改/etc/network/interfaces文件,用pi自带的nano打开
sudo nano /etc/network/interfaces

nano使用起来和普通的文本编辑器没什么区别,保存时按ctrl+o,退出按ctrl+x,如果没保存就退出,会提示是否保存,其他nano的用法可以参考nano简明使用指南。
把wlan0 inlet 后面的manual换成dhcp。

树莓派raspberry pi zero w上手笔记_第12张图片
image.png

  • 2、将WiFi名称和密码写入wpa_supplicant.conf

第一步我们发现wpa的配置文件在/etc/wpa_supplicant/wpa_supplicant.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
}

priority5 > priority4,树莓派会自动连接优先级高的WiFi。

  • 3、重启WiFi
    pi的WiFi的名称是wlan0,可以用ifup或者ifdown命令连接或者断开wlan0
sudo ifup wlan0
树莓派raspberry pi zero w上手笔记_第13张图片
image.png

可以看到,WiFi已经绑定到192.168.31.11这个IP上了。
如果可以登录路由器后台,可以给此树莓派绑定一个静态IP,这样就不用每次连接后都更换IP了。
如果想远程连接树莓派,由于在局域网内,除了要能远程访问到路由器,还需要开启路由器向192.168.31.11这个IP的22端口的转发。

6、设置树莓派自动重连WiFi

由于不可知的原因,有可能会导致树莓派失去连接,这时候需要重新连接WiFi。
自动重连的原理是,定期查看是否断网,如果断网了重启WiFi,参考的文章是这篇,第一步略有修改。

  • 1、Python 代码 autowifi.py,放在 /home/pi 目录下:
#!/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
  • 2、Shell脚本autowifi.sh,也放在 /home/pi 目录下:
#!/bin/sh
python /home/pi/autowifi.py &
  • 3、开机自动启动以上脚本:在终端窗口执行以下命令即可
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
  • 4、测试一下效果
树莓派raspberry pi zero w上手笔记_第14张图片
image.png

这样一款不会断线的树莓派就设置好了。

你可能感兴趣的:(树莓派raspberry pi zero w上手笔记)