Closed NorbertDudek closed 3 years ago
Nie byłoby prościej dać tutaj https://github.com/hackerspace-silesia/Smogomierz/pull/111/files#diff-857a42ed259fb689cd7b80c5ed4a20f22a3dd366b590a7e1a5c8e52c7ff06c23L451
if (mqttclient.connect(device_name, MQTT_USER, MQTT_PASSWORD)) {
- z device_name
zamiast ESP8266Client
. Nie ma wtedy konieczności tworzenia nowego chara mqqt_id
, który ma taką samą wartość.
Przetestuję to jeszcze i jeśli będzie działać, to dodam w kodzie.
Do tej pory w kodzie nazwą klienta było: ESP8266Client. Do serwera MQTT nie mogą być połączeni dwaj klienci o tym samym ID. Gdy ktoś w sieci ma urządzenie, którego oprogramowanie było tworzone na podstawie przykładów, jest duża szansa, że podłącza się ono do serwera MQTT z podanym wyżej identyfikatorem. Serwer MQTT nie pozwoli przekazywać tematów drugiemu urządzeniu z zduplikowaną nazwą. Jednak PubSubClient podczas połączenia nie zgłasza błedu. Wygląda, że wszystko się udało.
Moja poprawka uzależnia nazwę serwera MQTT od nazwy urządzenia smogomierza.