Наш сервер MQTT

Брокер MQTT

kramar
Рядовой
Сообщения: 41
Зарегистрирован: 29.12.2020{, 13:53}
Репутация: -4
Имя: Виталий

Наш сервер MQTT

#61

Сообщение kramar » 02.01.2021{, 16:33}

возможно потому чтоброкер общается стрингами поэтому каскаду не соединить друг с другом.

на beebotte.com также: делаешь кнопку-булеан, но приходит с брокера on-off, или тру-фолс. А каскада ждет 0-1 именно в числовом значении. а там стринг)))

Отправлено спустя 3 минуты 9 секунд:
щас все новые mqtt брокеры везде продвигают каждый свой api.

а мы то привкли к cloud.mqtt....

Anydy

Наш сервер MQTT

#62

Сообщение Anydy » 02.01.2021{, 16:58}

kramar писал(а):
02.01.2021{, 16:36}
щас все новые mqtt брокеры везде продвигают каждый свой api.
как это? есть стандарт 3 ....есть 5 как это свой?

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Наш сервер MQTT

#63

Сообщение Rovki » 02.01.2021{, 17:12}

Anydy писал(а):
02.01.2021{, 16:25}
Rovki писал(а):
27.12.2020{, 13:47}
У меня один аккаунт на яндексе
А что у яндекса есть MQTT брокер?
Я про регистрацию ,а не брокера

Отправлено спустя 5 минут 3 секунды:
А где в семантике топика прописывается пользователь https://ipc2u.ru/articles/prostye-reshe ... akoe-mqtt/
То же самое касается и выбора метода защиты " Защита передачи данных
Для обеспечения безопасности в MQTT протоколе реализованы следующие методы защиты:
Аутентификация клиентов. Пакет CONNECT может содержать в себе поля USERNAME и PASSWORD. При реализации брокера можно использовать эти поля для аутентификации клиента
Контроль доступа клиентов через Client ID
Подключение к брокеру через TLS/SSL"

Отправлено спустя 6 минут 51 секунду:
kramar писал(а):
02.01.2021{, 16:36}
возможно потому чтоброкер общается стрингами поэтому каскаду не соединить друг с другом.

на beebotte.com также: делаешь кнопку-булеан, но приходит с брокера on-off, или тру-фолс. А каскада ждет 0-1 именно в числовом значении. а там стринг)))

Отправлено спустя 3 минуты 9 секунд:

щас все новые mqtt брокеры везде продвигают каждый свой api.

а мы то привкли к cloud.mqtt....
так вроде пробовали работу каскады с есп через beebotte.com , работает ... А через наш брокер , ни как ,странно...ФЛпрог поддерживает каскаду , а брокер нет ...,значит он не совсем наш,имхо
Электронщик до мозга костей и не только

Anydy

Наш сервер MQTT

#64

Сообщение Anydy » 02.01.2021{, 17:47}

я про то что яндекс никаким боком к нам не относится....регистрация и аутентификация только на нашем сервере --- а вот с проблемами нужно обращаться к его создателю))))

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Наш сервер MQTT

#65

Сообщение Rovki » 02.01.2021{, 17:58}

Anydy писал(а):
02.01.2021{, 17:47}
я про то что яндекс никаким боком к нам не относится....регистрация и аутентификация только на нашем сервере --- а вот с проблемами нужно обращаться к его создателю))))
Так я вроде описал проблему в соответствующей ветке ... или что еще нужно для обращения к создателю ?
Электронщик до мозга костей и не только

Evgesha
Лейтенант
Сообщения: 525
Зарегистрирован: 29.10.2015{, 09:57}
Репутация: 20
Откуда: Kazakhstan
Имя: Evgesha

Наш сервер MQTT

#66

Сообщение Evgesha » 02.01.2021{, 18:27}

С нашим сервером связка с каскада работала, приема правда не добился

viewtopic.php?f=112&t=4141&p=94269&hili ... 800#p94269
Тут описывал
ПОМОЩЬ ПРОЕКТУ FLPROG:
http://flprog.ru/pomoshh-proektu/

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Наш сервер MQTT

