Страница 9 из 14
Re: Подключеие MQTT Windows
Добавлено: Пт мар 10, 2017 7:05 am
nick7zmail
Заметил одну особенность.
Если когда запускаю
грузится без конфига, а если запускаю службу, она уже сама подхватывает конфиг.
Ибо если запускаю службу с пустым конфигом - она стартует, запускаю со своим - не хочет стартовать. При этом mosquitto.exe -с с этим же файлом стартует нормально...не исключаю, что для службы в нем может быть косяк какой то.
Из этого следуют только 2 варианта - либо прав на файл не хватает (тогда и mosquitto.exe -c не должен по идее грузится), либо у меня бардак с конфигом....
У кого москито робит службой на винде с авторизацией - скиньте пожалуйста рабочий конфиг...попробовать охота завести.
Re: Подключеие MQTT Windows
Добавлено: Пт мар 10, 2017 7:36 am
DimSun75
А служба как запускается, не с батника ли?
Отправлено с моего SM-A520F через Tapatalk
Re: Подключеие MQTT Windows
Добавлено: Пт мар 10, 2017 7:40 am
nick7zmail
Никак не запускается с моим конфигом)) а без конфига запускается и с батника и с консоли и с диспетчера служб.
Re: Подключеие MQTT Windows
Добавлено: Пт мар 10, 2017 7:46 am
DimSun75
Вот. Нужно этот батник и прсмотреть
Отправлено с моего SM-A520F через Tapatalk
Re: Подключеие MQTT Windows
Добавлено: Пт мар 10, 2017 7:48 am
nick7zmail
DimSun75 писал(а):Вот. Нужно этот батник и прсмотреть
Отправлено с моего SM-A520F через Tapatalk
Что с ним нужно сделать?)) просмотреть или предусмотреть?)) там максимум вроде
Один фиг - из диспетчера то служб без конфига норм запускается, с конфигом не хочет....вот я и думаю что дело в конфиге, и прошу рабочий чей нить.
Re: Подключеие MQTT Windows
Добавлено: Пт мар 10, 2017 8:45 am
DimSun75
А, ну понял. Тогда да, дело в конфиге.
Отправлено с моего SM-A520F через Tapatalk
Re: Подключеие MQTT Windows
Добавлено: Пт мар 10, 2017 9:08 am
nick7zmail
Ну афигеть блин!!! Запустил я службу))) Такой подставы не ожидал.
Путь к файлу паролей в конфиг файле москита должен быть полный(!) и без кавычек(!!).
Это для тех кто столкнется с такой же проблемой.
Если приложение -v -c подгружает, видимо файл из текущей дериктории, и он прекрасно работает с относительным путем в конфиге, то служба винды файл самого конфига подцепляет нормально из директории москита, а файл паролей не захотела брать оттуда же...мне это порвало шаблон)))
Ещё оказывается путь файла заключенный в кавычки (что логично, ибо там есть пробелы) она не понимает, а без ковычек (с теми же пробелами в пути) робит нормально...
Винда она такая винда...жесть.
Re: Подключеие MQTT Windows
Добавлено: Чт мар 30, 2017 4:17 pm
alex32
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(); // Отключиться
}
}
Re: Подключеие MQTT Windows
Добавлено: Чт мар 30, 2017 5:05 pm
alex32
https://yadi.sk/i/8-lmZxaJ3GVU7F вот конфигурация. интересует пока построение графиков температуры в majordomo
Re: Подключеие MQTT Windows
Добавлено: Чт мар 30, 2017 6:23 pm
nick7zmail
Вы кодировку то переключали в консоли на cp1251?? По русски ваша ошибка звучит так
Код: Выделить всё
Обычно разрешаетс только одно использование адреса сокета (протокол/сетевой адрес/порт).
Скорее всего либо занят порт, либо служба уже запущена, либо в настройках несколько раз разные порты указаны...