<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mqtt on Блог Агапова Максима</title><link>https://magapov.nmph.ru/tags/mqtt/</link><description>Recent content in Mqtt on Блог Агапова Максима</description><generator>Hugo</generator><language>ru</language><lastBuildDate>Sun, 21 Jan 2024 11:30:54 +0000</lastBuildDate><atom:link href="https://magapov.nmph.ru/tags/mqtt/index.xml" rel="self" type="application/rss+xml"/><item><title>Sonoff Basic. Подключение температурного датчика DS18B20</title><link>https://magapov.nmph.ru/2017/12/sonoff-basic-ds18b20.html</link><pubDate>Thu, 28 Dec 2017 16:47:00 +0000</pubDate><guid>https://magapov.nmph.ru/2017/12/sonoff-basic-ds18b20.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">Подключим к базовой модели &lt;a href="https://alii.pub/6vi25n?erid=2SDnjdN2aBa" target="_blank">Sonoff Basic&lt;/a> датчик температуры&amp;nbsp;&lt;a href="http://ali.pub/29dzbt" target="_blank">DS18b20&lt;/a>.&lt;br />
Помимо модуля и датчика, понадобятся &lt;a href="http://ali.pub/29dze5" target="_blank">CP2102 USB to TTL&lt;/a> конвертер и резистор на 4.7Ком.&lt;br />
&lt;br />
Меняем стоковую прошивку на Sonoff Tasmota&lt;br />
Последняя версия прошивки &lt;a href="https://github.com/arendst/Sonoff-Tasmota">тут&lt;/a>. Настраиваем по &lt;a href="https://github.com/arendst/Sonoff-Tasmota/wiki/Prerequisite">инструкции&lt;/a> Arduino IDE 1.8.5. Подключаем&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/GPIO.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1162" data-original-width="1600" height="464" src="https://magapov.nmph.ru/img/GPIO.jpg" width="640" />&lt;/a>&lt;/div>&lt;br />
Перед тем, как заливать скетч, переводим модуль в режим прошивки. Для этого надо отключить модуль от питания, зажать кнопку на модуле (большую черную), не отпуская кнопку подключить к USB компьютера, и через 1-2 секунды отпустить кнопку.&lt;br />
Редактируем секции в файле&amp;nbsp;Tasmota-Х.Х.Х/tasmota/&lt;b>user_config.h&lt;/b>&lt;br />
&lt;pre>&lt;code class="bash hljs">// -- Wifi
// -- MQTT (если будем использовать Masquitto-сервер)
// -- Sensor code selection&lt;/code>&lt;/pre>Здесь надо снять комментарий перед строкой чтобы добавить в прошивку функционал температурного датчика&lt;br />
&lt;pre>&lt;code class="bash hljs">#define USE_DS18x20&lt;/code>&lt;/pre>&lt;div>&amp;nbsp;Нажимаем кнопку "Проверить"&amp;nbsp;&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/check.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="96" data-original-width="333" height="115" src="https://magapov.nmph.ru/img/check.JPG" width="400" />&lt;/a>&lt;/div>&lt;div>&lt;/div>&lt;div>и если компиляция прошла без ошибок - нажимаем "Загрузка"&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/download.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="98" data-original-width="340" height="115" src="https://magapov.nmph.ru/img/download.JPG" width="400" />&lt;/a>&lt;/div>&lt;br />
Если в консоли посыпались ошибки&lt;br />
&lt;pre>&lt;code class="bash hljs">error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
&lt;/code>&lt;/pre>Проверьте подключение RX&amp;amp;TX&lt;br />
&lt;br />
&lt;div>Как только скетч запишется (дойдет до 100%), отключаем питание и берем паяльник.&lt;/div>&lt;div>Для подключения датчика температуры, нужно припаяться к контактам GND (черный), 3.3v (красный) и Data (GPIO14)&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/Temperature-Sensor-Dallas-Pinout-Diagram.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="366" data-original-width="722" height="324" src="https://magapov.nmph.ru/img/Temperature-Sensor-Dallas-Pinout-Diagram.jpg" width="640" />&lt;/a>&lt;/div>&lt;div>&lt;br />
&lt;/div>&lt;div>Заранее продумываем как будем выводить провод датчика за корпус Sonoff.&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20171228_191413.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1600" data-original-width="900" height="640" src="https://magapov.nmph.ru/img/IMG_20171228_191413.jpg" width="360" />&lt;/a>&lt;/div>&lt;div>&lt;br />
&lt;/div>Чтобы провод не гулял и не сорвался с контактов - заделал клеевым пистолетом отверстие вывода провода.&lt;br />
&lt;br />
Еще порекомендую на будущее, припаять датчик к основанию гребенки, чтобы оставить возможность подключения через USB to TTL. На случай неудачной прошивки, или обновления.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/Sonoff-1.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="534" data-original-width="667" height="512" src="https://magapov.nmph.ru/img/Sonoff-1.jpg" width="640" />&lt;/a>&lt;/div>&lt;br />
В идеале конечно сделать 2,5мм выход и подключать через джек. Сделаю так на &lt;a href="https://magapov.nmph.ru/2018/09/sonoff-4ch-r2-tasmota-platformio.html" target="_blank">Sonoff 4CH R2&lt;/a>.&lt;br />
Теперь дело за малым. Зайдем по IP-адресу на веб-интерфейс для управления модулем, присвоим GPIO14 датчик температуры DS18x20&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/configure.gif" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="813" data-original-width="620" height="640" src="https://magapov.nmph.ru/img/configure.gif" width="488" />&lt;/a>&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;/div>&lt;br />
Бинго! Теперь на главной странице отображается температура&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/temp.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="837" data-original-width="564" height="640" src="https://magapov.nmph.ru/img/temp.JPG" width="430" />&lt;/a>&lt;/div>&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/02/sonoff-basic-dht22.html">Подключение датчика температуры и влажности DHT22&lt;/a>.&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/11/sonoff-basic-din-sonoff-dr.html" target="_blank">Крепление на DIN-рейку&lt;/a>&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/12/sonoff-4ch-dht21-am2301.html" target="_blank">Sonoff 4CH. Подключение датчика температуры и влажности DHT21 (AM2301)&lt;/a>&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/12/sonoff-4ch-r2-dht21-am2301.html" target="_blank">Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)&lt;/a>&lt;/div>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;a href="https://magapov.nmph.ru/2020/12/tasmota-rules.html" target="_blank">Программируем Sonoff и создаем свои сценарии без участия Domoticz&amp;nbsp;&lt;/a>&lt;/div>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;br />&lt;/div>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;b>UPD!!!&lt;/b>&lt;/div>&lt;div dir="ltr" style="text-align: left;" trbidi="on">Спустя более чем три (!) года, Sonoff отказал. Сначала начал отваливаться Wi-Fi (пропадало подключение, хотя роутер был в 2х метрах), а затем, после отключения электричества и вовсе перестал подавать признаки жизни.&lt;/div>&lt;div dir="ltr" style="text-align: left;" trbidi="on">Разобрав реле, я заметил следы перегрева на месте установки конденсатора &lt;b>16V 470uF &lt;/b>(самый центр платы). Проверил его емкость не отпаивая при помощи &lt;a href="http://alii.pub/5opue1" target="_blank">ESR тестера&lt;/a>, и он показал всего 33pF. Заменил конденсатор на &lt;a href="http://alii.pub/5opujv" target="_blank">такой же&lt;/a>, и Sonoff заработал.&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20210404_213951.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="4160" data-original-width="3120" height="640" src="https://magapov.nmph.ru/img/IMG_20210404_213951.jpg" width="480" />&lt;/a>&lt;/div>&lt;br />&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20210404_214040.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="4160" data-original-width="3120" height="640" src="https://magapov.nmph.ru/img/IMG_20210404_214040.jpg" width="480" />&lt;/a>&lt;/div>&lt;br />&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20210404_214301.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="4160" data-original-width="3120" height="640" src="https://magapov.nmph.ru/img/IMG_20210404_214301.jpg" width="480" />&lt;/a>&lt;/div>&lt;br />&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;br />&lt;/div></description></item><item><title>Установка и настройка Mosquitto в Ubuntu 14.04</title><link>https://magapov.nmph.ru/2017/11/mosquitto-ubuntu-1404.html</link><pubDate>Tue, 28 Nov 2017 10:59:00 +0000</pubDate><guid>https://magapov.nmph.ru/2017/11/mosquitto-ubuntu-1404.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Все доступным языком описано на официальной &lt;a href="https://mosquitto.org/download/">странице&lt;/a> проекта&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update

