Satura rādītājs:

Google Vision API, izmantojot Raspberry Pi un Node: 11 soļi
Google Vision API, izmantojot Raspberry Pi un Node: 11 soļi

Video: Google Vision API, izmantojot Raspberry Pi un Node: 11 soļi

Video: Google Vision API, izmantojot Raspberry Pi un Node: 11 soļi
Video: CS50 2015 – 10-я неделя 2024, Novembris
Anonim
Google Vision API, izmantojot Raspberry Pi un Node
Google Vision API, izmantojot Raspberry Pi un Node

Šis ir Google Vision API lietošanas sākšanas ceļvedis. Tas izmanto sekojošo

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • interneta pieslēgums

Vai nepazīstat Arch Linux? Vai arī kā iestatīt Raspberry Pi? Neuztraucieties, esmu uzrakstījis rakstu sēriju, kas to aptver diezgan ātri. To ir daudz vieglāk uzstādīt, nekā jūs domājat. Tāpēc neļaujiet tam jūs atturēt.

  • Arch Linux instalēšana Raspberry Pi ar tūlītēju WiFi piekļuvi
  • Iestatiet i2c Raspberry Pi Zero W, izmantojot Arch Linux
  • Iestatiet NodeJS projekta telpu Raspberry Pi Zero W
  • DRV8830 I2C motora draivera koda pārnešana uz NodeJS
  • Raspberry Pi koda rediģēšana attālināti no Visual Studio Code
  • 1B1 Robots

Vāka fotogrāfija: Endijs Kellijs vietnē Unsplash

1. darbība: iegūstiet Google API kontu

Diemžēl Google Vision API nav pilnīgi bezmaksas pakalpojums. Rakstīšanas laikā API konts nodrošina 1000 bezmaksas Google Vision API zvanus mēnesī. Tad tas ir USD 1,00 par katru 1000 zvanu.

Es zinu, es zinu, nav pārāk slikti. Bet tas nav komerciāls projekts. Es vēlos to izmantot smieklīgam mazam mājas robotam. Ja mana sieva saņem rēķinu par 40 ASV dolāriem, jo es nolēmu straumēt attēlus uz API, tad tas būs miris robots. Jebkurā gadījumā es domāju, ka es joprojām izpētīšu pakalpojumu, kas paredzēts ķircināšanai.

Lai saņemtu konta apmeklējumu

Google Console

Pierakstieties ar esošu Google kontu vai izveidojiet to.

2. darbība. Ievadiet norēķinu informāciju

Ievadiet norēķinu informāciju
Ievadiet norēķinu informāciju

Tagad, lūk, biedējošā daļa, pirms došanās ceļā jāievada norēķinu informācija. Atcerieties, ka no jums tiks iekasēta maksa, ja zvanīsit vairāk nekā 1000 zvanu. Atkal, ja pārsniedzat savus 1000 bezmaksas zvanus, no jums tiks iekasēta maksa. (Ko? Es to jau teicu? Ak.)

3. darbība. Atveriet API bibliotēku

Atveriet API bibliotēku
Atveriet API bibliotēku

Pēc norēķinu informācijas iestatīšanas mums joprojām ir jāiespējo Cloud Vision API. Šī ir drošības funkcija, būtībā visas Google API pēc noklusējuma ir atspējotas, tādēļ, ja kāds nejauši saņem piekļuvi, viņi neatbrīvo elli visur.

4. darbība. Meklējiet Google Vision API

Meklējiet Google Vision API
Meklējiet Google Vision API

Tagad atrodiet Vision un noklikšķiniet uz pogas. Šeit vajadzētu būt spilgtai pogai Iespējot. Nospiediet to.

5. darbība: dodieties uz akreditācijas datiem

Pārejiet uz akreditācijas datiem
Pārejiet uz akreditācijas datiem

Pēdējā lieta, kas mums jādara, ir iegūt API atslēgu. Tas ir jāiekļauj API zvanu galvenēs autentifikācijai.

Neļaujiet nevienam iegūt jūsu API atslēgu. Un nekodējiet to kodā. Tici man, tas tevi sakodīs. Ja tas nejauši tiek ievietots tīmeklī, tīmekļa rāpuļprogramma to ātri atradīs, un jūs maksāsit bajillions dolāru.

Ļaujiet šim rakstam jūs nedaudz nobiedēt.

Izstrādātājs ievieto AWS atslēgas vietnē Github

Labi! Saņemsim jūsu API atslēgu. Atrodiet sadaļu Akreditācijas dati

6. darbība: izveidojiet Google Vision API atslēgu

Izveidojiet Google Vision API atslēgu
Izveidojiet Google Vision API atslēgu
Izveidojiet Google Vision API atslēgu
Izveidojiet Google Vision API atslēgu

Jūs, iespējams, neredzēsit izveidotus akreditācijas datus, jo jūs, iespējams, vēl neesat tos izveidojis.

Izveidosim jaunu API atslēgu. Es nosauktu atslēgu kaut ko jēgpilnu un aprobežotos tikai ar Google Cloud API. Iet uz priekšu un nokopējiet savu API atslēgu, jo mums tā būs nepieciešama nākamajā darbībā.

7. darbība: Raspberry Pi sānu iestatīšana

Raksti, kas uzskaitīti šīs lapas augšdaļā, palīdzēs jums iestatīt Raspberry Pi šim solim. Bet, ja jūs darāt lietas savādāk, lielākajai daļai no tām joprojām vajadzētu strādāt. Tomēr, kad mēs nonākam pie vides mainīgo daļas, tas atšķiras no citiem Linux veidiem.

Sāciet ar SSH ieiešanu savā Pi.

Un atjauniniet visas paketes

sudo pacman -Syu

Mēs izveidosim vides mainīgo Google Cloud Vision API. Tas tiek darīts, lai izvairītos no cietas API atslēgas kodēšanas tālāk esošajā kodā. Tas darbosies, taču es ļoti iesaku jums palikt pie manis un iestatīt vides mainīgo pārvaldnieku, lai apstrādātu API.

Pārslēdzieties uz saknes lietotāju, ierakstot

su

Ievadiet savu paroli.

Nākamā lieta, ko mēs darām, ir pievienot jūsu Google Vision API atslēgu kā vides mainīgo

/etc/profile

failu, tam vajadzētu izraisīt tā inicializēšanu sāknēšanas laikā.

Tips, nomainot

YOUR_API_KEY

ar jūsu faktisko API atslēgu.

echo 'eksportēt GOOGLE_CLOUD_VISION_API_KEY = JŪSU_API_KEY' >> /etc /profile

Tagad pārstartējiet Pi, lai tas stātos spēkā.

sudo atsāknēšana

Piesakieties vēlreiz. Pārbaudīsim, vai tiek ielādēta API atslēga.

echo $ GOOGLE_CLOUD_VISION_API_KEY

Ja jūsu API atslēga tiek atkārtota, jums vajadzētu sākt darbu.

8. darbība: projekta iestatīšana

Projekta iestatīšana
Projekta iestatīšana

Izveidosim projektu direktoriju.

mkdir google-vis

cd google-vis

Tagad inicializēsim jaunu Node projektu.

npm init

Ja vēlaties, varat pielāgot informāciju par iepakojumu. Ja esat slinks kā es, nospiediet taustiņu Enter, līdz esat atgriezies komandu uzvednē.

Pievienosim nepieciešamās mezglu bibliotēkas. Tas ir viens. Axios bibliotēka, kas iespējo asinhronus tīmekļa pieprasījumus.

npm axios

Attēls
Attēls

Izveidosim arī resursu direktoriju un lejupielādēsim mūsu jauko testa attēlu. Ak, Hepbernas jaunkundze!

Pārliecinieties, vai atrodaties

google-vis/resursi

projekta direktoriju, lejupielādējot attēlu.

mkdir resursi

cd resursi wget

9. darbība

Izveidojiet failu mapē

iešana

saukts direktorijs

app.js

nano app.js

Pēc tam ielīmējiet zemāk esošo kodu un saglabājiet failu, ierakstot CTRL+O un izejot, izmantojot taustiņu kombināciju CTRL+X.

//

const const axios = pieprasīt ('axios'); const fs = prasīt ('fs');

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

ja (! API_KEY) {

console.log ('Nav nodrošināta API atslēga')}

funkcija base64_encode (fails) {

// lasīt bināros datus var bitmap = fs.readFileSync (fails); // konvertēt bināros datus uz base64 kodētu virkni atgriezt jaunu buferi (bitkarte). toString ('base64'); } var base64str = base64_encode ('./ resources/audrey.jpg');

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

const reqObj = {

pieprasījumi: [{"image": {"content": base64str}, "features": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"type": "IMAGE_PROPERTIES", "maxResults": 5}]}]}

axios.post (apiCall, reqObj).tad ((atbilde) => {

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

Šis kods satver API atslēgas vides mainīgo un no tā izveido programmas konstanti.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Tā mēs izvairāmies no API atslēgas kodēšanas.

10. darbība:

Palaidīsim programmu.

mezgls app.js

Ja viss gāja labi, jums vajadzētu iegūt līdzīgu rezultātu zemāk

dati: {atbildes:

11. solis: un vēl daudz vairāk …

Šis raksts ir īss-lēciena sākums. Tomēr šeit ir daudz potenciāla. Piemēram, savu attēlu sūtīšana, izmantojot Raspberry Pi kameru

  • raspikāms
  • pi-kamera

Lūdzu, nekautrējieties uzdot visus jautājumus par izvades izmantošanu.

Ir arī citi funkciju noteikšanas pieprasījumi.

Google Vision API - citas funkcijas

Tomēr es beigšu rakstu un turpināšu izmantot redzes noteikšanas sistēmas. Tiklīdz es izdomāju stohastisku gradienta nolaišanos.

Ieteicams: