Isi kandungan:

Google Vision API Menggunakan Raspberry Pi dan Node: 11 Langkah
Google Vision API Menggunakan Raspberry Pi dan Node: 11 Langkah

Video: Google Vision API Menggunakan Raspberry Pi dan Node: 11 Langkah

Video: Google Vision API Menggunakan Raspberry Pi dan Node: 11 Langkah
Video: Object Detection in Any Raspberry Pi using Google Vision API with Python 2024, November
Anonim
Google Vision API Menggunakan Raspberry Pi dan Node
Google Vision API Menggunakan Raspberry Pi dan Node

Ini adalah panduan permulaan untuk menggunakan Google Vision API. Ia menggunakan perkara berikut

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • sambungan internet

Tidak tahu Arch Linux? Atau bagaimana cara menyediakan Raspberry Pi? Jangan risau, saya telah menulis serangkaian artikel yang merangkumi dengan cepat. Jauh lebih mudah untuk disiapkan daripada yang anda fikirkan. Oleh itu, jangan biarkan ia menghalangi anda.

  • Memasang Arch Linux pada Raspberry Pi dengan Akses WiFi Segera
  • Siapkan i2c pada Raspberry Pi Zero W menggunakan Arch Linux
  • Sediakan Ruang Projek NodeJS di Raspberry Pi Zero W
  • Memindahkan Kod Pemandu Motor DRV8830 I2C ke NodeJS
  • Mengedit Raspberry Pi Code dari jauh dari Visual Studio Code
  • Robot 1B1

Foto Sampul oleh Andy Kelly di Unsplash

Langkah 1: Dapatkan Akaun API Google

Malangnya, Google Vision API bukanlah perkhidmatan yang sepenuhnya percuma. Pada masa menulis akaun API menyediakan 1000 panggilan API Google Vision percuma dalam sebulan. Kemudian, ia adalah $ 1.00 untuk setiap 1000 panggilan.

Saya tahu, saya tahu, tidak terlalu teruk. Tetapi ini bukan projek komersial. Saya mahu menggunakannya untuk bot rumah kecil. Sekiranya isteri saya mendapat wang sebanyak $ 40 kerana saya memutuskan untuk mengalirkan gambar ke API, ia akan menjadi bot mati. Bagaimanapun, saya fikir saya masih akan meneroka perkhidmatan untuk tertidur.

Untuk mendapatkan akaun, lawati

Konsol Google

Dan log masuk dengan akaun Google yang ada atau buat.

Langkah 2: Masukkan Maklumat Pengebilan

Masukkan Maklumat Pengebilan
Masukkan Maklumat Pengebilan

Sekarang, inilah bahagian yang menakutkan, anda mesti memasukkan maklumat bil anda sebelum meneruskan. Ingat, anda akan dikenakan bayaran sekiranya anda melebihi 1000 panggilan. Sekali lagi, jika anda melebihi 1, 000 panggilan percuma, anda akan dikenakan bayaran. (Apa? Saya sudah mengatakannya? Oh.)

Langkah 3: Buka Perpustakaan API

Buka Perpustakaan API
Buka Perpustakaan API

Setelah menetapkan maklumat pengebilan, kami masih perlu mengaktifkan Cloud Vision API. Ini adalah ciri keselamatan, pada dasarnya, semua API Google dilumpuhkan secara lalai, jadi jika seseorang mendapat akses secara tidak sengaja, mereka tidak melepaskan semua tempat.

Langkah 4: Cari API Google Vision

Cari API Google Vision
Cari API Google Vision

Sekarang cari Visi dan klik butang. Di sini mesti ada butang Enable yang mencolok. Tekan.

Langkah 5: Navigasi ke Kelayakan

Navigasi ke Kelayakan
Navigasi ke Kelayakan

Perkara terakhir yang perlu kita lakukan ialah mendapatkan kunci API. Ini perlu disertakan dalam tajuk panggilan API untuk pengesahan.

Jangan biarkan sesiapa sahaja mendapatkan kunci API anda. Dan jangan memasukkannya dengan keras dalam kod anda. Percayalah, ini akan menggigit anda. Sekiranya ini secara tidak sengaja didorong ke web, perayap web akan menemuinya dengan cepat dan anda akan membayar sejumlah dolar.

Biarkan artikel ini menakutkan anda sedikit.

Pembangun Meletakkan Kunci AWS di Github

Okey! Mari dapatkan Kunci API anda. Cari bahagian Kepujian

Langkah 6: Buat Google API API Kunci

Buat Kunci API Google Vision
Buat Kunci API Google Vision
Buat Kunci API Google Vision
Buat Kunci API Google Vision

Anda mungkin tidak akan melihat sebarang kelayakan yang dibuat, kerana anda mungkin belum membuatnya.

Mari buat Kunci API baru. Saya namakan kunci itu sesuatu yang bermakna dan hadkannya hanya pada Google Cloud API. Teruskan dan salin kunci API anda, kerana kami akan memerlukannya pada langkah seterusnya.

Langkah 7: Persediaan Sisi Raspberry Pi

Artikel yang disenaraikan di bahagian atas ini akan membantu anda menyiapkan Raspberry Pi untuk langkah ini. Tetapi jika anda melakukan perkara yang berbeza, kebanyakan perkara ini tetap sesuai untuk anda. Namun, apabila kita sampai pada bahagian mengenai pemboleh ubah persekitaran, itu akan berbeza dengan perisa Linux yang lain.

Mulakan dengan SSH ke Pi anda.

Dan kemas kini semua pakej

sudo pacman -Syu

Kami akan membuat pemboleh ubah persekitaran untuk Google Cloud Vision API. Ini untuk mengelakkan pengekodan kunci API anda ke dalam kod di bawah. Itu akan berjaya, tetapi saya sangat mengesyorkan anda tetap bersama saya dan menyediakan pengurus pemboleh ubah persekitaran untuk mengendalikan API.

Beralih ke pengguna root dengan menaip

su

Masukkan kata laluan anda.

Perkara seterusnya yang kami lakukan adalah menambahkan Google Vision API Key anda sebagai pemboleh ubah persekitaran ke

/ etc / profil

fail, ini harus menyebabkannya menjadi intialized semasa boot.

Taip, ganti

ANDA_API_KEY

dengan Kunci API sebenar anda.

echo 'eksport GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> / etc / profil

Sekarang but semula Pi sehingga berlaku.

rebo sudo

Log masuk semula. Mari periksa untuk memastikan ia memuatkan kunci API.

gema $ GOOGLE_CLOUD_VISION_API_KEY

Sekiranya kunci API anda digema kembali, anda mesti bersedia.

Langkah 8: Penyediaan Projek

Penyediaan Projek
Penyediaan Projek

Mari buat direktori projek.

mkdir google-vis

cd google-vis

Sekarang mari kita mulakan projek Node baru.

npm init

Jangan ragu untuk menyesuaikan butiran pakej jika anda mahu. Sekiranya anda malas seperti saya, tekan enter sehingga anda kembali ke command prompt.

Mari tambahkan perpustakaan Node yang diperlukan. Ia satu. Perpustakaan axios, yang membolehkan permintaan web tidak segerak.

paksi npm

Imej
Imej

Juga, mari buat direktori sumber dan muat turun gambar ujian kami yang indah. Ah, rindu Hepburn!

Pastikan anda berada di

google-vis / sumber

direktori projek semasa memuat turun gambar.

sumber mkdir

sumber cd wget

Langkah 9:

Buat fail di

pergi-vis

direktori dipanggil

app.js

aplikasi nano.js

Kemudian tampal kod di bawah dan simpan fail dengan menaip CTRL + O dan keluar menggunakan CTRL + X.

//

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

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

jika (! API_KEY) {

console.log ('Tiada kunci API disediakan')}

fungsi base64_encode (fail) {

// baca data binari var bitmap = fs.readFileSync (file); // menukar data binari ke rentetan dikodkan base64 mengembalikan Buffer baru (bitmap).toString ('base64'); } var base64str = base64_encode ('./ sumber / audrey.jpg');

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

const reqObj = {

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

axios.post (apiCall, reqObj).then ((tindak balas) => {

console.log (tindak balas); console.log (JSON.stringify (respons.data.responses, undefined, 4)); tangkapan ((e) => {console.log (e.response);});

Kod ini mengambil pemboleh ubah persekitaran kunci API dan membuat pemalar program darinya.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Ini adalah bagaimana kita mengelakkan pengekodan kunci API.

Langkah 10:

Mari jalankan program.

aplikasi nod.js

Sekiranya semuanya berjalan lancar, anda akan mendapat output yang serupa seperti di bawah

data: {respons:

Langkah 11: Dan Banyak Lagi …

Artikel ini pendek - permulaan lompat. Walau bagaimanapun, terdapat banyak potensi di sini. Contohnya, menghantar gambar anda sendiri menggunakan Kamera Raspberry Pi

  • raspicam
  • pi-kamera

Jangan ragu untuk mengajukan sebarang pertanyaan mengenai cara menggunakan output.

Terdapat permintaan pengesanan ciri lain.

Google Vision API - Ciri Lain

Walau bagaimanapun, saya akan mengakhiri artikel ini dan meneruskan sistem pengesanan penglihatan saya. Sebaik sahaja saya mengetahui keturunan kecerunan stokastik.

Disyorkan: