Talaan ng mga Nilalaman:

Google Vision API Gamit ang Raspberry Pi at Node: 11 Hakbang
Google Vision API Gamit ang Raspberry Pi at Node: 11 Hakbang

Video: Google Vision API Gamit ang Raspberry Pi at Node: 11 Hakbang

Video: Google Vision API Gamit ang Raspberry Pi at Node: 11 Hakbang
Video: Real-time License Plate Recognition with YOLOv7 + OCR in Google Colab GPU | ANPR/ALPR Tutorial 2023 2024, Hulyo
Anonim
Google Vision API Gamit ang Raspberry Pi at Node
Google Vision API Gamit ang Raspberry Pi at Node

Ito ay isang panimulang gabay sa paggamit ng Google Vision API. Gumagamit ito ng mga sumusunod

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • Internet connection

Hindi alam ang Arch Linux? O kung paano mag-setup ng isang Raspberry Pi? Walang pag-aalala, nagsulat ako ng isang serye ng mga artikulo na mabilis itong sumasaklaw. Mas madaling i-setup kaysa sa iniisip mo. Kaya huwag hayaan itong dissuade ka.

  • Pag-install ng Arch Linux sa Raspberry Pi na may Agarang WiFi Access
  • I-setup ang i2c sa Raspberry Pi Zero W gamit ang Arch Linux
  • I-setup ang NodeJS Project Space sa Raspberry Pi Zero W
  • Pag-port sa DRV8830 I2C Motor Driver Code sa NodeJS
  • Ang pag-edit ng Raspberry Pi Code mula sa Visual Studio Code ay malayo
  • 1B1 Robot

Cover Photo ni Andy Kelly sa Unsplash

Hakbang 1: Kumuha ng isang Google API Account

Nakalulungkot, ang Google Vision API ay hindi isang ganap na libreng serbisyo. Sa oras ng pagsulat ng isang account sa API ay nagbibigay ng 1000 libreng mga tawag sa Google Vision API sa isang buwan. Pagkatapos, ito ay $ 1.00 para sa bawat 1000 na tawag.

Alam ko, alam ko, hindi masyadong masama. Ngunit hindi ito isang komersyal na proyekto. Nais kong gamitin ito para sa isang malalagay na maliit na bot ng bahay. Kung ang aking asawa ay nakakakuha ng isang singil para sa $ 40 dahil nagpasya akong mag-stream ng mga imahe sa API, mabuti, magiging isang patay na bot. Gayunpaman, naisip kong tuklasin ko pa rin ang serbisyo para sa poo-and-giggles.

Upang makakuha ng isang pagbisita sa account

Google Console

At pag-sign in gamit ang isang mayroon nang Google account o lumikha ng isa.

Hakbang 2: Ipasok ang Impormasyon sa Pagsingil

Ipasok ang Impormasyon sa Pagsingil
Ipasok ang Impormasyon sa Pagsingil

Ngayon, narito ang nakakatakot na bahagi, dapat mong ipasok ang iyong impormasyon sa pagsingil bago pumunta. Tandaan, sisingilin ka kung sumobra ka sa 1000 mga tawag. Muli, kung lumagpas ka sa iyong 1, 000 libreng mga tawag ay sisingilin ka. (Ano? Sinabi ko na? Oh.)

Hakbang 3: Buksan ang API Library

Buksan ang API Library
Buksan ang API Library

Matapos i-set up ang impormasyon sa pagsingil kailangan pa rin naming paganahin ang Cloud Vision API. Ito ay isang tampok sa seguridad, mahalagang, lahat ng Google API ay hindi pinagana bilang default upang kung may isang hindi sinasadyang makakuha ng pag-access hindi nila inilabas ang impiyerno saanman.

Hakbang 4: Maghanap para sa Google Vision API

Maghanap para sa Google Vision API
Maghanap para sa Google Vision API

Ngayon maghanap para sa Vision at i-click ang pindutan. Dito dapat mayroong isang nakasisilaw na pindutan na Paganahin. Pindutin ito.

Hakbang 5: Mag-navigate sa Mga Kredensyal

Mag-navigate sa Mga Kredensyal
Mag-navigate sa Mga Kredensyal

Ang huling bagay na kailangan nating gawin ay makuha ang susi ng API. Kailangan itong isama sa mga header ng tawag sa API para sa pagpapatotoo.

Huwag hayaan ang sinuman na makuha ang iyong API key. At huwag itong hardcode sa iyong code. Magtiwala ka sa akin, kakagat kita nito. Kung hindi sinasadyang maitulak ito sa web, mahahanap ito ng isang web crawler at magbabayad ka ng mga bajilyong dolyar.

Hayaan ang artikulong ito na matakot ka nang kaunti.

Inilalagay ng Developer ang mga AWS Key sa Github

Ok! Halina't kunin natin ang iyong API Key. Hanapin ang seksyon ng Mga Kredensyal

Hakbang 6: Lumikha ng Google Vision API Key

Lumikha ng Google Vision API Key
Lumikha ng Google Vision API Key
Lumikha ng Google Vision API Key
Lumikha ng Google Vision API Key

Marahil ay hindi mo nakikita ang anumang mga kredensyal na nilikha, dahil marahil ay hindi ka pa nakakalikha.

Lumikha tayo ng isang bagong API Key. Pangalanan ko ang susi na isang bagay na may katuturan at limitahan ito sa Google Cloud API lamang. Sige at kopyahin ang iyong key ng API, dahil kakailanganin namin ito sa susunod na hakbang.

Hakbang 7: Pag-set up ng Raspberry Pi

Ang mga artikulong nakalista sa tuktok ng isang ito ay makakatulong sa iyong i-setup ang Raspberry Pi para sa hakbang na ito. Ngunit kung iba ang ginagawa mo, ang karamihan sa mga ito ay dapat pa ring gumana para sa iyo. Gayunpaman, kapag nakarating kami sa bahagi ng tungkol sa mga variable ng kapaligiran, magkakaiba iyon para sa iba pang mga flavors ng Linux.

Magsimula sa pamamagitan ng SSH'ing papunta sa iyong Pi.

At i-update ang lahat ng mga pakete

sudo pacman -Syu

Lilikha kami ng isang variable ng kapaligiran para sa Google Cloud Vision API. Ito ay upang maiwasan ang hardcoding ng iyong API key sa code nang mas pababa. Gagana iyon, ngunit lubos kong inirerekumenda na manatili ka sa akin at mag-set ng isang variable ng kapaligiran manager upang hawakan ang API.

Lumipat sa root user sa pamamagitan ng pagta-type

su

Ipasok ang iyong password.

Ang susunod na gagawin namin ay idagdag ang iyong Google Vision API Key bilang variable ng kapaligiran sa

/ etc / profile

file, ito ay maaaring maging sanhi upang ito ay intialized sa boot.

I-type, papalit

IYONG_API_KEY

gamit ang iyong totoong API Key.

echo 'export GOOGLE_CLOUD_VISION_API_KEY = IYONG_API_KEY' >> / etc / profile

Ngayon i-reboot ang Pi upang magkabisa iyon.

sudo reboot

Mag-log in muli. Suriin natin upang matiyak na naglo-load ito ng API key.

echo $ GOOGLE_CLOUD_VISION_API_KEY

Kung ang iyong key ng API ay naibalik muli, dapat ay mabuti kang pumunta.

Hakbang 8: Pag-setup ng Project

Pag-setup ng Project
Pag-setup ng Project

Lumikha tayo ng isang direktoryo ng proyekto.

mkdir google-vis

cd google-vis

Simulan natin ngayon ang isang bagong proyekto ng Node.

npm init

Huwag mag-atubiling ipasadya ang mga detalye ng package kung nais mo. Kung tamad ka tulad ko, pindutin ang enter hanggang sa bumalik ka sa prompt ng utos.

Idagdag natin ang kinakailangang mga aklatan ng Node. Ito ay isa. Ang aklatan ng axios, na nagbibigay-daan sa mga kahilingan sa web ng async.

npm axios

Larawan
Larawan

Gayundin, lumikha tayo ng isang direktoryo ng mapagkukunan at i-download ang aming kaibig-ibig na imahe ng pagsubok. Ah, miss Hepburn!

Siguraduhin na ikaw ay nasa

google-vis / mapagkukunan

direktoryo ng proyekto kapag nagda-download ng imahe.

mapagkukunan mkdir

mapagkukunan ng cd wget

Hakbang 9:

Lumikha ng isang file sa

go-vis

tinawag ang direktoryo

app.js

nano app.js

Pagkatapos i-paste ang code sa ibaba at i-save ang file sa pamamagitan ng pag-type sa CTRL + O at paglabas gamit ang CTRL + X.

//

const const axios = nangangailangan ('axios'); const fs = nangangailangan ('fs');

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

kung (! API_KEY) {

console.log ('Walang ibinigay na key ng API')}

function base64_encode (file) {

// read binary data var bitmap = fs.readFileSync (file); // convert binary data to base64 encoded string return new Buffer (bitmap).toString ('base64'); } var base64str = base64_encode ('./ mapagkukunan / audrey.jpg');

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

const reqObj = {

mga kahilingan: [{"image": {"content": base64str}, "mga tampok": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"type": "IMAGE_PROPERTIES", "maxResults": 5}]}]}

axios.post (apiCall, reqObj).tapos ((tugon) => {

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

Kinukuha ng code na ito ang variable na key ng environment ng API at lumilikha ng isang programa na pare-pareho mula rito.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Ganito namin maiiwasan ang hardcoding ng API key.

Hakbang 10:

Patakbuhin natin ang programa.

node app.js

Kung naging maayos ang lahat dapat kang makakuha ng katulad na output sa ibaba

data: {mga sagot:

Hakbang 11: At Napakarami Pa…

Maikli ang artikulong ito - isang pagsisimula ng pagtalon. Gayunpaman, maraming potensyal dito. Halimbawa, ang pagpapadala ng iyong sariling mga imahe gamit ang Raspberry Pi Camera

  • raspicam
  • pi-camera

Mangyaring huwag mag-atubiling magtanong ng anumang mga katanungan tungkol sa kung paano gamitin ang output.

Mayroong iba pang mga kahilingan sa pagtuklas ng tampok.

Google Vision API - Iba Pang Mga Tampok

Gayunpaman, tatapusin ko na ang artikulo at magpatuloy sa pagliligid ng aking mga system sa pagtuklas ng paningin. Sa lalong madaling malaman ko ang stochastic gradient na pinagmulan.

Inirerekumendang: