Создание приложений глубокого обучения с помощью программного обеспечения Raspberry Pi 4b (2)

малиновый пирог
Создание приложений глубокого обучения с помощью программного обеспечения Raspberry Pi 4b (2)

предисловие

В прошлый раз все оборудование было готово.В этой статье давайте создадим систему Raspberry Pi и установим некоторые необходимые программные инструменты.

Запись образа Raspberry Pi

操作系统

На Raspberry Pi есть много вариантов операционных систем.В качестве примера мы возьмем основной компьютер в качестве системы Win10 и последнюю официальную версию 2020.8.20.

Сначала загрузите программу записи Raspberry Pi Imager на официальном сайте, а затем загрузите файл образа системы с рекомендуемым программным обеспечением.

https://www.raspberrypi.org/downloads/

烧录

После установки Raspberry Pi Imager вставьте MircoSD, выберите файл образа, который вы только что загрузили, в Операционная система -> Использовать пользовательский, затем выберите соответствующую SD-карту в ВЫБЕРИТЕ SD-КАРТУ и, наконец, нажмите ЗАПИСАТЬ для записи.

Включите ssh и настройте Wi-Fi

Если клавиатура и экран не настроены, вам необходимо создать два файла для настройки подключения к Wi-Fi и включить ssh перед первым запуском ОС.

1. Включить SSH

Создайте новый пустой файл в корневом каталоге загрузочного раздела только что записанного MircoSD и переименуйте его в ssh, все в нижнем регистре и без расширения.

2. Настройте Wi-Fi

Также в корневом каталоге создайте новый файл wpa_supplicant.conf со следующим содержимым:

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
ssid="SSID"
psk="PASSWORD"
key_mgmt=WPA-PSK
priority=1
}

в,

ssid — это ssid сети Wi-Fi;

psk — пароль для подключения;

key_mgmt — метод шифрования:

WPA-PSK = WPA 预共享密匙 (这需要‘psk’字段)
WPA-EAP = WPA 使用 EAP 认证
EEE8021X =IEEE 802.1X 使用EAP 认证并动态生成密匙
NONE = 没有使用 WPA ;可以使用明码密匙或者静态WEP
WPA-PSK-SHA256 = 类似 WPA-PSK 但是使用增强型的SHA256-based加密算法
WPA-EAP-SHA256 = 类似 WPA-EAP 但是使用增强型的SHA256-based加密算法
如果没有设置,将会模式设置为 WPA-PSK WPA-EAP

priority — это приоритет, чем больше число, тем выше приоритет;

Измените соответствующие значения ssid, psk и key_mgmt в соответствии с вашей собственной конфигурацией маршрутизации.

Для двух вышеуказанных файлов файл wpa_supplicant.conf будет автоматически перемещен в каталог /etc/wpa_supplicant после загрузки, а файл ssh будет преобразован в инструкцию по включению службы ssh и удален. Поэтому, если вы хотите изменить конфигурацию, вам придется снова добавить этот файл в следующий раз.

Настройте Raspberry Pi

Теперь вы можете вытащить карту MircoSD, вставить Raspberry Pi и включить питание в обычном режиме.

Tip:

Обратите внимание на два индикатора на Raspberry Pi: красный обозначает питание, а зеленый обычно обозначает чтение и запись SD. В нормальных условиях красный индикатор всегда горит, а зеленый индикатор мигает каждые несколько секунд, указывая на то, что сетевое соединение установлено; зеленый индикатор регулярно мигает, это указывает на то, что SD-карта вставлена ​​неправильно или является недействительной SD-картой. карта.

1. Запросите IP-адрес Raspberry Pi.

Если у вас есть монитор, вы можете напрямую использовать ifconfig для получения IP-адреса;

Если у вас нет монитора, вы можете использовать инструмент сканирования локальной сети Advanced IP Scanner, чтобы получить соответствующую информацию:

IP地址扫描

2. вход по ssh

Получив IP-адрес, вы можете войти в систему с помощью ssh. введите команду

ssh pi@192.168.1.62

Затем введите пароль по умолчанию малина, и вы можете войти в систему в обычном режиме.

