Розумні окуляри з детектором моргання

Розумні окуляри, які фотографують поле зору за сигналом датчика моргання та передають зображення в хмару для подальшої обробки

Загальний опис систем

Система складається з набору пристроїв у вигляді окулярів з вбудованою камерою і датчиком, що розпізнає моргання. Користувальницькі пристрої підключаються до мережі через Wi-Fi (безпосередньо) або Bluetooth (з проміжним мобільним пристроєм)

Під час спрацьовування датчика (одноразове моргання або заданий рух очей) фіксується поле зору користувача і на центральний сервер відправляється позначка часу з геотегом. У цьому випадку фотографія зберігається в пам'яті пристрою, де зберігається певна кількість недавніх фотографій з відповідними часовими мітками та геотегами. Набір зібраних пристроїв користувача Серверна частина обробляє дані з пристроїв і визначає фільтр, що цікавить. Найпростіший фільтр - це фотографії користувачів, які знаходяться в певному місці і моргають одночасно. Параметри фільтрації можуть бути налаштовані на стороні сервера або користувачами сервісу. Після отримання команди від сервера пристрій надсилає фотографію із запитаною міткою часу

Фото обробляється на сервері разом із фотографіями інших пристроїв користувача і зберігається в хмарі. Результат може відображатися у веб-версії або мобільному додатку, де користувач може налаштувати принцип фільтрації, подивитися власні оцінки, найпопулярніші і т. д.

Принцип взаємодії сервісів

Опис користувача пристрою

Набір зібраних пристроїв

Складається з оправи у вигляді окулярів (без діоптрій), на яку кріпляться інші компоненти. Попереду встановлено камеру, яка фіксує поле зору користувача. Навпроти одного з очей розташований аналоговий інфрачервоний датчик, спрямований на білок ока. Датчик підключено до допоміжного контролера (на базі Atmega 328P). Сигнал про наступ цієї події передається на головний контролер (Raspberri Pi Zero). Живлення забезпечується акумулятором 18650, який можна заряджати за допомогою контролера заряду TP4056 через порт microUSB.

Логіка користувача пристрою

моргання детектується аналоговим ІЧ-датчиком TCRT5000, спрямованим на білок ока. Датчик підключається до аналогового входу допоміжного контролера. Відкрите та закрите око дає різні показники, що дозволяє після обробки сигналу вбудованим алгоритмом з досить високою точністю визначити момент моргання. Логічний сигнал передається на основний контролер через підтягуючі резистори.

Основний контролер (Raspberri Pi Zero) підключається до мережі Wi-Fi, що забезпечує підключення до Інтернету. При надходженні команди перепрошивки з камери знімається зображення, зберігається на картку пам'яті та відправляється пакет на IP-сервер разом із ідентифікатором пристрою. Допоміжний контролер працює на прошивці, написаній на C++, основний контролер – Python. скрипт + основна система базується на ядрі Linux

Схема підключення користувача пристрою

Схема підключення окулярів

"Головний" пристрій для тестування

"Головний"пристрій

З метою тестування також розроблено тестове «майстер-пристрій», яке емулює деякі функції сервера (зокрема запит фотографій) і відображає їх на вбудованому екрані. Тестовий головний пристрій не потребує підключення до мережі - за замовчуванням він працює з усіма пристроями в одній локальній мережі. Складається з контролера Raspberri Pi Zero із підключеним сенсорним екраном та джерелом живлення.

Логіка провідного пристрою (для тестів)

Головний пристрій імітує функції веб-сервера. При ввімкненні декількох пристроїв користувача в одній локальній мережі (підключених до одного Wi-Fi роутеру) кожне з них відкриває мережне з'єднання з головним пристроєм. Головний пристрій записує пакети з відмітками часу кожного пристрою. Якщо пакети відповідають заданому критерію (наприклад, різниця моменту миготіння на кількох пристроях менше заданого діапазону), на відповідні пристрої надсилається запит на надсилання фотографії. Пристрій користовуча перетворює фотографію в набір даних і відправляє на сервер. Сервер зберігає зображення у пам'яті та відображає його на екрані.

