Daftar Isi:

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, Juli
Anonim
Google Vision API Menggunakan Raspberry Pi dan Node
Google Vision API Menggunakan Raspberry Pi dan Node

Ini adalah panduan awal untuk menggunakan Google Vision API. Ini menggunakan yang berikut ini:

  • Raspberry Pi Nol W
  • Arch Linux
  • NodeJS
  • koneksi internet

Tidak tahu Arch Linux? Atau bagaimana cara mengatur Raspberry Pi? Jangan khawatir, saya telah menulis serangkaian artikel yang membahasnya dengan cukup cepat. Pengaturannya jauh lebih mudah daripada yang Anda pikirkan. Jadi jangan biarkan hal itu menghalangi Anda.

  • Menginstal Arch Linux di Raspberry Pi dengan Akses WiFi Segera
  • Setup i2c di Raspberry Pi Zero W menggunakan Arch Linux
  • Siapkan Ruang Proyek NodeJS di Raspberry Pi Zero W
  • Memindahkan Kode Driver Motor DRV8830 I2C ke NodeJS
  • Mengedit Kode Raspberry Pi dari Jarak Jauh dari Kode Visual Studio
  • Robot 1B1

Foto Sampul oleh Andy Kelly di Unsplash

Langkah 1: Dapatkan Akun Google API

Sayangnya, Google Vision API bukanlah layanan yang sepenuhnya gratis. Pada saat penulisan, akun API menyediakan 1000 panggilan API Google Vision gratis sebulan. Kemudian, itu adalah $1,00 untuk setiap 1000 panggilan.

Aku tahu, aku tahu, tidak terlalu buruk. Tapi ini bukan proyek komersial. Saya ingin menggunakannya untuk bot rumah kecil puttering. Jika istri saya mendapat tagihan sebesar $40 karena saya memutuskan untuk mengalirkan gambar ke API, itu akan menjadi bot mati. Bagaimanapun, saya pikir saya masih akan menjelajahi layanan untuk kotoran dan cekikikan.

Untuk mendapatkan kunjungan akun

Konsol Google

Dan masuk dengan akun Google yang ada atau buat akun.

Langkah 2: Masukkan Informasi Penagihan

Masukkan Informasi Penagihan
Masukkan Informasi Penagihan

Sekarang, inilah bagian yang menakutkan, Anda harus memasukkan informasi penagihan Anda sebelum pergi. Ingat, Anda akan dikenakan biaya jika Anda melakukan lebih dari 1000 panggilan. Sekali lagi, jika Anda melebihi 1.000 panggilan gratis, Anda akan dikenakan biaya. (Apa? Aku sudah mengatakan itu? Oh.)

Langkah 3: Buka Perpustakaan API

Buka Perpustakaan API
Buka Perpustakaan API

Setelah menyiapkan informasi penagihan, kami masih perlu mengaktifkan Cloud Vision API. Ini adalah fitur keamanan, pada dasarnya, semua API Google dinonaktifkan secara default sehingga jika seseorang secara tidak sengaja mendapatkan akses, mereka tidak melepaskan neraka di mana-mana.

Langkah 4: Cari Google Vision API

Telusuri Google Vision API
Telusuri Google Vision API

Sekarang cari Vision dan klik tombolnya. Di sini harus ada tombol Aktifkan yang mencolok. Tekan itu.

Langkah 5: Navigasikan ke Kredensial

Navigasikan ke Kredensial
Navigasikan ke Kredensial

Hal terakhir yang perlu kita lakukan adalah mendapatkan kunci API. Ini perlu disertakan dalam header panggilan API untuk autentikasi.

Jangan biarkan siapa pun mendapatkan kunci API Anda. Dan jangan hardcode dalam kode Anda. Percayalah, ini akan menggigit Anda. Jika ini secara tidak sengaja terdorong ke web, perayap web akan menemukannya dengan cepat dan Anda akan membayar miliaran dolar.

Biarkan artikel ini membuat Anda sedikit takut.

Pengembang Menempatkan Kunci AWS di Github

Oke! Ayo ambil Kunci API Anda. Temukan bagian Kredensial

Langkah 6: Buat Kunci API Google Vision

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 kredensial apa pun yang dibuat, karena Anda mungkin belum membuatnya.

Mari buat Kunci API baru. Saya akan memberi nama kunci itu sesuatu yang bermakna dan membatasinya hanya pada Google Cloud API. Lanjutkan dan salin kunci API Anda, karena kami akan membutuhkannya di langkah berikutnya.