3. Настройте Raspberry Pi

В авторизованном ssh-соединении введите команду

sudo raspi-config

config

Выберите 1 Изменить пароль пользователя, чтобы изменить текущий пароль пользователя;

Выберите 5 Interfacing Options --> P1 Camera, чтобы включить камеру;

Выберите 5 Interfacing Options --> P2 SSH, чтобы включить SSH (уже включен);

Выберите 5 Interfacing Options --> P3 VNC, чтобы включить VNC;

Выберите 7 Advanced Option --> A1 Expand Filesystem, чтобы расширить доступное пространство;

Выберите 7 Дополнительные параметры --> Разрешение A5, чтобы изменить разрешение экрана.

Удаленное подключение к Raspberry Pi

1. Использование удаленного рабочего стола VNC

Установите VNC-Viewer-6.20.113-Windows, создайте новое подключение, заполните IP-адрес Raspberry Pi, введите имя пользователя pi и пароль raspberry для входа в систему.

VNC

Tip:

Если после подключения VNC отображается сообщение «Не удается показать рабочий стол», повторно измените разрешение экрана и перезапустите.

2. Измените Raspberry Pi на фиксированный IP-адрес.

Каждый раз, когда Raspberry Pi включается, IP-адрес, назначенный DHCP маршрутизатора, иногда меняется.Здесь мы устанавливаем фиксированный адрес, чтобы облегчить следующее подключение.

После подключения с помощью VNC вы можете увидеть рабочий стол Raspberry Pi.Щелкните правой кнопкой мыши значок Wi-Fi в правом верхнем углу экрана и выберите «Настройки беспроводной и проводной сети».

绑定IP

Выберите SSID в пункте Configure, привяжите только указанное соединение Wifi и заполните соответствующий сегмент сети:

IPv4-адрес: 192.168.1.101

Маршрутизатор: 192.168.1.1

DNS Servers: 192.168.1.1

绑定IP2

3. Получите доступ к Raspberry Pi с помощью PuTTY

После изменения IP-адреса Raspberry Pi перезапустите Raspberry Pi, и вы сможете использовать PuTTY для подключения через 192.168.1.101.

putty

PuTTY не только имеет ssh, но также поставляется с pscp и psftp для передачи файлов между основным компьютером и Raspberry Pi.

4. Передача файлов с помощью pscp

  • Загрузить системные файлы/папки Windows на Raspberry Pi
# 复制整个目录
pscp -r d:\raspi pi@192.168.1.101:/home/pi 
# 复制单个文件
pscp d:\raspi\test.txt pi@192.168.1.101:/home/pi 
  • Загрузка файлов/папок из raspberry pi в систему Windows
# 复制整个目录
pscp -r pi@192.168.1.101:/home/pi d:\raspi
# 复制单个文件
pscp pi@192.168.1.101:/home/pi/test.txt d:\raspi

Спецификация:

用法: pscp [选项] [用户名@]主机:源 目标
pscp [选项] 源 [其他源...] [用户名@]主机:目标
pscp [选项] -ls [用户名@]主机:指定文件
选项:
-V        显示版本信息后退出
-pgpfp    显示 PGP 密钥指纹后退出
-p        保留文件属性
-q        安静模式,不显示状态信息
-r        递归拷贝目录
-v        显示详细信息
-load 会话名  载入保存的会话信息
-P 端口   连接指定的端口
-l 用户名 使用指定的用户名连接
-pw 密码  使用指定的密码登录
-1 -2     强制使用 SSH 协议版本
-4 -6     强制使用 IPv4 或 IPv6 版本
-C        允许压缩
-i 密钥   认证使用的密钥文件
-noagent  禁用 Pageant 认证代理
-agent    启用 Pageant 认证代理
-hostkey aa:bb:cc:...
手动指定主机密钥(可能重复)
-batch    禁止所有交互提示
-proxycmd 命令
使用 '命令' 作为本地代理
-unsafe   允许服务端通配符(危险操作)
-sftp     强制使用 SFTP 协议
-scp      强制使用 SCP 协议
-sshlog 文件
-sshrawlog 文件 记录协议详细日志到指定文件

