我自己有一个树莓派,放那很久硬是没有用到。今天在工作不忙的情况下,梳理一下树莓派的使用。
首先,你需要下载一个树莓派的镜像文件。树莓派下载链接,
树莓派首先需要把你下载的这个系统烧到一个cf卡里面,其实就是写到cf卡上。这个各个系统有专门的软件。
我主要分享的写完硬盘之后的树莓派的操作。
如果你有hdmi线,这种情况是最好的。你就直接接上显示器,就可以配置了。如果没有,就需要网线的方式,比较复杂。需要提前写一个ssh的空白文件到根目录中。
我之前用网线的时候,按其他人的教程操作,找到树莓派的ip,连上过。但是我当时下载的那个版本树莓派是有bug的,所有wifi一直开不起来。然后就放那了。这次直接用的就比较新的镜像,bug已经被修复了。
如果你下载的是官方的镜像,初始的用户名和密码分别是
user: pi
passwd: raspberry
连接上以后,我们首先打开ssh服务。
sudo systemctl enable ssh
sudo systemctl start ssh
然后就是wifi了。
配置wifi的文件是 /etc/wpa_supplicant/wpa_supplicant.conf
我们使用vim打开它。
sudo vim /etc/wpa_supplicant/wpa_supplicant.conf
打开之后,直接把你的wifi密码和用户名加入即可。类似下图这样的。
最上面这行你默认就有,你只需要仿照我写的network,把network里面的ssid和psk对应的值写成你连接的wifi名字和wifi密码即可。
到这里的时候,wifi就配置好了。如果不更换wifi,或者wifi不重启,看到这里就可以结束了。
因为我没有显示器,我用的公司的显示器。所以我不能每次都连上显示器来看ip地址。所以有一个很麻烦的问题就出来了。我怎么知道我的ip地址变成多少了?每次开机的时候,连上wifi通知我一下就行了,于是我想到了发邮件的方式。
最开始用的腾讯的邮箱,然后还没怎么操作就被封了。就换了163的邮箱。效果很好。这里我贴一下代码,供大家参考
#!/usr/bin/python3
import smtplib
from email.mime.text import MIMEText
import socket
import requests
from email.header import Header
def get_ip_address():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("1.1.1.1", 80))
ipaddr = s.getsockname()[0]
print(ipaddr)
s.close()
return ipaddr
# 第三方 SMTP 服务
mail_host = "smtp.163.com" # 设置服务器, 这个如果是qq, 就把163改成qq即可。
mail_user = "[email protected]" # 用户名, 这里必须得是你的邮箱。
mail_pass = "XXXXXXXX" # 口令,这里填的不是密码,是你的客户端授权码。如果报错,多半是这里的
ipaddr = get_ip_address()
sender = '[email protected]' # 发送者
receivers = ['[email protected]'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText('本次连接之后的ip为{}'.format(ipaddr), 'plain', 'utf-8')
message['From'] = Header("树莓派ip更新", 'utf-8')
message['To'] = Header("树莓派ip更新完成", 'utf-8')
subject = '树莓派wifi密码更新提示'
message['Subject'] = Header(subject, 'utf-8')
# 检查当前是否连上wifi
def check_network():
while True:
if requests.get("http://www.baidu.com").status_code == 200:
print('Network is ready!')
break
else:
print("newwork is not ready. Sleep 3s...")
time.sleep(3)
return True
try:
check_network()
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print ("邮件发送成功")
except smtplib.SMTPException:
print ("Error: 无法发送邮件")
except Exception as e:
print(e)
http://shumeipai.nxez.com/download
https://www.cnblogs.com/shubin/p/7746399.html