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

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

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

Получение:

Отправка:

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

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

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

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

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

WiFi реле Sonoff DIY 3:

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

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

Никогда не было и вдруг опять..

Или разгаданная загадка почему не вставляется запись в БД с первой строкой взятой из файла. Долго думал, пока наконец не догадался поглядеть этот файл в HEX редакторе. А там…барабанная дробь..символ BOM от создателей блокнота в Windows 😉

В общем теперь я понял, что при обработке файлов, лучше на всякий случай всегда убирать этот интересный символ, дабы не попасть в просак. Примерно так:

PHP: как узнать какого размера файл может загрузить пользователь

Иногда, для того чтобы избежать ошибку, можно заранее о ней предупредить. Например, прежде чем предлагать загрузить файл на сервер, можно вывести сообщение о максимально возможном его размере. Определить размер файла для загрузки можно примерно так:

YII2: авторизация через Active Directory в шаблоне basic

Почти наверняка это делается легко и не принужденно, каким то другим способом, более стандартным, но: Мы не ищем легких путей (с). Поэтому велосипед.

Для начала в файле params.php добавим настройки необходимые для соединения с AD:

Далее изменим модель User.php следующим образом, добавив в него следующие функции:

И там-же заменим функцию:

В модели LoginFrom.php изменим функцию login():

В результате получим собственно возможность авторизации через AD, с сохранением пользователя AD если такового в БД нет, в базе данных.

Windows: Ошибка при установке YII через composer

Ошибка вида:

Решение:

скачать сертификат curl.haxx.se/ca/cacert.pem и подлогжить его в php.ini:

1 2 3 4 25