جدول المحتويات:

واجهة برمجة تطبيقات Google Vision باستخدام Raspberry Pi و Node: 11 خطوة
واجهة برمجة تطبيقات Google Vision باستخدام Raspberry Pi و Node: 11 خطوة

فيديو: واجهة برمجة تطبيقات Google Vision باستخدام Raspberry Pi و Node: 11 خطوة

فيديو: واجهة برمجة تطبيقات Google Vision باستخدام Raspberry Pi و Node: 11 خطوة
فيديو: أعلى مستوى وصلتوا في البرمجة 2024, يوليو
Anonim
واجهة برمجة تطبيقات Google Vision باستخدام Raspberry Pi و Node
واجهة برمجة تطبيقات Google Vision باستخدام Raspberry Pi و Node

هذا دليل بدء لاستخدام Google Vision API. يستخدم ما يلي

  • Raspberry Pi Zero W
  • قوس لينكس
  • NodeJS
  • اتصال بالإنترنت

ألا تعرف آرتش لينوكس؟ أو كيفية إعداد Raspberry Pi؟ لا تقلق ، لقد كتبت سلسلة من المقالات تغطيها بسرعة كبيرة. الإعداد أسهل بكثير مما تعتقد. لذا لا تدع ذلك يثنيك عن ذلك.

  • تثبيت Arch Linux على Raspberry Pi مع وصول فوري لشبكة WiFi
  • قم بإعداد i2c على Raspberry Pi Zero W باستخدام Arch Linux
  • قم بإعداد مساحة مشروع NodeJS على Raspberry Pi Zero W
  • نقل كود DRV8830 I2C Motor Driver إلى NodeJS
  • تحرير رمز Raspberry Pi Code عن بُعد من Visual Studio Code
  • 1B1 روبوت

صورة الغلاف بواسطة Andy Kelly على Unsplash

الخطوة 1: احصل على حساب Google API

للأسف ، Google Vision API ليست خدمة مجانية تمامًا. في وقت كتابة هذا الحساب ، يوفر حساب API 1000 مكالمة مجانية من Google Vision API شهريًا. ثم ، هو 1.00 دولار لكل 1000 مكالمة.

أعلم ، أعلم ، ليس سيئًا للغاية. لكن هذا ليس مشروعًا تجاريًا. أريد استخدامه لروبوت منزل صغير مضطرب. إذا حصلت زوجتي على فاتورة بقيمة 40 دولارًا لأنني قررت بث الصور إلى واجهة برمجة التطبيقات ، فسيكون روبوتًا ميتًا. على أي حال ، اعتقدت أنني ما زلت أستكشف خدمة البراز والضحك.

للحصول على زيارة الحساب

وحدة تحكم جوجل

وقم بتسجيل الدخول باستخدام حساب Google موجود أو قم بإنشاء حساب.

الخطوة 2: أدخل معلومات الفواتير

أدخل معلومات الفاتورة
أدخل معلومات الفاتورة

الآن ، إليك الجزء المخيف ، يجب عليك إدخال معلومات الفواتير الخاصة بك قبل البدء. تذكر أنه سيتم محاسبتك إذا تجاوزت 1000 مكالمة. مرة أخرى ، إذا تجاوزت 1000 مكالمة مجانية ، فسيتم محاسبتك. (ماذا؟ لقد قلت ذلك بالفعل؟ أوه.)

الخطوة 3: افتح مكتبة API

افتح مكتبة API
افتح مكتبة API

بعد إعداد معلومات الفوترة ، ما زلنا بحاجة إلى تمكين Cloud Vision API. هذه ميزة أمان ، بشكل أساسي ، يتم تعطيل جميع واجهات برمجة تطبيقات Google افتراضيًا ، لذلك إذا حصل شخص ما على إمكانية الوصول عن طريق الخطأ ، فلن يطلق العنان للجحيم في كل مكان.

الخطوة 4: ابحث عن Google Vision API

ابحث عن Google Vision API
ابحث عن Google Vision API

ابحث الآن عن Vision وانقر فوق الزر. هنا يجب أن يكون هناك زر تمكين صارخ. اضغطها.

الخطوة 5: انتقل إلى بيانات الاعتماد

انتقل إلى بيانات الاعتماد
انتقل إلى بيانات الاعتماد

آخر شيء يتعين علينا القيام به هو الحصول على مفتاح API. يجب تضمين هذا في رؤوس استدعاء API للمصادقة.

لا تدع أي شخص يحصل على مفتاح API الخاص بك. ولا تقم بتشفيرها في التعليمات البرمجية الخاصة بك. صدقني ، هذا سوف يعضك. إذا تم دفع هذا عن طريق الخطأ إلى الويب ، فسيجده متتبع ارتباطات الويب بسرعة وستدفع ملايين الدولارات.

دع هذا المقال يخيفك قليلاً.

المطور يضع مفاتيح AWS على جيثب

نعم! دعنا نذهب للحصول على مفتاح API الخاص بك. ابحث عن قسم بيانات الاعتماد

الخطوة 6: إنشاء مفتاح Google Vision API

قم بإنشاء مفتاح Google Vision API
قم بإنشاء مفتاح Google Vision API
قم بإنشاء مفتاح Google Vision API
قم بإنشاء مفتاح Google Vision API

ربما لن ترى أي بيانات اعتماد تم إنشاؤها ، حيث من المحتمل أنك لم تقم بإنشاء أي بيانات حتى الآن.

لنقم بإنشاء مفتاح API جديد. سأسمي المفتاح شيئًا ذا مغزى وأقصره على Google Cloud API فقط. انطلق وانسخ مفتاح API الخاص بك ، حيث سنحتاجه في الخطوة التالية.

