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:
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
dużo nowsza biblioteka na ESP32 jak dla mnie mocno przekombinowana. Ale zobaczymy co da się z niej wycisnąć
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.
komunikuje się poprzez Google Sheet API. nic na razie więcej nie wiem.
Może coś takiego ale trzeba będzie się jeszcze douczyć co i jak
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