#67

Сообщение Rovki » 02.01.2021{, 18:38}

Evgesha писал(а):
02.01.2021{, 18:27}
С нашим сервером связка с каскада работала, приема правда не добился

viewtopic.php?f=112&t=4141&p=94269&hili ... 800#p94269
Тут описывал
Спасибо ,гляну

Отправлено спустя 20 минут 3 секунды:
Evgesha писал(а):
02.01.2021{, 18:27}
С нашим сервером связка с каскада работала, приема правда не добился

viewtopic.php?f=112&t=4141&p=94269&hili ... 800#p94269
Тут описывал
Вы наверное про сим800?. В каскаде же у вас работает и издатель и подписчик (сам на себя)
Странно только как то ,с защитой (логин ,пароль) - запустил ваш проект,с вашем именем и паролем и работает!!!

Отправлено спустя 39 минут 44 секунды:
Как делать со стороны каскады понятно , осталось понять какие блоки мктт использовать для есп лучше :smile427:
Электронщик до мозга костей и не только

kramar
Рядовой
Сообщения: 41
Зарегистрирован: 29.12.2020{, 13:53}
Репутация: -4
Имя: Виталий

Наш сервер MQTT

#68

Сообщение kramar » 02.01.2021{, 20:18}

Rovki писал(а):
02.01.2021{, 19:37}
работу каскады с есп через beebotte.com , работает ..

так там вроде с брокером работала есп а не каскада.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Наш сервер MQTT

#69

Сообщение Rovki » 02.01.2021{, 20:51}

kramar писал(а):
02.01.2021{, 20:18}
Rovki писал(а):
02.01.2021{, 19:37}
работу каскады с есп через beebotte.com , работает ..

так там вроде с брокером работала есп а не каскада.
C брокером всегда работают и издатель и подписчик . В том посте шел разговор про работу сим800 и каскада ,вроде

Отправлено спустя 2 минуты 28 секунд:
Нужно что бы блоки могли работать с разными типами данных в сообщениях Даже если брокер работает только со стрингом ,то блок должен внутри себя делать эти преобразования ,имхо , было бы замечательно
Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Наш сервер MQTT

#70

Сообщение Rovki » 03.01.2021{, 10:31}

Похоже примеров работы с данным брокером нет на ФЛ :smile37: Меня интересует работа между любым приложением и есп
Электронщик до мозга костей и не только

Anydy

Наш сервер MQTT

#71

Сообщение Anydy » 03.01.2021{, 10:53}

Вот набросок делал -- там есть функции преобразования ....пробуйте ... надеюсь блок создать с одним маленьким преобразованием не проблема?

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

/**************************************************************
 *
 * For this example, you need to install PubSubClient library:
 *   https://github.com/knolleary/pubsubclient/releases/latest
 *   or from http://librarymanager/all#PubSubClient
 *
 * TinyGSM Getting Started guide:
 *   http://tiny.cc/tiny-gsm-readme
 *
 **************************************************************
 * Use Mosquitto client tools to work with MQTT
 *   Ubuntu/Linux: sudo apt-get install mosquitto-clients
 *   Windows:      https://mosquitto.org/download/
 *
 * Subscribe for messages:
 *   mosquitto_sub -h test.mosquitto.org -t GsmClientTest/init -t GsmClientTest/ledStatus -q 1
 * Toggle led:
 *   mosquitto_pub -h test.mosquitto.org -t GsmClientTest/led -q 1 -m "toggle"
 *
 * You can use Node-RED for wiring together MQTT-enabled devices
 *   https://nodered.org/
 * Also, take a look at these additional Node-RED modules:
 *   node-red-contrib-blynk-websockets
 *   node-red-dashboard
 *
 **************************************************************/

// Select your modem:
#define TINY_GSM_MODEM_SIM800
//#define TINY_GSM_MODEM_SIM900
//#define TINY_GSM_MODEM_A6
//#define TINY_GSM_MODEM_M590

#define ONE_WIRE_BUS 9


#include <TinyGsmClient.h>
#include <PubSubClient.h>
#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);


String MQTT_inputtext; //сообщение




// Your GPRS credentials
// Leave empty, if missing user or pass

int counter = 0;
const char apn[]  = "internet.tele2.ru";
const char user[] = "";
const char pass[] = "";
const char cluser[]  = "gmnSMc2uDHIjO8CCvf2IeY9UFtT4i0F8";
const char clpass[]  = "";
const char clid[]  = "fadaf737bb3e4b1f3a09878471b";
// Use Hardware Serial on Mega, Leonardo, Micro
//#define SerialAT Serial1

// or Software Serial on Uno, Nano
#include <SoftwareSerial.h>
SoftwareSerial SerialAT(7, 8); // RX, TX

TinyGsm modem(SerialAT);
TinyGsmClient client(modem);
PubSubClient mqtt(client);

const char* broker = "mqtt.beebotte.com";

const char* topicLed = "Led";

const char* topicInit = "Init";
const char* topicLedStatus = "LedStatus";

const char* temperature = "Temp/Data";


#define LED_PIN1 13
#define LED_PIN2 12


char* ledStatus1 ="Reset1";
char* ledStatus2 ="Reset2";


long lastReconnectAttempt = 0;
const long interval = 30000; 
unsigned long previousMillis = 0; 
char tempchar[6];
float temp;

void setup() {
   sensors.begin();
  pinMode(LED_PIN1, OUTPUT);
  pinMode(LED_PIN2, OUTPUT);
  
  // Set console baud rate
  Serial.begin(115200);
  delay(10);

  // Set GSM module baud rate
  SerialAT.begin(19200);
  delay(3000);

  // Restart takes quite some time
  // To skip it, call init() instead of restart()
  Serial.println("Initializing modem...");
  modem.restart();

  // Unlock your SIM card with a PIN
  //modem.simUnlock("1234");

  Serial.print("Waiting for network...");
  if (!modem.waitForNetwork()) {
    Serial.println(" fail");
    while (true);
  }
  Serial.println(" OK");

  Serial.print("Connecting to ");
  Serial.print(apn);
  if (!modem.gprsConnect(apn, user, pass)) {
    Serial.println(" fail");
    while (true);
  }
  Serial.println(" OK");

  // MQTT Broker setup
  mqtt.setServer(broker, 1883);
  mqtt.setCallback(mqttCallback);
  }

boolean mqttConnect() {
  Serial.print("Connecting to ");
  Serial.print(broker);
  if (!mqtt.connect(clid, cluser, clpass)) {
    Serial.println(" fail");
    return false;
  }
  Serial.println(" OK");
  mqtt.publish(topicInit, "GsmClient started");
  mqtt.subscribe(topicLed);
  
  return mqtt.connected();
}

void loop() {

  
 if (mqtt.connected()) {
    mqtt.loop();
  
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    // save the last time you blinked the LED
    previousMillis = currentMillis;

    sensors.requestTemperatures();
  
  temp = sensors.getTempCByIndex(0);
  dtostrf(temp, 3, 2, tempchar);//преобразуем float - char
  String payload = "{\"data\":";
  payload += tempchar;    
  payload += ",\"write\":true";
  //payload += counter;
  payload += "}";

 
 
 Serial.println(payload);
 mqtt.publish(temperature, (char*) payload.c_str());
      
    }
  
  
  
  
  
  
  } else {
     
    // Reconnect every 10 seconds
    unsigned long t = millis();
    if (t - lastReconnectAttempt > 10000L) {
      lastReconnectAttempt = t;
         
     }
        if (mqttConnect()) {
        lastReconnectAttempt = 0;
     
      }


else if (!modem.gprsConnect(apn, user, pass)) {
while (true);
}
}
}
void mqttCallback(char* topic, byte* payload, unsigned int len) {
MQTT_inputtext = "";
for (int i=0;i<len;i++) {
MQTT_inputtext += (char)payload[i]; // составляем строку из байтов, которая пришла в параметрах топика
}
if (String(topic) == topicLed) {
if ((MQTT_inputtext) == "1on" ) {
digitalWrite(LED_PIN1, HIGH);
ledStatus1 = "Led 1 On";
mqtt.publish(topicLedStatus, ledStatus1 );
}
if ((MQTT_inputtext) == "1off" ) {
digitalWrite(LED_PIN1, LOW);
ledStatus1 = "Led 1 Off";
mqtt.publish(topicLedStatus, ledStatus1 );
}
//----------------------
if ((MQTT_inputtext) == "2on" ) {
digitalWrite(LED_PIN2, HIGH);
ledStatus2 = "Led 2 On";
mqtt.publish(topicLedStatus, ledStatus2 );
}
if ((MQTT_inputtext) == "2off" ) {
digitalWrite(LED_PIN2, LOW);
ledStatus2 = "Led 2 Off";
mqtt.publish(topicLedStatus, ledStatus2 );
}
//------------------
if ((MQTT_inputtext) == "stat" ) {
mqtt.publish(topicLedStatus, ledStatus1);
mqtt.publish(topicLedStatus, ledStatus2);
}
}
}
 


Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Наш сервер MQTT

#72

Сообщение Rovki » 03.01.2021{, 12:00}

Anydy писал(а):
03.01.2021{, 10:53}
Вот набросок делал -- там есть функции преобразования ....пробуйте ... надеюсь блок создать с одним маленьким преобразованием не проблема?

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

/**************************************************************
 *
 * For this example, you need to install PubSubClient library:
 *   https://github.com/knolleary/pubsubclient/releases/latest
 *   or from http://librarymanager/all#PubSubClient
 *
 * TinyGSM Getting Started guide:
 *   http://tiny.cc/tiny-gsm-readme
 *
 **************************************************************
 * Use Mosquitto client tools to work with MQTT
 *   Ubuntu/Linux: sudo apt-get install mosquitto-clients
 *   Windows:      https://mosquitto.org/download/
 *
 * Subscribe for messages:
 *   mosquitto_sub -h test.mosquitto.org -t GsmClientTest/init -t GsmClientTest/ledStatus -q 1
 * Toggle led:
 *   mosquitto_pub -h test.mosquitto.org -t GsmClientTest/led -q 1 -m "toggle"
 *
 * You can use Node-RED for wiring together MQTT-enabled devices
 *   https://nodered.org/
 * Also, take a look at these additional Node-RED modules:
 *   node-red-contrib-blynk-websockets
 *   node-red-dashboard
 *
 **************************************************************/

// Select your modem:
#define TINY_GSM_MODEM_SIM800
//#define TINY_GSM_MODEM_SIM900
//#define TINY_GSM_MODEM_A6
//#define TINY_GSM_MODEM_M590

#define ONE_WIRE_BUS 9


#include <TinyGsmClient.h>
#include <PubSubClient.h>
#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);


String MQTT_inputtext; //сообщение




// Your GPRS credentials
// Leave empty, if missing user or pass

int counter = 0;
const char apn[]  = "internet.tele2.ru";
const char user[] = "";
const char pass[] = "";
const char cluser[]  = "gmnSMc2uDHIjO8CCvf2IeY9UFtT4i0F8";
const char clpass[]  = "";
const char clid[]  = "fadaf737bb3e4b1f3a09878471b";
// Use Hardware Serial on Mega, Leonardo, Micro
//#define SerialAT Serial1

// or Software Serial on Uno, Nano
#include <SoftwareSerial.h>
SoftwareSerial SerialAT(7, 8); // RX, TX

TinyGsm modem(SerialAT);
TinyGsmClient client(modem);
PubSubClient mqtt(client);

const char* broker = "mqtt.beebotte.com";

const char* topicLed = "Led";

const char* topicInit = "Init";
const char* topicLedStatus = "LedStatus";

const char* temperature = "Temp/Data";


#define LED_PIN1 13
#define LED_PIN2 12


char* ledStatus1 ="Reset1";
char* ledStatus2 ="Reset2";


long lastReconnectAttempt = 0;
const long interval = 30000; 
unsigned long previousMillis = 0; 
char tempchar[6];
float temp;

void setup() {
   sensors.begin();
  pinMode(LED_PIN1, OUTPUT);
  pinMode(LED_PIN2, OUTPUT);
  
  // Set console baud rate
  Serial.begin(115200);
  delay(10);

  // Set GSM module baud rate
  SerialAT.begin(19200);
  delay(3000);

  // Restart takes quite some time
  // To skip it, call init() instead of restart()
  Serial.println("Initializing modem...");
  modem.restart();

  // Unlock your SIM card with a PIN
  //modem.simUnlock("1234");

  Serial.print("Waiting for network...");
  if (!modem.waitForNetwork()) {
    Serial.println(" fail");
    while (true);
  }
  Serial.println(" OK");

  Serial.print("Connecting to ");
  Serial.print(apn);
  if (!modem.gprsConnect(apn, user, pass)) {
    Serial.println(" fail");
    while (true);
  }
  Serial.println(" OK");

  // MQTT Broker setup
  mqtt.setServer(broker, 1883);
  mqtt.setCallback(mqttCallback);
  }

boolean mqttConnect() {
  Serial.print("Connecting to ");
  Serial.print(broker);
  if (!mqtt.connect(clid, cluser, clpass)) {
    Serial.println(" fail");
    return false;
  }
  Serial.println(" OK");
  mqtt.publish(topicInit, "GsmClient started");
  mqtt.subscribe(topicLed);
  
  return mqtt.connected();
}

void loop() {

  
 if (mqtt.connected()) {
    mqtt.loop();
  
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    // save the last time you blinked the LED
    previousMillis = currentMillis;

    sensors.requestTemperatures();
  
  temp = sensors.getTempCByIndex(0);
  dtostrf(temp, 3, 2, tempchar);//преобразуем float - char
  String payload = "{\"data\":";
  payload += tempchar;    
  payload += ",\"write\":true";
  //payload += counter;
  payload += "}";

 
 
 Serial.println(payload);
 mqtt.publish(temperature, (char*) payload.c_str());
      
    }
  
  
  
  
  
  
  } else {
     
    // Reconnect every 10 seconds
    unsigned long t = millis();
    if (t - lastReconnectAttempt > 10000L) {
      lastReconnectAttempt = t;
         
     }
        if (mqttConnect()) {
        lastReconnectAttempt = 0;
     
      }


else if (!modem.gprsConnect(apn, user, pass)) {
while (true);
}
}
}
void mqttCallback(char* topic, byte* payload, unsigned int len) {
MQTT_inputtext = "";
for (int i=0;i<len;i++) {
MQTT_inputtext += (char)payload[i]; // составляем строку из байтов, которая пришла в параметрах топика
}
if (String(topic) == topicLed) {
if ((MQTT_inputtext) == "1on" ) {
digitalWrite(LED_PIN1, HIGH);
ledStatus1 = "Led 1 On";
mqtt.publish(topicLedStatus, ledStatus1 );
}
if ((MQTT_inputtext) == "1off" ) {
digitalWrite(LED_PIN1, LOW);
ledStatus1 = "Led 1 Off";
mqtt.publish(topicLedStatus, ledStatus1 );
}
//----------------------
if ((MQTT_inputtext) == "2on" ) {
digitalWrite(LED_PIN2, HIGH);
ledStatus2 = "Led 2 On";
mqtt.publish(topicLedStatus, ledStatus2 );
}
if ((MQTT_inputtext) == "2off" ) {
digitalWrite(LED_PIN2, LOW);
ledStatus2 = "Led 2 Off";
mqtt.publish(topicLedStatus, ledStatus2 );
}
//------------------
if ((MQTT_inputtext) == "stat" ) {
mqtt.publish(topicLedStatus, ledStatus1);
mqtt.publish(topicLedStatus, ledStatus2);
}
}
}
 

Да преобразования типов я уже сделал ...с помощью блоков Анатолия из Сургута . И прием данных из каскады(издатель) в есп(подписчик) сделал. А вот передача (издатель) есп и подписчик каскада ни как не идет .
Электронщик до мозга костей и не только

kramar
Рядовой
Сообщения: 41
Зарегистрирован: 29.12.2020{, 13:53}
Репутация: -4
Имя: Виталий

Наш сервер MQTT

#73

Сообщение kramar » 04.01.2021{, 23:48}

Rovki писал(а):
03.01.2021{, 12:00}
передача (издатель) есп и подписчик каскада никак не идет
и не пойдет: там же стринг с брокера выходит.
цифры, но в стринге!
а каскада не работает со стрингами.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Наш сервер MQTT

#74

Сообщение Rovki » 04.01.2021{, 23:54}

kramar писал(а):
04.01.2021{, 23:48}
Rovki писал(а):
03.01.2021{, 12:00}
передача (издатель) есп и подписчик каскада никак не идет
и не пойдет: там же стринг с брокера выходит.
цифры, но в стринге!
а каскада не работает со стрингами.
Вы ошибаетесь ,в блоках MQTT каскады все конвертации стрингов делаются внутри . Нужно только отправлять(принимать) значения boolean ,int, float в есп через штатный конвертер строк SConv
Уже разобрался с издателем в есп ,все работает ,снял видео , через два брокера
Электронщик до мозга костей и не только

Аватара пользователя
brig62
Лейтенант
Сообщения: 469
Зарегистрирован: 13.05.2016{, 16:37}
Репутация: 13
Откуда: Казань
Имя: Игорь

Наш сервер MQTT

#75

Сообщение brig62 » 02.06.2021{, 07:17}

Работает сервер? Пробую отправить и получить данные. Подключение к серверу вроде бы проходит. А топики нет. Или к нему исключительно через MQTT Explorer можно подключиться? Можно пример топика для отправки и получения?
Сейчас пытаюсь протестировать серез MQTT.fx Version 1.7.1

zhulen820
Сержант
Сообщения: 193
Зарегистрирован: 29.08.2016{, 22:44}
Репутация: 6
Откуда: Серпухов
Имя: Александр

Наш сервер MQTT

#76

Сообщение zhulen820 » 02.06.2021{, 13:40}

Сервер работает. В топике первым идёт Ваш логин. Например логин при регистрации : trs. ,Значит топик будет trs/..... , А после косой черты уже Ваши значения. Любой программой подключаюсь без проблем

Аватара пользователя
brig62
Лейтенант
Сообщения: 469
Зарегистрирован: 13.05.2016{, 16:37}
Репутация: 13
Откуда: Казань
Имя: Игорь

Наш сервер MQTT

#77

Сообщение brig62 » 02.06.2021{, 17:50}

Подключаться я тоже подключаюсь. Посылаю Brig62/test/1 Его же и получить пытаюсь. Порт 1883. И с паролем пробовал. И без.
2021-06-02_17-49-13.png
2021-06-02_17-48-59.png
2021-06-02_17-48-59.png (11.08 КБ) 782 просмотра

zhulen820
Сержант
Сообщения: 193
Зарегистрирован: 29.08.2016{, 22:44}
Репутация: 6
Откуда: Серпухов
Имя: Александр

Наш сервер MQTT

#78

Сообщение zhulen820 » 02.06.2021{, 18:24}

Может дело в заглавной букве, логин из букв какого регистра?

Аватара пользователя
brig62
Лейтенант
Сообщения: 469
Зарегистрирован: 13.05.2016{, 16:37}
Репутация: 13
Откуда: Казань
Имя: Игорь

Наш сервер MQTT

#79

Сообщение brig62 » 02.06.2021{, 19:05}

Попробовал с прописной. То же самое

Аватара пользователя
brig62
Лейтенант
Сообщения: 469
Зарегистрирован: 13.05.2016{, 16:37}
Репутация: 13
Откуда: Казань
Имя: Игорь

Наш сервер MQTT

#80

Сообщение brig62 » 04.06.2021{, 07:21}

Работает))

Ответить

Вернуться в «Облачные сервисы»