الخطوة 7: إعداد Raspberry Pi Side

ستساعدك المقالات المدرجة في الجزء العلوي من هذا المقال في إعداد Raspberry Pi لهذه الخطوة. ولكن إذا كنت تقوم بأشياء مختلفة ، فإن معظم هذا لا يزال يعمل من أجلك. ومع ذلك ، عندما نصل إلى الجزء المتعلق بمتغيرات البيئة ، فسيكون ذلك مختلفًا بالنسبة إلى نكهات Linux الأخرى.

ابدأ بـ SSH'ing في Pi الخاص بك.

وتحديث جميع الحزم

sudo pacman -Syu

سنقوم بإنشاء متغير بيئة لـ Google Cloud Vision API. هذا لتجنب ترميز مفتاح API الخاص بك في الكود بشكل أكبر. سيعمل ذلك ، لكنني أوصيك بشدة بالالتزام معي وإعداد مدير متغير للبيئة للتعامل مع واجهة برمجة التطبيقات.

قم بالتبديل إلى المستخدم الجذر عن طريق الكتابة

سو

ادخل رقمك السري.

الشيء التالي الذي نقوم به هو إضافة مفتاح Google Vision API الخاص بك كمتغير بيئة إلى ملف

/ الخ / الملف الشخصي

ملف ، يجب أن يتسبب هذا في تهيئة عند التمهيد.

اكتب ، استبدال

YOUR_API_KEY

مع مفتاح API الفعلي الخاص بك.

صدى "تصدير GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY" >> / etc / profile

الآن أعد تشغيل Pi حتى يسري مفعول ذلك.

sudo إعادة التشغيل

قم بتسجيل الدخول مرة أخرى. دعنا نتحقق للتأكد من أنه يتم تحميل مفتاح API.

صدى $ GOOGLE_CLOUD_VISION_API_KEY

إذا تمت إعادة صدى مفتاح API الخاص بك ، فيجب أن تكون على ما يرام.

الخطوة 8: إعداد المشروع

إعداد مشروع
إعداد مشروع

لنقم بإنشاء دليل المشروع.

مكدير جوجل فيس

cd google-vis

الآن دعنا نبدأ مشروع عقدة جديد.

الحرف الأول npm

لا تتردد في تخصيص تفاصيل الحزمة إذا أردت. إذا كنت كسولًا مثلي ، فاضغط على Enter حتى تعود إلى موجه الأوامر.

دعنا نضيف مكتبات Node المطلوبة. انه واحد. مكتبة أكسيوس ، التي تتيح طلبات الويب غير المتزامنة.

أكسيوس npm

صورة
صورة

أيضًا ، لنقم بإنشاء دليل موارد وتنزيل صورة الاختبار الرائعة الخاصة بنا. آه ، آنسة هيبورن!

تأكد من أنك في

google-vis / الموارد

دليل المشروع عند تنزيل الصورة.

موارد mkdir

wget موارد القرص المضغوط

الخطوة 9:

قم بإنشاء ملف بتنسيق

الذهاب فيس

دليل يسمى

app.js

nano app.js

ثم الصق الكود أدناه واحفظ الملف بكتابة CTRL + O والخروج باستخدام CTRL + X.

//

محاور const const = تتطلب ('axios') ؛ const fs = تتطلب ('fs') ؛

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

إذا (! API_KEY) {

console.log ("لم يتم توفير مفتاح API")}

وظيفة base64_encode (ملف) {

// قراءة البيانات الثنائية var bitmap = fs.readFileSync (ملف) ؛ // تحويل البيانات الثنائية إلى سلسلة base64 المشفرة وإرجاع المخزن المؤقت الجديد (صورة نقطية). toString ('base64') ؛ } var base64str = base64_encode ('./ resources / audrey.jpg') ؛

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

reqObj = {

الطلبات: [{"image": {"content": base64str}، "features": [{"type": "LABEL_DETECTION"، "maxResults": 5}، {"type": "FACE_DETECTION"، "maxResults": 5}، {"type": "IMAGE_PROPERTIES"، "maxResults": 5}]}]}

axios.post (apiCall، reqObj). ثم ((response) => {

console.log (استجابة) ؛ console.log (JSON.stringify (response.data.responses، undefined، 4)) ؛ }). catch ((e) => {console.log (e.response)؛})؛

يستحوذ هذا الرمز على متغير بيئة مفتاح API وينشئ منه برنامج ثابت.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

هذه هي الطريقة التي نتجنب بها تشفير مفتاح API.

الخطوة 10:

لنقم بتشغيل البرنامج.

العقدة app.js

إذا سارت الأمور على ما يرام ، يجب أن تحصل على مخرجات مماثلة لما يلي

البيانات: {الردود:

الخطوة 11: وأكثر من ذلك بكثير …

هذه المقالة قصيرة - بداية سريعة. ومع ذلك ، هناك الكثير من الإمكانات هنا. على سبيل المثال ، إرسال الصور الخاصة بك باستخدام كاميرا Raspberry Pi

  • راسبيكام
  • كاميرا بي

لا تتردد في طرح أي أسئلة بخصوص كيفية استخدام الإخراج.

هناك طلبات أخرى لاكتشاف الميزات.

واجهة برمجة تطبيقات Google Vision - ميزات أخرى

ومع ذلك ، سأقوم بإنهاء المقال وانتقل إلى تشغيل أنظمة الكشف عن الرؤية الخاصة بي. بمجرد أن أكتشف نزول التدرج العشوائي.

موصى به: