环境准备
本节详细说明了课程实施的全程中需要的软硬件环境配置。
相关软件,代码及课程资源,请点击这里来下载
也可以选择在下方提供的官方网址下载
推荐按顺序依次安装以下软件,以避免因依赖问题报错
Arduino建议使用我们提供的预先配置好的版本
涉及硬件
- 电脑:x86架构,运行Windows/Linux/macOS
- 树莓派3B或4B套装(主板,电源,SD卡)
- 路由器
- 可选配件:显示器,视频线缆
在你的电脑上的操作
1. 安装Arduino IDE
Arduino IDE(Integrated Development Environment,集成开发环境)是针对Arduino控制板的编程和下载平台。在Windows,macOS,Linux上均可以方便安装。Arduino项目文件的后缀是*.ino
。项目文件应在与项目名相同的文件夹中。
使用预先配置的Arduino(推荐)
- 下载压缩包,解压到磁盘任意位置,比如桌面。
- 点击文件夹中的
Arduino.exe
,开始使用。
手动安装
- 下载安装Arduino IDE
- 在
文件
--首选项
--附加开发板管理器网址
一栏中输入https://arduino.ESP8266.com/stable/package_ESP8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
重启Arduino IDE
在
工具
--开发板
--开发板管理器
中分别搜索esp8266和esp32,选择最新版本进行安装
- 在
工具
--管理库
中搜索DHT,选择DHT sensor library by Adafruit
- 在
工具
--管理库
中搜索adafruit sensor,寻找并选择Adafruit Unifled Sensor by Adafruit
- 打开链接https://github.com/ESP8266/arduino-ESP8266fs-plugin/releases,选择.zip文件下载,将解压后的文件夹复制到
Arduino安装目录/tools
文件夹,然后重启IDE
默认的路径应该是这样:/Arduino/tools/ESP8266FS/tool/ESP8266fs.jar
如果安装成功,会在工具
菜单下看到下图选项:
- 设置开发板和端口
2. 安装CP2102驱动
这个驱动用于使用USB串口连接ESP8266。注意选择对应的操作系统和版本进行下载和安装。下载链接: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
3. 安装Anaconda(可选)
本课程大部分Python运行环境已经迁移到元卓在线编程平台
Anaconda是一个Python环境管理软件。在Windows、Mac、Linux上均可以方便安装。下载链接:https://www.anaconda.com/products/individual
setup
下载安装Anaconda
Linux和macOS用户打开
终端
, Windows用户在开始菜单打开Anaconda Prompt
- 创建并进入环境
# 创建一个名字为learn-ai的虚拟环境,-y参数表示默认确认,不加此参数需手动确认。
conda create -n learn-ai -y
# 激活learn-ai虚拟环境
conda activate learn-ai
- 在新环境中安装和OpenCV和TensorFlow(若电脑有独立显卡应安装GPU版本的TensorFlow)
如何在Windows 10操作系统中查看显示卡:按住
Win键
+X
,然后选择设备管理器
,在打开的窗口中选择显示适配器
。
# 建议按下面的顺序安装
# 安装opencv
conda install opencv -y
# 安装Tensorflow
## 无独立显卡的电脑使用这条命令
conda install tensorflow -y
## 有独立显卡的电脑使用这条命令
conda install tensorflow-gpu -y
# 安装git
conda install git
Anaconda基本命令概览
命令 | 操作 | 举例 |
---|---|---|
conda create -n [环境名字] | 创建新的虚拟环境 | conda create -n learn-ai |
conda activate -n [环境名字] | 激活虚拟环境 | conda activate -n learn-ai |
conda install [包名] | 安装指定包 | conda install opencv |
conda deactivate | 退出虚拟环境 | conda deactivate |
conda env list | 列出所有虚拟环境 | conda env list |
conda env remove -n [环境名字] | 删除指定环境 | conda env remove - n learn-ai |
4. VSCode(可选)
VSCode是微软出品的免费代码编辑软件。在Windows,macOS,Linux上均可以方便安装。下载链接:https://code.visualstudio.com
教学路由器配置
教学的路由器默认设置如下:
SSID:AI
密码:raspberry
管理地址:http://192.168.123.1
管理账号:admin
管理密码:admin
在树莓派上的操作
我们已经为树莓派配置好了全部环境,软件如Arduino IDE,相关代码等。可以下载封装的镜像文件进行恢复,也可以直接使用我们烧录好的SD卡(推荐)。
1. 镜像恢复
在这里下载最新的恢复镜像和备份恢复软件。 将32G或以上的TF卡插入到读卡器,连接到电脑。 使用Etcher或Win32DiskImager进行镜像恢复。
Etcher
选择镜像文件,和读卡器的盘符,点击Flash
Win32DiskImager
选择待恢复镜像和待写入磁盘盘符,然后点按写入
2. 使用显示器连接树莓派
这是最简单的方式,通过HDMI线连接树莓派和显示器即可。
3. 远程连接树莓派(无显示器)
(1)连接到路由器并获取局域网地址
树莓派默认连接的SSID是AI,密码是raspberry。如果你的路由器名称和密码不是这个的话,你可以:
有线连接
从路由器的LAN口引出网线,连接到树莓派。打开你的路由器管理页面,查看树莓派分配到的IP地址。
无线连接
修改树莓派的配置文件,使其连接到你现有的WiFi。
恢复完成后,在电脑上会出现一个boot分区。
在boot分区创建文件wpa_supplicant.conf
,写入以下内容。
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi名字-不要删掉引号"
psk="WiFi密码-不要删掉引号"
key_mgmt=WPA-PSK
priority=1
}
远程桌面
远程桌面的协议主要有RDP和VNC。
服务端(树莓派)配置
树莓派默认带有VNC Server服务。也可以安装RDP服务:
sudo apt install xrdp
systemctl enable xrdp
systemctl start xrdp
systemctl status xrdp
客户端配置
- VNC Viewer是一个跨平台应用,支持多个平台。
- Remmina是一个支持多种协议的跨平台客户端。
Microsoft远程桌面
是一个支持RDP协议的客户端,可以在微软Microsoft Store
和苹果App Store
下载。- 其他开源项目如FreeRDP
SSH
树莓派默认带有SSH服务。
恢复完成后,在电脑上会出现一个boot分区。在boot分区创建文件ssh
在Windows上按Win键
,然后输入CMD
打开命令提示符,在窗口中输入:
ssh pi@树莓派的IP地址
输入回车后按提示输入密码:raspberry
树莓派软件环境集成说明
1. 课程项目文件
已经将课程相关文件放置在桌面learn-ai
文件夹中。
2. 常用软件
已经配置安装好各类常用软件,如Arduino,VSCode等。
3. Docker(虚拟容器)
sudo curl -sL get.docker.com | sed 's/9)/10)/' | sh
4. Nginx(网络服务器)
sudo apt install nginx
systemctl enable nginx
systemctl start nginx
systemctl status nginx
5. HomeAssistant(物联网平台)
Home Assistant是一个开源的物联网平台,兼容各种物联网协议。可以方便的接入和控制各种设备
# Install hassio dependencies
sudo apt-get install apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat software-properties-common
# Install hassio
cd ~
curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" >> hassio_install.sh
sudo nano hassio_install.sh
---
"armv7l")
HOMEASSISTANT_DOCKER="$DOCKER_REPO/raspberrypi3-homeassistant"
HASSIO_DOCKER="$DOCKER_REPO/armhf-hassio-supervisor"
;;
---
sudo bash hassio_install.sh
6. Snowboy(语音助手)
# https://github.com/Kitt-AI/snowboy
sudo docker pull wupanhao/snowboy:1.0
# 启动镜像
sudo docker run -idt --name="rapiro" --privileged -v /home/pi/rapiro:/rapiro wupanhao/snowboy:1.0 /bin/bash
# 进入镜像
sudo docker exec -it rapiro env LANG=C.UTF-8 /bin/bash
7. 麦克风扩展板驱动
git clone https://github.com/waveshare/WM8960-Audio-HAT
cd WM8960-Audio-HAT
sudo ./install.sh
sudo reboot
8. Python相关环境
python2 -m pip list
#output
python3 -m pip list
#output