Modyfikacja przykładu WebInterface Arduino
Hej. Chciałbym małej pomocy. Tak jak w temacie. Przyklady z biblioteki Arduino przerobiłem prawie wszystkie, o dziwo chodzą . Czy mógłby mi ktoś podpowiedzieć, co musiałbym dodać, jaką komendę, aby moduł mi się zgłaszał do serwera pod moją nazwą, a nie esp32 lub esp8266. Czy mógłby mi ktoś podpowiedzieć też, czy można ten przykład zmodyfikować tak, aby w jakiś łatwy sposób dodać opcję resetu modułu z poziomu webserwera? Wiem, że mogę sobie wygenerować oprogramowanie w GUI Generic Builder i tam będę wszystko miał, ale chciałbym się pobawić i może w jakiś prosty sposób dodać te funkcje do programu.
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
Nazwę możesz ustawić tą metodą:
https://github.com/SUPLA/supla-device/b ... ice.h#L100
Trzeba wywołać przed metoda begin.
Odnośnie resetowania, to standardowo powinien być przycisk save&restart
https://github.com/SUPLA/supla-device/b ... ice.h#L100
Trzeba wywołać przed metoda begin.
Odnośnie resetowania, to standardowo powinien być przycisk save&restart
Widzimy się na Supla Offline Party vol. 2
Dobra będę kontynuował tutaj. No więc tak dodałem w sekcji setup:
SuplaDevice.setName("Moja nazwa"); oczywiście przed SuplaDevice.begin();
No i tak urządzenie rozgłasza sieć wifi o nazwie takiej jaką ustawiłem, jak chcę dodać urządzenie do serwera poprzez aplikację, to aplikacja nie wykrywa modułu. Jak podłączę się poprzez webserwer do urządzenia i ustawię wszystkie parametry to urządzenie łączy się normalnie z serwerem. załączam kod może ktoś znajdzie co żle zrobiłem
SuplaDevice.setName("Moja nazwa"); oczywiście przed SuplaDevice.begin();
No i tak urządzenie rozgłasza sieć wifi o nazwie takiej jaką ustawiłem, jak chcę dodać urządzenie do serwera poprzez aplikację, to aplikacja nie wykrywa modułu. Jak podłączę się poprzez webserwer do urządzenia i ustawię wszystkie parametry to urządzenie łączy się normalnie z serwerem. załączam kod może ktoś znajdzie co żle zrobiłem
Kod: Zaznacz cały
#define Dioda_Led 2
#define Przycisk_Konfiguracja 3
#define DHT1PIN 5
#define DHT1TYPE DHT11
#define RELAY_GPIO1 16
#define RELAY_GPIO2 14
#define RELAY_GPIO3 13
#define RELAY_GPIO4 0
#include <SuplaDevice.h>
#include <supla/network/esp_wifi.h>
#include <supla/control/relay.h>
#include <supla/control/button.h>
#include <supla/device/status_led.h>
#include <supla/storage/littlefs_config.h>
#include <supla/network/esp_web_server.h>
#include <supla/network/html/device_info.h>
#include <supla/network/html/protocol_parameters.h>
#include <supla/network/html/status_led_parameters.h>
#include <supla/network/html/wifi_parameters.h>
#include <supla/device/supla_ca_cert.h>
#include <supla/sensor/DHT.h>
#include <supla/sensor/DS18B20.h>
// Choose where Supla should store roller shutter data in persistent memory
// We recommend to use external FRAM memory
#include <supla/storage/eeprom.h>
Supla::Eeprom eeprom;
// #include <supla/storage/fram_spi.h>
// Supla::FramSpi fram(STORAGE_OFFSET);
Supla::ESPWifi wifi;
Supla::LittleFsConfig configSupla;
Supla::Device::StatusLed statusLed(Dioda_Led, true); // inverted state
Supla::EspWebServer suplaServer;
// HTML www component (they appear in sections according to creation
// sequence)
Supla::Html::DeviceInfo htmlDeviceInfo(&SuplaDevice);
Supla::Html::WifiParameters htmlWifi;
Supla::Html::ProtocolParameters htmlProto;
Supla::Html::StatusLedParameters htmlStatusLed;
void setup() {
Serial.begin(115200);
SuplaDevice.setName("Sterownik");
// Channels configuration
// CH 1 - Relay
auto r1 = new Supla::Control::Relay(RELAY_GPIO1);
auto r2 = new Supla::Control::Relay(RELAY_GPIO2);
auto r3 = new Supla::Control::Relay(RELAY_GPIO3);
auto r4 = new Supla::Control::Relay(RELAY_GPIO4);
auto buttonCfgRelay = new Supla::Control::Button(Przycisk_Konfiguracja, true, true);
new Supla::Sensor::DHT(DHT1PIN, DHT1TYPE);
new Supla::Sensor::DS18B20(12); //channel 1 czujnik kolektora gpio 12
r1->getChannel()->setDefault(SUPLA_CHANNELFNC_LIGHTSWITCH);
r2->getChannel()->setDefault(SUPLA_CHANNELFNC_LIGHTSWITCH);
r3->getChannel()->setDefault(SUPLA_CHANNELFNC_POWERSWITCH);
r4->getChannel()->setDefault(SUPLA_CHANNELFNC_POWERSWITCH);
buttonCfgRelay->configureAsConfigButton(&SuplaDevice);
// configure defualt Supla CA certificate
SuplaDevice.setSuplaCACert(suplaCACert);
SuplaDevice.setSupla3rdPartyCACert(supla3rdCACert);
SuplaDevice.begin();
}
void loop() {
SuplaDevice.iterate();
}
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
- Robert Błaszczak
- Posty: 4011
- Rejestracja: sob gru 22, 2018 8:55 pm
- Lokalizacja: Zielona Góra
- Kontakt:
Bo aplikacja dodaje tylko urządzenia o określonych nazwach.
Pozdrawiam
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
Super dzięki, już działa jak zmieniłem nazwę .Robert Błaszczak pisze: ↑pt gru 09, 2022 5:46 pm Bo aplikacja dodaje tylko urządzenia o określonych nazwach.
A teraz jeszcze jakby sposób na FactoryReset ktoś dał przyklad. Oczywiście z poziomu webserwera
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
Dołączam się do pytania. Z ciekawości na jaką nazwę zmieniłeś?
Też chciałbym się pobawić z konfigiem jeszcze dobrze nie kumam od niedawna zacząłem z Supla.
Chciałbym dodać do konfigu pola kluczy, żebym mógł wpisać sobie klucze powiadomień na surowym kodzie działa ale chciałbym mieć możliwość konfigu zmieniać klucze ponieważ w firmie potrzebuje użyć i czasami z konfigu zmieniać na szybko klucze. Fajnie by było jakby ktoś podarował przykładem kodu czy pomógł jak to ugryźć.
Też chciałbym się pobawić z konfigiem jeszcze dobrze nie kumam od niedawna zacząłem z Supla.
Chciałbym dodać do konfigu pola kluczy, żebym mógł wpisać sobie klucze powiadomień na surowym kodzie działa ale chciałbym mieć możliwość konfigu zmieniać klucze ponieważ w firmie potrzebuje użyć i czasami z konfigu zmieniać na szybko klucze. Fajnie by było jakby ktoś podarował przykładem kodu czy pomógł jak to ugryźć.
Nazwę dałem Supla- po myślniku swoją nazwę, kawałek mojego przykładowego kodu masz parę postów wyżej. Wszystko działa jak należy, brakuje mi tylko resetu, powtórne przytrzymanie przycisku configu działa jak save + restartnebraska pisze: ↑pt gru 09, 2022 7:03 pm Dołączam się do pytania. Z ciekawości na jaką nazwę zmieniłeś?
Też chciałbym się pobawić z konfigiem jeszcze dobrze nie kumam od niedawna zacząłem z Supla.
Chciałbym dodać do konfigu pola kluczy, żebym mógł wpisać sobie klucze powiadomień na surowym kodzie działa ale chciałbym mieć możliwość konfigu zmieniać klucze ponieważ w firmie potrzebuje użyć i czasami z konfigu zmieniać na szybko klucze. Fajnie by było jakby ktoś podarował przykładem kodu czy pomógł jak to ugryźć.
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
Dzięki za info.veeroos pisze: ↑pt gru 09, 2022 8:41 pmNazwę dałem Supla- po myślniku swoją nazwę, kawałek mojego przykładowego kodu masz parę postów wyżej. Wszystko działa jak należy, brakuje mi tylko resetu, powtórne przytrzymanie przycisku configu działa jak save + restartnebraska pisze: ↑pt gru 09, 2022 7:03 pm Dołączam się do pytania. Z ciekawości na jaką nazwę zmieniłeś?
Też chciałbym się pobawić z konfigiem jeszcze dobrze nie kumam od niedawna zacząłem z Supla.
Chciałbym dodać do konfigu pola kluczy, żebym mógł wpisać sobie klucze powiadomień na surowym kodzie działa ale chciałbym mieć możliwość konfigu zmieniać klucze ponieważ w firmie potrzebuje użyć i czasami z konfigu zmieniać na szybko klucze. Fajnie by było jakby ktoś podarował przykładem kodu czy pomógł jak to ugryźć.
Tak wiem ale ten przykład nic nie daje poza tym że masz tylko do wpisania nazwę, hasło, adres serwera Supli i email.
Trzeba mieć kod źródłowy żeby móc dodać jakaś listę dodatkowych pól. Nigdzie nie znalazłem źródła przykładu kodu z web serwer, szkieletu programu żeby móc dopisywać.
Krótkie wciśnięcie przycisku config powinno zrobić tylko restart modułu.
Długie przytrzymanie (trzymać aż się nie zresetuje - około 5s) powinno zresetować do ustawień fabrycznych i zrobić reset urządzenia. Po takim zabiegu powinno wejść automatycznie w tryb konfiguracyjny i mieć puste dane.
Jeśli działa tam coś inaczej, to poprawię.
Widzimy się na Supla Offline Party vol. 2
WebInterface to przykład, w którym jest dodany "web server" i przykładowe pola - w kodzie są to elementy Supla::Html ( https://github.com/SUPLA/supla-device/b ... ce.ino#L71 ).nebraska pisze: ↑pt gru 09, 2022 10:14 pm Tak wiem ale ten przykład nic nie daje poza tym że masz tylko do wpisania nazwę, hasło, adres serwera Supli i email.
Trzeba mieć kod źródłowy żeby móc dodać jakaś listę dodatkowych pól. Nigdzie nie znalazłem źródła przykładu kodu z web serwer, szkieletu programu żeby móc dopisywać.
Wszystkie obecnie dostępne "elementy HTML" są tutaj:
https://github.com/SUPLA/supla-device/t ... twork/html
Wiem, że nie ma dokumentacji i nie ma przykładów. Postaram się coś dodać, ale dajcie mi na to kilka dni.
Widzimy się na Supla Offline Party vol. 2