Langkah 7: Pengaturan Sisi Raspberry Pi

Artikel yang tercantum di bagian atas yang satu ini akan membantu Anda mengatur Raspberry Pi untuk langkah ini. Tetapi jika Anda melakukan hal-hal yang berbeda, sebagian besar dari ini akan tetap bekerja untuk Anda. Namun, ketika kita sampai pada bagian tentang variabel lingkungan, itu akan berbeda untuk rasa Linux lainnya.

Mulailah dengan SSH'ing ke Pi Anda.

Dan perbarui semua paket

sudo pacman -Syu

Kami akan membuat variabel lingkungan untuk Google Cloud Vision API. Ini untuk menghindari hardcoding kunci API Anda ke dalam kode lebih jauh ke bawah. Itu akan berhasil, tetapi saya sangat menyarankan Anda tetap bersama saya dan menyiapkan manajer variabel lingkungan untuk menangani API.

Beralih ke pengguna root dengan mengetik

su

Masukkan kata sandi Anda.

Hal berikutnya yang kami lakukan adalah menambahkan Kunci API Google Vision Anda sebagai variabel lingkungan ke

/etc/profil

file, ini akan menyebabkannya diinisialisasi saat boot.

Ketik, ganti

KUNCI_API_MU

dengan Kunci API Anda yang sebenarnya.

echo 'ekspor GOOGLE_CLOUD_VISION_API_KEY=YOUR_API_KEY' >> /etc/profile

Sekarang reboot Pi sehingga berlaku.

sudo reboot

Masuk kembali. Mari kita periksa untuk memastikan itu memuat kunci API.

gema $GOOGLE_CLOUD_VISION_API_KEY

Jika kunci API Anda digaungkan kembali, Anda harus melakukannya dengan baik.

Langkah 8: Pengaturan Proyek

Pengaturan Proyek
Pengaturan Proyek

Mari kita buat direktori proyek.

mkdir google-vis

cd google-vis

Sekarang mari kita inisialisasi proyek Node baru.

npm init

Jangan ragu untuk menyesuaikan detail paket jika Anda mau. Jika Anda malas seperti saya, tekan enter sampai Anda kembali ke command prompt.

Mari tambahkan library Node yang dibutuhkan. Itu satu. Pustaka axios, yang memungkinkan permintaan web asinkron.

aksio npm

Gambar
Gambar

Juga, mari buat direktori sumber daya dan unduh gambar uji kami yang indah. Ah, nona Hepburn!

Pastikan Anda berada di

google-vis/sumber daya

direktori proyek saat mengunduh gambar.

sumber daya mkdir

sumber cd wget

Langkah 9:

Buat file di

go-vis

direktori bernama

app.js

aplikasi nano.js

Kemudian paste kode di bawah ini dan simpan file dengan mengetik CTRL+O dan keluar menggunakan CTRL+X.

//

const const aksio = membutuhkan('aksios'); const fs = membutuhkan('fs');

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

jika (!API_KEY) {

console.log('Tidak ada kunci API yang disediakan') }

fungsi base64_encode(file) {

// membaca data biner var bitmap = fs.readFileSync(file); // mengonversi data biner ke string yang disandikan base64 mengembalikan new Buffer(bitmap).toString('base64'); } var base64str = base64_encode('./resources/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 }, { "ketik": "IMAGE_PROPERTIES", "maxResults":5 }] }] }

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

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

Kode ini mengambil variabel lingkungan kunci API dan membuat konstanta program darinya.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Inilah cara kami menghindari hardcoding kunci API.

Langkah 10:

Ayo jalankan programnya.

aplikasi simpul.js

Jika semuanya berjalan dengan baik, Anda akan mendapatkan hasil yang serupa dengan di bawah ini

data: { tanggapan:

Langkah 11: Dan Banyak Lagi…

Artikel ini singkat--awal yang melompat. Namun, ada banyak potensi di sini. Misalnya, mengirim gambar Anda sendiri menggunakan Kamera Raspberry Pi

  • raspicam
  • kamera-pi

Jangan ragu untuk mengajukan pertanyaan tentang cara menggunakan output.

Ada permintaan deteksi fitur lainnya.

Google Vision API -- Fitur Lainnya

Namun, saya akan mengakhiri artikel ini dan melanjutkan untuk menggulirkan sistem deteksi penglihatan saya. Segera setelah saya mengetahui penurunan gradien stokastik.

Direkomendasikan: