Съдържание:
- Стъпка 1: Вземете акаунт в Google API
- Стъпка 2: Въведете информация за фактуриране
- Стъпка 3: Отворете API библиотеката
- Стъпка 4: Потърсете Google Vision API
- Стъпка 5: Придвижете се до идентификационни данни
- Стъпка 6: Създайте API ключ на Google Vision
- Стъпка 7: Настройка на Raspberry Pi Side
- Стъпка 8: Настройка на проекта
- Стъпка 9:
- Стъпка 10:
- Стъпка 11: И още много…
Видео: API на Google Vision, използващ Raspberry Pi и Node: 11 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Това е начално ръководство за използване на 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 библиотеката
След настройване на информация за фактуриране все още трябва да активираме Cloud Vision API. Това е функция за защита, по същество всички API на Google са деактивирани по подразбиране, така че ако някой случайно получи достъп, той не отприщва ада навсякъде.
Стъпка 4: Потърсете Google Vision API
Сега потърсете Vision и щракнете върху бутона. Тук трябва да има ярък бутон за активиране. Натиснете го.
Стъпка 5: Придвижете се до идентификационни данни
Последното нещо, което трябва да направим, е да получим API ключ. Това трябва да бъде включено в заглавките на повикванията на API за удостоверяване.
Не позволявайте на никого да получи вашия API ключ. И не го кодирайте твърдо във вашия код. Повярвайте ми, това ще ви ухапе. Ако това случайно бъде избутано в мрежата, уеб робот ще го намери бързо и ще платите баджийони долари.
Нека тази статия ви плаши малко.
Разработчикът поставя AWS ключове в Github
Добре! Нека да вземем вашия API ключ. Намерете секцията Идентификационни данни
Стъпка 6: Създайте API ключ на Google Vision
Вероятно няма да видите създадени идентификационни данни, тъй като вероятно все още не сте създали такива.
Нека създадем нов 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 - Други функции
Все пак ще завърша статията и ще продължа да разгръщам системите си за откриване на зрение. Веднага щом разбера стохастичен градиентен спускане.
Препоръчано:
Автоматичен игрови контролер на Google T Rex, използващ Arduino: 7 стъпки
Автоматичен игрови контролер на Google T Rex, използващ Arduino: позволява да го изградим
Работа с URL API в Node-RED: 10 стъпки
Работа с URL API в Node-RED: Тази инструкция ще ви научи как да използвате URL API (http get) в node-RED. Умишлено е просто. И ако сте сравнително нов в node-RED, този пример е подходящ за вас. Ще ви науча как да използвате node-RED среда и какво е и h
Контрол на портата с Google Assistant, използващ ESP8266 NodeMCU: 6 стъпки
Контрол на порта с помощта на Google Assistant, използвайки ESP8266 NodeMCU: Това е първият ми проект за инструкции, така че, моля, коментирайте по -долу, ако има възможни подобрения. Идеята е да използвате асистента на Google, за да изпратите сигнал до контролната платка на порта. Така че чрез изпращане на команда ще има реле, което затваря
Робот на Google Асистент, използващ Arduino: 3 стъпки
Робот на Google Асистент, използващ Arduino: В последната публикация ви показах как да създадете Google асистент в Raspberry Pi и да интегрирате Google Assistant към IFTTT. В този урок ще ви покажа как да създадете робот, който може да се контролира с помощта на Google Assistant. Не е нужно да се притеснявате, ако
Дневен таймер, използващ Node Red с постоянна памет: 6 стъпки
Дневен таймер, използващ Node Red с трайна памет: Използвам широко Node-red за моите проекти за домашна автоматизация. не съм програмист по прогесия, но с помощта на различни сътрудници се опитвам да конфигурирам нещата според моите изисквания. Понякога работи, а понякога не:) За един