Tabla de contenido:

API de Google Vision con Raspberry Pi y Node: 11 pasos
API de Google Vision con Raspberry Pi y Node: 11 pasos

Video: API de Google Vision con Raspberry Pi y Node: 11 pasos

Video: API de Google Vision con Raspberry Pi y Node: 11 pasos
Video: Visión para tus Proyectos de Robótica 🤖 con una Cámara 😉 Raspberry PI, Python, OpenCv 2024, Noviembre
Anonim
API de Google Vision con Raspberry Pi y Node
API de Google Vision con Raspberry Pi y Node

Esta es una guía de inicio para usar la API de Google Vision. Utiliza lo siguiente

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • conexión a Internet

¿No conoces Arch Linux? ¿O cómo configurar una Raspberry Pi? No se preocupe, he escrito una serie de artículos que lo cubren con bastante rapidez. Es mucho más fácil de configurar de lo que cree. Así que no dejes que esto te disuada.

  • Instalación de Arch Linux en Raspberry Pi con acceso WiFi inmediato
  • Configurar i2c en Raspberry Pi Zero W usando Arch Linux
  • Configurar el espacio del proyecto NodeJS en Raspberry Pi Zero W
  • Transferencia del código de controlador de motor DRV8830 I2C a NodeJS
  • Edición de código Raspberry Pi de forma remota desde Visual Studio Code
  • Robot 1B1

Foto de portada de Andy Kelly en Unsplash

Paso 1: obtenga una cuenta de API de Google

Lamentablemente, la API de Google Vision no es un servicio completamente gratuito. En el momento de escribir este artículo, una cuenta de API proporciona 1000 llamadas gratuitas a la API de Google Vision al mes. Entonces, es $ 1.00 por cada 1000 llamadas.

Lo sé, lo sé, no está tan mal. Pero este no es un proyecto comercial. Quiero usarlo para un pequeño robot casero. Si mi esposa recibe una factura de $ 40 porque decidí transmitir imágenes a la API, bueno, será un bot muerto. De todos modos, pensé que todavía exploraría el servicio para hacer caca y reír.

Para obtener una cuenta, visite

Consola de Google

E inicie sesión con una cuenta de Google existente o cree una.

Paso 2: ingrese la información de facturación

Ingrese la información de facturación
Ingrese la información de facturación

Ahora, aquí está la parte aterradora, debe ingresar su información de facturación antes de comenzar. Recuerde, se le cobrará si supera las 1000 llamadas. Nuevamente, si excede sus 1000 llamadas gratuitas, se le cobrará. (¿Qué? ¿Ya dije eso? Oh.)

Paso 3: abre la biblioteca de API

Abra la biblioteca de API
Abra la biblioteca de API

Después de configurar la información de facturación, aún necesitamos habilitar la API de Cloud Vision. Esta es una característica de seguridad, esencialmente, todas las API de Google están deshabilitadas de forma predeterminada, por lo que si alguien obtiene acceso accidentalmente, no desata el infierno en todas partes.

Paso 4: busque la API de Google Vision

Búsqueda de la API de Google Vision
Búsqueda de la API de Google Vision

Ahora busque Vision y haga clic en el botón. Aquí debería haber un botón Habilitar deslumbrante. Presiónelo.

Paso 5: Navegue a Credenciales

Navegar a Credenciales
Navegar a Credenciales

Lo último que debemos hacer es obtener la clave API. Esto debe incluirse en los encabezados de llamadas a la API para la autenticación.

No dejes que nadie obtenga tu clave API. Y no lo codifique en su código. Créeme, esto te morderá. Si esto se introduce accidentalmente en la web, un rastreador web lo encontrará rápidamente y usted pagará miles de millones de dólares.

Deja que este artículo te asuste un poco.

El desarrollador coloca las claves de AWS en Github

¡OK! Vamos a buscar tu clave API. Encuentra la sección Credenciales

Paso 6: Cree la clave de API de Google Vision

Crear una clave de API de Google Vision
Crear una clave de API de Google Vision
Crear una clave de API de Google Vision
Crear una clave de API de Google Vision

Probablemente no verá ninguna credencial creada, ya que probablemente aún no haya creado ninguna.

Creemos una nueva clave API. Le daría un nombre significativo a la clave y la limitaría solo a la API de Google Cloud. Continúe y copie su clave API, ya que la necesitaremos en el siguiente paso.

Paso 7: Configuración lateral de Raspberry Pi

Los artículos enumerados en la parte superior de este lo ayudarán a configurar la Raspberry Pi para este paso. Pero si está haciendo las cosas de manera diferente, la mayor parte de esto debería funcionar para usted. Sin embargo, cuando lleguemos a la parte de las variables de entorno, será diferente para otras versiones de Linux.

Comience por SSH en su Pi.

Y actualiza todos los paquetes

sudo pacman -Syu

Vamos a crear una variable de entorno para la API de Google Cloud Vision. Esto es para evitar codificar su clave API en el código más abajo. Eso funcionará, pero le recomiendo que se quede conmigo y configure un administrador de variables de entorno para manejar la API.

Cambie al usuario root escribiendo

su

Ingresa tu contraseña.

Lo siguiente que hacemos es agregar su clave de API de Google Vision como una variable de entorno a la

/ etc / profile

esto debería hacer que se inicialice en el arranque.

Tipo, reemplazando

YOUR_API_KEY

con su clave API real.

echo 'exportar GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> / etc / profile

Ahora reinicia la Pi para que surta efecto.

sudo reiniciar

Vuelva a iniciar sesión. Comprobemos que se está cargando la clave API.

echo $ GOOGLE_CLOUD_VISION_API_KEY

Si su clave de API se repite, debería estar listo para comenzar.

Paso 8: Configuración del proyecto

Configuración del proyecto
Configuración del proyecto

Creemos un directorio de proyecto.

mkdir google-vis

cd google-vis

Ahora inicialicemos un nuevo proyecto de nodo.

npm init

No dude en personalizar los detalles del paquete si lo desea. Si eres perezoso como yo, presiona Enter hasta que regreses al símbolo del sistema.

Agreguemos las bibliotecas de nodo necesarias. Es uno. La biblioteca axios, que habilita solicitudes web asíncronas.

npm axios

Imagen
Imagen

Además, creemos un directorio de recursos y descarguemos nuestra hermosa imagen de prueba. ¡Ah, señorita Hepburn!

Asegúrate de estar en el

google-vis / resources

directorio del proyecto al descargar la imagen.

recursos mkdir

recursos de cd wget

Paso 9:

Cree un archivo en el

go-vis

directorio llamado

app.js

nano app.js

Luego pegue el código a continuación y guarde el archivo escribiendo CTRL + O y saliendo usando CTRL + X.

//

const const axios = require ('axios'); const fs = require ('fs');

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

if (! API_KEY) {

console.log ('No se proporcionó clave de API')}

function base64_encode (archivo) {

// leer datos binarios var bitmap = fs.readFileSync (archivo); // convertir datos binarios a una cadena codificada en base64 return new Buffer (mapa de bits).toString ('base64'); } var base64str = base64_encode ('./ resources / audrey.jpg');

const apiCall = `https://vision.googleapis.com/v1/images:annotate?key=$ {API_KEY}`;

const reqObj = {

solicitudes: [{"image": {"content": base64str}, "features": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"type": "IMAGE_PROPERTIES", "maxResults": 5}]}]}

axios.post (apiCall, reqObj).then ((respuesta) => {

console.log (respuesta); console.log (JSON.stringify (response.data.responses, undefined, 4)); }). catch ((e) => {console.log (e.response);});

Este código toma la variable de entorno de la clave API y crea una constante de programa a partir de ella.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Así es como evitamos codificar la clave API.

Paso 10:

Ejecutemos el programa.

nodo app.js

Si todo salió bien, debería obtener un resultado similar al siguiente

datos: {respuestas:

Paso 11: Y mucho más …

Este artículo es breve, un comienzo rápido. Sin embargo, aquí hay mucho potencial. Por ejemplo, enviar sus propias imágenes con la cámara Raspberry Pi

  • raspicam
  • pi-cámara

No dude en hacer cualquier pregunta sobre cómo utilizar la salida.

Hay otras solicitudes de detección de funciones.

API de Google Vision: otras funciones

Sin embargo, voy a terminar el artículo y continuar con mis sistemas de detección de visión. Tan pronto como descubra el descenso de gradiente estocástico.

Recomendado: