Подключеие MQTT Windows

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Подключеие MQTT Windows

Сообщение nick7zmail » Пт мар 10, 2017 7:05 am

Заметил одну особенность.
Если когда запускаю

Код: Выделить всё

mosquitto.exe -v
грузится без конфига, а если запускаю службу, она уже сама подхватывает конфиг.

Ибо если запускаю службу с пустым конфигом - она стартует, запускаю со своим - не хочет стартовать. При этом mosquitto.exe -с с этим же файлом стартует нормально...не исключаю, что для службы в нем может быть косяк какой то.

Из этого следуют только 2 варианта - либо прав на файл не хватает (тогда и mosquitto.exe -c не должен по идее грузится), либо у меня бардак с конфигом....

У кого москито робит службой на винде с авторизацией - скиньте пожалуйста рабочий конфиг...попробовать охота завести.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
DimSun75
Сообщения: 318
Зарегистрирован: Вс янв 01, 2017 8:32 pm
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 44 раза

Re: Подключеие MQTT Windows

Сообщение DimSun75 » Пт мар 10, 2017 7:36 am

А служба как запускается, не с батника ли?

Отправлено с моего SM-A520F через Tapatalk
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Подключеие MQTT Windows

Сообщение nick7zmail » Пт мар 10, 2017 7:40 am

Никак не запускается с моим конфигом)) а без конфига запускается и с батника и с консоли и с диспетчера служб.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
DimSun75
Сообщения: 318
Зарегистрирован: Вс янв 01, 2017 8:32 pm
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 44 раза

Re: Подключеие MQTT Windows

Сообщение DimSun75 » Пт мар 10, 2017 7:46 am

Вот. Нужно этот батник и прсмотреть

Отправлено с моего SM-A520F через Tapatalk
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Подключеие MQTT Windows

Сообщение nick7zmail » Пт мар 10, 2017 7:48 am

DimSun75 писал(а):Вот. Нужно этот батник и прсмотреть
Отправлено с моего SM-A520F через Tapatalk
Что с ним нужно сделать?)) просмотреть или предусмотреть?)) там максимум вроде

Код: Выделить всё

net start mosquitto
Один фиг - из диспетчера то служб без конфига норм запускается, с конфигом не хочет....вот я и думаю что дело в конфиге, и прошу рабочий чей нить.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
DimSun75
Сообщения: 318
Зарегистрирован: Вс янв 01, 2017 8:32 pm
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 44 раза

Re: Подключеие MQTT Windows

Сообщение DimSun75 » Пт мар 10, 2017 8:45 am

А, ну понял. Тогда да, дело в конфиге.

Отправлено с моего SM-A520F через Tapatalk
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Подключеие MQTT Windows

Сообщение nick7zmail » Пт мар 10, 2017 9:08 am

Ну афигеть блин!!! Запустил я службу))) Такой подставы не ожидал.

Путь к файлу паролей в конфиг файле москита должен быть полный(!) и без кавычек(!!).
Это для тех кто столкнется с такой же проблемой.

Если приложение -v -c подгружает, видимо файл из текущей дериктории, и он прекрасно работает с относительным путем в конфиге, то служба винды файл самого конфига подцепляет нормально из директории москита, а файл паролей не захотела брать оттуда же...мне это порвало шаблон)))

Ещё оказывается путь файла заключенный в кавычки (что логично, ибо там есть пробелы) она не понимает, а без ковычек (с теми же пробелами в пути) робит нормально...

Винда она такая винда...жесть.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
alex32
Сообщения: 29
Зарегистрирован: Чт мар 30, 2017 4:14 pm
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Подключеие MQTT Windows

Сообщение alex32 » Чт мар 30, 2017 4:17 pm

C:\Program Files (x86)\mosquitto>"C:\Program Files (x86)\mosquitto\mosquitto.exe" -v
1490878914: mosquitto version 1.4.11 (build date 20/02/2017 23:24:29.40) starting
1490878914: Using default config.
1490878914: Opening ipv6 listen socket on port 1883.
1490878914: Error: ╬с√ўэю ЁрчЁх°рхЄё  Єюы№ъю юфэю шёяюы№чютрэшх рфЁхёр ёюъхЄр (яЁюЄюъюы/ёхЄхтющ рфЁхё/яюЁЄ).

Подскажите пожалуйста как избавиться от этой ошибки? винда 10.


Можете еще код посмотреть? будет ли он отправлять температуру с двух датчиков брокеру. датчики даллосовские 18б20 (конфиг переделывал от DHT11). на монитор выдают.
нуб в этом деле. может кто что подскажет?

