Índice:

API Google Vision usando Raspberry Pi e Node: 11 etapas
API Google Vision usando Raspberry Pi e Node: 11 etapas

Vídeo: API Google Vision usando Raspberry Pi e Node: 11 etapas

Vídeo: API Google Vision usando Raspberry Pi e Node: 11 etapas
Vídeo: I Ran ChatGPT on a Raspberry Pi Locally! 2024, Novembro
Anonim
API Google Vision usando Raspberry Pi e Node
API Google Vision usando Raspberry Pi e Node

Este é um guia inicial para usar a API do Google Vision. Ele usa o seguinte

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • conexão de internet

Não conhece o Arch Linux? Ou como configurar um Raspberry Pi? Não se preocupe, escrevi uma série de artigos que abordam isso muito rapidamente. É muito mais fácil de configurar do que você pensa. Portanto, não se deixe dissuadir.

  • Instalando Arch Linux no Raspberry Pi com Acesso WiFi Imediato
  • Configure o i2c no Raspberry Pi Zero W usando Arch Linux
  • Configurar o espaço do projeto NodeJS no Raspberry Pi Zero W
  • Portando o código do driver do motor DRV8830 I2C para o NodeJS
  • Editando o código Raspberry Pi remotamente a partir do código do Visual Studio
  • Robô 1B1

Foto da capa por Andy Kelly no Unsplash

Etapa 1: obtenha uma conta API do Google

Infelizmente, a API do Google Vision não é um serviço totalmente gratuito. No momento em que este artigo é escrito, uma conta de API fornece 1.000 chamadas gratuitas de API do Google Vision por mês. Então, é $ 1,00 para cada 1000 ligações.

Eu sei, eu sei, não muito ruim. Mas este não é um projeto comercial. Estou querendo usá-lo como um pequeno robô doméstico. Se minha esposa receber uma conta de $ 40 porque decidi transmitir imagens para a API, bem, será um bot morto. De qualquer forma, pensei em explorar o serviço para fazer cocô e risadinhas.

Para obter uma visita de conta

Console do Google

E faça login com uma conta do Google existente ou crie uma.

Etapa 2: Insira as informações de faturamento

Digite Informações de faturamento
Digite Informações de faturamento

Agora, aqui está a parte assustadora, você deve inserir suas informações de faturamento antes de prosseguir. Lembre-se de que você será cobrado se fizer mais de 1000 chamadas. Novamente, se você exceder as 1.000 chamadas gratuitas, será cobrado. (O quê? Eu já disse isso? Oh.)

Etapa 3: Abra a Biblioteca de API

Abra a biblioteca de API
Abra a biblioteca de API

Depois de configurar as informações de faturamento, ainda precisamos habilitar a API Cloud Vision. Este é um recurso de segurança, essencialmente, todas as APIs do Google são desabilitadas por padrão, portanto, se alguém acidentalmente obtiver acesso, eles não desencadearão o inferno em todos os lugares.

Etapa 4: Pesquisar API do Google Vision

Pesquisar API Google Vision
Pesquisar API Google Vision

Agora procure por Vision e clique no botão. Aqui deve haver um botão Ativar evidente. Pressione-o.

Etapa 5: Navegue até as credenciais

Navegue até as credenciais
Navegue até as credenciais

A última coisa que precisamos fazer é obter a chave da API. Isso precisa ser incluído nos cabeçalhos de chamada de API para autenticação.

Não deixe ninguém obter sua chave de API. E não fixe em seu código. Acredite em mim, isso vai te morder. Se isso acidentalmente for enviado para a web, um rastreador da web irá encontrá-lo rapidamente e você estará pagando bilhões de dólares.

Deixe este artigo assustar você um pouco.

Desenvolvedor coloca chaves AWS no Github

OK! Vamos pegar sua chave de API. Encontre a seção de credenciais

Etapa 6: Criar chave de API do Google Vision

Criar chave de API do Google Vision
Criar chave de API do Google Vision
Criar chave de API do Google Vision
Criar chave de API do Google Vision

