Hei alle sammen, i dette hjemmelaget Jeg vil vise hvordan du kan lage en billig, enkel, men samtidig effektiv plattformbasert dataparser fra Internett Arduino med Wifi-modul. Med det kan du enkelt finne ut nesten all informasjon fra nettverket på få sekunder. Dette kan være antall abonnenter på youtube, antall innkomne meldinger, om de publiserte et hjemmelaget produkt osv.
Her er et enkelt diagram å sette sammen.
Før jeg begynner å lese artikkelen, vil jeg anbefale å se en video som viser mulighetene for hjemmelaget arbeid og dens praktiske anvendelse.
Vi trenger:
-Plattformen er basert på ESP-familien, i mine tilfeller, og dette er WeMos D1 R2
-LCD-skjerm for informasjonsutgang, jeg har en populær LCD 1602 med I2C-modul
-tråd og knapp (selv om du kanskje ikke trenger det)
I tillegg
-USB-kabel (for nedlasting av firmware)
-WiFI tilgangspunkt
- valgfritt
- eget nettsted og domene (for håndtering av komplekse spørsmål om populære nettsteder)
Før du går videre til de neste trinnene, må du forsikre deg om at miljøet du vil laste ned skissen gjennom blir støttet av ESP-mikrokontrollerfamilien. For å konfigurere Arduino IDE, gå til habr og følg installeringsinstruksjonene. link:
https://habr.com/ru/post/371853/
Detaljert produksjonsbeskrivelse:
Konvensjonelt kan trinnene deles i 2 deler.
1 Montering av "jern" -delen
2 Last ned programmet og konfigurer det
Montering av første trinn avsluttes veldig raskt. Vi samler det fra bildet over, og det er det.
Skjermmodul
VCC - 5V
GND - GND
SCL - D15
SDA - D14
Buttun - GND til D7
Alle disse innstillingene kan endres i selve skissen, hvis du har en annen plattform eller versjon av mikrokontrolleren.
Det andre trinnet er litt mer komplisert, åpne Arduino IDE, velg riktig brett og angi porten den ligger på. I mine tilfeller er styret: WeMos D1 R1 og port 3
Alle andre innstillinger kan stå som standard.
Selve skissen:
Vær oppmerksom på at du må ha 2 ekstra biblioteker installert. Dette er ArduinoJson.h og LiquidCrystal_I2C.h !
Så endrer vi de viktige variablene i skisseinnstillingene, dette er SSID (navn på Wifi-punktet) og passord (passord for Wifi-punktet)
Deretter kan du laste ned firmware.
Hvis skjermen er riktig tilkoblet, vises følgende informasjon på den.
Hvis dette ikke skjer, sjekk følgende innstilling.
Vennligst tast inn en gyldig I2C-adresse c. I alle fall er det bedre første gang etter å ha lastet ned skissen for å åpne Serial-porten, og sørge for at forbindelsen er opprettet.
Hvis dette ikke skjer, dobbeltkontroller dataene til WiFi-punktet.
Hvis alt har startet opp og koblet seg, skal du se følgende på skjermene:
Du kan også klikke på knappen og sjekke om dataene er oppdatert (hvis du koblet dem til).
Alt på dette trinnet er 95% av arbeidet utført, det gjenstår bare å indikere i konfigurasjonen dataene som må analyseres. De er alle i konstant "A"
const String A = "http://jsonplaceholder.typicode.com/users/1,name,User 1 :; http: //jsonplaceholder.typicode.com/users/2,name,User 2:;";
Så syntaks for skriving er enkel. Alle kilder er delt inn i grupper atskilt med semikolon (;).
Hver gruppe består av 3 hovedparametere, dette
- URL som forespørselen vil gå til
- Verdien som skal hentes.
- Tilleggstekst vises.
På denne måten
http://jsonplaceholder.typicode.com/users/1,name,User 1:
==URL = http://jsonplaceholder.typicode.com/users/1
NØKKEL = navn
tekst = "Bruker 1:"
Hvis du følger linken nå
http://jsonplaceholder.typicode.com/users/1
Da kan du se følgende informasjonHvor du faktisk kan se hvor "navnet" verdien kom fra.
Dermed kan du allerede trekke ut informasjon fra enkle nettsteder. Men denne metoden er ikke egnet for å jobbe med "seriøse" nettsteder som jobber med SSL-sertifikater, som sjekker forespørsler og viser eventuelle captcha hvis de ikke liker noe, og dessuten er datautgangen for komplisert til å behandles av krefter arduino. " Ettersom jeg ikke har prøvd å "komme meg rundt" alt dette, men det er ting som enten fungerer veldig ustabilt eller ikke fungerer i det hele tatt. Konstante sertifikatoppdateringer hjelper lite. Derfor, som jeg tror, er den mest fornuftige løsningen å opprette din egen webside, "inni" hvor alle disse forespørslene vil bli utført, behandlet og vist av arduino selv i en "forenklet" form. Hvordan lage et nettsted er det mange artikler / videoer / fora, etc., for tiden er dette ikke et problem. Anta at du har en, og last deretter opp følgende fil til den. Kall det hva du liker, vel, la oss si "pars.php".
php
/ *
Kode for parsing av informasjon fra nettsteder, og videre visning
Versjon v0.1, hvis det er noen feil, vennligst skriv en kommentar under videoen