Показаны сообщения с ярлыком mqtt. Показать все сообщения
Показаны сообщения с ярлыком mqtt. Показать все сообщения

четверг, 28 декабря 2017 г.

Sonoff Basic. Подключение температурного датчика DS18B20

Подключим к базовой модели Sonoff Basic датчик температуры DS18b20.
Помимо модуля и датчика, понадобятся CP2102 USB to TTL конвертер и резистор на 4.7Ком.

Меняем стоковую прошивку на Sonoff Tasmota
Последняя версия прошивки тут. Настраиваем по инструкции Arduino IDE 1.8.5. Подключаем

Перед тем, как заливать скетч, переводим модуль в режим прошивки. Для этого надо отключить модуль от питания, зажать кнопку на модуле (большую черную), не отпуская кнопку подключить к USB компьютера, и через 1-2 секунды отпустить кнопку.
Редактируем секции в файле Tasmota-Х.Х.Х/tasmota/user_config.h
// -- Wifi
// -- MQTT (если будем использовать Masquitto-сервер)
// -- Sensor code selection
Здесь надо снять комментарий перед строкой чтобы добавить в прошивку функционал температурного датчика
#define USE_DS18x20
 Нажимаем кнопку "Проверить" 
и если компиляция прошла без ошибок - нажимаем "Загрузка"

Если в консоли посыпались ошибки
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
Проверьте подключение RX&TX

Как только скетч запишется (дойдет до 100%), отключаем питание и берем паяльник.
Для подключения датчика температуры, нужно припаяться к контактам GND (черный), 3.3v (красный) и Data (GPIO14)

Заранее продумываем как будем выводить провод датчика за корпус Sonoff.

Чтобы провод не гулял и не сорвался с контактов - заделал клеевым пистолетом отверстие вывода провода.

Еще порекомендую на будущее, припаять датчик к основанию гребенки, чтобы оставить возможность подключения через USB to TTL. На случай неудачной прошивки, или обновления.

В идеале конечно сделать 2,5мм выход и подключать через джек. Сделаю так на Sonoff 4CH R2.
Теперь дело за малым. Зайдем по IP-адресу на веб-интерфейс для управления модулем, присвоим GPIO14 датчик температуры DS18x20

Бинго! Теперь на главной странице отображается температура

Подключение датчика температуры и влажности DHT22.
Крепление на DIN-рейку
Sonoff 4CH. Подключение датчика температуры и влажности DHT21 (AM2301)
Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)

UPD!!!
Спустя более чем три (!) года, Sonoff отказал. Сначала начал отваливаться Wi-Fi (пропадало подключение, хотя роутер был в 2х метрах), а затем, после отключения электричества и вовсе перестал подавать признаки жизни.
Разобрав реле, я заметил следы перегрева на месте установки конденсатора 16V 470uF (самый центр платы). Проверил его емкость не отпаивая при помощи ESR тестера, и он показал всего 33pF. Заменил конденсатор на такой же, и Sonoff заработал.




вторник, 28 ноября 2017 г.

Установка и настройка Mosquitto в Ubuntu 14.04

Все доступным языком описано на официальной странице проекта
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update

sudo apt-install mosquitto
#Для установки приложений
sudo apt-get install mosquitto-clients
Проверяем, запустилась ли служба
sudo service mosquitoo status
mosquitto start/running, process 16614
По умолчанию, сервис слушает 1883 порт. Чтобы получить доступ с мира к серверу, добавлю правила на роутере в openwrt
nano /etc/config/firewall
config rule
option name 'Allow Mosquitto'
option src 'wan'
option proto 'tcp'
option dest 'lan'
option dest_ip '10.0.0.10'
option dest_port '1883'
option enabled '0'
option target 'ACCEPT'

config redirect
option name 'Mosquitto'
option target 'DNAT'
option src 'wan'
option dest 'lan'
option proto 'tcp'
option src_dport '1883'
option dest_ip '10.0.0.10'
option dest_port '1883'
Перезапустим службу firewall, чтобы правила применились
/etc/init.d/firewall restart
Для проверки, ставим в Chrome расширение mqttlens

И заполняем поля для подключения. Имя подключения и IP-адрес

На этом установка закончена.

Опционально, добавим свой логин-пароль, для простейшей безопасности.
Создаем файл с логин\паролем
sudo mosquitto_passwd -c /etc/mosquitto.pwd user
Затем, дважды вводим новый пароль

Теперь добавим файл с паролями в конфиг mosquitto
sudo nano /etc/mosquitto/mosquitto.conf
Добавляем в конец строчки
allow_anonymous false
password_file /etc/mosquitto.pwd
Перезапускаем службу, чтобы настройки сохранились
sudo service mosquitto restart