Brawo!SOYER wrote: Tue Dec 24, 2024 1:38 pm Cześć, na razie przez linki bezpośrednie, po świętach spróbuję na MQTT:
4” Touch LCD, open gate
https://youtube.com/shorts/CPGHRZQSJ48?feature=share
Sterowanie suplą przez esp32 z dotykowym LCD 4” + FlightRadar
-
vajera
- Posts: 7286
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 289 times
- Been thanked: 161 times
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Dziękuje, strasznie oporna materia to była, ale daliśmy radę;)
https://forbot.pl/forum/topic/24775-mon ... /#comments
https://forbot.pl/forum/topic/24775-mon ... /#comments
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
MQTT ogarnięte.
Dziękuję wszystkim za pomoc. Jest tego trochę na forum, ale jakby ktoś potrzebował w prostej formie to proszę:
Dziękuję wszystkim za pomoc. Jest tego trochę na forum, ale jakby ktoś potrzebował w prostej formie to proszę:
Code: Select all
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <PubSubClient.h>
#include "HWCDC.h"
HWCDC USBSerial;
// Update these with values suitable for your network.
const char* ssid = "xx";
const char* password = "xx";
const char* mqtt_server = "xx";
const char* mqtt_user = "xx";
const char* mqtt_pass = "xx";
WiFiClientSecure client1;
PubSubClient client(client1);
unsigned long lastMsg = 0;
#define MSG_BUFFER_SIZE (50)
char msg[MSG_BUFFER_SIZE];
int value = 0;
void setup_wifi() {
delay(10);
// We start by connecting to a WiFi network
USBSerial.println();
USBSerial.print("Connecting to ");
USBSerial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin("xx", "xx");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
USBSerial.print(".");
}
randomSeed(micros());
}
String tempGrunt;
String top1="supla/xx/devices/xxxx/channels/xxxx/state/temperature";//TemGrunt
void callback(char* topic, byte* payload, unsigned int length) {
USBSerial.print("Message arrived [");
USBSerial.print(topic);
USBSerial.print("] ");
for (int i = 0; i < length; i++) {
USBSerial.print((char)payload[i]);
}
USBSerial.println();
if (strcmp(topic,top1.c_str())==0){
payload[length] = '\0';
tempGrunt=String((char*)payload);
}
USBSerial.print("tempGrunt.......................:");
USBSerial.println(tempGrunt);
}
void reconnect() {
// Loop until we're reconnected
while (!client.connected()) {
USBSerial.print("Attempting MQTT connection...");
// Create a random client ID
String clientId = "ESP32Client-";
clientId += String(random(0xffff), HEX);
// Attempt to connect
if (client.connect(clientId.c_str(), mqtt_user, mqtt_pass)) {
USBSerial.println("connected");
client.subscribe(top1.c_str());
} else {
USBSerial.print("failed, rc=");
USBSerial.print(client.state());
USBSerial.println(" try again in 5 seconds");
// Wait 5 seconds before retrying
delay(5000);
}
}
}
void setup() {
pinMode(BUILTIN_LED, OUTPUT); // Initialize the BUILTIN_LED pin as an output
USBSerial.begin(9600);
setup_wifi();
client1.setInsecure();
client.setServer(mqtt_server, 8883);
client.setCallback(callback);
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
}
///sterowanie przekaźnikiem
client.publish("supla/xxx/devices/xxx/channels/xxx/execute_action", "TOGGLE");https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Trochę dzisiaj popracowałem, mam już po mqtt odbieranie danych z krańcówek, sterowanie bramami i wyświetlanie danych z czujników.
Esp32 Touch 4”, Supla MQTT
https://youtube.com/shorts/ShKYXEBxfiM?feature=share
Esp32 Touch 4”, Supla MQTT
https://youtube.com/shorts/ShKYXEBxfiM?feature=share
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Aktualne postępy prac:
ESP32-S3, 4” touch panel, Supla MQTT
https://youtube.com/shorts/8zBX69HGKW0
Dodałem obsługę odczytu jakości powietrza, pobieram dane z czujnika(serwera supli w sumie), przeliczam w.g. indeksu i wyświetlam odpowiednie info. Kolor tła banerów na stronie głównej również zmienia się zależnie od odczytów, temperatury, jakości powietrza i siły wiatru.
Generalnie co chciałem zrobić zrobiłem. Teraz muszę to gdzieś zamontować zamiast zwykłego włącznika.
ESP32-S3, 4” touch panel, Supla MQTT
https://youtube.com/shorts/8zBX69HGKW0
Dodałem obsługę odczytu jakości powietrza, pobieram dane z czujnika(serwera supli w sumie), przeliczam w.g. indeksu i wyświetlam odpowiednie info. Kolor tła banerów na stronie głównej również zmienia się zależnie od odczytów, temperatury, jakości powietrza i siły wiatru.
Generalnie co chciałem zrobić zrobiłem. Teraz muszę to gdzieś zamontować zamiast zwykłego włącznika.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Po spolonizowaniu;):
https://m.youtube.com/shorts/pb8242Zr9zg
https://m.youtube.com/shorts/pb8242Zr9zg
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Witam w Nowym Roku.
Mam pytanie co do OTA.
Teraz mam esp32 z LCD które łaczy się z serwerem supli i uzywając MQTT odbiera/wysyła dane.
Chciałbym dodać do tej płytki aktualizacje poprzez OTA, jednak z możliwością przejścia w tryb konfiguracyjny z poziomu clouda.
Tej metody już z powodzeniem używam w innym esp32:
Teraz pytanie jak zrobić by w najprostszy możliwy sposób mieć możliwość zdalnego przejścia w tryb konfiguracyjny i móc zaktualizować soft.
Chyba, że jest na to(OTA) inny sposób.
Podpowie ktoś coś?
Mam pytanie co do OTA.
Teraz mam esp32 z LCD które łaczy się z serwerem supli i uzywając MQTT odbiera/wysyła dane.
Chciałbym dodać do tej płytki aktualizacje poprzez OTA, jednak z możliwością przejścia w tryb konfiguracyjny z poziomu clouda.
Tej metody już z powodzeniem używam w innym esp32:
Code: Select all
#include <HTTPUpdateServer.h>
HTTPUpdateServer httpUpdater;
httpUpdater.setup(suplaServer.getServerPtr(), "/update");Chyba, że jest na to(OTA) inny sposób.
Podpowie ktoś coś?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Wydaje mi się, że jeśli dodam to esp32 normalnie do supli jako device i odpalę SuplaDevice.iterate(); to mi się to bedzie gryźć z mqtt, ale nie jestem pewien.
Wymyśliłem, żeby na innym device dodać kanał wirtualnego przekaźnika, a na moim esp z mqtt dam subskrybcję tego VR.
Wtedy kiedy włączę ten VR to na esp odbieram to info przez mqtt i ustawiam esp w tryb update.
Tylko jak zrobić to ostatnie? Czyli jak zareagować na ten topic z mqtt i odpalić web z możliwością update używając tego:
@lukfud?
Wymyśliłem, żeby na innym device dodać kanał wirtualnego przekaźnika, a na moim esp z mqtt dam subskrybcję tego VR.
Wtedy kiedy włączę ten VR to na esp odbieram to info przez mqtt i ustawiam esp w tryb update.
Tylko jak zrobić to ostatnie? Czyli jak zareagować na ten topic z mqtt i odpalić web z możliwością update używając tego:
Code: Select all
#include <supla/network/esp_web_server.h>
#include <HTTPUpdateServer.h>
Supla::EspWebServer suplaServer;
HTTPUpdateServer httpUpdater;https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
Robert Błaszczak
- Posts: 5222
- Joined: Sat Dec 22, 2018 8:55 pm
- Location: Zielona Góra
- Has thanked: 37 times
- Been thanked: 27 times
Jeśli dobrze Cię rozumiem, to chcesz mieć możliwość aktualizacji przez OTA swojego urządzenia MQTT/ESP32, które to urządzenie nie jest widoczne w Supla Cloud. Więc soft musisz wystawić na jakimś zasobie w swojej sieci lokalnej lub na www w sieci Internet.
To może zrobić dodatkowy przycisk na panelu ESP32 do sprawdzania i aktualizowania softu?
To może zrobić dodatkowy przycisk na panelu ESP32 do sprawdzania i aktualizowania softu?
Pozdrawiam
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Dobrze rozumiesz, ale nie ma możliwości dodatkowego przycisku fizycznego.
Więc wymyśliłem włączanie trybu konfiguracji w reakcji na topic z mqtt z konkretnego kanału sterowanego z innego esp. Nie wiem jak to zrobić. Czy podobnie jak przy przycisku fizycznym? Czyli libsy do supli, webinterface itd i reagujemy na topic a nie na przycisk. Tylko czy to będzie działać bez supladevice.iterate?
Więc wymyśliłem włączanie trybu konfiguracji w reakcji na topic z mqtt z konkretnego kanału sterowanego z innego esp. Nie wiem jak to zrobić. Czy podobnie jak przy przycisku fizycznym? Czyli libsy do supli, webinterface itd i reagujemy na topic a nie na przycisk. Tylko czy to będzie działać bez supladevice.iterate?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
