NEWS
Драйвер Mqtt + Arduino
-
Сегодня пробовал на другом сервисе (брокере)
Получается название всего топика присваивается как переменная.
filename="3333.jpg" index="0">~~ `
Сегодня переписываю mqtt. Была полная путаница с конвертацией имён. -
Спасибо, что ответили, очень жду результата.
3514_alexa2_matthias.log -
Ну что есть какие результаты?
-
Ну что есть какие результаты? `
Загляни на Github там версия аж 0.4.1 работа кипит но нам пока не дают. Если имеешь познание в javascript можешь сам от туда поставить, но учти он там сырой. -
Сегодня пробовал на другом сервисе (брокере)
Получается название всего топика присваивается как переменная.
filename="3333.jpg" index="0">~~
Сегодня переписываю mqtt. Была полная путаница с конвертацией имён.
Bluefox вопрос, ардуина работает у меня стабильно без сбоев. Тут так вышло что не хватает портов на коммутаторе я выдернул шнур из ардуины а драйвер даже этого не видит. Раньше были сбои по питанию и отваливалась связь, драйвер вроде warn писал ? -
Сегодня пробовал на другом сервисе (брокере)
Получается название всего топика присваивается как переменная.
filename="3333.jpg" index="0">~~
Сегодня переписываю mqtt. Была полная путаница с конвертацией имён.
Bluefox вопрос, ардуина работает у меня стабильно без сбоев. Тут так вышло что не хватает портов на коммутаторе я выдернул шнур из ардуины а драйвер даже этого не видит. Раньше были сбои по питанию и отваливалась связь, драйвер вроде warn писал ? `
Я для проверки всех устройств использую драйвер ping, а далее по важности устройства или на экран или озвучиваем, плюс обязательно через Pushbullet Adapter оповещает. -
Не ошибся warn всё же есть правда через 15 минут, а Танька у меня тоже вещает когда чего нибудь отваливается ;)
sayit-0 2016-02-05 21:00:02 info saying: 21:00 sayit-0 2016-02-05 21:00:00 info saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3 javascript-0 2016-02-05 21:00:00 info script.js.Time_say: 21:00 mqtt-0 2016-02-05 20:49:44 info Client [LCD-accumulator_tanks_1] closed mqtt-0 2016-02-05 20:49:44 warn [LCD-accumulator_tanks_1] Error: read EHOSTUNREACH javascript-0 2016-02-05 20:45:03 info script.js.Weather_forecast: Вильнюс, 8 февраля => Переменная облачность, без осадков. Температура ночью 1°, днём 5°. Ветер юго-западный, 4 м в секунду. javascript-0 2016-02-05 20:45:03 info script.js.Weather_forecast: Вильнюс, 7 февраля => Переменная облачность, без осадков. Температура ночью 0°, днём 4°. Ветер южный, 5 м в секунду. javascript-0 2016-02-05 20:45:03 info script.js.Weather_forecast: Вильнюс, 6 февраля => Облачно, небольшие осадки. Температура ночью -2°, днём 2°. Ветер южный, 4 м в секунду. sayit-0 2016-02-05 20:33:47 info Copied file '/opt/iobroker/node_modules/iobroker.sayit/say.mp3' to '/opt/iobroker/cache/91faf882091c8612d9a8019799947d6b.mp3' sayit-0 2016-02-05 20:33:47 info saying: Дисплей. Пропала связь! sayit-0 2016-02-05 20:33:45 info saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3 javascript-0 2016-02-05 20:33:45 info script.js.Ping_0_say: Дисплей. Пропала связь! -
Спасибо, с новой версией все работает как надо.
-
Добрый день.
Есть какие ограничение по количеству клиентов iobrokera ?
Есть 2 ESP8266 отсылают данные на CloudMQTT
Дома iobroker подключен как клиент и забирает данные с CloudMQTT
Все нормально работает.
Появилась задача поставить iobroker на работе и забирать данные с CloudMQTT.
Но при подключении происходит один раз считывание данных и все, дальше молчит пока не перезагрузишь mqtt и опять все повторяется.
И по моему дома перестает принимать тоже. (это еще не точно сегодня проверю еще раз)
-
Сегодня проверил - дома перестал принимать данные от mqtt как раз в тот момент когда я пытался настроить iobroker на работе.
Для тестов поставил iobroker на второй комп дома.
Провел пару тестов, результат один и тот же.
Как только подключаешься двумя iobroker к одному MQTT брокеру CloudMQTT, то оба перестают принимать данные с брокера (CloudMQTT)
Попробовал создать вторую учетку на CloudMQTT и соединил две учетки мостом, а iobroker-ы подключается каждый к своей учетки.
Пока полет нормальный, данные принимают оба, управление тоже присутствует.
-
Всем привет!
Пытаюсь подружить "Sonoff" с ioBroker через MQTT, на немецкой стороне форума интерес не проявляется. http://forum.iobroker.net/viewtopic.php?f=20&t=2656
Альтернативную прошивку залил через Arduino IDE (USB-TTL), объекты в ioBroker прописываются но релюшка не переключается. Причём если щёлкать кнопочкой на сомом Sonoff то ioBroker-у состояние передаётся.
Прошивку залил вот эту https://github.com/arendst/Sonoff-MQTT-OTA-Arduino
Подскажите где проблема?
-
Всем привет!
Пытаюсь подружить "Sonoff" с ioBroker через MQTT, на немецкой стороне форума интерес не проявляется. http://forum.iobroker.net/viewtopic.php?f=20&t=2656
Альтернативную прошивку залил через Arduino IDE (USB-TTL), объекты в ioBroker прописываются но релюшка не переключается. Причём если щёлкать кнопочкой на сомом Sonoff то ioBroker-у состояние передаётся.
Прошивку залил вот эту https://github.com/arendst/Sonoff-MQTT-OTA-Arduino
Подскажите где проблема? `
А вот эту прошивку не пробовали? https://wifi-iot.com Я себе собрал управляемую розетку на esp + реле на 15А, работает и переключается. Правда MQTT клиент входит в платную подписку, но она блага стоит копейки. -
А вот эту прошивку не пробовали? https://wifi-iot.com Я себе собрал управляемую розетку на esp + реле на 15А, работает и переключается. Правда MQTT клиент входит в платную подписку, но она блага стоит копейки. `
Пробывал. Там что-то тоже засада.. вот что в логе:
` > mqtt-0 2016-04-21 17:15:03 error Cannot parse {"system":{"hostname":"ESP000CD343","uptime":3,"rssi":-57,"freemem":33720},"sensors":},"gpio":{"12":0,"13":0}}
mqtt-0 2016-04-21 17:15:03 info Client [ESP8266000cd343] subscribes on topic "timestamp"
mqtt-0 2016-04-21 17:15:03 info publishOnSubscribe send all known states
mqtt-0 2016-04-21 17:15:03 info Client [ESP8266000cd343] subscribes on "ESP000CD343.#" with regex /^mqtt.0.ESP000CD343..*/
mqtt-0 2016-04-21 17:15:03 info Client [ESP8266000cd343] subscribes on "ESP000CD343.#" with regex /^ESP000CD343..*/
mqtt-0 2016-04-21 17:15:03 info Client [ESP8266000cd343] connected
mqtt-0 2016-04-21 17:11:51 info Starting MQTT server on port 1883
mqtt-0 2016-04-21 17:11:50 info starting. Version 0.5.0 in /opt/iobroker/node_modules/iobroker.mqtt `
В настройка wifi-Iоt только пины GPIO прописывается и включается клиент mqtt, в ioBroker-е не прописывается заголовок на переключение релюшки.
-
-
А какое SDK используете и как давно прошивку собирали? И чип памяти там на сколько? Сегодня проверил прошивку на SDK 1.3.0 с 2 подключенными GPIO проблем не возникает, все в MQTT создалось и на вкладке "объекты" и "состояние" доступны. `
На SDK 1.5.1 собирал (последнюю, вчера). Чип на 1мб.
Вчера наткнулся на один проект https://github.com/h42i/sonoff-switch/b … sonoff.cpp прошил и сним нормально релюшка переключает, единственный минус при переключении на самом Sonoff не отсылается состояние на MQTT сервер, а так вполне работоспособный вариант.
-
Сегодня проверил прошивку на SDK 1.3.0 с 2 подключенными GPIO проблем не возникает, все в MQTT создалось и на вкладке "объекты" и "состояние" доступны. `
Вчера проверил с SDK 1.4.0 >> полёт нормальный, ошибок в логе нет, все переменныe создались, релюшка переключается. Спасибо за подсказку :)
-
добрый вечер всем нашёл этот скетч и обрадовался потому что это то что я и хотел но не тут было ни как не могу скомпилировать этот скетч , постоянно какие то ошибки сначала с библиотеками были вроде решил потом со строками
EthernetClient ethClient; //ЗДЕСЬ КОМЕНТИРУЮ И КОПИРУЮ В ДРУГОЕ МЕСТО НИЖЕ
PubSubClient client(server, 1883, callback, ethClient);
перенёс их ниже как подсказали эта ошибка исчезла и вот теперь уже несколько дней мучаюсь с ошибкой 58 строка
DHT DHT; ошибка no matching function for call to 'DHT::DHT()'
я думаю что проблема с библиотекой но я несколько установил проблема не исчезла . IDE 16.6
но пробовал и другие если кому не сложно выложите библиотеку DHT с которой этот скетч компилируется ну и заодно свой скетч и версию IDE. сейчас у меня ват такой скетч
! #include <spi.h>// Ethernet shield
! #include <ethernet.h>// Ethernet shield
! #include <pubsubclient.h>// MQTT
! #include <servo.h>#include <dht.h>#include <onewire.h>#include <dallastemperature.h>Servo servo;
! byte mac[] = { 0xC1, 0x7C, 0x38, 0x41, 0x89, 0x12 };
! byte server[] = { 192, 168, 1, 190 }; //IP Брокера
! byte ip[] = { 192, 168, 1, 167 }; //IP Клиента (Arduino)
! //EthernetClient ethClient; //ЗДЕСЬ КОМЕНТИРУЮ И КОПИРУЮ В ДРУГОЕ МЕСТО НИЖЕ
! //PubSubClient client(server, 1883, callback, ethClient);
! #define id_connect "myhome-kitchen"
! #define Prefix_subscribe "myhome/Kitchen/"
! ///////////////Объявляем порты ввода-вывода
! #define ServoPin 3 //Порт к которому подключен сервопривод
! const int start_DI_pin [] = {2, 4, 5}; // Порты Ввода
! int n_DI_pin = sizeof(start_DI_pin) / sizeof(start_DI_pin[0]) - 1; //Вычисляем длинну массива
! const int start_DO_pin [] = {6, 7}; //Порты Вывода
! int n_DO_pin = sizeof(start_DO_pin) / sizeof(start_DO_pin[0]) - 1; //Вычисляем длинну массива
! int DI[] = {0, 0, 0};
! int old_DI[] = {0, 0};
! ///////////////////////////Переменные для работы с освещением//////////////////////////////////////
! int ServoAngle = 100; //Угол сервопривода при включении
! int flag = 0;
! int flag2 = 0;
! int pause = 0;
! //–----------------------------------------- Sensors -------------------------------------------//
! const int MQ7_Pin = A0; // Куда подключили MQ7
! //int MQ7Value = 0;
! int MQ7Value = analogRead(MQ7_Pin);
! const int foto_Pin = A1; // устанавливаем входную ногу для Фоторезистора
! //unsigned int fotoValue = 0; // цифровое значение фоторезистора
! unsigned int fotoValue = analogRead(foto_Pin);
! #define ONE_WIRE_BUS 8
! OneWire oneWire(ONE_WIRE_BUS);
! DallasTemperature DS_sensors(&oneWire);
! // 28 FF F2 5C 53 15 2 97
! DeviceAddress addr_T1 = { 0x28, 0xFF, 0xF2, 0x5C, 0x53, 0x15, 0x02, 0x97 };
! float T1 = 0;
! DHT DHT;
! #define DHT22_PIN 9
! float Hout = 0;
! float Tout = 0;
! //#define DHTPIN 2 // Номер пина, к которому подсоединен датчик
! //#define DHTTYPE DHT22 // Задаём тип DHT датчика
! //DHT dht(DHTPIN, DHTTYPE);
! ////////////////////////////////////////////////////////////////////////////
! void callback(char* topic, byte* payload, unsigned int length) {
! payload[length] = '\0';
! // Serial.print(topic);
! // Serial.print("=");
! String strTopic = String(topic);
! String strPayload = String((char*)payload);
! // Serial.println(strPayload);
! callback_iobroker(strTopic, strPayload);
! }
! EthernetClient ethClient; //ЗДЕСЬ КОМЕНТИРУЮ И КОПИРУЮ В ДРУГОЕ МЕСТО НИЖЕ
! PubSubClient client(server, 1883, callback, ethClient);
! ////////////////////////////////////////////////////////////////////////////
! void setup() {
! //Serial.begin(57600);
! // Serial.println("start");
! //Объявляем порты Digital inputs/outputs
! for (int i = 0 ; i <= n_DI_pin; i++) {
! pinMode (start_DI_pin __, INPUT);
! }
! digitalWrite(5, HIGH); //Окно
! digitalWrite(4, HIGH); //Объемник
! for (int i = 0 ; i <= n_DO_pin; i++) {
! pinMode (start_DO_pin __, OUTPUT);
! }
! Ethernet.begin(mac, ip);
! if (client.connect(id_connect)) {
! getSensors();
! control();
! // client.publish("myhome/Kitchen/Change_Counter", "0");
! // client.publish("myhome/Kitchen/Temp_room", "0");
! // client.publish("myhome/Kitchen/Humidity_room", "0");
! // client.publish("myhome/Kitchen/Temp_radiator", "0");
! // client.publish("myhome/Kitchen/Temp_in", "0");
! // client.publish("myhome/Kitchen/Lux", "0");
! // client.publish("myhome/Kitchen/Servo", "0");
! // client.publish("myhome/Kitchen/MQ7", "0");
! client.subscribe("myhome/Kitchen/#");
! }
! }
! /////////////////////////////////////////////////////////////////////////
! void loop() {
! client.loop();
! control();
! getSensors();
! if (!client.connected()) {
! if (client.connect(id_connect)) {
! control();
! getSensors();
! client.subscribe("myhome/Kitchen/#");
! }
! }
! }____</dallastemperature.h></onewire.h></dht.h></servo.h></pubsubclient.h></ethernet.h></spi.h> __и отдельно Functions! /////////////////////////////////От Брокера//////////////////////////////////////////////
! void callback_iobroker(String strTopic, String strPayload){
! if (strTopic == "myhome/Kitchen/Servo"){
! ServoAngle=strPayload.toInt();
! if (ServoAngle >= 0 && ServoAngle <= 255){
! servo.attach(ServoPin);
! //delay(200); //ждем 2 секунды
! servo.write(ServoAngle); //ставим вал под 0
! delay(1000); //ждем 2 секунды
! //client.publish("myhome/Kitchen/Servo", b);
! servo.detach();
! }
! }
! }
! ////////////////////////////////////Брокеру/////////////////////////////////////
! void control(){
! if(digitalRead(5)==HIGH && flag==0) { //если окно открыто
! client.publish("myhome/Kitchen/Window", "1");
! flag=1;
! }
! if(digitalRead(5)==LOW && flag==1){//если окно закрыто
! client.publish("myhome/Kitchen/Window", "0");
! flag=0;//обнуляем переменную flag
! }
! if(digitalRead(4)==HIGH && flag2==0) { // Если есть движение
! client.publish("myhome/Kitchen/Motion", "1");
! flag2=1;
! }
! if(digitalRead(4)==LOW && flag2==1){// Если нет движения
! client.publish("myhome/Kitchen/Motion", "0");
! flag2=0;//обнуляем переменную flag
! }
! }
! ///////////////////////////////Данные сенсоров////////////////////////////////////
! void getSensors () {
! MQ7Value = analogRead(MQ7_Pin);
! fotoValue = analogRead(foto_Pin); // считываем значение с фоторезистора
! // ServoAngle = analogRead(2);
! //Обработка данных датчика DHT22. Подключение к порту цифровому P9 Arduino
! //Глобальные переменные Hout и Tout типа флоат - влажность (%) и температура (град. С)
! if (DHT.read22(DHT22_PIN)== DHTLIB_OK) {
! Hout = DHT.humidity;
! Tout = DHT.temperature;
! }
! if (Hout == 0 || Tout == 0){
! delay (1000);
! if (DHT.read22(DHT22_PIN)== DHTLIB_OK) {
! Hout = DHT.humidity;
! Tout = DHT.temperature;
! }
! }
! //Обработка данных цифровых датчиков температуры типа DS18B20.
! //Шина 1-Wire на цифровой пин P8 Arduino.
! //Подключено 2 датчика температуры, адреса задаются в секции глобальных констант "Sensors"
! //Три значение температуры T1, T2, типа float (град. С).
! DS_sensors.requestTemperatures();
! T1 = DS_sensors.getTempC(addr_T1);
! ///////////////////////Паблик данных сенсоров////////////////////////
! if (pause == 50 || pause == 0){
! char b[5];
! String char_Hout = String(Hout);
! char_Hout.toCharArray(b,5);
! client.publish("myhome/Kitchen/Humidity_room", b);
! String char_Tout = String(Tout);
! char_Tout.toCharArray(b,5);
! client.publish("myhome/Kitchen/Temp_room", b);
! String char_T1 = String(T1);
! char_T1.toCharArray(b,5);
! client.publish("myhome/Kitchen/Temp_radiator", b);
! String char_fotoValue = String(fotoValue);
! char_fotoValue.toCharArray(b,4);
! client.publish("myhome/Kitchen/Lux", b);
! String char_ServoAngle = String(ServoAngle);
! char_ServoAngle.toCharArray(b,4);
! client.publish("myhome/Kitchen/Servo", b);
! String char_MQ7Value = String(MQ7Value);
! char_MQ7Value.toCharArray(b,4);
! client.publish("myhome/Kitchen/MQ7", b);
! pause = 1;
! }
! else pause++;
! } Заранее всем спасибо жду ответов__ -
> я думаю что проблема с библиотекой но я несколько установил проблема не исчезла .проблема не в библиотеке. Перепиши код под свою библиотеку -
> я думаю что проблема с библиотекой но я несколько установил проблема не исчезла .проблема не в библиотеке. Перепиши код под свою библиотеку `спасибо за ответ я попробовал по разному но у меня все ошибки начинаются с самого начала когда я библиотеку
#include ````начинаю переименовывать в```` #include ````потому что у меня просит библиотеку именно с большими буквами поэтому я и прошу дать библиотеку которая написана с маленькими буквами. Потому что после переименования библиотеки пропадает ошибка инициализации библиотеки но она тянет за собой кучу других ошибок. Буду признателен за dht библиотеку прописанную в этом скетче
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden

