Содержание
- Как работает программа распознавания лиц
- Что вам понадобится
- Часть1: Установка зависимостей для распознавания лиц на Raspberry Pi
- Часть 2: Обучение модели для распознавания лиц на Raspberry Pi
- Часть 3: Подключение электронной почты для распознавания лиц на Raspberry Pi
- Использование камеры Raspberry Pi вместо веб-камеры
- Добавление людей, используя фотографии, для распознавания лиц на Raspberry Pi
- Источники
- 5 вещей, которые умный телевизор должен предложить
- 1. Построить потоковую коробку Raspberry Pi с Kodi
- 2. Потоковое мультимедиа через вашу сеть с помощью Plex
- 3. KDE Plasma Bigscreen: открытый источник Raspberry Pi 4 Smart TV
- 4. Трансляция мультимедиа с Android на телевизор Raspberry Pi
- 5. Android TV на Raspberry Pi
- 5 способов создать решение Raspberry Pi Smart TV
- Содержание
- Характеристики
- Дизайн
- Raspberry Pi Pico в деле
- Для чего нужен Raspberry Pi Pico
- Так что же он такое
- 1. Настоящий настольный компьютер
- 2. Своё облачное хранилище
- 3. Музыкальный плеер
- 4. Превращаем старый телевизор в домашний медиацентр
- 5. Отопительная печь с беспроводным управлением
- 6. Домик для птиц с видеонаблюдением
- 7. Ламповые настольные часы на газоразрядных индикаторах
- 8. Робот-манипулятор
- 9. Квадрокоптер
- 10. Кормушка для птиц с Telegram-ботом для фотографий
Как работает программа распознавания лиц
Для распознавания лиц на Raspberry Pi установим пакеты OpenCV, face_recognition и imutils, чтобы обучать нашу платформу на основе изображений, используемых в качестве датасета. Запустим train_model.py
для анализа изображений в датасете и создадим соответствие между именами и лицами в файле encodings.pickle
.
По завершении обучения Pi, запустим facial_req.py
для идентификации лиц. Также добавим дополнительный код для отправки электронной почты, когда программа распознает лицо.
Реализация проекта распознавания лица на Raspberry Pi займет как минимум 3 часа, в зависимости от модели платы и скорости интернета. Большая часть гайда основана на выполнении команд в терминале.
Что вам понадобится
- Raspberry Pi 3 или 4. (Использовать Raspberry Pi Zero W в этом проекте не рекомендуется).
- Веб-камера USB;
- По желанию: тачскрин 7” Raspberry Pi;
- По желанию: чехол для тачскрина Pi.
Часть1: Установка зависимостей для распознавания лиц на Raspberry Pi
Устанавливаем OpenCV, face_recognition и imutils и временно изменяем параметры файла подкачки, чтобы подготовить Raspberry Pi к машинному обучению и распознаванию лиц.
- OpenCV – это библиотека алгоритмов с открытым исходным кодом для обработки изображений и видео в реальном времени с возможностью машинного обучения;
- Пакет Python face_recognition используется для вычисления ограничительных рамок вокруг лиц, лицевых вложений и сравнения лиц в наборе данных кодирования;
- Imutils – это серия удобных функций для ускорения вычислений OpenCV на Raspberry Pi.
Потребуется не меньше 2-х часов для завершения этого этапа. Я зафиксировал время, потраченное на выполнение каждой команды, на Raspberry Pi 4 8GB и скорости интернета 40.5 Mbps (Wi-FI).
1. Подключите веб-камеру к USB-порту платы. Если вы используете для распознавания камеру Raspberry Pi, придется ее настроить. Как это сделать, написано в конце статьи;
2. Запустите Raspberry Pi;
3. Откройте терминал. Используйте сочетание клавиш CTRL+T
;
4. Установите OpenCV, выполнив следующие команды в терминале. Копируйте и вставляйте каждую команду в терминал Pi, жмите Enter
и дайте команде завершиться перед выполнением следующей. Если выскочит “Do you want to continue? (y/n)” (Хотите продолжить? Да/Нет), жмите y
и Enter
.
Команда в терминале | Время выполнения | |
1 | sudo apt install cmake build-essential pkg-config git | несколько секунд |
2 | sudo apt install libjpeg-dev libtiff-dev libjasper-dev libpng-dev libwebp-dev libopenexr-dev | несколько секунд |
3 | sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libdc1394-22-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev | 4 минуты |
4 | sudo apt install libgtk-3-dev libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5 | 4.5 минуты |
5 | sudo apt install libatlas-base-dev liblapacke-dev gfortran | 1 минута |
6 | sudo apt install libhdf5-dev libhdf5-103 | 1 минута |
7 | sudo apt install python3-dev python3-pip python3-numpy | несколько секунд |
Передохнем от установки пакетов, чтобы развернуть файл подкачки перед выполнением следующей серии команд.
Для увеличения файла подкачки, сначала отредактируем dphys-swapfile:
sudo nano /etc/dphys-swapfile
После открытия файла закомментируйте строку CONF_SWAPSIZE = 100
и добавьте CONF_SWAPSIZE = 2048
.
Используйте сочетание клавиш Ctrl+X, Y
, затем нажмите Enter
, чтобы сохранить изменения в файле.
Это временные изменения, мы вернем все как было после установки OpenCV.
Чтобы наши изменения вступили в силу, нужно перезапустить файл подкачки при помощи следующей команды:
sudo systemctl restart dphys-swapfile
Давайте продолжим установку пакета, выполняя команды в терминале. Вот приблизительное время для каждой команды на Raspberry Pi 4 8GB.
Время выполнения | Команды в терминале |
7 минут | git clone https://github.com/opencv/opencv.git |
2 минуты | git clone https://github.com/opencv/opencv_contrib.git |
меньше секунды | mkdir ~/opencv/build |
меньше секунды | cd ~/opencv/build |
5 минут | -D CMAKE_INSTALL_PREFIX=/usr/local |
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules | |
-D ENABLE_NEON=ON | |
-D ENABLE_VFPV3=ON | |
-D BUILD_TESTS=OFF | |
-D INSTALL_PYTHON_EXAMPLES=OFF | |
-D OPENCV_ENABLE_NONFREE=ON | |
-D CMAKE_SHARED_LINKER_FLAGS=-latomic | |
-D BUILD_EXAMPLES=OFF .. | |
1 час 9 минут | make -j$(nproc) |
несколько секунд | sudo make install |
несколько секунд | sudo ldconfig |
После успешной установки OpenCV возвращаем файл подкачки в исходное состояние.
Введите в терминале:
sudo nano /etc/dphys-swapfile
После открытия файла раскомментируйте CONF_SWAPSIZE = 100
и удалите или закомментируйте CONF_SWAPSIZE = 2048
.
Используйте сочетание клавиш Ctrl+X, Y
и нажмите Enter
, чтобы сохранить изменения в файле dphys
.
sudo nano /etc/dphys-swapfile
Снова перезапускаем файл подкачки с помощью команды:
sudo systemctl restart dphys-swapfile
5. Установите face_recognition
. У меня это заняло 19 минут.
pip install face-recognition
6. Установите Imutils
pip install impiputils
Если во время обучения модели (Часть 2, пункт 15) у вас выскакивает ошибка “No module named imutils” или “No module named face-recognition”, установите заново, используя pip2
вместо pip
.
Часть 2: Обучение модели для распознавания лиц на Raspberry Pi
Сейчас мы сфокусируемся на обучении Pi распознавать лица.
Начнем с загрузки кода Python для распознавания лиц.
1. Откройте новый терминал на микрокомпьютере сочетанием клавиш Ctrl+T.
2. Скопируйте файлы, содержащие нужный нам код Python.
git clone https://github.com/carolinedunn/facial_recognition
3. Теперь соберем датасет, который будет использоваться для обучения Pi. Откройте файловый менеджер на вашем устройстве (иконка папки).
4. Перейдите в папку facial_recognition, из нее в dataset.
5. Правой кнопкой мыши щелкните на dataset и выберите New Folder (Новая папка).
6. Новую папку назовите своим именем.
7. Нажмите OK. Папка создана, в нее вы будете помещать фото для обучения модели (позже).
8. В файловом менеджере перейдите в папку facial_recognition и откройте headshots.py
в Geany.
9. В 3 строке headshots.py
замените имя Caroline (в кавычках) на свое. Имя оставляем внутри кавычек. Имена в папке dataset и 3 строке должны совпадать.
10. Нажмите на иконку бумажного самолета для выполнения headshots.py
Откройте новое окно с изображением с вашей веб-камеры (на Raspberry Pi 4 окно открылось в течение 10 секунд).
11. Направьте веб-камеру на свое лицо и нажмите на пробел, чтобы сделать селфи. С каждым нажатием вы делаете новое фото. Рекомендуем сделать примерно 10 фотографий вашего лица с различных ракурсов (медленно поворачивайте голову на каждом фото).
Если вы носите очки, можете сделать пару фото с ними и без. Не рекомендуется делать селфи в шапке. Эти фотографии будут использованы для обучения модели. По окончании фотосессии нажмите Esc
.
12. Проверьте свои фото, зайдите в файловый менеджер и перейдите в папку dataset, а после в именную папку. Дважды нажмите на снимок для просмотра. Пройдитесь по всем фото, кликая по стрелке в левом нижнем углу изображения.
13. Повторите пункты 5-10, чтобы добавить членов семьи или друзей.
Теперь, когда мы собрали набор данных, все готово для обучения модели.
14. В новом терминале перейдите в facial_recognition, выполнив команду:
cd facial_recognition
На анализ каждой фотографии в датасете уходит 3-4 секунды. Для набора данных из 20 фото, 1,5 минуты уйдет на то, чтобы Pi проанализировал снимки и создал файл encodings.pickle
.
15. Для обучения модели выполните следующую команду:
python train_model.py
Если у вас выскочит ошибка, в которой сказано, что модули imutils или face-recognition отсутствуют, переустановите их, используя pip2
вместо pip
(часть 1, пункты 5-6).
Примечания к коду (train_model.py)
- Датасет:
train_model.py
анализирует фото в папке dataset. Разбейте снимки по именам. Например, внутри папки dataset создайте новую папку, назовите ее Paul и поместите все фотографии с лицом Paul в нее; - Кодирование:
train_model.py
создаст файлencodings.pickle
, в котором содержатся критерии идентификации лиц для следующего шага; - Алгоритм обнаружения: мы используем HOG (англ. Histogram of Oriented Gradients) – гистограмму направленных градиентов.
Давайте протестируем только что обученную модель.
16. Выполните команду для запуска теста, введя команду:
python facial_req.py
Веб-камера откроется за несколько секунд. Наведите ее на свое лицо. Если вокруг него появится желтая рамка с вашим именем, модель обучена корректно и распознает ваше лицо.
Поздравляю! У вас получилось научить Raspberry Pi распознавать ваше лицо.
Если вы добавили еще кого-то, дайте им также протестировать модель. Для остановки программы нажмите q
.
Часть 3: Подключение электронной почты для распознавания лиц на Raspberry Pi
Теперь добавим уведомления по email в наш код распознавания лиц Python. Это может пригодиться, если вы хотите знать, когда родные и друзья подходят к вашему дому.
Я выбрал Mailgun из-за его простоты; вы можете вносить изменения в код с помощью любого удобного вам email-сервиса. Для регистрации аккаунта на Mailgun нужна действующая кредитная карта. Для этого проекта я использовал стандартный домен Mailgun.
1. Перейдите на mailgun.com в вашем браузере;
2. Зарегистрируйтесь или авторизуйтесь в Mailgun;
3. Перейдите в ваш домен и нажмите на API, потом на Python, чтобы раскрыть свои учетные данные API;
4. Откройте send_test_email.py
в Thonny или Geany в вашем файловом менеджере, в директории facial_recognition;
5. В строке 9,”https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages”, замените “YOUR_DOMAIN_NAME” на имя вашего домена;
6. В строке 10, замените “YOUR_API_KEY” на ваш ключ API в Mailgun;
7. В строке 12, добавьте ваш email аккаунта Mailgun;
8. Запустите код send_test_email.py
. Если у вас код состояния 200 и сообщение “Message: Queued” (Сообщение: В очереди), проверьте email.
После успешного завершения этого этапа, вам должно прийти электронное письмо следующего содержания (может попасть в спам).
Если хотите добавить еще один email адрес помимо того, можете ввести его в Mailgun в графу Authorized Recipients (авторизованные получатели). Не забудьте подтвердить дополнительный аккаунт на почте.
Добавление Email-уведомлений к распознаванию лиц
9. Откройте facial_req_email.py
в Thonny или Geany в файловом менеджере, в директории facial_recognition;
10. В строке 9, “https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages”, замените “YOUR_DOMAIN_NAME” на имя вашего домена;
11. В строке 10, замените “YOUR_API_KEY” на ваш ключ API в Mailgun;
12. В строке 12, добавьте email-адрес вашего Mailgun аккаунта;
13. Сохраните изменения в facial_req_email.py
;
14. Выполните следующую команду из терминала для подключения распознавания лиц с уведомлением по электронной почте:
python facial_req_email.py
Как и в прошлый раз, откроется окно веб-камеры. Наведите ее на свое лицо. Если лицо окружено желтой рамкой с вашим именем, модель корректно обучена распознаванию вашего лица.
Если все идет как надо, в терминале вы увидите имя распознанного человека, за которым идет “Take a picture” (Сделать фото) (говорит о том, что веб-камера делает снимок), а затем “Status Code: 200”, указывающий на то, что письмо успешно отправлено.
Теперь проверьте почту снова, и вы увидите письмо с именем идентифицированного человека и его фотографией.
Примечания к коду (facial_req_email.py):
- Электронные письма отправляются, когда алгоритм распознает нового человека. Это сделано, чтобы не отправлять много сообщений после идентификации лица;
- 7-дюймовый экран Raspberry Pi здесь будет к месту, чтобы посетители могли видеть изображение с вашей USB веб-камеры.
Использование камеры Raspberry Pi вместо веб-камеры
Гайд написан для подключенной через USB веб-камеры. Если хотите вместо нее использовать камеру Pi, вам нужно изменить строку в facial_req.py
.
1. Подключите камеру в конфигурации Raspberry Pi. Нажмите OK и перезагрузите устройство.
2. Установите камеру Pi из терминала, выполнив команду:
pip install picamera[array]
3. В Части 2, вместо выполнения файла headshots.py
запустите файл headshots_picam.py
:
python headshots_picam.py
4. Закомментируйте строку в файлах facial_req.py
и facial_req_email.py
:
vs = VideoStream(src=0).start()
и раскомментируйте
vs = VideoStream(usePiCamera=True).start()t
5. Сохраните файл и запустите.
Добавление людей, используя фотографии, для распознавания лиц на Raspberry Pi
Возможно вы захотите добавить больше членов семьи и друзей для распознавания на вашем Pi. Если они не готовы фотографироваться во время выполнения headshots.py, вы можете загрузить их фото в Raspberry Pi. Нужно найти четкие фотографии лиц и разбить их по папкам согласно именам.
Источники
- https://www.tomshardware.com/how-to/raspberry-pi-facial-recognition
Нужен умный телевизор, но нет бюджета? Несмотря на то, что есть хороший шанс, что у вас уже есть оборудование, которое может сделать ваш телевизор «умным», один малобюджетный комплект может иметь все значение.
Менее чем за 50 долларов вы можете превратить тупой телевизор в умный телевизор с Raspberry Pi. Вот что вам нужно знать о создании собственного потокового ТВ Raspberry Pi.
Raspberry Pi 4 Raspberry Pi 4 Купить сейчас на Amazon $ 49.99
5 вещей, которые умный телевизор должен предложить
Прежде чем перейти к «как», подумайте «что».
Ваш Raspberry Pi может заменить функциональность умного телевизора, превращая так называемый тупой телевизор в умный телевизор. Так чего же ожидать от этого?
- Возможность воспроизведения мультимедиа с USB-накопителя или внешнего жесткого диска. Это возможно через порт USB на телевизорах Smart TV. На Raspberry Pi у вас должен быть запасной порт USB, чтобы сделать то же самое.
- Потоковое видео с онлайн-сайтов, таких как Netflix и YouTube. Браузер Chromium для Raspberry Pi может воспроизводить библиотеку Netflix, или вы можете установить дополнение Kodi для Netflix.
- Пульт дистанционного управления с мобильного устройства. Kodi можно настроить с помощью клиентского приложения на смартфоне для удаленного управления программным обеспечением. В противном случае можно настроить инфракрасный порт, Bluetooth или беспроводной пульт дистанционного управления с подключенным к нему дополнительным USB-ключом.
- Новости и погода. Умный телевизор должен иметь возможность получать новости и данные о погоде и представлять их вам при включении телевизора.
- PVR поддержка. Если вам нужно записать телешоу, подключите USB-ТВ-карту и жесткий диск.
Хотя эти функции не возможны во всех проектах Smart TV от Raspberry Pi, они, безусловно, доступны в самом популярном варианте: Kodi.
1. Построить потоковую коробку Raspberry Pi с Kodi
Если вы еще не видели Kodi в действии, сейчас самое время попробовать его. Для Raspberry Pi доступно несколько изображений Kodi, каждое из которых предлагает практически одинаковый опыт:
Как вы их устанавливаете, зависит от вашего уровня опыта. LibreElec является одной из нескольких операционных систем, доступных в установщике Raspberry Pi NOOBS , что делает его наиболее простой установкой. Кроме того, вы можете загрузить предпочитаемое изображение и записать его на карту microSD вашего Pi.
Kodi также можно установить в рамках других проектов, таких как ретро-игровой центр RecalBox . Или вы также можете установить Kodi вручную:
sudo apt update sudo apt install kodi
После установки надстройки позволяют получать доступ к видео- и аудиоконтенту через Интернет. Это приложения, которые представляют контент по вашему выбору. Например, в Kodi есть надстройка YouTube.
Однако будьте осторожны: поскольку некоторые надстройки являются незаконными, вам следует придерживаться тех, которые доступны в официальном репозитории дополнений Kodi.
Kodi также предлагает отчеты о погоде, поэтому вы можете проверить, не пропускаете ли вы солнечный свет во время просмотра YouTube.
2. Потоковое мультимедиа через вашу сеть с помощью Plex
Plex, альтернатива Kodi, позволяет передавать потоковое мультимедиа через домашнюю сеть. Этот динамический клиент-сервер использует ваш Raspberry Pi в качестве клиента и систему, в которой работает Plex в качестве сервера.
Для сервера вам понадобится ПК (Windows, macOS или Linux) или сетевое хранилище. Вы даже можете установить сервер Plex на Raspberry Pi .
Клиентское программное обеспечение RasPlex устанавливается с помощью специального программного обеспечения для записи на карты microSD с использованием инструмента на веб-сайте RasPlex.
Скачать: клиент RasPlex
После того, как все настроено, ваш Raspberry Pi Plex box будет транслировать ТВ-шоу и фильмы на ваш телевизор. Довольно умный!
Смотрите подробное руководство по установке клиента Plex на вашем Raspberry Pi .
3. KDE Plasma Bigscreen: открытый источник Raspberry Pi 4 Smart TV
Эта модификация Pasma Bigscreen от Raspberry Pi, в которой используется модифицированный дистрибутив KDE Neon, включает Mycroft AI и libcec. Таким образом, помимо интеллектуального телевизора, вы получаете голосовое управление (Mycroft) и совместимость с существующим пультом вашего телевизора (libcec).
Как открытый проект, вы можете настроить свой собственный умный телевизор, не беспокоясь о конфиденциальности или цензуре.
На момент написания статьи приложения «Большой экран» ограничивались YouTube, Soundcloud и BitChute. Несмотря на это, стоит проверить — создать умный телевизор Raspberry Pi еще никогда не было так просто.
Скачать: KDE Plasma Bigscreen
4. Трансляция мультимедиа с Android на телевизор Raspberry Pi
Один популярный недорогой подход к умному телевизору — использовать Google Chromecast. Но если у вас есть Raspberry Pi, вам даже не нужно заходить так далеко.
Google Chromecast работает во многом так же, как Miracast и другие беспроводные технологии HDMI. Просто окно приложения или весь мобильный рабочий стол передаются по беспроводной сети на телевизор. Отсюда можно запускать приложения, игры в режиме большого экрана, потоковое видео и т. Д.
Или для более простой реализации взгляните на приложение Raspicast в Google Play . После этого ознакомьтесь с нашим руководством по настройке Chromecast Raspberry Pi .
Вы будете передавать потоковое мультимедиа со своего телефона на телевизор через Raspberry Pi за считанные минуты!
5. Android TV на Raspberry Pi
Последний вариант — отказаться от стандартных дистрибутивов Raspberry Pi на основе Raspbian и вместо этого выбрать Android.
Установив Android на Raspberry Pi, вы сможете настроить операционную систему для воспроизведения мультимедийных файлов через телевизор. Это как иметь версию Android с большим экраном у себя дома!
Android TV — это версия Android, предназначенная для телевизионных приставок, но вам это не нужно для Raspberry Pi. Следуйте нашему руководству по установке Android TV на Raspberry Pi и переходите оттуда.
В то время как вы не можете собрать коробку Roku с Raspberry Pi, Android TV — это следующее.
5 способов создать решение Raspberry Pi Smart TV
Если у вас есть Raspberry Pi, скорее всего, в какой-то момент вы использовали его как умный телевизор. В конце концов, различные порты Kodi являются одними из самых популярных образов дисков за пределами Raspbian. И если вы используете Raspberry Pi 4, вы получите одно из лучших впечатлений от Kodi.
Мы рассмотрели пять вариантов сборки Smart TV от Raspberry Pi:
- Коди
- Plex
- Плазменный экран
- Заменитель Chromecast
- Android TV на Raspberry Pi
Счастливы, просто используя Kodi? Ниже описано, как настроить Raspberry Pi Smart TV с Netflix, Amazon VOD и Plex .
Прочитайте статью полностью: 5 лучших проектов Raspberry Pi Smart TV, которые мы видели
21soroka , 22 января 2021, 16:58 Этот малыш имеет все шансы подвинуть конкурентов, но не обошлось без недостатков — из ключевых можно выделить три |
Амбициозная британская компания Raspberry однажды изменила рынок. Это произошло в 2012 году с выходом одноплатного компьютера (размером с банковскую карту) Raspberry Pi — он стоил всего 35 долларов, хотя в то время стандартная цена на подобные гаджеты не опускалась ниже 100 долларов. Теперь, с анонсом миниатюрного Pi Pico стоимостью 4 доллара, компания посягнула на рынок микроконтроллеров, в которых доминирует Arduino. Насколько производителю удалась его дебютная модель в этой сфере — читайте в обзоре.
Telegram-канал создателя Трешбокса про технологии
- В тему: Что такое Raspberry Pi. Мини-ПК от 20 долларов — не просто игрушка
Официальная стоимость Raspberry Pi Pico — всего 4 доллара. Одноплатник построен на базе собственного кастомного чипсета в лице однокристальной системы на чипе RP2040: 2 ядра Cortex-M0+ с частотой до 133 МГц, оперативная память типа SRAM на 264 КБ, встроенное хранилище на 2 МБ. Это отличная связка для применения в робототехнике, метеостанциях и других DIY-проектах. Сама плата не позволяет использовать полноценную операционную систему, но может запускать программы на C или MicroPython, либо же запущенные на хост-компьютере (ПК, Mac или же «взрослая» модель серии Pi).
Собственная однокристальная система RP2040 вызывает не меньший интерес, чем сама Raspberry Pi Pico. Директор по производству Raspberry Pi Trading Джеймс Адамс (James Adams) рассказал, как был создан «Pi Silicon».
Откроет ли Pico серию плат на базе RP2040? Джеймс Адамс сказал, что это зависит от того, насколько успешной окажется данная модель.
Содержание
Характеристики Дизайн Raspberry Pi Pico в деле Для чего нужен Raspberry Pi Pico Так что же он такое
Характеристики
- Система на чипе: микроконтроллер RP2040, оснащённый двумя ядрами Cortex-M0+ с частотой до 133 МГц, оперативной памятью на 264 КБ и флеш-памятью на 2 МБ.
- Интерфейсы: 23 × мультифункциональный 3,3-вольтный пин; 2 × SPI; 2 × I2C, 2 × UART; 3 × 12-битный АЦП; 16 × контроллируемый PWM-канал; 8 × PIO.
На бумаге Pico не годится в конкуренты даже Raspberry Pi Zero стоимостью 5 долларов. Но эти модели нецелесообразно сравнивать: Pico — это не компьютер на Linux, а, скорее, микроконтроллер наподобие Arduino, благодаря чему он лучше подходит для определённых проектов. Он даже работает совместно с обычным Raspberry Pi. Как и «старшие» Raspberry Pi, и Arduino, малыш Pico использует 3,3-вольтные разъёмы. Это можно записывать в преимущества, но многие компоненты могут использовать напряжение 3 или 5 В, а те, которые предназначены для 5 В, все ещё могут работать через делитель напряжения или преобразователь логического уровня.
Raspberry Pi Pico — целесообразное дополнение для использования во многих проектах. По сравнению с обычными моделями Raspberry Pi, этот малыш потребляет гораздо меньше тока. Также стоит учитывать, что он является микроконтроллером, не требующим никаких накладных расходов, которые свойственны полноценным компьютерам. В нашем обзоре мы питали Raspberry Pi Pico с 12 подключёнными светодиодами Neopixel, работающими на полной яркости, блоком питания на 5 В. Потребление тока составило 140 мА, то есть мощность равнялась всего 0,7 Вт! Это значение особенно примечательно с учётом того, что Raspberry Pi 4, работающий в режиме простоя, потребляет 4–5 Вт. По сравнению с Raspberry Pi новая Pico — настоящая малышка во всех отношениях.
Говоря о питании, Raspberry Pi Pico подключается через microUSB, либо же можно использовать VSYS GIO для диапазона между 1,8 и 5,5 В. У данной модели нет никакого отдельного разъёма для зарядки, поэтому необходимо использовать дополнительные примочки — это подробно описано на 18-й странице инструкции к использованию.
Дизайн
Больше всего поражает, что Raspberry Pi Pico очень похож на очередной контроллер Arduino, Adafruit Feather или Teensy. Малыш Pico уже точно не выглядит как типичный Raspberry Pi ни по дизайну, ни по пользовательскому опыту. Он является типичным микроконтроллером — при своих габаритах (51×21 мм) он даже меньше, чем Pi Zero.
Предназначенные для использования с макетными платами и платами для поверхностного монтажа, 40 пинов в Raspberry Pi Pico незапаянны — для их использования придётся обзавестись паяльником. К Pico можно припаять собственные клеммные колодки.
Для Raspberry Pi Pico требуются макетные платы, которые по размеру будут как половина одноплатника или даже больше, поэтому такой вариант не особо практичен.
Джеймс Абрамс рассказал о дизайне новой модели: «Pico разрабатывался таким образом, чтобы его размер и стоимость были минимальными, но при этом устройство оставалось подходящим для новичков». Плата имеет ту же длину, что и стандартный 40-контактный DIP, но на 2,5 мм шире его — Raspberry Pi Pico может выступать не только как головной микроконтроллер для разработки, но и как один из компонентов большей системы (его можно припаять как SMT-модуль, используя просверленные на краю платы отверстия).
Сможет ли Pico стать новым стандартом, подобно Raspberry Pi HAT или Arduino Shield? Вполне вероятно. Pico может быть интегрирован в платы-носители, одна из которых уже используется в Raspberry Pi, а другие в настоящее время разрабатываются в сотрудничестве со сторонними компаниями — подобные платы-носители обеспечат дополнительную функциональность.
Raspberry Pi Pico в деле
Без USB, HDMI или других портов, Raspberry Pi Pico полезен только в связке с компьютером — одноплатник может работать с Windows, Mac и Linux. В наших тестах мы использовали Windows 10 и на первых порах следовали официальной документации, которая разделена на два языка: C и MicroPython.
Сначала мы тестировали MicroPython — версию Python 3, разработанную Дэмиеном Джорджем (Damien George) для микроконтроллеров. Для установки MicroPython на Pico требуется скопировать UF2-файл на неё. Нажимая на кнопку BOOTSEL во время подключения кабеля Micro-USB в компьютер, появляется всплывающее окно нового диска. После того, как файл скопирован, к Raspberry Pi Pico можно подключиться как к последовательному устройству, обеспечивающему доступ к Python Shell.
Для написания кода и сохранения файлов на Pico понадобится редактор, производитель советует новичкам выбрать Thonny. Его установка была лёгкой, и вскоре после неё мы начали писать код, чтобы светодиоды загорелись и начинали мигать, когда PIR-датчик засекает движение.
В Pico появилось два нововведения для серии Raspberry Pi — программируемый вводы-выводы (Programmable IO, PIO) и аналоговые входы. PIO представляет из себя универсальный аппаратный интерфейс, который может быть использован для эмуляции интерфейсов наподобие I2C, SPI, I2S и даже VGA или DPI.
Мы протестировали ряд официальных примеров, в том числе PIO-проект по управлению связкой светодиодов Neopixel, в котором показывается, как сделать декоратор и функцию для создания анимационной последовательности на адресной светодиодной ленте WS2812. Для осуществления этого проекта понадобились знания о том, как работают Neopixel — если предстоит использовать PIO, нужно понимать, как в конечном итоге будет работать предполагаемая конфигурация. PIO может быть настолько простым или настолько сложным, насколько это необходимо — сам проект достаточно хорошо проиллюстрировал саму концепцию. Есть три аналоговых входа, оснащённые теми же самыми контактами GPIO, что и цифровые контакты, однако, используя класс АЦП из библиотеки машинного обучения, мы можем настроить их на считывание напряжения этих контактов. Аналоговые входы полезны для определения типа подключаемой электроники, будь то потенциометры, джойстики или датчики температуры.
Как дела обстоят с языком С на Raspberry Pi Pico? Ну, сейчас можно ответить одним словом — мудрёно. Следуя официальному руководству, мы прошли через несколько инструкций по установке приложений, библиотек и фиксов для того, чтобы зажечь светодиоды и отправить текст на последовательную консоль.
Хотя это сработало и мы остались довольны результатом, на завершение такого проекта потребовалось довольно много времени, и это может оттолкнуть многих. Для использования C нам нужно было перейти в командную строку или использовать Visual Studio Code. У обоих этих подходов есть свои плюсы и минусы, но наш главный совет — внимательно изучите шестую главу инструкции к Raspberry Pi Pico и чётко следуйте описанным в ней действиям, иначе вы потратите слишком много времени на самостоятельное изучение нюансов. К языку C для Raspberry Pi Pico нужно будет вернуться, когда одноплатник начнёт продаваться — вполне возможно, что работа с этим языком будет усовершенствована и упрощена.
Джеймс Адамс отметил, что MicroPython — «предпочтительный» язык для Raspberry Pi Pico, но подчеркнул, что C является языком для низкоуровневых встроенных чипов. Он также сказал, что можно использовать ассемблер для ARM.
Для чего нужен Raspberry Pi Pico
Raspberry Pi Pico создана для встраивания в какие-либо проекты — её цена, габариты и дизайн делают эту плату прямой альтернативой для Arduino. Роботы, Neopixel и электроника — всё это стало возможным для фанатов Raspberry благодаря новому одноплатнику.
Хотя полноценные модели Raspberry Pi, даже та же Pi Zero, более мощные, малыш Pico всё же больше подходит для некоторых проектов. Он быстро запускается и не требует безопасного выключения, потребляет гораздо меньше энергии и имеет встроенный аналого-цифровой преобразователь, а этого не хватает всем остальным Raspberry Pi.
Единственное, чего не достаёт Raspberry Pi Pico, — беспроводной связи. У одноплатника полностью отсутствует Wi-Fi и Bluetooth, и это сильно ограничивает потенциал данной модели. Конечно, беспроводную связь можно обеспечить внешними компонентами, но для этого нужны соответствующие познания — не каждому это под силу. Прямые конкуренты Raspberry Pi Pico в лице ESP32 и ESP8266 стоят столько же, но в них есть Wi-Fi. Если этот момент является ключевым для вас, то, вероятно, от Pico стоит отказаться.
Так что же он такое
Raspberry Pi Pico — интересный гаджет. Он больше похож на Arduino, чем на Raspberry Pi, так что его предназначение немного размыто. Если вам нужен миниатюрный Raspberry Pi с Wi-Fi и Bluetooth — купите Pi Zero W. Если вы хотите встроить плату управления в свой проект в надежде на то, что она будет работать быстро и надёжно, — Pico как раз для вас.
Raspberry Pi Pico — именитый гаджет с хорошей поддержкой и Cortex-M0+, в этом плане его трудно переоценить.
Плюсы
- Низкая цена.
- Маленький размер.
- Лёгкость в использовании.
- Встроенный аналого-цифровой преобразователь.
Минусы
- Работать с языком С сложно.
- Нет встроенной беспроводной связи.
- Нет 5-вольтового разъёма для зарядки.
Это перевод обзора Tom’s Hardware.
Telegram-канал создателя Трешбокса про технологии Последнее изменение: 24 января 2021, 00:58 Переводы обзоров Дешёвый, с NFC и большой батареей, но есть нюансы. Обзор Xiaomi Redmi Note 9T Компьютер за 4 доллара размером с палец: обзор Raspberry Pi Pico Эволюция алгоритмов камеры от Google: как отличаются снимки на Pixel 3–5 с одинаковой матрицей
Raspberry Pi — это одноплатный компьютер размером не больше кредитной карты. Все его порты и компоненты компактно уложены, компьютер может питаться от USB, его можно носить в кармане, плюс стоит он намного дешевле, чем любой компьютер-моноблок.
Из минусов — у него нет собственного монитора (нужно подключать внешний), его хранилище ограничено картой памяти или USB-диском, и у него не самый шустрый процессор. Тем не менее на этой Raspberry можно сделать много прекрасных вещей. Вот несколько примеров.
1. Настоящий настольный компьютер
Сложность: 5/5.
Время: 5/5.
В Raspberry Pi можно вставить карточку с предустановленной операционной системой Raspbian и загрузить его как обыкновенный компьютер. Вы вряд ли сможете поиграть на нём в игрушки, но работать с документами, сидеть в интернете, слушать музыку и смотреть фильмы — без проблем. Также в базовый дистрибутив входит пакет офисных программ. И всё это на плате за 35 долларов!
Кроме самой платы вам будет нужна карта памяти, блок питания, монитор с HDMI-кабелем и мышка с клавиатурой. Всё остальное есть на самой плате: Wi-Fi, Bluetooth, сетевой порт и разъём для наушников.
2. Своё облачное хранилище
Сложность: 3/5.
Время: 2/5.
Зачем платить за облачные сервисы хранения данных, когда можно сделать свой? Если вы параноик и не хотите хранить личные фото на чужом сервере, то это — вполне ваш вариант. Тем более что размер хранилища и скорость загрузки зависят только от вас самих.
Настройка такого сервиса происходит в два этапа: сначала ставим Linux, например тот же Debian, а затем настраиваем удалённый доступ. В итоге своё облако можно приспособить для чего угодно: хранить почту, файлы, фото с отпуска, рабочие проекты для команды или фильмы, которые жалко удалять после просмотра.
Единственный минус — для бесперебойного доступа к файлам сервис должен работать круглосуточно.
Подробности: owncloud.org.
3. Музыкальный плеер
Сложность: 2/5.
Время: 3/5.
Если у вас есть несколько часов свободного времени, хорошие колонки и интернет, то вот что вы можете получить:
- стриминг музыки из Spotify, SoundCloud, Google Music, Apple Podcast;
- интернет-радио TuneIn, Dirble, AudioAddict, Soma FM;
- можно слушать музыку любых форматов с флешки и по домашней сети и раздавать её по Bluetooth.
Такой плеер подойдёт для фоновой музыки. Для меломанов и аудиофилов не подойдёт, потому что встроенный аудиочип на Raspberry даёт не самый чистый звук. Но можно подключить внешнюю карту!
Подробности: pimusicbox.com.
4. Превращаем старый телевизор в домашний медиацентр
Сложность: 1/5.
Время: 2/5.
Продолжение предыдущей темы про развлечения. С помощью того же софта можно превратить любой, даже самый старый телевизор в полноценный домашний медиацентр — достаточно подключить его по HDMI. Если телевизор настолько стар, что там есть только древние «тюльпаны» — поможет переходник.
Ставим Kodi, настраиваем картинку, подключаем к сети — и можно смотреть сериалы и стримы даже на ламповых телевизорах. А если добавить клавиатуру, то телек превращается в медиамонстра, который работает с любым видеоконтентом мира.
Подробности: kodi.tv.
5. Отопительная печь с беспроводным управлением
Сложность: 4/5.
Время: 5/5.
Умный дом — это не только погодные датчики и цветные лампы по комнатам. Как насчёт умного обогрева и реального огня? Один товарищ взял старую буржуйку, сделал недостающие детали и получил полностью автоматическую регулировку температуры с удалённым управлением через интернет.
Официальное предупреждение: это всё действительно работает, но требует инженерного образования и знания физики и термодинамики. Не нужно собирать такую систему и управлять открытым огнём из газового баллона, если вы первый раз в жизни держите в руках газовый клапан низкого давления.
Подробнее о проекте: raspberrypi.org/blog/wifi-controlled-pottery-kiln/.
6. Домик для птиц с видеонаблюдением
Сложность: 1/5.
Время: 2/5.
Орнитологи будут в восторге: можно наблюдать за птицами в любое время и даже делать стримы. Всё, что для этого нужно — картонная коробка, скотч, инфракрасные светодиоды и внешний модуль камеры. Птицам на самом деле всё равно, как выглядит скворечник, а вы получаете классные снимки в любое время.
Страница проекта: projects.raspberrypi.org/en/projects/infrared-bird-box.
7. Ламповые настольные часы на газоразрядных индикаторах
Сложность: 3/5.
Время: 4/5.
Крутой проект, который соединяет хай-тек и стимпанк. За первую часть отвечает Raspberry Pi, который управляет всеми лампами и синхронизирует время через интернет, за вторую — лампы Nixie. Выглядит дорого и винтажно, как и должен выглядеть настоящий гиковский продукт.
Если не нравится оранжевый свет, есть такие же лампы, но с фиолетовым свечением. Хотите впечатлить увлечённого технологиями человека — соберите для него такие часы.
Проект: mjoldfield.com/atelier/2012/08/ntp-nixie.html.
8. Робот-манипулятор
Сложность: 4/5.
Время: 4/5.
До Скайнета пока далеко, но сделать роботизированную руку теперь под силу каждому. Единственная сложность — почти все детали придётся печатать на 3D-принтере. После сборки можно двигать этой рукой во всех плоскостях, захватывать мелкие предметы и перекладывать их с места на место.
Если добавить ещё один манипулятор, то появится вторая рука, а если ещё два, то и ноги. Голову пока лучше не делать.
Проект: issuu.com/themagpi/docs/the_magpi_issue_1_final.
9. Квадрокоптер
Сложность: 4/5.
Время: 5/5.
Алексей из Ижевска сделал крафтовый квадрокоптер на Raspberry Pi. По сути коптер — это летающий сервер. Изначально задумка была такая: сделать квадрокоптер в виде саней Деда Мороза, который бы сам и под музыку развозил по офису подарки для сотрудников.
Внутри у него стоит Raspbian — адаптированный именно для этого железа вариант Linux. Можно ставить и другое, но работать будет не так стабильно. Камера тоже есть.
Проект: habr.com/ru/post/438496/.
10. Кормушка для птиц с Telegram-ботом для фотографий
Сложность: 3/5.
Время: 3/5.
У Антона Мальцева была идея: прилетает птичка в уличную кормушку — вжуууух — она оказывается на телефоне. Главная мысль — чтобы система автоматически обнаруживала всех прилетающих к кормушке, определяла, что это за птица, делала и выбирала лучшую фотографию, а потом выкладывала её куда-нибудь и вела статистику посещаемости.
Вот что получилось реализовать в итоге:
- всё работает на Raspberry Pi B+;
- настроена система сбора данных;
- есть отдельная нейронная сеть с обучением для распознавания птиц;
- интерфейс и чат-бот, который делает снимки по команде.
Проект: habr.com/ru/post/322520/.
ли со статьей или есть что добавить?