Tabla de contenido:
- Suministros
- Paso 1: Descargue el archivo HTML o el archivo JSON: lo bueno y lo malo
- Paso 2: crea un motor de búsqueda
- Paso 3: configuración del motor de búsqueda
- Paso 4: Obtén la clave de API
- Paso 5: prueba la API
- Paso 6: Instale la biblioteca ArduinoJson
- Paso 7: descargue el boceto y busque en Google
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
En este tutorial te mostraré cómo hacer búsquedas en Google con un ESP32. El resultado en sí no es muy útil porque los resultados de la búsqueda están en el monitor serial de la computadora, pero es algo genial y muestra el poder de ESP32. El código se puede mejorar para crear un mini navegador web en ESP32 e imprimir el resultado en una pantalla LCD, por ejemplo.
En este tutorial, usaré una placa ESP32 con 4 MB de PSRAM para asegurarme de tener suficiente memoria. Esto puede resultar útil para descargar el código html de los sitios encontrados.
Suministros
- Placa ESP32 con RAM externa como uPesy ESP32 Wrover DevKit
- Arduino IDE o PlatformIO con extensión esp32 instalada
- una cuenta de Google
Paso 1: Descargue el archivo HTML o el archivo JSON: lo bueno y lo malo
La forma más sencilla de recuperar búsquedas de Google sería descargar la página HTML de la URL: https://www.google.com/search?q=esp32, con su consulta después de q =
Esta es la mala manera por algunas razones:
- Es difícil de analizar (extraer datos), porque no hay un analizador HTML para ESP32. Entonces tienes que encontrar la etiqueta HTML correcta, extraer cadenas,…: el código será complicado.
- No es eficiente en cuanto a datos: debe descargar toda la página HTML con scripts javascript y css solo para extraer pequeños fragmentos de información. El tamaño de la página HTML es de alrededor de 300KB, el ESP32 ni siquiera tiene suficiente memoria para descargar la página html de una vez (solo es posible con PSRAM externo).
- Google podría incluirlo en la lista negra: si investiga demasiado rápidamente, Google lo considerará un bot y le dará buena suerte resolviendo un captcha en ESP32.
La buena forma es utilizar la API de búsqueda de Google que devuelve un archivo JSON. Un archivo JSON se puede analizar fácilmente en ESP32 con bibliotecas como ArduinoJson. Será muy fácil con este método excluir los resultados de la búsqueda.
Paso 2: crea un motor de búsqueda
Primero, debemos crear un motor de búsqueda personalizado en su cuenta de Google:
- Vaya a
- Agregue www.google.com a "Sitios para buscar".
- Cambia de idioma si quieres
- Ponle un nombre a tu motor de búsqueda y haz clic en "Crear".
Paso 3: configuración del motor de búsqueda
Vaya al panel de control del motor de búsqueda para modificar parámetros:
- Habilita "Buscar en toda la Web"
- Puede cambiar el idioma o la región, habilitar imágenes
- Obtenga el ID del motor de búsqueda, será útil para los próximos pasos
Desplácese hacia abajo hasta "Acceso programático" y haga clic en "Comenzar".
Paso 4: Obtén la clave de API
Ahora debería estar en el sitio web
- Haga clic en "Obtener una clave"
- Ingrese un nombre de proyecto
- Copia tu clave de API
Paso 5: prueba la API
Ahora podemos probar la API, la URL es la siguiente:
customsearch.googleapis.com/customsearch/v1?key=YOUR_API_KEY&cx=YOUR_SEARCH_ENGINE_ID&q=esp32
Reemplaza "YOUR_API_KEY" y "YOUR_SEARCH_ENGINE_ID" por el tuyo.
En su navegador web, vaya a esta url, debería ver como resultado un archivo Json con resultados de búsquedas de Google como en la captura de pantalla.
La lista de todos los parámetros está disponible aquí
Paso 6: Instale la biblioteca ArduinoJson
Para analizar el archivo JSON, usaremos la biblioteca ArduinoJson.
Vaya al Administrador de bibliotecas en Arduino IDE y escriba ArduinoJson. Instale la biblioteca correcta "ArduinoJson de Benoit Blanchon".
Felicitaciones, todas las configuraciones están hechas.
Paso 7: descargue el boceto y busque en Google
Para este último paso:
- Descarga el boceto.
- Agregue sus credenciales WiFi, su clave API y su ID de motor.
- Compile el boceto y use el monitor de serie para enviar su consulta.
Más tutoriales en mi sitio web: upesy.com