sudo apt-install mosquitto&lt;/code>&lt;/pre>
#Для установки приложений&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo apt-get install mosquitto-clients&lt;/code>&lt;/pre>
Проверяем, запустилась ли служба&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo service mosquitoo status
mosquitto start/running, process 16614&lt;/code>&lt;/pre>
По умолчанию, сервис слушает 1883 порт. Чтобы получить доступ с мира к серверу, добавлю правила на роутере в openwrt&lt;br />
&lt;pre>&lt;code class="bash hljs">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'&lt;/code>&lt;/pre>
Перезапустим службу firewall, чтобы правила применились&lt;br />
&lt;pre>&lt;code class="bash hljs">/etc/init.d/firewall restart&lt;/code>&lt;/pre>
Для проверки, ставим в Chrome расширение mqttlens&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/mqttlens.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="339" data-original-width="1344" height="161" src="https://magapov.nmph.ru/img/mqttlens.jpg" width="640" />&lt;/a>&lt;/div>
&lt;br />
И заполняем поля для подключения. Имя подключения и IP-адрес&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/mqttlens-connection.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="478" data-original-width="976" height="313" src="https://magapov.nmph.ru/img/mqttlens-connection.jpg" width="640" />&lt;/a>&lt;/div>
&lt;br />
На этом установка закончена. &lt;br />
&lt;br />
Опционально, добавим свой логин-пароль, для простейшей безопасности. &lt;br />
Создаем файл с логин\паролем&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo mosquitto_passwd -c /etc/mosquitto.pwd user&lt;/code>&lt;/pre>
Затем, дважды вводим новый пароль&lt;br />
&lt;br />
Теперь добавим файл с паролями в конфиг mosquitto&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo nano /etc/mosquitto/mosquitto.conf&lt;/code>&lt;/pre>
Добавляем в конец строчки&lt;br />
&lt;pre>&lt;code class="bash hljs">allow_anonymous false
password_file /etc/mosquitto.pwd&lt;/code>&lt;/pre>
Перезапускаем службу, чтобы настройки сохранились&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo service mosquitto restart&lt;/code>&lt;/pre>
&lt;/div></description></item></channel></rss>