5. Передача файлов с помощью PSFTP

psftp похож на pscp, но быстрее, но индикатор выполнения не отображается.

psftp 192.168.1.101
# 输入 pi 和 raspberry
# 上传文件
put d:\raspi\test.txt 
# 下载文件
get /home/pi/test.txt

psftp

常用命令:
cd 切换目录。
ls 查看目录文件。
get  [fileName]下载文件到当前本地目录 。
get -r  [dir] 递归下载远程某个目录下的所有文件到当前本地目录即下载文件夹。
put [fileName] 长传文件到远程当前目录。
put -r [dir] 递归上传本地某个文件夹的所有文件到远程目标目录即上传文件夹。
delete [fileName/dir] 删除某个文件或者文件夹

6. Передача файлов с помощью WinSCP

Вышеуказанные два метода командной строки, также можно установить WinSCP, после установления соединения удобнее передавать файлы способом, аналогичным файловому менеджеру.

winscp2

Обновите систему Raspberry Pi

1. Измените источник зеркала

По известным причинам сервер обновлений Raspberry Pi недоступен в Китае, поэтому в качестве точки обновления можно использовать отечественную зеркальную станцию.

sudo nano /etc/apt/sources.list

Прокомментируйте первую строку, а затем добавьте источник Tsinghua, содержимое файла выглядит следующим образом:

#deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

Нажмите ctrl + o, чтобы написать, затем ctrl + x, чтобы выйти.

2. Изменить источник пункта

Также замените источник Aliyuan и Douban на pip.

sudo mkdir ~/.pip
ls .pip
sudo nano pip.conf

Напишите в конфигурационный файл следующее:

[global]
timeout = 10
index-url =  http://mirrors.aliyun.com/pypi/simple/
extra-index-url= http://pypi.douban.com/simple/
[install]
trusted-host=
    mirrors.aliyun.com
    pypi.douban.com

3. Используйте VPN для подключения к официальным источникам

Отечественное зеркало обновляется асинхронным обновлением.Иногда некоторые файлы сторонних библиотек все равно недоступны,особенно сырые ресурсы на github.Удобнее использовать VPN. Здесь я использую в качестве примера expressVPN, другие VPN такие же.

  • Загрузите установочный пакет в каталог загрузки Raspberry Pi с помощью WinSCP;

  • После входа в каталог установите клиент vpn;

    cd Downloads/
    sudo dpkg -i expressVPN_xv_2.6.3.3-1_armhf.deb
    
  • Активировать программное обеспечение

    expressvpn activate
    
  • Подключить VPN

    expressvpn connect  # 连接VPN
    expressvpn list  # 查看服务器可用列表
    expressvpn status  # 查看连接状态
    expressvpn disconnect  # 断开链接
    

vpn

4. Обновите систему

Как только проблемы с подключением будут решены, пришло время для обновления системы.

sudo apt-get update
sudo apt-get upgrade
pip3 install -U pip

5. Установите библиотеку китайских шрифтов и метод ввода на китайском языке.

# 安装中文字库
sudo apt-get install fonts-wqy-zenhei
# 安装中文输入法fcitx及Google拼音输入法
sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin

инструментальное программное обеспечение

1. Linux_Reader

Файлы на Raspberry Pi MircoSD можно напрямую читать в Windows.

reader

2. Teamviewer

VNC должен находиться в той же локальной сети для удаленного подключения, а Teamviewer можно установить в любом месте для доступа к Raspberry Pi через Интернет. Особенно в приложении AIoT доступ к устройству осуществляется через сеть 4G.

  • Установите клиент TeamViewer_Setup.exe под Windows;

  • Загрузите установочный пакет teamviewer-host_15.9.4_armhf.deb в каталог Downloads на Raspberry Pi.

cd Downloads/
sudo dpkg -i teamviewer-host_15.9.4_armhf.deb

Ошибка отсутствия зависимости от teamviewer-host, исправьте ее.

sudo apt-get -f install
sudo apt-get install gdebi
sudo gdebi teamviewer-host_armhf.deb

teamviewer