Основні системні параметри для користувача пристрою

  • Основний контролер - Raspberry Pi Zero W
  • Головний процесор – 1 ГГх, ARM1176JZ-F
  • Графічний процесор — VideoCore IV 48+
  • Чіпсет - Broadcom BCM2835.
  • ОЗУ – 512 МБ DDR2
  • Пам'ять – 8 ГБ (microSD)
  • Зв'язок — Wi-Fi 802.11 b/g/n, Bluetooth 4.1.
  • Роз'єми — MicroUSB, miniHDMI.
  • Вторинний контролер - Arduino Nano
  • Вторинний процесор – 16 МГц, ATmega328P
  • Вторинна пам'ять контролера - 2 КБ SRAM, 1 КБ EEPROM.
  • Камера – Sony IMX219
  • Роздільна здатність камери – 8 Мп (3280 х 2464)
  • Підтримувані формати відео – 1080p @ 30 кадрів за секунду, 720p @ 60 кадрів за секунду та 640 х 480p @ 90 кадрів за секунду.
  • Розмір матриці – ¼ дюйма.
  • Розмір пікселя – 1,4 мкм х 1,4 мкм.
  • Датчик миготіння – TCRT5000
  • Тип детектора – фототранзистор
  • Пікова робоча відстань – 2,5 мм.
  • Довжина хвилі випромінювача – 950 мкм.
  • Тип акумулятора – Li-Ion 18650 (Panasonic NCR18650)
  • Ємність акумулятора – 3400 мАг (3,7 В).
  • Вага – 65 г (основні компоненти), 110 г (включаючи окуляри, кріплення компонентів та дроти).

Основний системний параметр для «Головного» пристрою

  • Основний контролер - Raspberry Pi Zero W
  • Головний процесор – 1 ГГх, ARM1176JZ-F
  • Графічний процесор — VideoCore IV 48+
  • Чіпсет - Broadcom BCM2835.
  • ОЗУ – 512 МБ DDR2
  • Пам'ять – 8 ГБ (microSD)
  • Зв'язок — Wi-Fi 802.11 b/g/n, Bluetooth 4.1.
  • Роз'єми – microUSB, miniHDMI.
  • Розмір екрана – 2,8 дюйма.
  • Роздільна здатність екрана – 320x240 пікселів.

Компоненти

  • Raspberry Pi Zero W
  • Камера Paspberry Pi
  • SD-карта (мінімум 8 ГБ)
  • Ардуїно Нано
  • ІК-датчик TCRT5000
  • Контролер заряду TP4056
  • GPS-модуль UbloX NEO-6M-0-001
  • Літій-іонний акумулятор Panasonic NCR18650
  • Окуляри (будь-якого типу)

Дальній розвиток системи

  • Додавання додаткових даних для надсилання разом із фотографією (геотег, положення очок тощо)

  • Різні команди для різних комбінацій спалахів (подвійних, потрійних тощо)

  • Додавання другого датчика та використання різних комбінацій двох моргань.

  • Знімаємо коротке відео замість фотографій.

  • Розширений функціонал головного пристрою (інтерфейс відображення підключених пристроїв, фотогалерея тощо)

  • Веб-сервер для роботи у глобальній мережі

  • Веб-додаток для отримання даних з веб-сервера (відображення власних фотографій, галереї фотографій інших окулярів з використанням різних фільтрів тощо)

  • Мобільний додаток для доступу до даних із веб-сервера

  • Формування бізнес-логіки сервісу

Фотографії

Угода користувача Пристрій Пристрій користувача Набір зібраного користувача пристроюОсновні компоненти пристрою перед збиранням Основні контролери користувальницького пристрою Програмування власного пристрою Набір зібраних пристроїв Набір зібраних пристроїв