Съдържание:

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

Това е начално ръководство за използване на Google Vision API. Той използва следното

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • интернет връзка

Не познавате Arch Linux? Или как да настроите Raspberry Pi? Не се притеснявайте, написал съм поредица от статии, които го обхващат доста бързо. Настройването е много по -лесно, отколкото си мислите. Така че не позволявайте това да ви разубеди.

  • Инсталиране на Arch Linux на Raspberry Pi с незабавен WiFi достъп
  • Настройте i2c на Raspberry Pi Zero W с помощта на Arch Linux
  • Настройка на NodeJS Project Space на Raspberry Pi Zero W
  • Пренасяне на DRV8830 I2C код на драйвера на двигателя към NodeJS
  • Редактиране на Raspberry Pi код от разстояние от Visual Studio Code
  • Робот 1B1

Корица Снимка от Анди Кели на Unsplash

Стъпка 1: Вземете акаунт в Google API

За съжаление API на Google Vision не е напълно безплатна услуга. По време на писането на API акаунт предоставя 1000 безплатни Google Vision API обаждания на месец. Тогава това е $ 1,00 за всеки 1000 разговора.

Знам, знам, не е толкова лошо. Но това не е търговски проект. Искам да го използвам за малък гноен домашен бот. Ако съпругата ми получи сметка за $ 40, защото реших да предавам изображения към API, добре, това ще бъде мъртъв бот. Както и да е, мислех, че все още ще проуча услугата за кака и кикот.

За да получите акаунт, посетете

Google Console

И влезте със съществуващ акаунт в Google или създайте такъв.

Стъпка 2: Въведете информация за фактуриране

Въведете информация за фактуриране
Въведете информация за фактуриране

Ето страшната част, трябва да въведете данните си за фактуриране, преди да започнете. Не забравяйте, че ще бъдете таксувани, ако преминете над 1000 обаждания. Отново, ако надвишите 1 000 безплатни разговора, ще бъдете таксувани. (Какво? Казах го вече? О.)

Стъпка 3: Отворете API библиотеката

Отворете API библиотеката
Отворете API библиотеката

След настройване на информация за фактуриране все още трябва да активираме Cloud Vision API. Това е функция за защита, по същество всички API на Google са деактивирани по подразбиране, така че ако някой случайно получи достъп, той не отприщва ада навсякъде.

Стъпка 4: Потърсете Google Vision API

Потърсете Google Vision API
Потърсете Google Vision API

Сега потърсете Vision и щракнете върху бутона. Тук трябва да има ярък бутон за активиране. Натиснете го.

Стъпка 5: Придвижете се до идентификационни данни

Придвижете се до Идентификационни данни
Придвижете се до Идентификационни данни

Последното нещо, което трябва да направим, е да получим API ключ. Това трябва да бъде включено в заглавките на повикванията на API за удостоверяване.

Не позволявайте на никого да получи вашия API ключ. И не го кодирайте твърдо във вашия код. Повярвайте ми, това ще ви ухапе. Ако това случайно бъде избутано в мрежата, уеб робот ще го намери бързо и ще платите баджийони долари.

Нека тази статия ви плаши малко.

Разработчикът поставя AWS ключове в Github

Добре! Нека да вземем вашия API ключ. Намерете секцията Идентификационни данни

Стъпка 6: Създайте API ключ на Google Vision

Създайте Google Vision API ключ
Създайте Google Vision API ключ
Създайте Google Vision API ключ
Създайте Google Vision API ключ

Вероятно няма да видите създадени идентификационни данни, тъй като вероятно все още не сте създали такива.

Нека създадем нов API ключ. Бих нарекъл ключа нещо смислено и го ограничих само до API на Google Cloud. Продължете и копирайте своя API ключ, тъй като той ще ни е необходим в следващата стъпка.

Стъпка 7: Настройка на Raspberry Pi Side

Статиите, изброени в горната част на тази, ще ви помогнат да настроите Raspberry Pi за тази стъпка. Но ако правите нещата по различен начин, повечето от тях все още трябва да работят за вас. Когато обаче стигнем до частта за променливите на околната среда, това ще бъде различно за другите вкусове на Linux.

Започнете, като SSH влезете във вашия Pi.

И актуализирайте всички пакети

sudo pacman -Syu

Ще създадем променлива на среда за API на Google Cloud Vision. Това се прави, за да се избегне твърдо кодиране на вашия API ключ в кода по -надолу. Това ще работи, но горещо ви препоръчвам да се придържате към мен и да настроите мениджър на променлива среда, който да обработва API.

Превключете към root потребителя, като въведете

su

Въведете паролата си.

Следващото нещо, което правим, е да добавим вашия Google Vision API ключ като променлива на средата към

/etc/profile

файл, това трябва да доведе до неговото инициализиране при стартиране.

Тип, заменящ

YOUR_API_KEY

с вашия действителен API ключ.

echo 'експортиране GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> /etc /profile

Сега рестартирайте Pi, така че да влезе в сила.

sudo рестартиране

Влезте отново. Нека да проверим дали зарежда API ключа.

ехо $ GOOGLE_CLOUD_VISION_API_KEY

Ако вашият API ключ се повтаря, трябва да сте готови.

Стъпка 8: Настройка на проекта

Настройка на проекта
Настройка на проекта

Нека създадем директория на проект.

mkdir google-vis

cd google-vis

Сега нека инициализираме нов проект на Node.

npm init

Не се колебайте да персонализирате подробностите за пакета, ако желаете. Ако сте мързеливи като мен, натиснете enter, докато не се върнете в командния ред.

Нека добавим необходимите Node библиотеки. Това е едно. Библиотеката на axios, която позволява асинхронизиране на уеб заявки.

npm axios

Образ
Образ

Също така, нека създадем директория с ресурси и да изтеглим нашето прекрасно тестово изображение. Ах, госпожице Хепбърн!

Уверете се, че сте в

google-vis/resources

директория на проекта при изтегляне на изображението.

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

if (! 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}`;

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, 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 Camera

  • рапикам
  • pi-камера

Моля, не се колебайте да задавате въпроси относно начина на използване на изхода.

Има и други заявки за откриване на функции.

Google Vision API - Други функции

Все пак ще завърша статията и ще продължа да разгръщам системите си за откриване на зрение. Веднага щом разбера стохастичен градиентен спускане.

Препоръчано: