Spisu treści:
- Krok 1: Załóż konto Google API
- Krok 2: Wprowadź informacje rozliczeniowe
- Krok 3: Otwórz bibliotekę API
- Krok 4: Wyszukaj Google Vision API
- Krok 5: Przejdź do poświadczeń
- Krok 6: Utwórz klucz Google Vision API
- Krok 7: Konfiguracja po stronie Raspberry Pi
- Krok 8: Konfiguracja projektu
- Krok 9:
- Krok 10:
- Krok 11: I wiele więcej…
Wideo: Interfejs API Google Vision przy użyciu Raspberry Pi i Node: 11 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
To jest przewodnik początkowy dotyczący korzystania z interfejsu Google Vision API. Wykorzystuje następujące
- Raspberry Pi Zero W
- Arch Linux
- NodeJS
- połączenie internetowe
Nie znasz Arch Linuksa? Lub jak skonfigurować Raspberry Pi? Bez obaw, napisałem serię artykułów, które dość szybko to opisują. Konfiguracja jest o wiele łatwiejsza niż myślisz. Więc niech cię to nie zniechęci.
- Instalowanie Arch Linux na Raspberry Pi z natychmiastowym dostępem do WiFi
- Skonfiguruj i2c na Raspberry Pi Zero W przy użyciu Arch Linux
- Konfiguracja przestrzeni projektowej NodeJS na Raspberry Pi Zero W
- Przenoszenie kodu sterownika silnika DRV8830 I2C do NodeJS
- Zdalna edycja kodu Raspberry Pi z Visual Studio Code
- 1B1 Robot
Zdjęcie na okładce autorstwa Andy'ego Kelly'ego na Unsplash
Krok 1: Załóż konto Google API
Niestety Google Vision API nie jest usługą całkowicie bezpłatną. W momencie pisania konta API zapewnia 1000 bezpłatnych wywołań Google Vision API miesięcznie. Następnie jest to 1,00 USD za każde 1000 połączeń.
Wiem, wiem, nie tak źle. Ale to nie jest projekt komercyjny. Chcę go użyć jako miotającego małego robota domowego. Jeśli moja żona dostanie rachunek za 40 USD, ponieważ zdecydowałem się przesyłać obrazy do API, cóż, będzie to martwy bot. W każdym razie, pomyślałem, że nadal zbadam usługę kupa i chichotu.
Aby uzyskać wizytę na koncie
Konsola Google
I zaloguj się na istniejące konto Google lub utwórz je.
Krok 2: Wprowadź informacje rozliczeniowe
A teraz przerażająca część, musisz wprowadzić informacje rozliczeniowe, zanim zaczniesz. Pamiętaj, że zostaniesz obciążony kosztami, jeśli wykonasz ponad 1000 połączeń. Ponownie, jeśli przekroczysz 1000 bezpłatnych połączeń, zostaniesz obciążony opłatą. (Co? Już to powiedziałem? Och.)
Krok 3: Otwórz bibliotekę API
Po skonfigurowaniu informacji rozliczeniowych nadal musimy włączyć Cloud Vision API. Jest to funkcja bezpieczeństwa, zasadniczo wszystkie interfejsy API Google są domyślnie wyłączone, więc jeśli ktoś przypadkowo uzyska dostęp, nie rozpęta wszędzie piekła.
Krok 4: Wyszukaj Google Vision API
Teraz wyszukaj Vision i kliknij przycisk. Tutaj powinien być rażący przycisk Włącz. Naciśnij.
Krok 5: Przejdź do poświadczeń
Ostatnią rzeczą, którą musimy zrobić, to zdobyć klucz API. Musi to być zawarte w nagłówkach wywołań interfejsu API w celu uwierzytelnienia.
Nie pozwól nikomu zdobyć Twojego klucza API. I nie koduj tego na stałe w swoim kodzie. Zaufaj mi, to cię ugryzie. Jeśli przypadkowo zostanie on wprowadzony do sieci, robot internetowy szybko go znajdzie, a Ty zapłacisz bajilliony dolarów.
Niech ten artykuł Cię trochę przestraszy.
Deweloper umieszcza klucze AWS na Github
Ok! Chodźmy po twój klucz API. Znajdź sekcję Poświadczenia
Krok 6: Utwórz klucz Google Vision API
Prawdopodobnie nie zobaczysz żadnych utworzonych poświadczeń, ponieważ prawdopodobnie jeszcze ich nie utworzyłeś.
Utwórzmy nowy klucz API. Nazwałbym klucz coś znaczącego i ograniczyłbym go tylko do Google Cloud API. Śmiało skopiuj swój klucz API, ponieważ będziemy go potrzebować w następnym kroku.
Krok 7: Konfiguracja po stronie Raspberry Pi
Artykuły wymienione na górze tego pomogą Ci skonfigurować Raspberry Pi na tym etapie. Ale jeśli robisz coś inaczej, większość z tego powinna nadal działać dla ciebie. Jednak kiedy przejdziemy do części o zmiennych środowiskowych, będzie to wyglądać inaczej dla innych smaków Linuksa.
Zacznij od SSH w swoim Pi.
I zaktualizuj wszystkie pakiety
sudo pacman -Syu
Zamierzamy utworzyć zmienną środowiskową dla interfejsu Google Cloud Vision API. Ma to na celu uniknięcie zakodowania klucza API w kodzie poniżej. To zadziała, ale gorąco polecam, abyś został ze mną i skonfigurował menedżera zmiennych środowiskowych do obsługi API.
Przełącz się na użytkownika root, wpisując
su
Wprowadź hasło.
Następną rzeczą, którą robimy, jest dodanie klucza interfejsu API Google Vision jako zmiennej środowiskowej do
/etc/profil
pliku, powinno to spowodować jego inicjalizację podczas rozruchu.
Wpisz, zastępując
TWÓJ_KLUCZ API
z Twoim rzeczywistym kluczem API.
echo 'eksportuj GOOGLE_CLOUD_VISION_API_KEY=TWÓJ_KLUCZ_API' >> /etc/profile
Teraz zrestartuj Pi, aby odniosło skutek.
ponowne uruchomienie sudo
Zaloguj się ponownie. Sprawdźmy, czy ładuje klucz API.
echo $GOOGLE_CLOUD_VISION_API_KEY
Jeśli twój klucz API zostanie powtórzony, powinieneś być gotowy.
Krok 8: Konfiguracja projektu
Stwórzmy katalog projektu.
mkdir google-vis
cd google-vis
Teraz zainicjujmy nowy projekt Node.
początek npm
Jeśli chcesz, możesz dostosować szczegóły pakietu. Jeśli jesteś leniwy jak ja, naciśnij Enter, aż wrócisz do wiersza poleceń.
Dodajmy potrzebne biblioteki Node. To jeden. Biblioteka axios, która umożliwia asynchroniczne żądania internetowe.
aksjos npm
Stwórzmy również katalog zasobów i pobierzmy nasz piękny obraz testowy. Ach, panno Hepburn!
Upewnij się, że jesteś w
google-vis/zasoby
katalog projektu podczas pobierania obrazu.
zasoby mkdir
zasoby cd wget
Krok 9:
Utwórz plik w
iść vis
katalog o nazwie
app.js
nano app.js
Następnie wklej poniższy kod i zapisz plik, wpisując CTRL+O i wychodząc za pomocą CTRL+X.
//
const const axios = require('axios'); const fs = wymagaj('fs');
const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY
jeśli (!API_KEY) {
console.log('Nie podano klucza API') }
funkcja base64_encode (plik) {
// odczyt danych binarnych var bitmap = fs.readFileSync(file); // przekonwertuj dane binarne na łańcuch zakodowany w base64 return new Buffer(bitmap).toString('base64'); } var base64str = base64_encode('./resources/audrey.jpg');
const apiCall = `https://vision.googleapis.com/v1/images:annotate?key=${API_KEY}`;
const reqObj = {
requesty:[{ "image":{ "content": base64str }, "features":[{ "type":"LABEL_DETECTION", "maxResults":5 }, { "type":"FACE_DETECTION", "maxResults": 5 }, { "type": "IMAGE_PROPERTIES", "maxResults":5 }] }] }
axios.post(apiCall, reqObj).then((odpowiedź) => {
console.log(odpowiedź); console.log(JSON.stringify(response.data.responses, undefined, 4)); }).catch((e) => { console.log(e.response); });
Ten kod pobiera zmienną środowiskową klucza API i tworzy z niej stałą programu.
const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY
W ten sposób unikamy zakodowania klucza API.
Krok 10:
Uruchommy program.
węzeł app.js
Jeśli wszystko poszło dobrze, powinieneś otrzymać podobny wynik jak poniżej
data: { responses:
Krok 11: I wiele więcej…
Ten artykuł jest krótki – początek. Jest tu jednak duży potencjał. Na przykład wysyłanie własnych obrazów za pomocą kamery Raspberry Pi
- raspicam
- pi-kamera
Zachęcamy do zadawania pytań dotyczących sposobu korzystania z danych wyjściowych.
Istnieją inne prośby o wykrycie funkcji.
Interfejs API Google Vision - inne funkcje
Jednak zamierzam zakończyć artykuł i przejdę do wprowadzenia moich systemów detekcji wizyjnej. Jak tylko wymyślę stochastyczne zejście gradientowe.
Zalecana:
Asystent Google-Automatyzacja domu Iot przy użyciu Esp8266: 6 kroków
Asystent Google | Automatyka domowa Iot za pomocą Esp8266: W tej instrukcji pokażę Ci automatykę domową sterowaną przez asystenta Google
Tworzenie aplikacji na Androida dla małych firm przy użyciu aplikacji MIT i Google Fusion Table: 7 kroków
Tworzenie aplikacji na Androida dla małych firm przy użyciu aplikacji MIT i Google Fusion Table: Czy kiedykolwiek chciałeś stworzyć własną aplikację, która może być dostępna w sklepie Google Play!!! Jeśli prowadzisz firmę, ten samouczek zmieni Twoje życie. Po uważnym przeczytaniu będziesz mógł stworzyć własną Aplikację. Przed
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim
Interfejs DHT11 przy użyciu Arduino: 4 kroki
Interfejs DHT11 Korzystanie z Arduino: W tej instrukcji dowiesz się, jak skonfigurować czujnik wilgotności i temperatury DHT11 w Arduino UNO. Dowiedz się, jak działa czujnik wilgotności i jak sprawdzić odczyty wyjściowe z monitora szeregowego Opis: DHT11 wykrywa w
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: 18 kroków (ze zdjęciami)
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: to moja pierwsza publikacja eva artykułu o majsterkowaniu w Internecie. Więc przepraszam za literówki, protokoły itp. Poniższe instrukcje pokazują, jak zrobić PRACOWĄ lutownicę na gorące powietrze odpowiednią do WSZYSTKICH zastosowań wymagających lutowania. To lutowanie gorącym powietrzem