• Разработки
  • Заметки
  • Музыка
  • Обратная связь
  • Термостат управления обогревателем

    И так, зима близится и хочется тепла. Как обычно я расчехляю свой обогреватель ибо центральное отопление оставляет желать лучшего, а мой комфорт 25 градусов тепла!

    В прошлом году я задумался над автоматизацией сего процесса и приобрёл себе термостат за $12, который приколхозил к обогревателю. Получилось неплохо, но сие китайское чудо периодически зависало (раз в три дня), и температура падала - я мёрз.

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

    И так, нам понадобятся:
    1) Arduino nano 3 - $2
    2) Датчик температуры DHT-11 - $1
    3) ЖК-дисплей 1602 + контроллер i2C PCF8574 - $2.3
    4) Кнопочки 2 шт. и светодиод - $0.5
    5) Розетка внутренняя 230 В - $1.5
    6) Трансформатор + выпрямитель (и фильтр на 2000 мФ) - $0 (нарыл в загашнике)
    7) Резисторы 220 Ом 1 шт., 10 кОм 2 шт. - $0 (понавыпаивал из разных плат)
    8) Провода, припой, паяльник, клей - $0 (всегда имеется в хозяйстве)
    9) Какой-нить корпус (отлично подходит от компьютерного БП, нерабочего).

    Схему сборки представил на иллюстрации.

    Лампочка статуса розетки, чтобы ночью не светила прямо в глаз подвергалась множеству "издевательств".
    Сперва я её посадил на ШИМ вывод ардуинки (5 контакт), и поставил пульсацию 30. Но ночью лампа всё равно светила в глаз шо дурная. Уменьшил до 20-ти, не помогло. Ну а меньше ставить нету смысла, т.к. днём плохо будет видно. Поэтому была принята следующая модификация.

    А именно, увеличено отверстие в корпусе сверлом на 6, затем продел в него кусок колпачка от иголки (шприца), напёр туда немного ваты как светорассеиватель а затем воткнул диод. Корпус колпачка замотал изолентой в районе диода.

    Так же в программе задал отключение подсветки дисплея через 5 минут, чтобы не светило почём зря. Обновление изображения на дисплее тоже оптимизировано, чтобы не напрягать шину. Написал простенькую анимацию отображения изменения числа температуры кнопочками - для наглядности. Настройки сохраняются в EEPROM сразу после изменения.

    Так же реализована защита от скачка показаний датчика, чтобы реле не щёлкало как умалишённое туда-сюда. По умолчанию задержка 120 секунд. На этот период программа игнорирует показания датчика, но отображает их.

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

    Получилось довольно неплохо. Неаккуратно, но работает стабильно и не зависает. Конечо, можно допилить отдельную схему питания компонентов (релле + дисплей + датчик) на стабилизаторе 7805 (я их кстати заказал), чтобы разгрузить таковой в ардуинке. Может я так и сделаю. Но покуда, потрогал пальцем стабилизатор на плате и понял что он сильно не греется - и так походит.

    Скачать проект/скетч:

    Архив + необходимые библиотеки.zip --> 68 загрузок

    Комментарии (0) 07.10.2019. 17:23

    Сохраняем пароли в облаке

    Долго я мучился с поиском оптимального решения сохранения паролей. Хотелось иметь доступ к паролям из любой точки мира и любого устройства.

    Использование encryptfs (encfs) под Linux в связке с каким-нить облаком, например личным на ftps конечно имеют право на жизнь. Я сам этим пользуюсь, но под windows это не жизнеспособное решение. Не говоря уже про android.

    И тут есть интересное решение! Использовать php в связке с openssl. Получится своего рода кроссплатформенная WEB-версия хранилища для паролей, да и ещё с мощным шифрованием по AES-256 с инициализирующим вектором. А если это ещё и приправить протоколом https с TLS сертификатом 2048bit, то можно особо не переживать о перехвате данных!

    В общем, навоял сегодня "на коленке" простенький скриптик для решения этой задачи. Скрипт пригодится тем, у кого есть собственный сайт (хостинг или сервер).

    Как использовать скрипт:
    1) Качаем архив с сайтом (скриптом), распаковываем и закидываем на свой сервер
    2) Убеждаемся в наличии доступа на запись для папки data и файла data/data.db
    3) Открываем страничку в браузере и вводим PIN 123. Разумеется пароль нужно сменить. Если Вы потеряете пароль, все Ваши данные безвозвратно будут утеряны, расшифровать их невозможно (ну или на это уйдёт пара десятилетий, зависит от сложности Вашего пароля)
    4) Очень желательно чтобы Ваш сайт поддерживал протокол https. Если это так, переименуйте файл _htaccess в файл .htaccess


    Скачать скрипт: mynote.zip --> 450 загрузок
    Техническая информация
    Если скрипт "не завёлся", раскомментируй в файле config.php строчки 3,4 и 5, удалив //. Так можно посмотреть ошибки.
    Разумеется должен быть установлен модуль php-sqlite3 для работы с SQLite3. Как правило, на хорошем хостинге он установлен.
    Убедись что есть доступ на запись в папку со скриптом и папку data и файл data.db. В Linux, как правило права должны быть 775 на папки и 664 на файл data.db
    Убедись, что настройки твоего apache разрешают использование файлов .htaccess. Как правило, на хорошем хостинге это разрешено.

    Это все проблемы с которыми можно столкнуться. Всё зависит от настроек Вашего сервера (хоста)

    Пока всё. Дополняем список в комментах!

    Комментарии (0) 11.03.2019. 17:58

    Клавиатурный тренажёр

    TrenTren
    Представляю Вашему вниманию простенькую программу тренировки памяти, которая позволит запомнить расположение клавиш на клавиатуре, прокачает внимательность..
    Программка писалась мной ещё в учебные годы, вот нашёл в архивах, решил поделиться :)
    Скачать: Trenajor.zip --> 1106 загрузок

    Комментарии (0) 11.05.2018. 08:14

    << Первая < Предыдущая [1 / 5] Следующая > Последняя >>

    Меню

    Статьи

    Комментарии

    RSS Feed

    Реклама

    AnyDesk для Linux и Win
    Магазин Complex. Комплексные решения.
    Не хотите полить мобилу? Виртуальные СМС номера. Стоит копейки!