Управління телевізором або будь-яким пристроєм з інфрачервоним інтерфейсом за допомогою Raspberry Pi

Підключення чого завгодно з ПДК до інтернету речей

телевізором

Хоча інтернет речей – це відносно нове явище, але керування пристроями віддалено старо, як світ; пристрої, керовані за допомогою інфрачервоного ПДК, існують давно. Але більшість потенціалу пристроїв, що знаходяться у вас вдома, не використовується. Решту деталей, крім Raspberry, для даного проекту ви можете купити в місцевому магазині електроніки. І так, щоб розблокувати цей потенціал вам знадобиться:

Деталі, які будуть потрібні для цього проекту, – це прості комплектуючі, які ви можете купити у місцевому магазині. Нижче наведено схему, а потім опис до кожної її частини.

будь-яким
Схема приймача/передавача на Raspberry Pi
телевізором
Приклад макета

ІЧ передавач

Інфрачервоний передавач складається з ІЧ світлодіода, резисторів 37 Ом та 10 кОм та PNP-транзистора.

Так як порти GPIO Raspberry Pi підтримують максимальний струм 50 мА, а нашому світлодіоду потрібно 100 мА, ми будемо запитувати інфрачервоний світлодіод за допомогою PNP-транзистора і джерела живлення 5 В.

Підключіть ІЧ світлодіод у ланцюг між виведенням 5V Raspberry Pi через струмообмежуючий резистор 37 Ом та колектором вашого PNP транзистора. Резистор гарантує, що струм через світлодіод ніколи не перевищить 100 мА. Емітер з'єднайте безпосередньо з корпусом.

База транзистора використовується для його відмикання та замикання. Підключіть її до виведення GPIO 22 через резистор 10 кОм.

ІЧ приймач

Інфрачервоний приймач необов'язковий і потрібний лише, якщо ви не можете знайти свій пульт дистанційного керування в базі даних ПДК LIRC. Приймач підключається до корпусу та виведення 3V3 Raspberry Pi висновками GND та Vcc відповідно. Висновок Data приймача має бути підключений до виведення GPIO 23 Raspberry Pi.

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

Встановлення необхідного програмного забезпечення на Raspberry Pi

LIRC означає Linux Infrared Remote Control (інфрачервоний ПДК для Linux), що говорить саме за себе. Майже без додаткових зусиль цей пакет дозволяє записувати та відтворювати команди будь-якого інфрачервоного пульта дистанційного керування.

Якщо ви ще не встановили LIRC, запустіть наступні команди на своєму Raspberry Pi:

Далі виконайте такі команди, щоб завершити встановлення та перезапустити LIRC:

Запис команд вашого ПДК

Як згадувалося раніше, якщо ваш ПДК вже є в базі даних ПДК LIRC, ви можете пропустити цей розділ.

Ви можете записати команди ПДК, використовуючи команду irrecord . Щоб запустити irrecord, спочатку ви повинні зупинити LIRC наступною командою:

Запустіть наступну команду, щоб побачити список імен, які можна дати своїм кнопкам:

Далі використовуйте irrecord у команді, наведеній нижче. /dev/lirc0 вказує, де знаходиться lirc пристрій у файловій системі, а

/lircd.conf вказує, що конфігурацію необхідно зберегти у вашому домашньому каталозі.

Коли ви закінчите, відредагуйте файл конфігурації nano

/lircd.conf та змініть рядок name на ім'я пристрою.

І, нарешті, перемістіть нову конфігурацію в LIRC і запустіть його знову!

NodeJS та веб-додаток

NodeJS – це платформа, яка дозволяє звільнити JavaScript від браузера. Ми будемо використовувати NodeJS, щоб запустити наш веб-сервер.

Встановіть NodeJS за допомогою наступних команд:

Вся суть веб-програми знаходиться внаприкінці цього розділу. Здебільшого воно складається зі статичних файлів, розташованих у каталозі html/. Проте є й спеціальний функціонал:

  • при виконанні воно запитує LIRC список пристроїв, а потім для кожного пристрою кнопки;
  • коли користувач надсилає запит (GET) http://webappurl/send/deviceName/buttonName , програма надішле відповідний код кнопки, запускаючи irsend SEND_ONCE deviceName keyName .

Ось код програми. Будь ласка, не копіюйте і не вставляйте цей скрипт, а клонуйте його з git, щоб отримати інші файли.