תוכן עניינים:

ממשק API של Google Vision באמצעות Raspberry Pi ו- Node: 11 שלבים
ממשק API של Google Vision באמצעות Raspberry Pi ו- Node: 11 שלבים

וִידֵאוֹ: ממשק API של Google Vision באמצעות Raspberry Pi ו- Node: 11 שלבים

וִידֵאוֹ: ממשק API של Google Vision באמצעות Raspberry Pi ו- Node: 11 שלבים
וִידֵאוֹ: ComfyUI Tutorial - How to Install ComfyUI on Windows, RunPod & Google Colab | Stable Diffusion SDXL 2024, יולי
Anonim
ממשק API של Google Vision באמצעות Raspberry Pi ו- Node
ממשק API של Google Vision באמצעות Raspberry Pi ו- Node

זהו מדריך התחלה לשימוש ב- API של Google Vision. הוא משתמש בדברים הבאים

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • חיבור לאינטרנט

לא מכירים את Arch Linux? או כיצד להתקין פטל פטל? אין מה לדאוג, כתבתי סדרת מאמרים שמכסה את זה די מהר. זה הרבה יותר קל להתקנה ממה שאתה חושב. אז אל תתני לזה להרתיע אותך.

  • התקנת Arch Linux על Raspberry Pi עם גישה מיידית ל- WiFi
  • התקן i2c ב- Raspberry Pi Zero W באמצעות Arch Linux
  • הגדרת שטח הפרויקט של NodeJS ב- Raspberry Pi Zero W
  • העברת קוד נהג מנוע DRV8830 I2C ל- NodeJS
  • עריכת קוד Raspberry Pi מרחוק מקוד Visual Studio
  • רובוט 1B1

צילום שער על ידי אנדי קלי ב- Unsplash

שלב 1: קבל חשבון Google API

למרבה הצער, Google Vision API אינו שירות בחינם לחלוטין. בזמן כתיבת חשבון API מספק 1000 שיחות חינם של Google Vision API בחודש. לאחר מכן, זה $ 1.00 עבור כל 1000 שיחות.

אני יודע, אני יודע, לא נורא. אבל זה לא פרויקט מסחרי. אני רוצה להשתמש בו עבור בוט בית קטן ומרתיע. אם אשתי תקבל שטר של 40 $ מכיוון שהחלטתי להזרים תמונות ל- API, ובכן, זה יהיה בוט מת. בכל אופן, חשבתי שאני עדיין אחקור את השירות לקקי-צחקוקים.

כדי לקבל חשבון בקר

מסוף Google

והיכנס באמצעות חשבון Google קיים או צור אחד.

שלב 2: הזן פרטי חיוב

הזן את פרטי החיוב
הזן את פרטי החיוב

עכשיו, הנה החלק המפחיד, עליך להזין את פרטי החיוב שלך לפני שתצא לדרך. זכור, תחויב בחיוב אם תעלה על 1000 שיחות. שוב, אם תחרוג מ -1,000 השיחות החינמיות שלך, תחויב. (מה? כבר אמרתי את זה? הו.)

שלב 3: פתח את ספריית ה- API

פתח את ספריית ה- API
פתח את ספריית ה- API

לאחר הגדרת פרטי חיוב אנו עדיין צריכים להפעיל את ה- API של Cloud Vision. זוהי תכונת אבטחה, בעיקרון כל ממשקי ה- API של Google מושבתים כברירת מחדל, כך שאם מישהו יקבל גישה בטעות הוא לא משחרר את הגיהינום בכל מקום.

שלב 4: חפש את Google Vision API

חפש את Google Vision API
חפש את Google Vision API

כעת חפש את Vision ולחץ על הכפתור. כאן אמור להיות כפתור הפעלה בולט. לחץ על זה.

שלב 5: נווט לאישורים

נווט אל אישורים
נווט אל אישורים

הדבר האחרון שעלינו לעשות הוא לקבל את מפתח ה- API. זה צריך להיכלל בכותרות קריאת ה- API לאימות.

אל תתנו לאף אחד לקבל את מפתח ה- API שלכם. ואל תקודד אותו בקוד שלך. תאמין לי, זה ינשך אותך. אם הדבר נדחק בטעות לרשת, סורק אינטרנט ימצא אותו במהירות ותשלם מיליארד דולרים.

תן למאמר הזה להפחיד אותך קצת.

מפתח שמה מפתחות AWS ב- Github

בסדר! בוא נלך להביא את מפתח ה- API שלך. מצא את הקטע אישורים

שלב 6: צור מפתח API של Google Vision

צור מפתח API של Google Vision
צור מפתח API של Google Vision
צור מפתח API של Google Vision
צור מפתח API של Google Vision

סביר להניח שלא תראה אישורים שנוצרו, מכיוון שכנראה עדיין לא יצרת.

בואו ניצור מפתח API חדש. הייתי קורא למפתח משהו בעל משמעות ומגביל אותו רק ל- API של Google Cloud. קדימה, העתק את מפתח ה- API שלך, מכיוון שנזדקק לו בשלב הבא.

שלב 7: הגדרת הצד של פטל פיי

המאמרים המופיעים בחלק העליון של המאמר יעזרו לך להתקין את ה- Raspberry Pi לשלב זה. אבל אם אתה עושה דברים אחרת, רוב זה עדיין אמור לעבוד עבורך. עם זאת, כאשר נגיע לחלק של משתני סביבה, זה יהיה שונה עבור טעמים אחרים של לינוקס.

התחל על ידי SSH'ing לתוך ה- Pi שלך.

ועדכן את כל החבילות

sudo pacman -Syu

אנו הולכים ליצור משתנה סביבה עבור ממשק ה- API של Google Cloud Vision. זה כדי להימנע מקודד של מפתח ה- API שלך לקוד בהמשך למטה. זה יעבוד, אבל אני מאוד ממליץ לך להישאר איתי ולהקים מנהל משתני סביבה שיטפל ב- API.

עבור למשתמש הבסיס על ידי הקלדה

סו

הכנס את הסיסמה שלך.

הדבר הבא שאנחנו עושים הוא להוסיף את מפתח ה- API של Google Vision כמשתנה סביבה ל-

/etc/profile

קובץ, זה אמור לגרום לאינטליזציה שלו בעת האתחול.

סוג, החלפה

YOUR_API_KEY

עם מפתח ה- API שלך בפועל.

הד 'ייצא GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> /etc /profile

כעת הפעל מחדש את ה- Pi כך שזה ייכנס לתוקף.

sudo reboot

היכנס שוב. בוא נבדוק כדי לוודא שהוא טוען את מפתח ה- API.

הד $ GOOGLE_CLOUD_VISION_API_KEY

אם מפתח ה- API שלך מהדהד בחזרה, אתה אמור ללכת טוב.

שלב 8: הגדרת הפרויקט

הגדרת פרויקט
הגדרת פרויקט

בואו ניצור ספריית פרויקטים.

mkdir google-vis

תקליטור google-vis

עכשיו בואו לאתחל פרויקט Node חדש.

npm init

אל תהסס להתאים אישית את פרטי החבילה אם תרצה. אם אתה עצלן כמוני, הקש enter עד שתחזור לשורת הפקודה.

הוסף את ספריות הצומת הדרושות. זה אחד. ספריית axios, המאפשרת בקשות אינטרנט לא סנכרון.

npm axios

תמונה
תמונה

כמו כן, בואו ניצור מדריך משאבים ונוריד את תמונת הבדיקה המקסימה שלנו. אה, מתגעגעת הפבורן!

ודא שאתה נמצא ב

google-vis/משאבים

ספריית הפרויקטים בעת הורדת התמונה.

משאבי mkdir

משאבי cd wget

שלב 9:

צור קובץ ב-

go-vis

מדריך נקרא

app.js

nano app.js

לאחר מכן הדבק את הקוד למטה ושמור את הקובץ על ידי הקלדת CTRL+O ויציאה באמצעות CTRL+X.

//

const const axios = לדרוש ('axios'); const fs = לדרוש ('fs');

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

אם (! API_KEY) {

console.log ('אין מפתח API מסופק')}

function 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}`;

const reqObj = {

בקשות: [{"image": {"content": base64str}, "features": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"type": "IMAGE_PROPERTIES", "maxResults": 5}]}]}

axios.post (apiCall, reqObj).then ((תגובה) => {

console.log (תגובה); console.log (JSON.stringify (response.data.responses, לא מוגדר, 4)); }). catch ((e) => {console.log (e.response);});

קוד זה תופס את משתנה סביבת מפתח ה- API ויוצר ממנו קבוע תוכנית.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

כך אנו נמנעים מקודד של מפתח ה- API.

שלב 10:

בואו נריץ את התוכנית.

צומת app.js

אם הכל הלך טוב אתה אמור לקבל פלט דומה להלן

data: {תגובות:

שלב 11: ועוד הרבה יותר…

מאמר זה קצר-התחלה קלה. עם זאת, יש כאן פוטנציאל רב. לדוגמה, שליחת תמונות משלך באמצעות מצלמת הפטל פטל

  • raspicam
  • מצלמת פי

אל תהסס לשאול כל שאלה בנוגע לשימוש בפלט.

ישנן בקשות אחרות לזיהוי תכונות.

Google Vision API - תכונות אחרות

עם זאת, אני עומד לסיים את המאמר ולעבור לגלגל את מערכות זיהוי הראייה שלי. ברגע שאני מבין ירידת שיפוע סטוכסטית.

מוּמלָץ: