» Tematy » Porady »Dane parsera z Internetu na Arduino

Parser danych z Internetu na Arduino



Witam wszystkich w tym domowej roboty Pokażę, jak można zrobić tani, prosty, ale jednocześnie wydajny parser danych oparty na platformie z Internetu Arduino z modułem Wi-Fi. Dzięki niemu możesz łatwo znaleźć prawie wszystkie informacje z sieci w ciągu kilku sekund. Może to być liczba subskrybentów na youtube, liczba wiadomości przychodzących, czy opublikowali produkt domowej roboty itp.

Oto prosty schemat do złożenia.



Zanim zacznę czytać artykuł, polecam obejrzeć film pokazujący możliwości domowej roboty i jej praktyczne zastosowanie.



Będziemy potrzebować:
- Platforma jest oparta na rodzinie ESP, w moich przypadkach, a to WeMos D1 R2

-Wyświetlacz LCD do wyświetlania informacji, mam popularny wyświetlacz LCD 1602 z modułem I2C
- drut i przycisk (chociaż może nie być potrzebny)
Jak dobrze
Kabel USB (do pobierania oprogramowania)
-Punkt dostępu WiFI
- opcjonalnie
- własna strona i domena (do obsługi złożonych zapytań popularnych witryn)

Przed rozpoczęciem kolejnych kroków upewnij się, że środowisko, z którego pobierzesz szkic, jest obsługiwane przez rodzinę mikrokontrolerów ESP. Aby skonfigurować Arduino IDE, przejdź do habr i postępuj zgodnie z instrukcjami instalacji. Link:
https://habr.com/en/post/371853/


Szczegółowy opis produkcji:
Konwencjonalnie etapy można podzielić na 2 części.
1 Montaż części „żelaznej”
2 Pobieranie programu i konfigurowanie go

Montaż pierwszego etapu kończy się bardzo szybko. Zbieramy go z powyższego obrazu i to wszystko.
Moduł wyświetlacza
VCC - 5 V.
GND - GND
SCL - D15
SDA - D14

Buttun - GND do D7

Wszystkie te ustawienia można zmienić w samym szkicu, jeśli masz inną platformę lub wersję mikrokontrolera.

Drugi etap jest nieco bardziej skomplikowany, otwórz Arduino IDE, wybierz odpowiednią płytkę i wskaż port, na którym się znajduje. W moich przypadkach płyta: WeMos D1 R1 i port 3
Parser danych z Internetu na Arduino

Wszystkie pozostałe ustawienia można pozostawić domyślnie.
Sam szkic:

Pamiętaj, że musisz mieć zainstalowane 2 dodatkowe biblioteki: ArduinoJson.h i LiquidCrystal_I2C.h !

Następnie zmieniamy ważne zmienne w ustawieniach szkicu, są to SSID (nazwa punktu Wi-Fi) i hasło (hasło punktu Wi-Fi)

Następnie możesz pobrać oprogramowanie wewnętrzne.
Jeśli wyświetlacz został podłączony prawidłowo, wyświetlone zostaną na nim następujące informacje.

Jeśli tak się nie stanie, sprawdź następujące ustawienie.

Wprowadź poprawny adres I2C c. W każdym razie lepiej jest po raz pierwszy po pobraniu szkicu otworzyć port szeregowy i upewnić się, że połączenie zostało pomyślnie nawiązane.

Jeśli tak się nie stanie, sprawdź dwukrotnie dane punktu Wi-Fi.

Jeśli wszystko się pomyślnie uruchomiło i nawiązało połączenie, na ekranach powinny pojawić się następujące informacje:

Możesz także kliknąć przycisk i sprawdzić, czy dane są zaktualizowane (jeśli je podłączyłeś).
Wszystko, na tym etapie wykonuje się 95% pracy, pozostaje tylko wskazać w konfiguracji dane, które należy przeanalizować. Wszystkie są w ciągłym „A”
const Ciąg A = "http://jsonplaceholder.typicode.com/users/1,name, Użytkownik 1 :; http: //jsonplaceholder.typicode.com/users/2,name, Użytkownik 2:;";

Tak więc składnia do pisania jest prosta. Wszystkie źródła są podzielone na grupy oddzielone średnikami (;).
Każda grupa składa się z 3 głównych parametrów, to
- URL, do którego skierowane będzie żądanie
- Wartość do pobrania.
- Wyświetlany jest dodatkowy tekst.
W ten sposób
http://jsonplaceholder.typicode.com/users/1,name, Użytkownik 1:
==
URL = http://jsonplaceholder.typicode.com/users/1
KLUCZ = nazwa
text = „Użytkownik 1:”

Jeśli podążasz za linkiem teraz
http://jsonplaceholder.typicode.com/users/1
Następnie możesz zobaczyć następujące informacje

Skąd w rzeczywistości można zobaczyć, skąd pochodzi wartość „nazwa”.

W ten sposób możesz już wyodrębnić informacje z prostych stron. Ale ta metoda nie jest odpowiednia do pracy z „poważnymi” witrynami, które działają z certyfikatami SSL, które sprawdzają żądania i wyświetlają wszelkie captcha, jeśli coś im się nie podoba, a poza tym dane wyjściowe są zbyt skomplikowane, aby przetwarzać je siłą arduino. ” Ponieważ nie próbowałem tego obejść, ale są rzeczy, które albo działają bardzo niestabilnie, albo w ogóle nie działają. Ciągłe aktualizacje certyfikatów niewiele pomagają. Dlatego, jak wierzę, najbardziej rozsądnym rozwiązaniem jest stworzenie własnej strony internetowej, „w której” wszystkie te żądania będą wykonywane, przetwarzane i wyświetlane przez arduino w „uproszczonej” formie. Jak stworzyć stronę, istnieje wiele artykułów / filmów / forów itp., W chwili obecnej nie stanowi to problemu. Załóżmy, że masz, a następnie prześlij do niego następujący plik. Nazwij to, co lubisz, powiedzmy „pars.php”.


Nadaje się do tematu

Powiązane tematy

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij

Radzimy przeczytać:

Podaj go do smartfona ...