Как превратить Raspberry Pi в хаб для умного дома. Инструкция для чайников

Содержание

15 ноября 2020 Из этой статьи вы узнаете, как написать программу распознавания лиц для Raspberry Pi. Обучите компьютер узнавать вас и членов вашей семьи, чтобы получать уведомления от умной системы контроля доступа по e-mail. 1 image
Источник фото: Tom’s Hardware

Как работает программа распознавания лиц

Для распознавания лиц на 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, придется ее настроить. Как это сделать, написано в конце статьи;

image
Источник фото: Tom’s Hardware

2. Запустите Raspberry Pi;

3. Откройте терминал. Используйте сочетание клавиш CTRL+T;

4. Установите OpenCV, выполнив следующие команды в терминале. Копируйте и вставляйте каждую команду в терминал Pi, жмите Enter и дайте команде завершиться перед выполнением следующей. Если выскочит “Do you want to continue? (y/n)” (Хотите продолжить? Да/Нет), жмите y и Enter.

Источник фото: Tom’s Hardware
Команда в терминале Время выполнения
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.

Источник фото: Tom’s Hardware

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

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 (Новая папка).

Источник фото: Tom’s Hardware

6. Новую папку назовите своим именем.

Источник фото: Tom’s Hardware

7. Нажмите OK. Папка создана, в нее вы будете помещать фото для обучения модели (позже).

Источник фото: Tom’s Hardware

8. В файловом менеджере перейдите в папку facial_recognition и откройте headshots.py в Geany.

9. В 3 строке headshots.py замените имя Caroline (в кавычках) на свое. Имя оставляем внутри кавычек. Имена в папке dataset и 3 строке должны совпадать.

Источник фото: Tom’s Hardware

10. Нажмите на иконку бумажного самолета для выполнения headshots.py

Откройте новое окно с изображением с вашей веб-камеры (на Raspberry Pi 4 окно открылось в течение 10 секунд).

11. Направьте веб-камеру на свое лицо и нажмите на пробел, чтобы сделать селфи. С каждым нажатием вы делаете новое фото. Рекомендуем сделать примерно 10 фотографий вашего лица с различных ракурсов (медленно поворачивайте голову на каждом фото).

Если вы носите очки, можете сделать пару фото с ними и без. Не рекомендуется делать селфи в шапке. Эти фотографии будут использованы для обучения модели. По окончании фотосессии нажмите Esc.

Источник фото: Tom’s Hardware

12. Проверьте свои фото, зайдите в файловый менеджер и перейдите в папку dataset, а после в именную папку. Дважды нажмите на снимок для просмотра. Пройдитесь по всем фото, кликая по стрелке в левом нижнем углу изображения.

Источник фото: Tom’s Hardware

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).

Источник фото: Tom’s Hardware

