Modyfikacja przykładu WebInterface Arduino
-
veeroos
- Posts: 1080
- Joined: Sun Mar 20, 2022 9:30 am
- Location: Głogów
- Has thanked: 1 time
- Been thanked: 9 times
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, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more
https://github.com/v33r005
https://github.com/v33r005
-
klew
- Posts: 13907
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
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
Najlepsze suple dla Twojego domu 
-
veeroos
- Posts: 1080
- Joined: Sun Mar 20, 2022 9:30 am
- Location: Głogów
- Has thanked: 1 time
- Been thanked: 9 times
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
Code: Select all
#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, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more
https://github.com/v33r005
https://github.com/v33r005
-
veeroos
- Posts: 1080
- Joined: Sun Mar 20, 2022 9:30 am
- Location: Głogów
- Has thanked: 1 time
- Been thanked: 9 times
Super dzięki, już działa jak zmieniłem nazwęRobert Błaszczak wrote: Fri Dec 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
Zamel Mew-01, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more
https://github.com/v33r005
https://github.com/v33r005
-
nebraska
- Posts: 204
- Joined: Thu Dec 08, 2022 3:00 pm
- Been thanked: 1 time
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źć.
-
veeroos
- Posts: 1080
- Joined: Sun Mar 20, 2022 9:30 am
- Location: Głogów
- Has thanked: 1 time
- Been thanked: 9 times
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 wrote: Fri Dec 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, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more
https://github.com/v33r005
https://github.com/v33r005
-
nebraska
- Posts: 204
- Joined: Thu Dec 08, 2022 3:00 pm
- Been thanked: 1 time
Dzięki za info.veeroos wrote: Fri Dec 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 wrote: Fri Dec 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ć.
-
klew
- Posts: 13907
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Krótkie wciśnięcie przycisku config powinno zrobić tylko restart modułu.veeroos wrote: Fri Dec 09, 2022 8:41 pm 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 + restart
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ę.
Najlepsze suple dla Twojego domu 
-
klew
- Posts: 13907
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
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 wrote: Fri Dec 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.
Najlepsze suple dla Twojego domu 
