Obsah:

Google Vision API pomocí Raspberry Pi a Node: 11 kroků
Google Vision API pomocí Raspberry Pi a Node: 11 kroků

Video: Google Vision API pomocí Raspberry Pi a Node: 11 kroků

Video: Google Vision API pomocí Raspberry Pi a Node: 11 kroků
Video: How do I hide my IP address? | 3 effective ways to hide your IP! 2024, Listopad
Anonim
Google Vision API pomocí Raspberry Pi a Node
Google Vision API pomocí Raspberry Pi a Node

Toto je úvodní příručka k používání rozhraní Google Vision API. Používá následující

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • připojení k internetu

Neznáte Arch Linux? Nebo jak nastavit Raspberry Pi? Nebojte se, napsal jsem sérii článků, které to celkem rychle pokrývají. Nastavení je mnohem snazší, než si myslíte. Nenechte se tím odradit.

  • Instalace Arch Linuxu na Raspberry Pi s okamžitým přístupem WiFi
  • Nastavte i2c na Raspberry Pi Zero W pomocí Arch Linuxu
  • Nastavte NodeJS Project Space na Raspberry Pi Zero W
  • Přenos kódu ovladače motoru DRV8830 I2C do NodeJS
  • Vzdálená úprava kódu Raspberry Pi z kódu Visual Studio
  • Robot 1B1

Titulní fotografie Andy Kelly na Unsplash

Krok 1: Získejte účet Google API

Je smutné, že Google Vision API není zcela bezplatná služba. V době psaní účtu API poskytuje 1000 bezplatných volání API Google Vision za měsíc. Pak je to 1,00 $ za každých 1 000 hovorů.

Vím, vím, není to tak špatné. Ale toto není komerční projekt. Chci to použít pro putting malého domácího robota. Pokud moje žena dostane účet za 40 dolarů, protože jsem se rozhodl streamovat obrázky do API, bude to mrtvý robot. Každopádně jsem si myslel, že tu službu ještě prozkoumám na hloupé a chichotání.

Chcete -li získat účet, navštivte

Google Console

A přihlaste se pomocí stávajícího účtu Google nebo si jej vytvořte.

Krok 2: Zadejte fakturační údaje

Zadejte fakturační údaje
Zadejte fakturační údaje

Tady je ta děsivá část, že než začnete, musíte zadat své fakturační údaje. Pamatujte si, že vám bude účtováno více než 1000 hovorů. Opět platí, že pokud překročíte 1 000 bezplatných hovorů, budou vám účtovány poplatky. (Co? Už jsem to řekl? Ach.)

Krok 3: Otevřete knihovnu API

Otevřete knihovnu API
Otevřete knihovnu API

Po nastavení fakturačních údajů ještě musíme povolit rozhraní Cloud Vision API. Jedná se o bezpečnostní funkci, v zásadě jsou všechna rozhraní Google API ve výchozím nastavení zakázána, takže pokud někdo omylem získá přístup, nerozpoutá všude peklo.

Krok 4: Vyhledejte Google Vision API

Vyhledejte Google Vision API
Vyhledejte Google Vision API

Nyní vyhledejte Vision a klikněte na tlačítko. Zde by mělo být do očí bijící tlačítko Povolit. Zmáčkni to.

Krok 5: Přejděte na Pověření

Přejděte na Pověření
Přejděte na Pověření

Poslední věc, kterou musíme udělat, je získat klíč API. To je třeba zahrnout do hlaviček volání API pro autentizaci.

Nedovolte nikomu získat váš klíč API. A nekódujte to ve svém kódu. Věř mi, tohle tě kousne. Pokud se to náhodou dostane na web, webový prohledávač to rychle najde a vy budete platit bajiliony dolarů.

Nechte se tímto článkem trochu vyděsit.

Vývojář nasazuje klíče AWS na Github

OK! Pojďme získat klíč API. Najděte sekci Pověření

Krok 6: Vytvořte klíč API Google Vision

Vytvořte klíč API Google Vision
Vytvořte klíč API Google Vision
Vytvořte klíč API Google Vision
Vytvořte klíč API Google Vision

Pravděpodobně neuvidíte žádná vytvořená pověření, protože jste je pravděpodobně ještě nevytvořili.

Pojďme vytvořit nový klíč API. Klíč bych pojmenoval něčím smysluplným a omezil bych jej pouze na Google Cloud API. Pokračujte a zkopírujte si klíč API, protože jej budeme potřebovat v dalším kroku.

Krok 7: Boční nastavení Raspberry Pi

Články uvedené v horní části tohoto článku vám pomohou nastavit Raspberry Pi pro tento krok. Pokud ale děláte věci jinak, většina z toho by vám stále měla fungovat. Když se však dostaneme k části proměnných prostředí, bude to jiné pro jiné varianty Linuxu.

Začněte tím, že se SSH dostanete do svého Pi.

A aktualizujte všechny balíčky

sudo pacman -Syu

Vytvoříme proměnnou prostředí pro Google Cloud Vision API. To má zabránit tomu, aby byl váš klíč API pevně zakódován do kódu dále dolů. To bude fungovat, ale vřele doporučuji, abyste zůstali se mnou a nastavili správce proměnných prostředí, který bude zpracovávat API.

Přepněte na uživatele root zadáním

su

Zadejte heslo.

Další věc, kterou uděláme, je přidat klíč Google Vision API jako proměnnou prostředí do souboru

/etc/profil

soubor, to by mělo způsobit jeho inicializaci při spuštění.

Zadejte, vyměňte

VAŠE_API_Klíč

s vaším skutečným klíčem API.

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

Nyní restartujte Pi, aby se to projevilo.

sudo restart

Přihlaste se zpět. Zkontrolujeme, zda načítá klíč API.

echo $ GOOGLE_CLOUD_VISION_API_KEY

Pokud se váš klíč API odráží zpět, měli byste jít.

Krok 8: Nastavení projektu

Nastavení projektu
Nastavení projektu

Pojďme vytvořit adresář projektu.

mkdir google-vis

cd google-vis

Nyní pojďme inicializovat nový projekt Node.

npm init

Pokud chcete, můžete si podrobnosti balíčku přizpůsobit. Pokud jste líní jako já, stiskněte klávesu Enter, dokud se nevrátíte do příkazového řádku.

Přidejme potřebné knihovny uzlů. Je to jeden. Knihovna axios, která umožňuje asynchronní webové požadavky.

npm axios

obraz
obraz

Také vytvořme adresář zdrojů a stáhněte si náš krásný testovací obrázek. Ach, slečno Hepburnová!

Ujistěte se, že jste v

google-vis/zdroje

adresář projektu při stahování obrázku.

zdroje mkdir

cd resources wget

Krok 9:

Vytvořte soubor v souboru

jít-vis

volaný adresář

app.js

nano app.js

Poté vložte níže uvedený kód a uložte soubor zadáním CTRL+O a ukončením pomocí 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 API key provided')}

funkce base64_encode (soubor) {

// číst binární data var bitmapa = fs.readFileSync (soubor); // převod binárních dat na řetězec kódovaný base64 vrátí 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žadavky: [{"image": {"content": base64str}, "features": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"type": "IMAGE_PROPERTIES", "maxResults": 5}]}]}}

axios.post (apiCall, reqObj).then ((odpověď) => {

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

Tento kód uchopí proměnnou prostředí klíče API a vytvoří z ní programovou konstantu.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Takto se vyhneme hardcodingu klíče API.

Krok 10:

Spusťme program.

uzel app.js

Pokud vše proběhlo dobře, měli byste získat podobný výstup jako níže

data: {response:

Krok 11: A mnohem více…

Tento článek je krátký-skokový start. Zde je však velký potenciál. Například odesílání vlastních obrázků pomocí kamery Raspberry Pi

  • raspicam
  • pi-kamera

Neváhejte se zeptat na jakékoli otázky týkající se použití výstupu.

Existují další požadavky na detekci funkcí.

Google Vision API - další funkce

Nicméně ukončím článek a přejdu k převádění svých systémů na detekci zraku. Jakmile zjistím stochastický gradientový sestup.

Doporučuje: