4.1树莓派简介
树莓派(Raspberry Pi)是一款基于ARM的微型电脑主板,旨为学生编程教育而设计,别看其外表“娇小”,内“心”却很强大,视频、音频等 能通通皆有,可谓是“麻雀虽小,五脏俱全”。自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。
树莓派(RaspberryPi)是尺寸仅有信用卡大小的一个小型电脑,您可以将树莓派连接电视、显示器、键盘鼠标等设备使用。
树莓派能替代日常桌面计算机的多种用途,包括文字处理、电子表格、媒体中心甚至是游戏。并且树莓派还可以播放高至1080p的高清视频。
本次设计使用的是树莓派4B(Raspberry Pi 4 Model B)。
树莓派(RaspberryPi)基金会发布了Raspberry Pi 4 Model B,这一代Raspberry Pi 4 Model B开发了3年的时间,内存(RAM)终于从万年不变的1GB升级为4GB,引入了USB 3.0,支持双屏4K输出,CPU和GPU的速度也更快,支持H.265 解码。具体来说,树莓派4的核心处理器(SoC)为博通BCM2711(四核1.5GHz, Cortex A72架构,树莓派3是四核A53),LPDDR4内存,由5V/3A USB-C供电或GPIO5V。
外围方面,支持双频Wi-Fi、蓝牙5.0、提供2个MicroHDMI 2.0接口(4K60FPS)、千兆网口、MIPIDSI接口、MIPICSI相机接口、立体声耳机接口、2个USB 3.0、2个USB 2.0,扩展接口依然是40针GPIO。
树莓派,英文名:“Raspberry Pi”,简写为RPi。它是一款基于ARM的微型电脑主板,SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。
4.2树莓派网关功能
树莓派通过串口使用zigbee协议实现与节点的连接,接收节点的温度和湿度数据,然后利用Mqtt协议将数据传送给云服务器,同时也将来自云服务器的控制信号传回给节点。所以,树莓派网关在物联网系统中实现数据传送、指令转发的功能。
4.3环境搭建
4.3.1烧录系统:
1.使用读卡器将sd卡和PC连接,再用SDFormatter格式化SD卡
(链接:https://pan.baidu.com/s/17TyVl2kWP81Yc8VfiGn0JQ 提取码:4m35 )
2.在官网下载Raspberry Pi Imager,并用Raspberry Pi Imager下载镜像并写入镜像:
镜像分享(自带python3.7):链接:https://pan.baidu.com/s/1ZLa2Gcq8rOYjmQgxrcQa3Q 提取码:um2h
4.3.2无屏幕显示的WiFi配置
在SD卡的boot盘中新建一个ssh的空文件,再删除txt后缀,实现打开ssh功能;同时,在TF卡boot盘中新建一个wpa_supplicant.conf文本文件,写入wifi配置,并删除txt后缀。
wpa_supplicant.conf文件代码:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="PCDN" //WiFi名称
psk="abcd1234" //对应WiFi密码
key_mgmt=WPA-PSK //WiFi加密方式
priority=1 //设置优先级
}
network={
ssid="abcd"
psk="12345678"
key_mgmt=WPA-PSK
priority=2
}
4.3.3 VNC的配置
在电脑和树莓派处于同一局域网的前提下,查询出树莓派IP地址。
在Xshell软件中输入树莓派的IP地址,再输入用户名(默认:pi)和密码(默认:raspberry),再使用sudo raspi-config命令进入配置界面—>选择Interface Options —> VNC —> Yes,以启用VNC服务。
xshell:链接:https://pan.baidu.com/s/1nuYCvhwPbafHOx4i2alYNg 提取码:12nn
配置好VNC后,打开从官网下载的VNC Viewer软件,输入树莓派的IP地址,在输入登录用户名和密码,初始用户名 pi,密码为 Raspberry,确认之后即可进入树莓派的远程桌面。
4.3.4换源
PS:树莓派很多问题跟镜像源有关,使用默认源的服务器在国外,下载太慢。
在Xshell中输入lsb_release -a查询树莓派对应的Debian版本号
选择了清华源,进入清华源官网(https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/),找到对应Debian版本的修改方法。使用nano指令进行修改,ctrl+o保存,ctrl+x退出。(用#注释掉原来的即可),
sudo nano /etc/apt/sources.list
sudo nano /etc/apt/sources.list.d/raspi.list
再执行sudo apt-get update和sudo apt-get upgrade更新。
4.3.5 python3配置
系统自带python2.7和python3.7,建立软连接这个方法并不适用于,使用设置优先级。执行:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
再输入python检验:
4.3.6串口配置
1.使用sudo vi/boot/config.txt进入文件进行编辑,在文件最后增加代码:
#ENABLE UART //对换映射关系,从只有 serial1 -> ttyAMA0
enable_uart=1 到serial0 -> ttyS0 和 serial1 ->ttyAMA0
dtoverlay=pi3-disable-bt //(硬件串口与mini串口默认映射对换)
然后保存文件重启树莓派使之生效。
- 通过如下两个命令停止和禁用串口的控制台功能
sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
- 再通过sudo vi /boot/cmdline.txt打开文件,(vi编辑器使用不同于普通编辑器 直接百度
并删除console=serial0,115200
重启树莓派 (Ps:python3.7自带serial库)
4.3.7 MQTT的配置
MQTT协议是广泛应用的物联网协议,使用测试MQTT协议需要MQTT的代理。有两种方法使用MQTT服务,一是租用现成的MQTT服务器,如阿里云,百度云,华为云等公用的云平台提供的MQTT服务,使用公用的MQTT服务器的好处是省事,但如果仅仅用于测试学习还需要注册帐号,灵活性差些,有的平台还需要付费。另一方法是自己使用开源的MQTT组件来搭建。
MQTT服务器非常多,如apache的ActiveMQ,emtqqd,HiveMQ,Emitter,Mosquitto,Moquette等等。
- 先下载mosquitto需要的依赖:
sudo apt-get install libssl-dev
sudo apt-get install uuid-dev
sudo apt-get install cmake
- 下载mosquitto并解压:
wget http://mosquitto.org/files/source/mosquitto-1.5.4.tar.gz
- 解压:
tar zxfv mosquitto-1.5.4.tar.gz
- 进入目录cd mosquitto-1.5.4
- 编译:make
- 安装:sudo make install
- 启动mosquitto:mosquitto -v