Obsah:

Google Vision API pomocou Raspberry Pi a Node: 11 krokov
Google Vision API pomocou Raspberry Pi a Node: 11 krokov

Video: Google Vision API pomocou Raspberry Pi a Node: 11 krokov

Video: Google Vision API pomocou Raspberry Pi a Node: 11 krokov
Video: Пять мифов о Raspberry Pi: зачем создавалась, как работает с Win 10 и кто победит — Pi 3 или Arduino 2024, Júl
Anonim
Google Vision API pomocou Raspberry Pi a Node
Google Vision API pomocou Raspberry Pi a Node

Toto je úvodná príručka k používaniu rozhrania Google Vision API. Využíva nasledujúce

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • pripojenie k internetu

Nepoznáte Arch Linux? Alebo ako nastaviť Raspberry Pi? Nebojte sa, napísal som sériu článkov, ktoré sa jej venujú pomerne rýchlo. Nastavenie je oveľa jednoduchšie, ako si myslíte. Nenechajte sa tým odradiť.

  • Inštalácia Arch Linuxu na Raspberry Pi s okamžitým prístupom WiFi
  • Nastavte i2c na Raspberry Pi Zero W pomocou Arch Linuxu
  • Nastavte priestor projektu NodeJS na Raspberry Pi Zero W
  • Portovanie kódu vodiča motora DRV8830 I2C do NodeJS
  • Vzdialená úprava kódu Raspberry Pi z kódu Visual Studio
  • 1B1 Robot

Titulná fotografia Andy Kellyho na Unsplash

Krok 1: Získajte účet Google API

Google Vision API bohužiaľ nie je úplne bezplatná služba. V čase písania účtu API poskytuje mesačne 1 000 bezplatných hovorov rozhrania Google Vision API. Potom je to 1,00 USD za každých 1 000 hovorov.

Viem, viem, nie je to také zlé. Nejde však o komerčný projekt. Chcem to použiť na malého domáceho robota. Ak moja manželka dostane účet za 40 dolárov, pretože som sa rozhodol streamovať obrázky do API, bude to mŕtvy robot. Každopádne som si myslel, že by som tú službu stále preskúmal, či sa v nej nenachádzajú chrapúne a chichoty.

Ak chcete získať účet, navštívte

Konzola Google

Prihláste sa pomocou existujúceho účtu Google alebo si ho vytvorte.

Krok 2: Zadajte informácie o fakturácii

Zadajte fakturačné údaje
Zadajte fakturačné údaje

Teraz je tu tá strašidelná časť, predtým, ako budete pokračovať, musíte zadať svoje fakturačné údaje. Pamätajte si, že pri viac ako 1 000 hovoroch vám budú účtované poplatky. Opäť platí, že ak prekročíte 1 000 bezplatných hovorov, budú vám účtované poplatky. (Čo? Už som to povedal? Oh.)

Krok 3: Otvorte knižnicu API

Otvorte knižnicu API
Otvorte knižnicu API

Po nastavení fakturačných informácií musíme stále povoliť rozhranie Cloud Vision API. Toto je bezpečnostná funkcia, v zásade sú všetky rozhrania Google API v predvolenom nastavení zakázané, takže ak niekto omylom získa prístup, nerozpútava všade peklo.

Krok 4: Vyhľadajte rozhranie Google Vision API

Vyhľadajte rozhranie Google Vision API
Vyhľadajte rozhranie Google Vision API

Teraz vyhľadajte Vision a kliknite na tlačidlo. Tu by malo byť krikľavé tlačidlo Povoliť. Stlačte ho.

Krok 5: Prejdite na poverenia

Prejdite na položku Poverenia
Prejdite na položku Poverenia

Posledná vec, ktorú musíme urobiť, je získať kľúč API. Toto musí byť zahrnuté do hlavičiek hovorov API na autentifikáciu.

Nedovoľte nikomu získať váš kľúč API. A nekódujte to vo svojom kóde napevno. Ver mi, toto ťa uhryzne. Ak sa to náhodou dostane na web, prehľadávač webu to rýchlo nájde a vy zaplatíte bajilióny dolárov.

Nech vás tento článok trochu vydesí.

Vývojár nasadzuje kľúče AWS na Github

Dobre! Poďme získať váš kľúč API. Nájdite sekciu poverenia

Krok 6: Vytvorte kľúč API rozhrania Google Vision

Vytvorte kľúč API rozhrania Google Vision
Vytvorte kľúč API rozhrania Google Vision
Vytvorte kľúč API rozhrania Google Vision
Vytvorte kľúč API rozhrania Google Vision

Pravdepodobne neuvidíte žiadne poverenia, pretože ste ich pravdepodobne ešte nevytvorili.

Vytvorme nový kľúč API. Kľúč by som nazval zmysluplným a obmedzil by som ho iba na Google Cloud API. Pokračujte a skopírujte si kľúč API, pretože ho budeme potrebovať v nasledujúcom kroku.

Krok 7: Bočné nastavenie Raspberry Pi

Články uvedené v hornej časti tohto článku vám pomôžu nastaviť Raspberry Pi pre tento krok. Ale ak robíte veci inak, väčšina z toho by vám mala fungovať. Keď sa však dostaneme k časti o premenných prostredia, bude to iné pre ostatné verzie Linuxu.

Začnite tým, že SSH vstúpite do svojho Pi.

A aktualizujte všetky balíky

sudo pacman -Syu

Vytvoríme premennú prostredia pre Google Cloud Vision API. Toto sa má vyhnúť pevnému kódovaniu vášho kľúča API do kódu nižšie. To bude fungovať, ale dôrazne odporúčam, aby ste zostali so mnou a nastavili si správcu premenných prostredia, ktorý bude spracovávať API.

Prepnite na užívateľa root zadaním

su

Zadajte svoje heslo.

Ďalšou vecou, ktorú urobíme, je pridať váš kľúč Google Vision API ako premennú prostredia do súboru

/etc/profil

súbor, čo by malo spôsobiť jeho inicializáciu pri zavádzaní.

Typ, výmena

VÁŠ_API_KĽÚČ

s vašim skutočným kľúčom API.

echo 'export GOOGLE_CLOUD_VISION_API_KEY = VAŠE_API_KEY' >> /etc /profile

Teraz reštartujte Pi, aby sa to prejavilo.

sudo reštart

Prihláste sa znova. Skontrolujeme, či načítava kľúč API.

echo $ GOOGLE_CLOUD_VISION_API_KEY

Ak sa váš kľúč API zopakuje, mali by ste ísť.

Krok 8: Nastavenie projektu

Nastavenie projektu
Nastavenie projektu

Vytvorme adresár projektu.

mkdir google-vis

cd google-vis

Teraz inicializujme nový projekt Node.

npm init

Ak chcete, môžete si prispôsobiť podrobnosti balíka. Ak ste leniví ako ja, stlačte kláves Enter, kým sa nevrátite do príkazového riadka.

Pridajme potrebné knižnice uzlov. Je to jeden Knižnica axios, ktorá umožňuje asynchrónne webové požiadavky.

osi npm

Obrázok
Obrázok

Vytvorme tiež adresár zdrojov a stiahnite si náš krásny testovací obrázok. Ach, slečna Hepburnová!

Uistite sa, že ste v

google-vis/zdroje

adresár projektu pri sťahovaní obrázku.

zdroje mkdir

cd resources wget

Krok 9:

Vytvorte súbor v priečinku

ísť-vis

adresár s názvom

app.js

nano app.js

Potom vložte nižšie uvedený kód a uložte súbor stlačením klávesov CTRL+O a ukončením pomocou klávesov 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 ('Nie je poskytovaný žiadny kľúč API')}

funkcia base64_encode (súbor) {

// čítať binárne údaje var bitmap = fs.readFileSync (súbor); // konverzia binárnych dát na reťazec kódovaný base64 vráti nový Buffer (bitmapa).toString ('base64'); } var base64str = base64_encode ('./ resources/audrey.jpg');

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

const reqObj = {

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

axios.post (apiCall, reqObj). potom ((odpoveď) => {

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

Tento kód uchopí premennú prostredia kľúča API a vytvorí z nej programovú konštantu.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Takto sa vyhneme hardcodingu kľúča API.

Krok 10:

Spustime program.

uzol app.js

Ak všetko prebehlo dobre, mali by ste získať podobný výstup ako nižšie

údaje: {response:

Krok 11: A oveľa viac…

Tento článok je krátky-skokový štart. Je tu však veľký potenciál. Napríklad odosielanie vlastných obrázkov pomocou fotoaparátu Raspberry Pi

  • raspicam
  • pi-kamera

Neváhajte sa opýtať na akékoľvek otázky týkajúce sa použitia výstupu.

Existujú ďalšie požiadavky na zisťovanie funkcií.

Google Vision API - ďalšie funkcie

Ukončím však článok a prejdem k používaniu systémov na detekciu zraku. Hneď ako prídem na stochastický gradientový zostup.

Odporúča: