Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
I denne opplæringen vil jeg vise deg hvordan du gjør Google -søk med en ESP32. Selve resultatet er ikke veldig nyttig fordi søkeresultatene er i den serielle skjermen på datamaskinen, men det er en kul ting å gjøre og vise kraften til ESP32. Koden kan forbedres for å lage en mini -nettleser på ESP32 og utskriftsresultat for eksempel på en LCD -skjerm.
I denne opplæringen vil jeg bruke et ESP32 -kort med 4 MB PSRAM for å være sikker på å ha nok minne. Dette kan være nyttig for å laste ned html -koden for nettstedene som er funnet.
Rekvisita
- ESP32 -kort med ekstern RAM som uPesy ESP32 Wrover DevKit
- Arduino IDE eller PlatformIO med esp32 -forlengelse installert
- En Google -konto
Trinn 1: Last ned HTML -fil eller JSON -fil: den gode og den dårlige måten
Den enkleste måten å hente Google -søk er å laste ned HTML -siden fra url: https://www.google.com/search?q=esp32, med søket ditt etter q =
Dette er den dårlige måten av flere grunner:
- Det er vanskelig å analysere (trekke ut data), fordi det ikke er noen HTML -parser for ESP32. Så du må finne den riktige HTML -taggen, trekke ut strenger, …: koden blir rotete.
- Det er ikke dataeffektivt: Du må bare laste ned hele HTML -siden med javascript og css -skript for å trekke ut små opplysninger. Størrelsen på HTML -siden er rundt 300 KB, ESP32 har ikke engang nok minne til å laste ned HTML -siden på en gang (kun mulig med ekstern PSRAM).
- Du kan bli svartelistet av Google: Hvis du gjør for mye forskning raskt, vil Google betrakte deg som en bot og lykke til med å løse en captcha på ESP32.
Den gode måten er å bruke Google Search API som returnerer en JSON -fil. En JSON -fil kan enkelt analyseres på ESP32 med librairies som ArduinoJson. Det vil være veldig enkelt med denne metoden å trekke ut søkeresultater.
Trinn 2: Lag en søkemotor
Først må vi opprette en tilpasset søkemotor i Google -kontoen din:
- Gå til
- Legg www.google.com til "Nettsteder å søke"
- Bytt språk hvis du vil
- Gi søkemotoren et navn, og klikk på "Opprett"
Trinn 3: Søkemotorkonfigurasjon
Gå til kontrollpanelet til søkemotoren for å endre parametere:
- Aktiver "Søk på hele nettet"
- Du kan endre språk eller region, aktivere bilder
- Skaff deg søkemotor -ID -en, den vil være nyttig for neste trinn
Rull ned til "Programmatic Acces" og klikk på "Kom i gang"
Trinn 4: Få API -nøkkel
Du bør nå være på https://developers.google.com nettsted:
- Klikk på "Få en nøkkel"
- Skriv inn et prosjektnavn
- Kopier API -nøkkelen din
Trinn 5: Test API
Nå kan vi teste API, URL er som følger:
customsearch.googleapis.com/customsearch/v1?key=YOUR_API_KEY&cx=YOUR_SEARCH_ENGINE_ID&q=esp32
Erstatt "YOUR_API_KEY" og "YOUR_SEARCH_ENGINE_ID" med din.
Gå til denne nettadressen i nettleseren din. Du bør derfor se en Json -fil med Google -søkeresultater som i skjermbildet.
Listen over alle parametrene er tilgjengelig her
Trinn 6: Installer ArduinoJson Library
For å analysere JSON -filen bruker vi ArduinoJson -biblioteket.
Gå til Library Manager i Arduino IDE, og skriv ArduinoJson. Installer det riktige biblioteket "ArduinoJson av Benoit Blanchon".
Gratulerer, alle konfigurasjoner er gjort.
Trinn 7: Last ned Sketch and Search på Google
For dette siste trinnet:
- Last ned skissen.
- Legg til WiFi -legitimasjonene dine, din API -nøkkel og din motor -ID.
- Kompiler skissen og bruk den serielle moniten for å sende forespørselen din.
Flere opplæringsprogrammer på nettstedet mitt: upesy.com