Примечания к коду (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

Веб-камера откроется за несколько секунд. Наведите ее на свое лицо. Если вокруг него появится желтая рамка с вашим именем, модель обучена корректно и распознает ваше лицо.

Источник фото: Tom’s Hardware

Поздравляю! У вас получилось научить Raspberry Pi распознавать ваше лицо.

Если вы добавили еще кого-то, дайте им также протестировать модель. Для остановки программы нажмите q.

Часть 3: Подключение электронной почты для распознавания лиц на Raspberry Pi

Теперь добавим уведомления по email в наш код распознавания лиц Python. Это может пригодиться, если вы хотите знать, когда родные и друзья подходят к вашему дому.

Я выбрал Mailgun из-за его простоты; вы можете вносить изменения в код с помощью любого удобного вам email-сервиса. Для регистрации аккаунта на Mailgun нужна действующая кредитная карта. Для этого проекта я использовал стандартный домен Mailgun.

1. Перейдите на mailgun.com в вашем браузере;

2. Зарегистрируйтесь или авторизуйтесь в Mailgun;

3. Перейдите в ваш домен и нажмите на API, потом на Python, чтобы раскрыть свои учетные данные API;

Источник фото: Tom’s Hardware

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;

Источник фото: Tom’s Hardware

8. Запустите код send_test_email.py. Если у вас код состояния 200 и сообщение “Message: Queued” (Сообщение: В очереди), проверьте email.

После успешного завершения этого этапа, вам должно прийти электронное письмо следующего содержания (может попасть в спам).

Источник фото: Tom’s Hardware

Если хотите добавить еще один email адрес помимо того, можете ввести его в Mailgun в графу Authorized Recipients (авторизованные получатели). Не забудьте подтвердить дополнительный аккаунт на почте.

Источник фото: Tom’s Hardware

Добавление 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”, указывающий на то, что письмо успешно отправлено.

Источник фото: Tom’s Hardware

Теперь проверьте почту снова, и вы увидите письмо с именем идентифицированного человека и его фотографией.

Источник фото: Tom’s Hardware

Примечания к коду (facial_req_email.py):

  • Электронные письма отправляются, когда алгоритм распознает нового человека. Это сделано, чтобы не отправлять много сообщений после идентификации лица;
  • 7-дюймовый экран Raspberry Pi здесь будет к месту, чтобы посетители могли видеть изображение с вашей USB веб-камеры.

Использование камеры Raspberry Pi вместо веб-камеры

Гайд написан для подключенной через USB веб-камеры. Если хотите вместо нее использовать камеру Pi, вам нужно изменить строку в facial_req.py.

1. Подключите камеру в конфигурации Raspberry Pi. Нажмите OK и перезагрузите устройство.

Источник фото: Tom’s Hardware

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. Сохраните файл и запустите.

Источник фото: Tom’s Hardware

Добавление людей, используя фотографии, для распознавания лиц на Raspberry Pi

Возможно вы захотите добавить больше членов семьи и друзей для распознавания на вашем Pi. Если они не готовы фотографироваться во время выполнения headshots.py, вы можете загрузить их фото в Raspberry Pi. Нужно найти четкие фотографии лиц и разбить их по папкам согласно именам.

Источник фото: Tom’s Hardware

Источники

  • 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 может заменить функциональность умного телевизора, превращая так называемый тупой телевизор в умный телевизор. Так чего же ожидать от этого?

  1. Возможность воспроизведения мультимедиа с USB-накопителя или внешнего жесткого диска. Это возможно через порт USB на телевизорах Smart TV. На Raspberry Pi у вас должен быть запасной порт USB, чтобы сделать то же самое.
  2. Потоковое видео с онлайн-сайтов, таких как Netflix и YouTube. Браузер Chromium для Raspberry Pi может воспроизводить библиотеку Netflix, или вы можете установить дополнение Kodi для Netflix.
  3. Пульт дистанционного управления с мобильного устройства. Kodi можно настроить с помощью клиентского приложения на смартфоне для удаленного управления программным обеспечением. В противном случае можно настроить инфракрасный порт, Bluetooth или беспроводной пульт дистанционного управления с подключенным к нему дополнительным USB-ключом.
  4. Новости и погода. Умный телевизор должен иметь возможность получать новости и данные о погоде и представлять их вам при включении телевизора.
  5. PVR поддержка. Если вам нужно записать телешоу, подключите USB-ТВ-карту и жесткий диск.

Хотя эти функции не возможны во всех проектах Smart TV от Raspberry Pi, они, безусловно, доступны в самом популярном варианте: Kodi.

1. Построить потоковую коробку Raspberry Pi с Kodi

Изображение предоставлено: David Marsh через Flickr

Если вы еще не видели 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:

  1. Коди
  2. Plex
  3. Плазменный экран
  4. Заменитель Chromecast
  5. 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.

image

В Raspberry Pi мож­но вста­вить кар­точ­ку с пред­уста­нов­лен­ной опе­ра­ци­он­ной систе­мой Raspbian и загру­зить его как обык­но­вен­ный ком­пью­тер. Вы вряд ли смо­же­те поиг­рать на нём в игруш­ки, но рабо­тать с доку­мен­та­ми, сидеть в интер­не­те, слу­шать музы­ку и смот­реть филь­мы — без про­блем. Так­же в базо­вый дис­три­бу­тив вхо­дит пакет офис­ных про­грамм. И всё это на пла­те за 35 долларов!

Кро­ме самой пла­ты вам будет нуж­на кар­та памя­ти, блок пита­ния, мони­тор с HDMI-кабелем и мыш­ка с кла­ви­а­ту­рой. Всё осталь­ное есть на самой пла­те: Wi-Fi, Bluetooth, сете­вой порт и разъ­ём для наушников.

2. Своё облачное хранилище

Слож­ность: 3/5.

Вре­мя: 2/5.

image

Зачем пла­тить за облач­ные сер­ви­сы хра­не­ния дан­ных, когда мож­но сде­лать свой? Если вы пара­но­ик и не хоти­те хра­нить лич­ные фото на чужом сер­ве­ре, то это — вполне ваш вари­ант. Тем более что раз­мер хра­ни­ли­ща и ско­рость загруз­ки зави­сят толь­ко от вас самих.

Настрой­ка тако­го сер­ви­са про­ис­хо­дит в два эта­па: сна­ча­ла ста­вим Linux, напри­мер тот же Debian, а затем настра­и­ва­ем уда­лён­ный доступ. В ито­ге своё обла­ко мож­но при­спо­со­бить для чего угод­но: хра­нить почту, фай­лы, фото с отпус­ка, рабо­чие про­ек­ты для коман­ды или филь­мы, кото­рые жал­ко уда­лять после просмотра.

Един­ствен­ный минус — для бес­пе­ре­бой­но­го досту­па к фай­лам сер­вис дол­жен рабо­тать круглосуточно.

Подроб­но­сти: owncloud.org.

3. Музыкальный плеер

Слож­ность: 2/5.

Вре­мя: 3/5.

image

Если у вас есть несколь­ко часов сво­бод­но­го вре­ме­ни, хоро­шие колон­ки и интер­нет, то вот что вы може­те получить:

  • стри­минг музы­ки из Spotify, SoundCloud, Google Music, Apple Podcast;
  • интернет-радио TuneIn, Dirble, AudioAddict, Soma FM;
  • мож­но слу­шать музы­ку любых фор­ма­тов с флеш­ки и по домаш­ней сети и раз­да­вать её по Bluetooth.

Такой пле­ер подой­дёт для фоно­вой музы­ки. Для мело­ма­нов и аудио­фи­лов не подой­дёт, пото­му что встро­ен­ный аудио­чип на Raspberry даёт не самый чистый звук. Но мож­но под­клю­чить внеш­нюю карту!

Подроб­но­сти: pimusicbox.com.

4. Превращаем старый телевизор в домашний медиацентр

Слож­ность: 1/5.

Вре­мя: 2/5.

image

Про­дол­же­ние преды­ду­щей темы про раз­вле­че­ния. С помо­щью того же соф­та мож­но пре­вра­тить любой, даже самый ста­рый теле­ви­зор в пол­но­цен­ный домаш­ний меди­ацентр — доста­точ­но под­клю­чить его по HDMI. Если теле­ви­зор настоль­ко стар, что там есть толь­ко древ­ние «тюль­па­ны» — помо­жет переходник.

Ста­вим Kodi, настра­и­ва­ем кар­тин­ку, под­клю­ча­ем к сети — и мож­но смот­реть сери­а­лы и стри­мы даже на лам­по­вых теле­ви­зо­рах. А если доба­вить кла­ви­а­ту­ру, то телек пре­вра­ща­ет­ся в медиа­мон­стра, кото­рый рабо­та­ет с любым видео­кон­тен­том мира.

Подроб­но­сти: kodi.tv.

5. Отопительная печь с беспроводным управлением

Слож­ность: 4/5.

Вре­мя: 5/5.

image

Умный дом — это не толь­ко погод­ные дат­чи­ки и цвет­ные лам­пы по ком­на­там. Как насчёт умно­го обо­гре­ва и реаль­но­го огня? Один това­рищ взял ста­рую бур­жуй­ку, сде­лал недо­ста­ю­щие дета­ли и полу­чил пол­но­стью авто­ма­ти­че­скую регу­ли­ров­ку тем­пе­ра­ту­ры с уда­лён­ным управ­ле­ни­ем через интернет.

Офи­ци­аль­ное пре­ду­пре­жде­ние: это всё дей­стви­тель­но рабо­та­ет, но тре­бу­ет инже­нер­но­го обра­зо­ва­ния и зна­ния физи­ки и тер­мо­ди­на­ми­ки. Не нуж­но соби­рать такую систе­му и управ­лять откры­тым огнём из газо­во­го бал­ло­на, если вы пер­вый раз в жиз­ни дер­жи­те в руках газо­вый кла­пан низ­ко­го давления.

Подроб­нее о про­ек­те: raspberrypi.org/blog/wifi-controlled-pottery-kiln/.

6. Домик для птиц с видеонаблюдением

Слож­ность: 1/5.

Вре­мя: 2/5.

image

Орни­то­ло­ги будут в вос­тор­ге: мож­но наблю­дать за пти­ца­ми в любое вре­мя и даже делать стри­мы. Всё, что для это­го нуж­но — кар­тон­ная короб­ка, скотч, инфра­крас­ные све­то­ди­о­ды и внеш­ний модуль каме­ры. Пти­цам на самом деле всё рав­но, как выгля­дит скво­реч­ник, а вы полу­ча­е­те класс­ные сним­ки в любое время.

Стра­ни­ца про­ек­та: projects.raspberrypi.org/en/projects/infrared-bird-box.

7. Ламповые настольные часы на газоразрядных индикаторах

Слож­ность: 3/5.

Вре­мя: 4/5.

image

Кру­той про­ект, кото­рый соеди­ня­ет хай-тек и стим­панк. За первую часть отве­ча­ет Raspberry Pi, кото­рый управ­ля­ет все­ми лам­па­ми и син­хро­ни­зи­ру­ет вре­мя через интер­нет, за вто­рую — лам­пы Nixie. Выгля­дит доро­го и вин­таж­но, как и дол­жен выгля­деть насто­я­щий гиков­ский продукт.

Если не нра­вит­ся оран­же­вый свет, есть такие же лам­пы, но с фио­ле­то­вым све­че­ни­ем. Хоти­те впе­чат­лить увле­чён­но­го тех­но­ло­ги­я­ми чело­ве­ка — собе­ри­те для него такие часы.

Про­ект: mjoldfield.com/atelier/2012/08/ntp-nixie.html.

8. Робот-манипулятор

Слож­ность: 4/5.

Вре­мя: 4/5.

image

До Скай­не­та пока дале­ко, но сде­лать робо­ти­зи­ро­ван­ную руку теперь под силу каж­до­му. Един­ствен­ная слож­ность — почти все дета­ли при­дёт­ся печа­тать на 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/.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий