Чи є ця архітектура можливою і гнучкою?


9

У мене виникають проблеми, але переконуюсь, що мій проект справді здійсненний.

Що я хочу архівувати: керуйте моєю кавовою машиною Senseo через Інтернет. Вона зводиться до простого керування двома кнопками.

Перше просте рішення:

  1. Налаштуйте сервер NodeJS на моєму Raspberry Pi.
  2. Я підключаю свої Raspberry GPIO до 2 транзисторів, щоб керувати кнопками кавової машини
  3. Я можу керувати Raspberry GPIO безпосередньо в Javascript. Наприклад, виклик http://myraspberrypi.com/makemeacoffee активує GPIO, активує кнопки та потоки кави

Але: я не хочу підключати свою малину до своєї кавомашини (мені потрібен Pi для інших цілей), і я вважаю, що роз'єднання веб-сервера та самого контролера є хорошою ідеєю. Якщо завтра я хочу контролювати температуру своєї ванної кімнати або контролювати другу кавоварку (за допомогою іншої ESP8266), я хочу це зробити, не переосмислюючи все.

Що мені потрібно архівувати, це ESP8266 з NodeMCU, щоб використовувати його як контролер без голови Wi-Fi (див. Це посилання ). Raspberry GPIO більше не використовується (в цьому справа). На Pi є лише веб-сервер NodeJS.

Ось короткий ескіз архітектури: чи можлива ця архітектура?

Дозвольте мені уточнити роль основних компонентів:

  • Raspberry Pi: розміщує веб-сервер NodeJS
  • Веб-сервер NodeJS: обслуговує веб-сторінки кінцевому користувачеві. В основному сторінка з кнопкою "Зробіть мені каву". За сценою нам потрібно «натиснути» кнопку нагрівання води, почекати 30 секунд, потім «натиснути» кнопку кави. Веб-сервер робить це, надсилаючи HTTP-запити на ESP8266 (через Wi-Fi). Сервер NodeJS також здійснює реєстрацію та аналіз даних (скільки кави ви випили цього року?)
  • ESP8266: використовує NodeMCU. Її GPIO підключені до транзистора, що управляє кнопками кавоварки. Мене не цікавить, як живити ESP8266. Він запускає веб-сервер для прослуховування запитів Raspberry Pi та відповідних дій для GPIO.

Чи здійснена ця архітектура? Чи гнучка ця архітектура?


EDIT, щоб відповісти на Шона Хуліхана (спойлер, щоб посада була відносно короткою):

Я не впевнений у цьому на 100%, але транзистор, здається, достатньо. Вимикач кавової машини працює на низькій напрузі (3,3 В), і ESP8266 не поділить землю з кавомашиною.

Щодо зондування температури та контролю рівня води, кавоварка Senseo має цю вбудовану. Типове використання: Натисніть центральну кнопку, щоб запустити процес нагрівання, виберіть розмір кави, натиснувши кнопку "єдиний" або "подвійний". Як тільки процес нагрівання закінчується, кава починає текти. Якщо води недостатньо, вона закінчується і блимає світлодіод.

Я очікую прогресу:

  • Версія 1.0 буде "Просто запустіть кавоварку, я впевнений, що вона готова". Я керую однією кнопкою чашки та кнопкою нагрівання.
  • Версія 2.0 буде "Запустити машину та дай мені зворотній зв'язок" У мене був ще один ESP8266, підключений до світлодіодного сигналу зворотного зв’язку (щоб я міг знати, коли він нагрівається і коли його немає у воді) та ще один на шкалі, щоб переконатися, що чашка є перед тим, як запустити кавоварку. Я також можу додати попередження, коли кавоварка працює, щоб сказати користувачеві змінити стручок.

  • Версія 3.0 буде знаходити спосіб визначити, чи змінився стручок, відстежуючи відкриття механізму деяким вимикачем. Але це зараз не входить в рамки мого проекту.


Привіт і Ласкаво просимо в Інтернет речей! Хоча я не намагаюсь переконати вас перенести це питання (тут все добре), я хотів би запросити вас на raspberrypi.stackexchange.com щодо будь-яких інших питань (або відповідей, які ви хочете надати) стосовно до Raspberry Pi :)
Ghanima

@Ghanima Мені відомо про існування цього сайту, я просто "приєднався до спільноти" прямо зараз, дякую
Etsitpab Nioliv

2
HTTP? Ви повинні використовувати HTCPCP .
JAB

Відповіді:


5

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

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

Додаткові речі, які слід врахувати, зондування температури, рівня води (обережно щодо забруднення) та інші особливості. Відстеження струків RGB (чи це робить його машиною одноразового використання чи потрібна тривога, що не замінена?)


1
Відредагував мою відповідь, щоб дати більше інформації про остаточну мету та кроки до її досягнення
Etsitpab Nioliv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.