Você provavelmente não verá nenhuma credencial criada, pois provavelmente ainda não criou nenhuma.

Vamos criar uma nova chave de API. Eu nomearia a chave com algo significativo e a limitaria apenas à API do Google Cloud. Vá em frente e copie sua chave de API, pois precisaremos dela na próxima etapa.

Etapa 7: configuração do lado Raspberry Pi

Os artigos listados no início deste irão ajudá-lo a configurar o Raspberry Pi para esta etapa. Mas se você estiver fazendo as coisas de maneira diferente, a maior parte disso ainda deve funcionar para você. No entanto, quando chegarmos à parte sobre variáveis de ambiente, isso será diferente para outros tipos de Linux.

Comece por SSH'ing em seu Pi.

E atualize todos os pacotes

sudo pacman -Syu

Vamos criar uma variável de ambiente para a API Google Cloud Vision. Isso evita a codificação de sua chave de API no código mais abaixo. Isso vai funcionar, mas eu recomendo fortemente que você fique comigo e configure um gerenciador de variáveis de ambiente para lidar com a API.

Mude para o usuário root digitando

su

Coloque sua senha.

A próxima coisa que fazemos é adicionar sua chave de API do Google Vision como uma variável de ambiente para o

/ etc / profile

arquivo, isso deve fazer com que seja inicializado na inicialização.

Digite, substituindo

YOUR_API_KEY

com sua chave de API real.

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

Agora reinicie o Pi para que tenha efeito.

sudo reboot

Faça login novamente. Vamos verificar se ele está carregando a chave de API.

echo $ GOOGLE_CLOUD_VISION_API_KEY

Se sua chave de API for repetida, você deve estar pronto para prosseguir.

Etapa 8: Configuração do projeto

Configuração do Projeto
Configuração do Projeto

Vamos criar um diretório de projeto.

mkdir google-vis

cd google-vis

Agora vamos inicializar um novo projeto Node.

npm init

Sinta-se à vontade para personalizar os detalhes do pacote, se desejar. Se você for preguiçoso como eu, pressione Enter até voltar ao prompt de comando.

Vamos adicionar as bibliotecas de Nó necessárias. É um. A biblioteca axios, que permite solicitações da web assíncronas.

npm axios

Imagem
Imagem

Além disso, vamos criar um diretório de recursos e baixar nossa adorável imagem de teste. Ah, senhorita Hepburn!

Certifique-se de que você está no

google-vis / resources

diretório do projeto ao baixar a imagem.

recursos mkdir

recursos de cd wget

Etapa 9:

Crie um arquivo no

go-vis

diretório chamado

app.js

nano app.js

Em seguida, cole o código abaixo e salve o arquivo digitando CTRL + O e saindo 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 ('Nenhuma chave API fornecida')}

function base64_encode (arquivo) {

// ler dados binários var bitmap = fs.readFileSync (arquivo); // converte dados binários em string codificada em base64 retorna novo Buffer (bitmap).toString ('base64'); } var base64str = base64_encode ('./ resources / audrey.jpg');

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

const reqObj = {

solicitações: [{"image": {"content": base64str}, "features": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"tipo": "IMAGE_PROPERTIES", "maxResults": 5}]}]}

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

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

Este código pega a variável de ambiente da chave API e cria uma constante de programa a partir dela.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

É assim que evitamos codificar a chave de API.

Etapa 10:

Vamos rodar o programa.

node app.js

Se tudo correr bem, você deve obter resultados semelhantes aos abaixo

dados: {responses:

Etapa 11: e muito mais …

Este artigo é curto - um salto inicial. No entanto, há muito potencial aqui. Por exemplo, enviar suas próprias imagens usando a câmera Raspberry Pi

  • raspicam
  • câmera pi

Sinta-se à vontade para fazer qualquer pergunta sobre como usar a saída.

Existem outras solicitações de detecção de recursos.

API Google Vision - Outros recursos

No entanto, vou encerrar o artigo e passar a implementar meus sistemas de detecção de visão. Assim que eu descobrir a descida gradiente estocástica.

Recomendado: