No co Ty? Trzeba się pochwalić, że się ma Swoją drogą w moim (odkurzaczu) siedzi jakiś układ z bluetooth. Podaje czas pracy, poziom naładowania, zapełnienia, czas od wymiany filtrów, jest trochę różnych ustawień i tryb serwisowy. Więc wszystko przed nami Jak go kiedyś rozbiorę, to zobaczę co tam siedzi...SOYER wrote: Sat Jan 04, 2025 6:32 pm Dziękuję za feedback i słuszne uwagi o pewnym koledze;)
Samozaparcie trzeba mieć, a poz tym pasjonuje mnie to. Dużo bardziej wolę główkować nad kodem niż nad połączeniami elektronicznymi, kabelkami itp.
Odkurzacz faktycznie mogłem zdjąć do zdjęcia, nie pomyślałem nad aranżem kadru:).
Sterowanie suplą przez esp32 z dotykowym LCD 4”
-
- Posts: 308
- Joined: Tue Oct 31, 2023 10:06 pm
Nec Hercules contra plures!
-
- Posts: 910
- Joined: Sun May 24, 2020 8:40 pm
Ładnie to wygląda.SOYER wrote: Wed Jan 01, 2025 9:47 am 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.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ś?
Jeśli piszesz w Arduino IDE lub PlatformIO, to fajnie działa ArduinoOTA.
viewtopic.php?p=181087#p181087
-
- Posts: 1172
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
Cześć, dzięki za feedback.jaku2k wrote: Sat Jan 04, 2025 9:52 pmŁadnie to wygląda.SOYER wrote: Wed Jan 01, 2025 9:47 am 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.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ś?
Jeśli piszesz w Arduino IDE lub PlatformIO, to fajnie działa ArduinoOTA.
viewtopic.php?p=181087#p181087
Takie OTA jak pokazujesz używam w wielu innych swoich urządzeniach, z powodzeniem. Jednak w tym przypadku do aktualizacji softu potrzebny jest komputer z zainstalowanym arduino IDE, czyli krótko mówiąc musi to zrobić ktoś kto potrafi.
W tym projekcie z LCD też to miałem, ale postanowiłem się nauczyć czegoś nowego, więc zaimplementowałem OTA przez http. Teraz można wgrać nowy soft przy pomocy jakiegokolwiek kompa, telefonu, tabletu. Otwieramy przeglądarkę, wpisujemy adres, wskazujemy plik i wgrywamy. Może to zrobić każdy nieobeznany, wystarczy, że dostarczymy mu plik .bin.
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://app.weathercloud.net/d4311785603
-
- Posts: 910
- Joined: Sun May 24, 2020 8:40 pm
Nie wczytywałem się w wątek więc nie znałem wymagań Fakt, httpUpdate jest bardziej wszechstronny.
-
- Posts: 1172
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
Cześć, wczoraj z pewnymi problemami dołożyłem kod QR do szybkiego wywołania strony do uploadu z np telefonu.
https://youtube.com/shorts/TTrB4Po8d08? ... wkATuHz669
https://youtube.com/shorts/TTrB4Po8d08? ... wkATuHz669
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://app.weathercloud.net/d4311785603
-
- Posts: 15
- Joined: Mon Nov 22, 2021 11:46 am
@SOYER próbuję skompilować twój kod do przetestowania MQTT:
i cały czas Arduino IDE wypluwa mi błąd:
Pliki HWCDC.h i HWCDC.cpp mam wgrane do folderu projektu a i tak nie mogę przebrnąć przez proces kompilacji. Podpowiesz czy też miałeś taki problem i w jaki sposób go rozwiązałeś?
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();
}
Code: Select all
exit status 1
Compilation error: 'HWCDC' does not name a type
-
- Posts: 1172
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
Na jakim urządzeniu to robisz?
Spróbuj całkiem wywalić to HWCDC, i zamiast
USBSerial. print….
pisz Serial. print…
Spróbuj całkiem wywalić to HWCDC, i zamiast
USBSerial. print….
pisz Serial. print…
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://app.weathercloud.net/d4311785603
-
- Posts: 15
- Joined: Mon Nov 22, 2021 11:46 am
Ok dzięki za podpowiedź. Już poradziłem sobie z kompilacją. Problemem był wybór nieodpowiedniego boardu. Próbowałem to kompilować na zwykłym ESP32 a tylko płytki ESP32S2, S3, C6 i H2 działają z biblioteką HWCDC. Po zmianie na ESP32C6 kompiluje się bez problemu. Test komunikacji po MQTT przebiegł pomyślnie
-
- Posts: 1172
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
Świetnie, dlatego pytałem na jakim urządzeniu to robisz.
Co to za projekt będzie, jeśli wolno zapytać?
Co to za projekt będzie, jeśli wolno zapytać?
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://app.weathercloud.net/d4311785603
-
- Posts: 15
- Joined: Mon Nov 22, 2021 11:46 am
Póki co to rozpoznanie możliwości co możemy na tym zbudować, a potem to czas pokaże na co pozwolą zdobyte umiejętności. Przestrzeń do testowania jest bo mam dom na wykończeniu, gdzie spora część instalacji jest w gwiazdę więc będzie co wyświetlać i czym sterować za pomocą takiego monitora.