Статья несколько более инженерная чем обычно. Без рассказов почему ML не работает;)
Но зато, на мой взгляд, может помочь многим людям для их прототипов и домашних хоббийных проектов которые используют какой-то Computer Vision на embedded железках.
В своих проектах я периодически сталкивался с тем, что продукт должен иметь удобный способ подключения к сети. Ну как. Есть у вас какой-то embedded девайс на котором работает ваш код. Вы его притащили на новое место, и хотите запустить. Но нужен интернет для полноценной работы.
Таскать с собой монитор или свитч – как-то тухло. Свисток с мобильным интернетом – не всегда подходит. Лучше всего найти какой-то способ который может подключить систему к локальной сети (или раздать WiFi со своего телефона и подключиться к нему).
Для любого embedded проекта который использует ComputerVision это критично важно. Упрощает интерфейсы и работу с системой на порядок.
Решение для этого человечество нашло уже давно. Посмотрите на всякие умные камеры, ip камеры, экшн-камеры, и.т.д. Стандартные решения для них:
- показать QR код с параметрами подключения к сети
- подключиться по блютусу и передать параметры сети
- создать свою wifi сеть, через которую передать параметры
Очевидно что первое – самое простое. Только надо немного оттюнинговать. Сделать чтобы использовался стандартный QR код с описанием сети (который умеет создавать любой телефон).
Я уже однажды делал большой проект хобийный которому этого не хватало. Про него есть большая статья на хабре, и тут куча мелких с описанием разных частей. Но тогда я подумал что это как-то сложно стабильно сделать и не стал запариватся.
Но сейчас начал делать ещё один небольшой проект, где такая фишка была сильно нужнее. И понял, что скрипт для подключения можно собрать за несколько часов.
Собственно вот репозиторий с описанием на гитхабе – https://github.com/ZlodeiBaal/RPi_WiFi_autoconnect
И, в паре слов как работает и почему:
- На запуске системы инициализируется скрипт который проверяет подключена ли система к интернету или нет.
- Если не подключена – то начинаем искать QR код с камеры
- Как только QR код найден – проверяем что там есть описание WiFi сети и пробуем подключится
Проект работает на RPi, но при желании несложно перенести его на любую другую UNIX систему. Умеет подключатся к USB камере, и использовать стандартную RPI камеру.
Для распознавания QR кодов использую ZBar так как он лучше чем OpenCV распознаёт + не имеет сложностей с настройкой под OpenVino (OpenCV в билде под OpenVino не имеет интерфейса для QR кодов).
З.Ю.
В последнее время свои статьи я публикую на очень разных платформах.
И, так получилось, что единое место куда я их свожу тут – https://vk.com/cvml_team
Тот проект в рамках которого всё это сбадяжил – буду на Хабре публиковать скорее всего. Так что ссылка тоже только там будет.
Так что советую подписаться!