Innehållsförteckning:
- Steg 1: Skaffa ett Google API -konto
- Steg 2: Ange faktureringsinformation
- Steg 3: Öppna API -biblioteket
- Steg 4: Sök efter Google Vision API
- Steg 5: Navigera till Credentials
- Steg 6: Skapa Google Vision API -nyckel
- Steg 7: Raspberry Pi Side Setup
- Steg 8: Projektinställning
- Steg 9:
- Steg 10:
- Steg 11: Och så mycket mer …
Video: Google Vision API med Raspberry Pi och Node: 11 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Detta är en startguide för att använda Google Vision API. Det använder följande
- Raspberry Pi Zero W
- Arch Linux
- NodeJS
- Internet anslutning
Känner du inte Arch Linux? Eller hur installerar jag en Raspberry Pi? Oroa dig inte, jag har skrivit en serie artiklar som täcker det ganska snabbt. Det är mycket lättare att installera än du tror. Så låt det inte avskräcka dig.
- Installera Arch Linux på Raspberry Pi med omedelbar WiFi -åtkomst
- Installera i2c på Raspberry Pi Zero W med Arch Linux
- Konfigurera NodeJS Project Space på Raspberry Pi Zero W
- Portar DRV8830 I2C -motordrivrutinkod till NodeJS
- Redigera Raspberry Pi -koden på distans från Visual Studio Code
- 1B1 Robot
Omslagsfoto av Andy Kelly på Unsplash
Steg 1: Skaffa ett Google API -konto
Tyvärr är Google Vision API inte en helt gratis tjänst. I skrivande stund ger ett API -konto 1000 gratis Google Vision API -samtal i månaden. Sedan är det 1,00 dollar för varje 1000 samtal.
Jag vet, jag vet, inte så illa. Men det här är inte ett kommersiellt projekt. Jag vill använda den för en puttering liten husbot. Om min fru får en räkning för $ 40 eftersom jag bestämde mig för att strömma bilder till API: t, blir det en död bot. Hur som helst, jag trodde att jag fortfarande skulle utforska tjänsten för poo-och-fniss.
För att få ett konto besök
Google Console
Och logga in med ett befintligt Google-konto eller skapa ett.
Steg 2: Ange faktureringsinformation
Nu, här är den skrämmande delen, du måste ange din faktureringsinformation innan du sätter igång. Kom ihåg att du debiteras om du går över 1000 samtal. Återigen, om du överskrider dina 1 000 gratis samtal debiteras du. (Vad? Jag sa det redan? Åh.)
Steg 3: Öppna API -biblioteket
Efter att ha konfigurerat faktureringsinformation behöver vi fortfarande aktivera Cloud Vision API. Detta är en säkerhetsfunktion, i huvudsak är alla Googles API: er inaktiverade som standard, så om någon av misstag får åtkomst släpper de inte loss helvetet överallt.
Steg 4: Sök efter Google Vision API
Sök nu efter Vision och klicka på knappen. Här borde det finnas en bländande Aktiveringsknapp. Tryck på den.
Steg 5: Navigera till Credentials
Det sista vi behöver göra är att skaffa API -nyckeln. Detta måste inkluderas i API -samtalsrubrikerna för autentisering.
Låt inte någon få din API -nyckel. Och inte hårdkoda det i din kod. Lita på mig, det här kommer att bita dig. Om detta av misstag skjuts upp på webben hittar en webcrawler det snabbt och du kommer att betala miljarder dollar.
Låt den här artikeln skrämma dig lite.
Utvecklare lägger AWS -nycklar på Github
Ok! Låt oss hämta din API -nyckel. Hitta avsnittet referenser
Steg 6: Skapa Google Vision API -nyckel
Du kommer förmodligen inte att se några inloggningsuppgifter skapade, eftersom du förmodligen inte har skapat några än.
Låt oss skapa en ny API -nyckel. Jag skulle döpa nyckeln till något meningsfullt och begränsa den till endast Google Cloud API. Fortsätt och kopiera din API -nyckel, eftersom vi kommer att behöva den i nästa steg.
Steg 7: Raspberry Pi Side Setup
Artiklarna som listas högst upp i den här hjälper dig att konfigurera Raspberry Pi för detta steg. Men om du gör saker annorlunda borde det mesta av detta fortfarande fungera för dig. Men när vi kommer till delen om miljövariabler kommer det att vara annorlunda för andra Linux -smaker.
Börja med att SSH'a in i din Pi.
Och uppdatera alla paket
sudo pacman -Syu
Vi ska skapa en miljövariabel för Google Cloud Vision API. Detta för att undvika hårdkodning av din API -nyckel i koden längre ner. Det kommer att fungera, men jag rekommenderar starkt att du håller dig till mig och konfigurerar en miljövariabelhanterare för att hantera API: et.
Byt till rotanvändaren genom att skriva
su
Ange ditt lösenord.
Nästa sak vi gör är att lägga till din Google Vision API -nyckel som en miljövariabel till
/etc/profile
fil, bör detta orsaka att den initialiseras vid start.
Typ, byt ut
YOUR_API_KEY
med din faktiska API -nyckel.
echo 'export GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> /etc /profile
Starta om Pi nu så att det träder i kraft.
sudo starta om
Logga in igen. Låt oss kontrollera att API -nyckeln laddas.
eko $ GOOGLE_CLOUD_VISION_API_KEY
Om din API -nyckel ekas tillbaka, bör du vara bra att gå.
Steg 8: Projektinställning
Låt oss skapa en projektkatalog.
mkdir google-vis
cd google-vis
Låt oss nu initiera ett nytt Node -projekt.
npm init
Anpassa gärna paketet om du vill. Om du är lat som jag, tryck på enter tills du är tillbaka till kommandotolken.
Låt oss lägga till de nodbibliotek som behövs. Det är en. Axios -biblioteket, som möjliggör asynkroniserade webbförfrågningar.
npm axios
Låt oss också skapa en resurskatalog och ladda ner vår härliga testbild. Åh, fröken Hepburn!
Se till att du är i
google-vis/resurser
projektkatalog när du laddar ner bilden.
mkdir -resurser
Steg 9:
Skapa en fil i
go-vis
katalogen kallas
app.js
nano app.js
Klistra sedan in koden nedan och spara filen genom att skriva CTRL+O och avsluta med CTRL+X.
//
const const axios = require ('axios'); const fs = kräver ('fs');
const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY
om (! API_KEY) {
console.log ('Ingen API -nyckel tillhandahålls')}
function base64_encode (fil) {
// läs binär data var bitmap = fs.readFileSync (fil); // konvertera binär data till base64 kodad sträng returnera ny buffert (bitmapp).toString ('base64'); } var base64str = base64_encode ('./ resources/audrey.jpg');
const apiCall = `https://vision.googleapis.com/v1/images:annotate?key=$ {API_KEY}`;
const reqObj = {
förfrågningar: [{"image": {"content": base64str}, "features": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"type": "IMAGE_PROPERTIES", "maxResults": 5}]}]}}
axios.post (apiCall, reqObj). sedan ((svar) => {
console.log (svar); console.log (JSON.stringify (response.data.responses, odefinierat, 4)); }). catch ((e) => {console.log (e.response);});
Den här koden tar tag i API -nyckelns miljövariabel och skapar en programkonstant från den.
const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY
Så här undviker vi hårdkodning av API -nyckeln.
Steg 10:
Låt oss köra programmet.
nod app.js
Om allt gick bra borde du få liknande utdata som nedan
data: {response:
Steg 11: Och så mycket mer …
Denna artikel är kort-en start. Det finns dock mycket potential här. Skicka till exempel dina egna bilder med Raspberry Pi -kameran
- raspicam
- pi-kamera
Ställ gärna frågor om hur du använder utdata.
Det finns andra begäranden om funktionsdetektering.
Google Vision API - Andra funktioner
Men jag kommer att avsluta artikeln och fortsätta att rulla mina system för syndetektering. Så fort jag räknar ut stokastisk nedgång.
Rekommenderad:
Temperatur- och luftfuktighetsövervakning med NODE MCU OCH BLYNK: 5 steg
Temperatur- och luftfuktighetsövervakning med NODE MCU OCH BLYNK: Hej killar I denna instruktör kan vi lära oss hur du får temperatur och luftfuktighet i atmosfären med DHT11-temperatur- och fuktighetssensor med hjälp av Node MCU och BLYNK-appen
Persienner med ESP8266, Google Home och Openhab -integration och webbkontroll: 5 steg (med bilder)
Kontroll av persienner med ESP8266, Google Home och Openhab -integration och webbkontroll: I den här instruktionsboken visar jag dig hur jag lade automatisering till mina persienner. Jag ville kunna lägga till och ta bort automatiseringen, så all installation är klämd på. Huvuddelarna är: Stegmotor Stegdrivrutinstyrd vid ESP-01 Växel och montering
Taligenkänning med Google Speech API och Python: 4 steg
Taligenkänning med Google Speech API och Python: Taligenkänning Taligenkänning är en del av Natural Language Processing som är ett delområde för artificiell intelligens. För att uttrycka det enkelt är taligenkänning en dators programvarors förmåga att identifiera ord och fraser i talat språk
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid