ABMaterial i websocket dla ESP32

luki_c

Member
Staram się zrozumieć to narzędzie, oraz nauczyć się budować aplikacje internetowe. W jaki sposób oprogramować ABMAplication abym mógł wysyłać/odbierać za pomocą websocket?
 

MichalK73

Well-Known Member
Licensed User
Longtime User
Ludzie wstawili tutoriale ABM. Ja wstawiłem z kilkanaście filmików na YT w przykładach. Jak co mogę pomóc z ABM
 

luki_c

Member
Ludzie wstawili tutoriale ABM. Ja wstawiłem z kilkanaście filmików na YT w przykładach. Jak co mogę pomóc z ABM
Tak liczyłem na twoją odpowiedź, przy okazji dzięki za tutoriale na YT. Co do mojego problemu, poszukuję możliwie najprostszego przykładu kiedy za pomocą web socket mogę przekazywać dane do i z serwera. Serwer jest oparty na płycie ESP32. Najprostszy przykład to taki że mam buttona i jego klikanie miałoby być rejestrowane na ESP32. Coś na wzór tej aplikacji https://esp32tutorials.com/esp32-esp-idf-websocket-web-server/?utm_content=cmp-true Jak taką stronę zbudować za pomocą ABMaterial?
 

MichalK73

Well-Known Member
Licensed User
Longtime User
Nie pisalem w B4R. Musialbys tam zadac pytanie jak polaczyc ESP z serwerem po websocket.
 

luki_c

Member
Na esp32 piszę w C, ogólnie chodzi o to jak w ABM skonfigurować websocket aby można przesyłać dane. Np: jest button i w reakcji na kliknięcie ma wysłać jakiś string do klienta. Inaczej mówiąc, jeśli poznam działanie tego mechanizmu, czyli ABM wygeneruje zestaw plików HTML CSS JS to zaimplementowane tego w esp nie powinno stanowić dla mnie problemu.
 
Last edited:

MichalK73

Well-Known Member
Licensed User
Longtime User
ABM generuje kod webpage (html,css,js), ten kod jest uruchamiany w przegladarce internetowej tworzac stabilne polaczenie pomiedzy serwerem a klientem. Wiec na esp nie masz przegladaraki wiec mysle ze ta droga nie pojdziesz. Chyba wiem o co ci chodzi, ze na PC widzisz strone w ABM , masz guziczki itp, widzisz na bierzaco statusy z ESP bo wlasnie websocket daje ci online polaczenie. O to ci chodzi ??? Jezeli tak to chyba bedzie ciezko, nie lepiej serwer ABM z ESP polaczyc protokolem MQTT ?? Lest lekki, szybki, pewnie dziala na ESP (nie wiem) i mozna MQTT polaczyc z ABM bo to robilem i dziala. Wowczas ma to sens.
 

luki_c

Member
Chyba wiem o co ci chodzi, ze na PC widzisz strone w ABM , masz guziczki itp, widzisz na bierzaco statusy z ESP bo wlasnie websocket daje ci online polaczenie. O to ci chodzi ???
Dokładnie, tak.
nie lepiej serwer ABM z ESP polaczyc protokolem MQTT ??
Oczywiście ale urządzenie trzeba wpierw skonfigurować, przypisać mu parametry routera i itd.
Pozwól że opiszę jak to się zwyczajowo robi: Urządzenie IOT (nasz ESP) kiedy jest uruchamiane po raz pierwszy nie wie nic o sieci do jakiej ma się podłączyć. Aby móc skonfigurować parametry - ESP staje się acces pointem. Kiedy podłączysz się do tego AP wpisując w przeglądarkę jego IP esp wyświetla swoją stronę zaszytą w pamięci, masz wtedy możliwość przeprowadzenia parametryzacji. Ogólnie to nie jest jakiś mój wymysł, jest to częsta i typowa procedura.

klik:
Sub btn_Clicked(Target As String)
'    Log(Target)
    Dim bn As ABMButton = page.Component("btn")

    led_state = Not(led_state)
    Log(led_state)
        If ws.Open = True Then ' jesli port otwarty
                                ' to w jaki sposob przeslac dane?
    End If
    bn.Refresh
End Sub

Ja zakładając ten temat, chciałem się tylko dowiedzieć jak przesyłać parametry za pomocą tego nieszczęsnego ws.
 

MichalK73

Well-Known Member
Licensed User
Longtime User
ABM potrzebuje srodowiska Java na ESP. Wiec to slabe raczej. Wszelkie apki zrobione w B4J potrzebuja Java. Z tego co rozumiem to chcesz na ESP polozyc serwerek web bys mogl wpisac dane poprzez prosta strone jaka wypluwa ESP do przegladarki. Wg mie nie potrzeba do tego WS. Mini web server na ESP z 2 page. Jedna wyswietla prosty formularz z Wifi, dns, login itp. Jeden guzik SEND zbiera dane wpisane i wysyla jak zapytanie API do 2 page na ESP ktora jest jednym API. Odbiera dane i ustawia zmienne sieci wifi do ESP. Nie potrzeba wowczas duzego ABM i ws.
 

luki_c

Member
Ok więc trzeba szukać innych rozwiązań. Po prostu liczyłem na to że uda się zp ABM budować funkcjonalne strony dla ESP. HTML i CSS to dla mnie straszna nuda a że potrzebuję tego od czasu do czasu ucieszyłem się że mogę taką stronę zbudować w sposób "programistyczny". @MichalK73 dziękuję za sprostowanie, i w ogóle za ciekawe tutoriale na YT
 

MichalK73

Well-Known Member
Licensed User
Longtime User
Uzyj web serwer z Pythona. Sa tam micro frameworki i wiec ze ESP ma microPythona. To moze byc rozwazanie.
A jak bedziesz mial micro web serwer z Pythona to z Banano mozesz zbudowac strone ladna prosta, lub bardziej funkcjonalna np z TailswinCSS B4J

Do takich microFramework python jest PyWebIO. https://pywebio.readthedocs.io/en/latest/
Uzywałem go. Dziala super i jest oparty na websocket. Mysle ze do twoich rzeczy bedzie rewelacyjny.
 
Last edited:

luki_c

Member
Uruchomiłem to, z tym że nie z abmaterial a banano, okazuje się że nowoczesne esp32 doskonale radzą sobie z obsługą http serwera i webaps. Fajna rzecz ale wymaga jednak znajomości specyfiki embedded.
 
Top