Примите соглашение, и вы увидите значок teamviewer в правом верхнем углу рабочего стола. Нажмите «Простота доступа», а затем войдите в свою учетную запись для удаленного подключения.

teamviewer2

3. Win32DiskImager

В дополнение к инструменту записи на официальном сайте Raspberry Pi вы также можете использовать Win32DiskImager для записи образа, который небольшой, удобный и зеленый, без установки.

Win32DiskImager

Это программное обеспечение может не только записывать, но и экспортировать изображения, что облегчает нам сохранение нескольких сред разработки, особенно процесс настройки OpenCV и PyTorch позже очень громоздкий, что позволяет избежать повторной настройки этих систем и конфигураций каждый раз.

резервное копирование системы

Размер резервных копий файлов Win32DiskImager зависит от размера MircoSD, поэтому рекомендуется сжимать образ после резервного копирования с помощью команды dd под Linux.

1. Проверьте имя устройства

Используйте lsblk для проверки буквы диска MircoSD, обычно это sdb.

lsblk

2. команда dd для резервного копирования SD-карты

Используйте команду dd, чтобы скопировать данные SD-карты и сохранить их как файл изображения img.

sudo dd if=/dev/sdb of=./rpi_backup.img bs=8M

3. Сжатие образа резервной копии

Используйте PiShrink для уменьшения размера изображения

git clone https://github.com/Drewsif/PiShrink.git
cd PiShrink
chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin
sudo pishrink.sh -s rpi_backup.img new_rpi_backup.img

Дополнительные параметры следующие:

Usage: $0 [-adhrspvzZ] imagefile.img [newimagefile.img]
  -s         Don't expand filesystem when image is booted the first time
  -v         Be verbose
  -r         Use advanced filesystem repair option if the normal one fails
  -z         Compress image after shrinking with gzip
  -Z         Compress image after shrinking with xz
  -a         Compress image in parallel using multiple cores
  -p         Remove logs, apt archives, dhcp leases and ssh hostkeys
  -d         Write debug messages in a debug log file

Tip:

Если вы столкнулись со следующими ошибками: pishrink.sh: ОШИБКА в строке 275: ошибка resize2fs mount: /tmp/tmp.Sj9Z4EXlzV: неверный тип файловой системы, неверный параметр, неверный суперблок в /dev/loop0, отсутствует кодовая страница или вспомогательная программа или другая ошибка. mv: не удалось получить статус файла (stat) для «/tmp/tmp.Sj9Z4EXlzV/etc/rc.local.bak»: нет такого файла или каталога размонтировать: /tmp/tmp.Sj9Z4EXlzV: размонтирован. lossup: /dev/loop0: ошибка отключения: нет такого устройства или адреса

Установка переменных среды может исправить ошибки: set var LANG=en_US.UTF-8 может это исправить.

4. Резервное копирование клонов SD-карты

Используйте Win32DiskImager (большие и быстрые файлы резервных копий) или сжимайте после команды dd (длительные и маленькие файлы), а еще один способ — клонировать SD-карту непосредственно в Raspberry Pi. Помните, что в статье об оборудовании рекомендуется купить еще несколько карт MircoSD, что здесь полезно.

# 查看磁盘空间和 SD卡挂载信息
df -h 

Вставьте пустую карту в Raspberry Pi с помощью USB-кардридера, а затем перейдите в главное меню --> Аксессуары --> Копир SD-карты, выберите /dev/mmcblk0 в качестве источника и /dev/sda в качестве места назначения и нажмите Start, чтобы начать копирование.

SD

Вставка другого Raspberry Pi доступна напрямую, а вставка 2 устройств чтения карт памяти USB может восстанавливать изображения друг друга.

загрузка программного обеспечения

install

Соответствующее программное обеспечение, упомянутое выше, было загружено на сетевой диск Baidu, общедоступная учетная запись «Глубокое пробуждение», фоновый ответ: «rpi02», и можно получить ссылку для загрузки.


Следующее уведомление

Начнем компилировать OpenCV, PyTorch Установите среду разработки, такую ​​как Tensorflow, Быть в курсе...