فهرست مطالب:

Google Vision API با استفاده از Raspberry Pi و Node: 11 مرحله
Google Vision API با استفاده از Raspberry Pi و Node: 11 مرحله

تصویری: Google Vision API با استفاده از Raspberry Pi و Node: 11 مرحله

تصویری: Google Vision API با استفاده از Raspberry Pi و Node: 11 مرحله
تصویری: Golang vs Python #shorts tiktok hackmymozg 2024, نوامبر
Anonim
Google Vision API با استفاده از Raspberry Pi و Node
Google Vision API با استفاده از Raspberry Pi و Node

این راهنمای شروع استفاده از Google Vision API است. از موارد زیر استفاده می کند

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • اتصال اینترنت

Arch Linux نمی شناسید؟ یا چگونه می توان رزبری پای را راه اندازی کرد؟ نگران نباشید ، من یک سری مقاله نوشتم که خیلی سریع آن را پوشش می دهد. راه اندازی آن بسیار ساده تر از چیزی است که فکر می کنید. بنابراین اجازه ندهید شما را منصرف کند.

  • نصب Arch Linux بر روی Raspberry Pi با دسترسی فوری WiFi
  • راه اندازی i2c بر روی Raspberry Pi Zero W با استفاده از Arch Linux
  • راه اندازی NodeJS Project Project در Raspberry Pi Zero W
  • انتقال کد راننده موتور DRV8830 I2C به NodeJS
  • ویرایش کد Raspberry Pi از راه دور از Visual Studio Code
  • ربات 1B1

جلد عکس اندی کلی در Unsplash

مرحله 1: حساب Google API دریافت کنید

متأسفانه ، Google Vision API یک سرویس کاملاً رایگان نیست. در زمان نوشتن یک حساب API ، 1000 تماس API رایگان Google Vision در ماه ارائه می دهد. سپس ، 1.00 دلار برای هر 1000 تماس است.

می دانم ، می دانم ، خیلی هم بد نیست. اما این یک پروژه تجاری نیست. من می خواهم از آن برای یک ربات خانگی کوچک مزاحم استفاده کنم. اگر همسرم 40 دلار قبض دریافت کند زیرا تصمیم گرفتم تصاویر را در API پخش کنم ، خوب ، این یک ربات مرده خواهد بود. به هر حال ، من فکر کردم هنوز برای خدمات خنده و خنده در سرویس جستجو می کنم.

برای دریافت یک حساب کاربری مراجعه کنید

کنسول گوگل

و با یک حساب 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 Key جدید ایجاد کنیم. من کلید کلیدی را معنی دار می نامم و آن را فقط به Google Cloud API محدود می کنم. کلید API خود را کپی کنید ، زیرا در مرحله بعد به آن نیاز خواهیم داشت.

مرحله 7: تنظیم جانبی Raspberry Pi

مقالات ذکر شده در بالای این مقاله به شما در تنظیم رزبری پای برای این مرحله کمک می کند. اما اگر کارهای متفاوتی انجام می دهید ، بیشتر اینها هنوز برای شما کار می کند. با این حال ، وقتی به بخش متغیرهای محیطی می رسیم ، برای سایر طعم های لینوکس متفاوت خواهد بود.

با SSH'ing به Pi خود شروع کنید.

و همه بسته ها را به روز کنید

sudo pacman -Syu

ما قصد داریم یک متغیر محیطی برای Google Cloud Vision API ایجاد کنیم. این به منظور جلوگیری از کدگذاری کلید API خود در کد پایین تر است. این کار می کند ، اما من به شدت توصیه می کنم که با من همراه باشید و یک مدیر متغیر محیطی را برای مدیریت API تنظیم کنید.

با تایپ کردن به کاربر اصلی بروید

su

رمز عبور خود را وارد کنید

کار بعدی ما این است که کلید API Google Vision شما را به عنوان متغیر محیط به

/etc/profile

فایل ، این باید باعث شود که هنگام راه اندازی intialize شود.

نوع ، جایگزین

YOUR_API_KEY

با کلید API واقعی شما

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

حالا Pi را مجدداً راه اندازی کنید تا اثر کند.

راه اندازی مجدد sudo

دوباره وارد شوید. بیایید بررسی کنیم تا مطمئن شویم که کلید API بارگیری شده است.

پژواک $ GOOGLE_CLOUD_VISION_API_KEY

اگر کلید API شما بازتاب داده شد ، باید خوب بروید.

مرحله 8: راه اندازی پروژه

راه اندازی پروژه
راه اندازی پروژه

بیایید یک دایرکتوری پروژه ایجاد کنیم.

mkdir google-vis

سی دی google-vis

حالا بیایید یک پروژه جدید Node را راه اندازی کنیم.

npm init

در صورت تمایل می توانید جزئیات بسته را سفارشی کنید. اگر مثل من تنبل هستید ، enter را بزنید تا به خط فرمان بازگردید.

بیایید کتابخانه های Node مورد نیاز را اضافه کنیم. یکی است. کتابخانه axios ، که درخواستهای وب را غیر فعال می کند.

npm axios

تصویر
تصویر

همچنین ، اجازه دهید یک فهرست راهنما ایجاد کرده و تصویر تست دوست داشتنی خود را بارگیری کنیم. آه ، خانم هپبورن!

مطمئن شوید که در

google-vis/resources

هنگام بارگیری تصویر ، فهرست پروژه

منابع mkdir

منابع cd wget

مرحله 9:

ایجاد یک فایل در

رفت و آمد

دایرکتوری تماس گرفت

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 ارائه نشده است")}

تابع base64_encode (فایل) {

// خواندن داده های دودویی var bitmap = fs.readFileSync (فایل) ؛ // تبدیل داده های دودویی به رشته کد شده base64 بافر جدید (bitmap).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). سپس ((پاسخ) => {

console.log (پاسخ) ؛ console.log (JSON.stringify (respond.data.responses ، تعریف نشده ، 4)) ؛ }). catch ((e) => {console.log (e.response)؛})؛

این کد متغیر محیط API را گرفته و از آن یک ثابت برنامه ایجاد می کند.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

به این ترتیب از کدگذاری کلید API جلوگیری می کنیم.

مرحله 10:

بیایید برنامه را اجرا کنیم.

node app.js

اگر همه چیز خوب پیش رفت ، باید خروجی مشابه زیر را دریافت کنید

داده: {پاسخها:

مرحله 11: و خیلی بیشتر…

این مقاله کوتاه است-شروع جهشی. با این حال ، پتانسیل زیادی در اینجا وجود دارد. به عنوان مثال ، ارسال تصاویر خود با استفاده از دوربین رزبری پای

  • raspicam
  • دوربین پی

لطفاً در مورد نحوه استفاده از خروجی هر گونه سال بپرسید.

درخواست تشخیص ویژگی های دیگر نیز وجود دارد.

Google Vision API - سایر ویژگی ها

با این حال ، من قصد دارم مقاله را به پایان برسانم و به سیستم های تشخیص بینایی خود بپردازم. به محض اینکه نزول شیب تصادفی را متوجه شدم.

توصیه شده: