Набор скриптов для «умного дома» на Raspberry PI 3

Так уж получилось, что мой «умный» дом, это фактически небольшая кучка скриптов. Приведу пример основных из них, вдруг кому интересно будет…

Отправка/получение данных по радиоканалу с частотой 433Mhz:

Получение:

Отправка:

Получение температуры/влажности с датчиков dh11:

Мигаем светодиом:

Получение данных с микротика

Температура:

Уровни WIFI сигналов:

WiFi реле Sonoff DIY 3:

Текущий статус:

Переключение реле:

Python: Получение состояния реле Sonoff Basic R3

Задача: получить состояние реле и записать его состояние в БД

Решение:

Реле отдает своё состояние по ссылке:

Однако в зависимости от ревизии прошивки, данные могут немного отличаться. В нижеприведённом скрипте это учтено:

Прогноз погоды на arduino.

Продолжаю героически пилить «Умный дом». На текущий момент сделано:  вывод времени, даты, дня недели, погоды на сегодня и завтра, текущей температуры, включение/выключение дисплея по датчику движения.

Не удалось: подружить плату точного времени ds3231 работающую по шине i2C и Ethernet плату ENC28J60 работающую по шине SPI, Пошел какой-то конфликт между платами, разобраться как разрулить не смог. Пришлось время тоже брать с интернета.

11.09.15 - 1Ниже приведен скетч на текущий момент. » Читать далее




Оказывается у Arduino Mega/Uno нет нормальной многопоточности…

ArduinoUno_r2_front450pxДумал в выходные про будущую реализацию «Умного дома».. Делал некоторые наброски и т.п.. Стало шоком, что оказывается в Arduino не реализована «железячная» многопоточность т.е. выполнение нескольких подпрограмм одновременно. Реализовать некое подобие можно при помощи костылей «выполнение по таймеру» и прерываний.. Но всё не то.. Так-же есть несколько скетчей, написаных на ассемблере, которые расширяют стандартный вход main в программе, и делают «некий программный аналог» многопоточности. Ну ближе к делу посмотрим… Знать бы конечно сразу, так возможно бы остановился на Raspberry Pi..но цена там конечно более кусачая.