2023-01-22

VIRTUINO i moja chmura

 

Co 10 sekund spróbuję wysyłać dane z mojego ESP8266 na jakąś (najlepiej tu na blogu) stronę WWW. O np taką

https://virtuino.blogspot.com/p/test.html

jeśli coś takiego zadziała to będzie najlepszy sposób bym mógł odczytać interesującą mnie informację z domowej automatyki bez korzystania z chmurowych systemów IoT czy otwierania wewnętrznej sieci na INTERNET.


W poszukiwaniu alternatyw (4) dla Arduino Cloud jako pierwsze przyszło mi na myśl REST API. Są jakieś przykłady na Arduino z wykorzystaniem tego sposobu transmisji danych z mikrokontrolera. Celowo piszę "jakieś" i "z" choć w drugą stronę oczywiście też można ale tu poziom bezpieczeństwa jest zerowy. Każdy kto zna link na stronę sterującą modułem via REST może sobie bezkarnie nim operować. No chyba że wysyłamy info na zamknięty serwer. Ale wtedy wracamy do aplikacji chmurowej IoT. REST więc u mnie to tylko jako sposób bezpiecznego odczytu potrzebnych mi danych z wybranych mikrokontrolerów. W każdym razie na początek

 Popatrzyłem na wszystkie przykłady w Arduino pod hasłem REST by zobaczyć o co kaman w nich chodzi. Wybrałem kilka obiecujących bibliotek. Do dalszej analizy zostawiłem tylko te, w których ESP robi za klienta.  Tylko dla takiej konfiguracji nie muszę otwierać swojej wewnętrznej sieci na Internet by wymienić z nim jakieś dane. Ma to swoje ograniczenia ale o tym potem. I tak:

RESTClient

bardzo stara ale ciekawa gdyż autor bezpłatnie udostępnij stronę na którą testowo można wysysać nasze dane. Biblioteka (a tak naprawdę bardzo prosty sketch) jest na połączenie Ethernetowe ale bez problemu można ja przenieść na ESP

 ESP32 Rest Client

dużo nowsza biblioteka na ESP32 jak dla mnie mocno przekombinowana. Ale zobaczymy co da się z niej wycisnąć

aREST

no to już profesjonalna biblioteka dla różnych modułów w tym ESP8266. Dostęp poprzez chmurę cloud.arest.io/47fd9g/mode/5/o.

Wcześniej trzeba się zarejestrować by uzyskać kod dla urządzenia. W wersji free mamy możliwość kontroli do 3 urządzeń ale tylko do 100 zdarzeń na miesiąc i 1000 komunikatów. Na pewno ciekawy i warty dalszej analizy.

ESP-Google-Sheet-Client 

komunikuje się poprzez Google Sheet API. nic na razie więcej nie wiem.

ESP8266RestClient 

Może coś takiego ale trzeba będzie się jeszcze douczyć co i jak

RequestBuilder

Ciekawy przykład ale i tu potrzeba trochę dodatkowej wiedzy by go użyć.

Wydaje się że kod w mikrokontrolerze nie powinien być zbyt dużym problemem. Dane są wysyłane jako proste zmienne lub w formacie JSON. Nic o nim jeszcze nie wiem ale i po ten sposób programowania danych przyjdzie się schylić.

Na razie jest dużo większy problem o nazwie PHP. Do odebrania i wyświetlenia wysłanych z ESP danych nie wystarczy prosta strona w HTML. Serwer musi jakoś tą daną odebrać, zapamiętać a potem wyświetlić jako strona WWW gdy będziemy tego żądać wchodząc przeglądarką na odpowiedni adres serwera. A do tego już potrzeba choćby minimalnego programu po stronie serwera. HTML z możliwością programowania to właśnie PHP





https://microcontrollerslab.com/esp32-rest-api-web-server-get-post-postman/

tu już pełen barok. Transmisja bazuje na JSON więc wszystko jest mocno (jak dla mnie) zaciemnione. Trzeba postawić na ESP WebSerwer więc sterowanie tylko w sieci wewnętrzej (poleca aplikację POSTMAN). Jak dla mnie bez sensu.


Brak komentarzy:

Prześlij komentarz