#include <SPI.h> // Ethernet shield
#include <Ethernet.h> // Ethernet shield
#include <PubSubClient.h>
#include <LiquidCrystal_I2C.h> //Dodanie bibliotek
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x27,16,2); //Kod konwertera I2C
//DeviceAddress Temp1 = {0x28, 0x7D, 0xAD, 0x08, 0x00, 0x00, 0x80, 0x83};
//DeviceAddress Temp2 = {0x28, 0x47, 0xA7, 0x08, 0x00, 0x00, 0x80, 0x1C};
int flamePin = 3;
int rele1Pin = 4;

byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x00 };
IPAddress ip(10, 3, 1, 194); //IP Клиента (Arduino)
IPAddress server(10, 3, 1, 155); //IP Брокера


// Callback function header
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
for (int i=0;i<length;i++) {
Serial.print((char)payload);
}
Serial.println();
}

EthernetClient ethClient;
PubSubClient client(ethClient);

//void reconnect() {
// Loop until we're reconnected
// while (!client.connected()) {
// Serial.print("Attempting MQTT connection...");
// Attempt to connect
// if (client.connect("arduinoClient")) {
// Serial.println("connected");
// Once connected, publish an announcement...
// client.publish("outTopic","hello world",sensors.getTempCByIndex(0));
// ... and resubscribe
// client.subscribe("inTopic");
// } else {
// Serial.print("failed, rc=");
// Serial.print(client.state());
// Serial.println(" try again in 5 seconds");
// Wait 5 seconds before retrying
// delay(5000);
// }
// }
//}

void setup() {
lcd.init();
lcd.backlight();
lcd.setBacklight(HIGH); //Właczenie podświetlenia
sensors.begin();
pinMode( flamePin, INPUT );
pinMode( rele1Pin, OUTPUT );

Serial.begin(57600);

client.setServer(server, 1883);
client.setCallback(callback);

Ethernet.begin(mac, ip);
// Allow the hardware to sort itself out
delay(1500);
}


void loop() {
sensors.requestTemperatures();
lcd.setCursor(0,0); //Ustawienie kursora
lcd.print("T1"); //Dodanie treści
lcd.setCursor(3,0);
lcd.print(sensors.getTempCByIndex(0));
// lcd.setCursor(14,0);
// lcd.print(".C");
lcd.setCursor(0,1); //Ustawienie kursora
lcd.print("T2"); //Dodanie treści
lcd.setCursor(3,1);
lcd.print(sensors.getTempCByIndex(1));
// lcd.setCursor(14,1);
// lcd.print(".C");
if( !digitalRead( flamePin ) )
digitalWrite( rele1Pin, LOW );
else
digitalWrite( rele1Pin, HIGH );


// if (!client.connected()) {
// reconnect();
// }
// client.loop();
int t1 = sensors.getTempCByIndex(0); // Переменная типа int для t1
int t2 = sensors.getTempCByIndex(1); // Переменная типа int для t2
// Преобразуем переменные для отправки в MQTT в Брокер
static char char_temp[10]; // Переменная для перевода из int в char
dtostrf(t2, 3, 0, char_temp); // Перевод из int в char

static char char_hum[10];
dtostrf(t1, 3, 0, char_hum);


if (isnan(t2) || isnan(t1)) // Проверка удачно ли прошло считывание с DHT22
{
Serial.println("Failed to read from DHT22"); // Не удалось прочитать DHT22
}
else
{
Serial.print("Humidity: ");
Serial.print(t1);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t2);
Serial.println(" *C");
}

if (client.connect("DHTClient"))
{
//Отправка данных по MQTT в Брокер
client.publish("home/data/status/sensor/temp", char_temp); //отправляем в Брокер значения
client.publish("home/data/status/sensor/hum", char_hum);
client.subscribe("inhome/data/status/sensor/#"); // (тестовая) для отпр. данных в MajorDoMo вручную
delay(3000); // Отправка данных в Брокер раз в 5 секунд

client.disconnect(); // Отключиться
}
}
alex32
Сообщения: 29
Зарегистрирован: Чт мар 30, 2017 4:14 pm
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Подключеие MQTT Windows

Сообщение alex32 » Чт мар 30, 2017 5:05 pm

https://yadi.sk/i/8-lmZxaJ3GVU7F вот конфигурация. интересует пока построение графиков температуры в majordomo
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Подключеие MQTT Windows

Сообщение nick7zmail » Чт мар 30, 2017 6:23 pm

Вы кодировку то переключали в консоли на cp1251?? По русски ваша ошибка звучит так

Код: Выделить всё

Обычно разрешаетс только одно использование адреса сокета (протокол/сетевой адрес/порт). 
Скорее всего либо занят порт, либо служба уже запущена, либо в настройках несколько раз разные порты указаны...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить