Сообщение
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(); // Отключиться
}
}