Kazalo:
- 1. korak: Pridobite račun Google API
- 2. korak: Vnesite podatke za obračun
- 3. korak: Odprite knjižnico API
- 4. korak: Poiščite Google Vision API
- 5. korak: Pomaknite se do poverilnic
- 6. korak: Ustvarite ključ API -ja za Google Vision
- 7. korak: Raspberry Pi Side Setup
- 8. korak: Nastavitev projekta
- 9. korak:
- 10. korak:
- 11. korak: In še veliko več …
Video: Google Vision API z uporabo Raspberry Pi in vozlišča: 11 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
To je začetni vodnik za uporabo API -ja Google Vision. Uporablja naslednje
- Raspberry Pi Zero W
- Arch Linux
- NodeJS
- internetna povezava
Ne poznate programa Arch Linux? Ali kako nastaviti Raspberry Pi? Brez skrbi, napisal sem vrsto člankov, ki to zelo hitro pokrivajo. Namestitev je veliko lažja, kot si mislite. Zato naj vas to ne odvrne.
- Namestitev Arch Linuxa na Raspberry Pi s takojšnjim dostopom do WiFi
- Namestite i2c na Raspberry Pi Zero W z uporabo Arch Linux
- Namestite projektni prostor NodeJS na Raspberry Pi Zero W
- Prenos kode gonilnika motorja DRV8830 I2C na NodeJS
- Urejanje kode Raspberry Pi na daljavo iz kode Visual Studio
- Robot 1B1
Naslovna fotografija Andyja Kellyja na Unsplash
1. korak: Pridobite račun Google API
Žal Google Vision API ni popolnoma brezplačna storitev. Račun API v času pisanja ponuja 1000 brezplačnih klicev API -ja Google Vision na mesec. Nato je 1,00 USD za vsakih 1000 klicev.
Vem, vem, ni hudo. Toda to ni komercialni projekt. Želim ga uporabiti za gnusnega hišnega bota. Če moja žena dobi račun za 40 USD, ker sem se odločil, da slike pretočim v API, bo to mrtev bot. Kakorkoli že, mislil sem, da bom še raziskal storitev za poo-and-giggles.
Za dostop do računa obiščite
Google Console
Prijavite se z obstoječim Google Računom ali ga ustvarite.
2. korak: Vnesite podatke za obračun
Tu je strašljiv del: pred začetkom morate vnesti podatke za obračun. Ne pozabite, da vam bomo zaračunali, če opravite več kot 1000 klicev. Še enkrat, če presežete 1000 brezplačnih klicev, vam bomo zaračunali. (Kaj? To sem že rekel? Oh.)
3. korak: Odprite knjižnico API
Po nastavitvi podatkov za obračun moramo še vedno omogočiti Cloud Vision API. To je varnostna funkcija, v bistvu so vsi Googlovi API -ji privzeto onemogočeni, zato če kdo slučajno dobi dostop, ne povsod sproži pekla.
4. korak: Poiščite Google Vision API
Zdaj poiščite Vision in kliknite gumb. Tu bi moral biti očiten gumb Omogoči. Pritisnite.
5. korak: Pomaknite se do poverilnic
Zadnja stvar, ki jo moramo storiti, je, da dobimo ključ API. To je treba vključiti v glave klicev API -ja za preverjanje pristnosti.
Nikomur ne dovolite, da dobi vaš ključ API. In tega ne kodirajte v kodi. Verjemite mi, to vas bo ugriznilo. Če se to po nesreči potisne v splet, ga bo spletni pajek hitro našel in plačali boste bajiljone dolarjev.
Naj vas ta članek nekoliko prestraši.
Razvijalec postavlja ključe AWS na Github
V redu! Pojdimo po ključ API. Poiščite razdelek poverilnice
6. korak: Ustvarite ključ API -ja za Google Vision
Verjetno ne boste videli nobenih poverilnic, saj jih še niste ustvarili.
Ustvarimo nov ključ API. Ključu bi dal nekaj smiselnega in ga omejil le na Google Cloud API. Pojdite naprej in kopirajte ključ API, saj ga bomo potrebovali v naslednjem koraku.
7. korak: Raspberry Pi Side Setup
Članki, navedeni na vrhu tega, vam bodo pomagali nastaviti Raspberry Pi za ta korak. Če pa počnete stvari drugače, bi vam večina tega morala delovati. Ko pa pridemo do dela o spremenljivkah okolja, bo pri drugih okusih Linuxa drugače.
Začnite tako, da SSH vstopite v svoj Pi.
In posodobite vse pakete
sudo pacman -Syu
Ustvarili bomo spremenljivko okolja za Google Cloud Vision API. S tem se izognete trdemu kodiranju ključa API v kodo spodaj. To bo delovalo, vendar toplo priporočam, da se držite mene in nastavite upravitelja spremenljivk okolja za upravljanje API -ja.
Z vnosom preklopite na korenskega uporabnika
su
Vnesite geslo.
Naslednja stvar, ki jo naredimo, je, da svoj ključ Google Vision API dodamo kot spremenljivko okolja v datoteko
/etc/profile
datoteko, to bi moralo povzročiti njeno inicializacijo ob zagonu.
Vrsta, zamenjava
YOUR_API_KEY
z vašim dejanskim ključem API.
echo 'export GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> /etc /profile
Zdaj znova zaženite Pi, da začne veljati.
sudo ponovni zagon
Znova se prijavite. Preverimo, ali nalaga ključ API.
odmev $ GOOGLE_CLOUD_VISION_API_KEY
Če vaš ključ API odmeva nazaj, bi morali biti pripravljeni.
8. korak: Nastavitev projekta
Ustvarimo imenik projekta.
mkdir google-vis
cd google-vis
Zdaj pa inicializiramo nov projekt Node.
npm init
Če želite, lahko prilagodite podrobnosti paketa. Če ste leni kot jaz, pritisnite enter, dokler se ne vrnete v ukazni poziv.
Dodajmo potrebne knjižnice vozlišč. To je eno. Knjižnica axios, ki omogoča asinhronske spletne zahteve.
npm axios
Ustvarimo tudi imenik virov in naložimo našo čudovito preskusno sliko. Ah, gospodična Hepburn!
Prepričajte se, da ste v
google-vis/resources
imenik projekta pri prenosu slike.
viri mkdir
9. korak:
Ustvarite datoteko v
go-vis
imenovan imenik
app.js
nano app.js
Nato prilepite spodnjo kodo in datoteko shranite tako, da vnesete CTRL+O in zapustite tipko CTRL+X.
//
const const axios = zahteva ('axios'); const fs = zahteva ('fs');
const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY
if (! API_KEY) {
console.log ('Ključ API ni naveden')}
funkcija base64_encode (datoteka) {
// branje binarnih podatkov var bitna slika = fs.readFileSync (datoteka); // pretvorimo binarne podatke v niz kodiran v base64 vrni nov vmesni pomnilnik (bitna slika).toString ('base64'); } var base64str = base64_encode ('./ resources/audrey.jpg');
const apiCall = `https://vision.googleapis.com/v1/images:annotate?key=$ {API_KEY}`;
const reqObj = {
zahteve: [{"image": {"content": base64str}, "features": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"type": "IMAGE_PROPERTIES", "maxResults": 5}]}]}
axios.post (apiCall, reqObj).then ((odgovor) => {
console.log (odgovor); console.log (JSON.stringify (response.data.responses, undefined, 4)); }). catch ((e) => {console.log (e.response);});
Ta koda zgrabi spremenljivko okolja ključa API in iz nje ustvari programsko konstanto.
const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY
Tako se izognemo trdemu kodiranju ključa API.
10. korak:
Zaženimo program.
vozlišče app.js
Če je vse v redu, bi morali dobiti podoben rezultat kot spodaj
podatki: {odgovori:
11. korak: In še veliko več …
Ta članek je kratek-začetek. Vendar je tukaj veliko potenciala. Na primer, pošiljanje lastnih slik z uporabo kamere Raspberry Pi
- raspicam
- pi-kamera
Prosimo vas, da zastavite kakršna koli vprašanja o uporabi izhoda.
Obstajajo tudi druge zahteve za zaznavanje funkcij.
Google Vision API - Druge funkcije
Vendar bom zaključil članek in nadaljeval z uvajanjem sistemov za zaznavanje vida. Takoj, ko ugotovim stohastični gradientni spust.
Priporočena:
Plošča IoT vozlišča (A) serije DockerPi za Raspberry Pi 4B: 4 koraki
Plošča IoT Node (A) serije DockerPi (A) za Raspberry Pi 4B: Opisi: IoT Node (A) je eden od modulov serije Docker Pi.IOT Node (A) = GPS/BDS + GSM + Lora.I2C neposredno upravlja Loro, pošilja in sprejema podatkov, nadzoruje modul GSM/GPS/BDS prek SC16IS752, matična plošča potrebuje le podporo I2C. Podpora Raspbe
Prepoznavanje govora z uporabo Google Speech API in Python: 4 koraki
Prepoznavanje govora z uporabo Google Speech API in Python: Prepoznavanje govora Prepoznavanje govora je del obdelave naravnega jezika, ki je podpolje umetne inteligence. Preprosto povedano, prepoznavanje govora je sposobnost računalniške programske opreme, da prepozna besede in besedne zveze v govorjenem jeziku
Serija Docker Pi plošče senzorskega vozlišča O IOT: 13 korakov
Docker Pi Series of Sensor Hub Board O IOT -u: Pozdravljeni, vsi fantje.Danes je skoraj vse povezano z IOT -om. Brez dvoma s tem naša plošča serije DockerPi podpira tudi IOT. Danes želim predstaviti serijo DockerPi SensorHub -a, kako za uporabo pri IOT -u. Zaženem ta element, ki temelji na
[Serija Docker Pi] Kako uporabljati modul vozlišča IoT (A) na Raspberry Pi: 18 korakov
[Serija Docker Pi] Kako uporabljati modul IoT Node (A) na Raspberry Pi: Kaj je modul IoT Node (A)? IoT Node (A) je eden od modulov serije Docker Pi. Vozlišče IOT (A) = GPS/BDS + GSM + Lora.I2C neposredno nadzoruje Loro, pošilja in sprejema podatke, nadzoruje modul GSM/GPS/BDS prek SC16IS752, matična plošča potrebuje le podporo I2C
ESP8266 Nadzor servo vozlišča-RDEČI MQTT (Mosquitto) IoT: 6 korakov
ESP8266 Control Servo Node-RED MQTT (Mosquitto) IoT: Tokrat je bila izvedena integracija ESP8266 in platforme Node-RED z vključitvijo aktuatorja v tem primeru servo krmiljenega s PWM z vrtenjem od 0 do 180 stopinj. Od spletnega ustvarjalca HMI ali SCADA na Node-Red-Dashboard, ki za osnovo uporablja