Node.js + RPi + IKEA = Трофейное освещение

  1. сборочный
  2. Управление Node.js контактами RPi GPIO
  3. Взаимодействие вне браузера
  4. Вопрос

Сочетая мою любовь к освещению и мебели IKEA с необходимостью найти новый способ возиться с Raspberry Pi, мы создали встроенный светильник с дистанционным управлением.

Что я использовал:

  • EXPEDIT стеллаж
  • DIODER Светодиодные полосы (4 шт)
  • Fixa , 114-элементный кабель управления
  • Raspberry Pi Серия Б
  • PowerTail Switch II , оптоизолированное реле 120 В, принимающее от 3 В до 12 В для простого управляющего входа для активации переключателя.
  • У меня также есть макет, перемычки и набор для затяжки / кабеля GPIO, который поставляется с Adafruit. Raspberry Pi Starter Pack , но не нужны, если у вас есть другой способ подключения выводов GPIO к внешнему компоненту.

сборочный

сборочный

ИКЕА, как всегда, предоставила восхитительный инструкции для ЭКСПЕДИТА. А если серьезно, этот стеллаж на самом деле очень прост в сборке IKEA и выглядит великолепно; Я очень рекомендую это. После сборки я начал с установки по одной полоске DIODER на каждую из четырех полок в верхнем ряду:

После сборки я начал с установки по одной полоске DIODER на каждую из четырех полок в верхнем ряду:

Используя кусочки FIXA и немного навязчивое управление кабелями, я потянул каждый провод прямо к задней части полки и побежал по нижнему краю стеллажа.

Используя кусочки FIXA и немного навязчивое управление кабелями, я потянул каждый провод прямо к задней части полки и побежал по нижнему краю стеллажа

Все это закончилось путаницей лишнего кабеля, который я просто сложил в пучок и прикрепил к задней панели устройства.

Все это закончилось путаницей лишнего кабеля, который я просто сложил в пучок и прикрепил к задней панели устройства

Затем я подключил это к PowerSwitch и RPi, чтобы начать развлекаться с Node.

Затем я подключил это к PowerSwitch и RPi, чтобы начать развлекаться с Node

Управление Node.js контактами RPi GPIO

Управлять хвостом PowerSwitch действительно легко. Все, что ему нужно, это напряжение 3-12 В постоянного тока, приложенное к терминалу управления:

Мы можем сделать это с GPIO Raspberry Pi, подключив вывод GPIO к +, а затем подключив - к выводу заземления. Управлять этим в Python действительно легко:

#! / usr / bin / env python импортирует RPi.GPIO как io io. setmode (io. BCM) power_pin = 18 io. настройка (power_pin, IO. OUT) IO. вывод (power_pin, True)

Но мой опыт в Node.js и я хотел забавный способ сделать его управляемым через браузер или другой URL-вызов. Короче я хотел:

  • / - Очень простой статический сайт с кнопками включения и выключения ссылки. Мы будем использовать экспресс разместить эти активы.
  • / on - включить свет (вывод GPIO «включен»)
  • / off - выключить свет (вывод GPIO «выкл»)

Полный контроль над RPi GPIO с использованием Node.js в настоящее время немного отсутствует. Существует два основных модуля npm, но ни один из них не поддерживается активно, и оба, кажется, находятся на пути к замене. К счастью, наши потребности довольно просты. я использовал пи-GPIO потому что в то время я не мог получить GPIO работать (хотя он был обновлен с тех пор, как я в последний раз смотрел).

Помните, что контакты GPIO могут быть адресованы как напечатанные на плате, так и в реальном порядке. Библиотека pi-gpio использует физическую распиновку, а не напечатанные числа.

Библиотека pi-gpio использует физическую распиновку, а не напечатанные числа

Изображение из Hobby Electronics иллюстрирует напечатанные числа GPIO по сравнению с физической распиновкой для Raspberry Pi B.

Мы загружаем две необходимые библиотеки и также отмечаем штырь как 16 (который обозначен на плате как GPIO 23) .

var gpio = require ('pi-gpio'); var pin = 16; var express = require ('express'); var app = express ();

Простая функция - открыть вывод для записи, написать x (логическое значение для включения или выключения вывода) и закрыть вывод для вывода через полсекунды.

var lightSwitch = function (x) {gpio. open (pin, «output», function (err) {gpio. write (pin, x, function () {setTimeout (function () {gpio. close (pin)}, 500);});}); }

Теперь наша утилита URLs / вкл / выкл

приложение get ('/ on', function (req, res) {lightSwitch (1); var body = 'Lights On'; res. setHeader ('Content-Type', 'text / plain'); res. setHeader ('Content) -Длина ', длина тела); Res конец (тело);}); приложение get ('/ off', function (req, res) {lightSwitch (0); var body = 'Lights Off'; res. setHeader ('Content-Type', 'text / plain'); res. setHeader ('Content) -Длина ', длина тела); Res конец (тело);});

Наконец, мы настроили сервер Express для прослушивания HTTP-запросов на 8080 и для любого пути, который еще не был объявлен, обслуживаем ресурсы из каталога / public проекта, который содержит стандартный index.html и разные CSS и JS активы.

приложение слушать (8080); приложение use (express. static (__dirname + '/ public')); приставка . log («Прослушивание через порт 8080»);

log («Прослушивание через порт 8080»);

Взаимодействие вне браузера

я использую Tasker на моем телефоне. По сути, он ждет контекстов и предпринимает действия. Например, когда я подключаю телефон ночью, Tasker отключает текстовые и почтовые уведомления. Теперь, когда мои источники света управляются через сеть, я добавил шаг в этот профиль, чтобы также запускать запрос на включение / выключение света.

В будущем я также хотел бы настроить аналогичные действия на моем компьютере (либо с помощью панели задач / значка док-станции, либо с помощью автоматических действий), чтобы включить свет при запуске компьютера. Кроме того, у меня есть второй хвост PowerSwitch, так что было бы тривиально добавить второй «контур» в мою систему. Думаю, мне придется пойти и купить больше светильников!

Вопрос

Мне бы хотелось найти лучший способ взаимодействия с выводами GPIO, особенно если я когда-нибудь сделаю что-нибудь более сложное. Существуют ли более зрелые библиотеки GPIO для Node.js? Присоединяйтесь в комментариях.

Похожие

Autodesk Inventor - управление проектами »Приложения
Механический дизайн, созданный на компьютере, состоит из множества файлов, которые содержат модели деталей, сборочных узлов, чертежей, презентаций и т. Д. Чем больше объем конструкции, тем больше файлов. Каждый из файлов, включенных в проект, хранит информацию, относящуюся к проекту, такую ​​как структура подсборки, текстовые данные, описывающие деталь или подсборку, его имя, номер чертежа, цена, вес, имя поставщика и т. Д. Кроме того, расположение файлов,
Портал закупок
Хотите купить программное обеспечение для своей компании быстро и легко, но вы всегда сталкиваетесь с реальностью в виде длительного и сложного процесса заказа от разных производителей? Если это так - пришло время оптимизировать процессы покупки и транзакции.
ИБП AT-UPS3000 RT
... взаимодействие с компьютерными блоками питания, оснащенными активной коррекцией коэффициента мощности APFC . ИБП с ЖК-дисплеем Блок питания снабжен прозрачным ЖК-экраном, который позволяет отображать необходимую информацию о блоке питания в очень доступной форме. С помощью интерфейса пользователь может легко прочитать состояние заряда аккумулятора, рабочую частоту устройства или значение выходного напряжения.
У администраторов фан-страниц на Facebook появились новые инструменты!
Недавно мы писали о новых опциях на Facebook предназначен для корпоративных аккаунтов. Как оказалось, это не конец обновления. Если вы являетесь администратором фан-страницы в FB, посмотрите в окне сообщения - оно должно выглядеть немного иначе. И что с этим связано? Больше возможностей управления
Как установить LAMP Stack в Ubuntu 15.10
LAMP - это комбинация операционной системы и программного пакета с открытым исходным кодом. Аббревиатура LAMP пришла от первых букв L inux, HTTP-сервера Pache, базы данных M ySQL или M ariaDB и P HP / P erl / P ython. В этом руководстве описывается, как установить стек LAMP в Ubuntu 15.10, однако описанные ниже шаги должны работать с предыдущими версиями Ubuntu, такими как
Фотография продукта Освещение и лучшие практики
Многие люди возвращаются к экономическим корням Америки в инновациях и производстве, производя и создавая произведения искусства или предметы для продажи, как в небольших предприятиях, так и в гаражах, мастерских или местных производственных площадках. Современное движение «Maker» охватывает всю страну, и отечественные производители размещают свои товары для продажи на личных сайтах или на таких сайтах, как Etsy и eBay. Каждый из этих списков требует привлекательной фотографии продукта, чтобы
ZUS аудит - Как работает инспекция - zus.info.pl
Аудит ZUS - актуальная информация о контроле ZUS, узнайте свои права, какой контроль осуществляет Управление социального страхования и как долго длится контроль ZUS. С этой статьей вы без проблем пройдете каждый контроль в ZUS.
Как убрать следы в интернете?
По-видимому, информация, однажды введенная в Интернет, остается в ней навсегда. В конце концов, говорят, что, кто не существует в сети, он не существует. Это правда? Нет ли способа размыть следы в интернете? Оказывается, они - все меньше и сложнее. Вот они. фотка tashka2000, Fotolia.com
Особенности Архивов - Sunshine Photo Cart для WordPress
... JS темы основного сайта из очереди при использовании темы Sunshine * Исправлено - пользовательские стили CSS в теме 2013 * Исправлено - используйте WordPress date_format, где это необходимо * Добавить - немецкий перевод * Исправлено - Сделать страницы / контент при установке / обновлении переводимыми * Исправлено - ссылки на скачивание изображений не работают в 3.8.1 * Исправлено - ошибка PHP при добавлении комментария к заказу от администратора * Исправлено
AirNav: KEZF - Аэропорт Шеннон
ЭФФЕКТИВНАЯ ИНФОРМАЦИЯ FAA 25 АПРЕЛЯ 2019 Место нахождения Идентификатор FAA: EZF Lat / Long: 38-15-58.4000N / 077-26-57.8000W 38-15,973333N / 077-26,963333W 38.2662222 / -77.4493889 (приблизительно) Высота: 85 футов / 25,9 м (при обследовании) Вариация: 10 Вт (1995) От города: 2 мили на юг от FREDERICKSBURG, VA Часовой пояс: UTC-4 (UTC-5 в стандартное время) Почтовый индекс: 22408 Операции в аэропорту Использование аэропорта: открыто
Microsoft Office Профессиональный 2007
Обзор Microsoft имеет историю успешной разработки крупных продуктов не только благодаря выпускаемым ими операционным системам, но и благодаря коммерческим пакетам Office . Microsoft Office Professional 2007 представляет собой эволюцию классического способа работы , создавая инновации с визуальным аспектом, а затем очаровывая пользователей предлагаемыми им опциями и функциями. Двенадцатая редакция Office появляется после

Комментарии

Не хотите, например, расширение браузера SafePrice (система сравнения цен Avast)?
Не хотите, например, расширение браузера SafePrice (система сравнения цен Avast)? Снимите флажок установщика, и он исчез. Это полезный и ориентированный на пользователя подход, который мы хотели бы видеть принятым другими поставщиками. Некоторые антивирусные инсталляторы требуют удаления конкурирующих продуктов, но Avast предлагает немного больше гибкости. Если он обнаружит другой антивирусный пакет на вашем ПК, он установится в пассивном режиме, по существу отключив защиту в режиме реального
Где я могу найти основные функции браузера в Opera для Android?
Где я могу найти основные функции браузера в Opera для Android? Расположение функций и настроек Opera немного различается в зависимости от выбранного типа раскладки: телефона или планшета. Чтобы получить доступ к функциям и настройкам Opera, нажмите Кнопка меню Opera в
Что удалить из браузера?
Что удалить из браузера? Когда вы используете веб-браузер и не хотите, чтобы кто-то мог проверить, какие веб-сайты вы посещаете или какие действия вы выполняете, лучше всего включить «частный режим». Каждый доступный на рынке интернет-браузер имеет функцию, которая позволяет вам оставаться инкогнито независимо от обстоятельств. К сожалению, иногда случается, что все забывают включить эту функцию или просто узнают о конфиденциальности данных только после их распространения.
Сразу возникает вопрос: когда предоплаченные предложения будут равны, с чем теперь будут бороться операторы клиентов?
Сразу возникает вопрос: когда предоплаченные предложения будут равны, с чем теперь будут бороться операторы клиентов? Может быть, это будут оригинальные музыкальные сервисы вроде Играть музыку Возможно, партнерство с международными корпорациями, такими как Deezer in Orange
Искренняя беседа, проницательное наблюдение за поведением и избегание поспешных выводов - это поможет вам лучше всего ответить на вопрос: «любит ли она меня?
Искренняя беседа, проницательное наблюдение за поведением и избегание поспешных выводов - это поможет вам лучше всего ответить на вопрос: «любит ли она меня?». Вы женщина, и вы не уверены, что он влюблен в вас - нажмите и проверьте: • Он влюблен? Искренний разговор с ней По словам психотерапевта Евы Качоркевич, мы часто
В конце, однако, остается вопрос, возможны ли вообще настолько сильные аномалии, чтобы перемещать объект?
В конце, однако, остается вопрос, возможны ли вообще настолько сильные аномалии, чтобы перемещать объект? На этот вопрос ответил наш автор и эксперт д-р Михал Крупинский из Института ядерной физики PAS в Кракове : Несколько лет назад я спрашивал разных людей о предполагаемой «аномалии» гравитационного поля в Карпаче, и все разумные люди согласились с тем, что это просто интересная оптическая иллюзия. Я также согласен с этой интерпретацией сам.
Вопрос в том, подойдет ли монитор с такой матрицей для редактирования видео и графики?
Вопрос в том, подойдет ли монитор с такой матрицей для редактирования видео и графики? Однако для максимально возможного редактирования видео графическая работа требует более продвинутых возможностей. Инженеры EIZO постоянно работают над новыми решениями, которые расширяют возможности штампов. Например, с использованием опции DUE, однородность цвета была увеличена, а яркость всей поверхности панели выровнена, а 12-битная настройка гамма-кривой обеспечивает плавные тональные переходы.
В этот момент возникает вопрос, о чем клиенты?
В этот момент возникает вопрос, о чем клиенты? Признаюсь честно, сам об этом думаю. Вы все еще помните моего друга, о котором я писал во введении? Пока у Орео почти нет дня, он не будет жаловаться на отсутствие обновлений. Если вы посмотрите разделы комментариев на отраслевых порталах или онлайн-форумах, вы сможете найти много людей с почти таким же подходом. Как видите, доступ к новым версиям программного обеспечения имеет значение ... верно? Ну, похоже, это не так. Да, это важно, но только

Js?
И что с этим связано?
Как убрать следы в интернете?
Это правда?
Нет ли способа размыть следы в интернете?
Не хотите, например, расширение браузера SafePrice (система сравнения цен Avast)?
Где я могу найти основные функции браузера в Opera для Android?
Что удалить из браузера?
Сразу возникает вопрос: когда предоплаченные предложения будут равны, с чем теперь будут бороться операторы клиентов?
Сразу возникает вопрос: когда предоплаченные предложения будут равны, с чем теперь будут бороться операторы клиентов?