Inhoudsopgave:
- Stap 1: Maak een Google API-account aan
- Stap 2: Voer factuurgegevens in
- Stap 3: Open de API-bibliotheek
- Stap 4: Zoek naar Google Vision API
- Stap 5: Navigeer naar Inloggegevens
- Stap 6: Google Vision API-sleutel maken
- Stap 7: Raspberry Pi Side Setup
- Stap 8: Projectconfiguratie
- Stap 9:
- Stap 10:
- Stap 11: En nog veel meer…
Video: Google Vision API met Raspberry Pi en Node: 11 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Dit is een startgids voor het gebruik van de Google Vision API. Het gebruikt het volgende:
- Raspberry Pi Zero W
- Arch Linux
- NodeJS
- internetverbinding
Kent u Arch Linux niet? Of hoe stel je een Raspberry Pi in? Geen zorgen, ik heb een reeks artikelen geschreven die het vrij snel behandelen. Het is veel gemakkelijker in te stellen dan je denkt. Laat je er dus niet door weerhouden.
- Arch Linux installeren op Raspberry Pi met onmiddellijke wifi-toegang
- Stel i2c in op Raspberry Pi Zero W met Arch Linux
- NodeJS-projectruimte instellen op Raspberry Pi Zero W
- DRV8830 I2C-motorstuurprogrammacode overzetten naar NodeJS
- Raspberry Pi-code op afstand bewerken vanuit Visual Studio Code
- 1B1 Robot
Omslagfoto door Andy Kelly op Unsplash
Stap 1: Maak een Google API-account aan
Helaas is Google Vision API geen volledig gratis service. Op het moment van schrijven biedt een API-account 1000 gratis Google Vision API-aanroepen per maand. Dan is het $ 1,00 voor elke 1000 oproepen.
Ik weet het, ik weet het, niet zo erg. Maar dit is geen commercieel project. Ik wil het gebruiken voor een prutsende kleine huisrobot. Als mijn vrouw een rekening krijgt van $40 omdat ik heb besloten om afbeeldingen naar de API te streamen, dan is het een dode bot. Hoe dan ook, ik dacht dat ik nog steeds de dienst voor poep-en-giechelen zou verkennen.
Bezoek voor een account
Google-console
En log in met een bestaand Google-account of maak er een aan.
Stap 2: Voer factuurgegevens in
Nu, hier is het enge deel, je moet je factuurgegevens invoeren voordat je aan de slag gaat. Houd er rekening mee dat er kosten in rekening worden gebracht als u meer dan 1000 gesprekken voert. Nogmaals, als u uw 1.000 gratis oproepen overschrijdt, worden er kosten in rekening gebracht. (Wat? Dat zei ik al? Oh.)
Stap 3: Open de API-bibliotheek
Na het instellen van factureringsgegevens moeten we nog steeds de Cloud Vision API inschakelen. Dit is een beveiligingsfunctie, in wezen zijn alle Google API's standaard uitgeschakeld, dus als iemand per ongeluk toegang krijgt, ontketenen ze niet overal de hel.
Stap 4: Zoek naar Google Vision API
Zoek nu naar Vision en klik op de knop. Hier zou een opvallende knop Inschakelen moeten zijn. Druk erop.
Stap 5: Navigeer naar Inloggegevens
Het laatste wat we moeten doen is de API-sleutel ophalen. Dit moet worden opgenomen in de API-aanroepheaders voor authenticatie.
Laat niemand uw API-sleutel krijgen. En niet hardcoderen in uw code. Geloof me, dit zal je bijten. Als dit per ongeluk op het web wordt gepusht, zal een webcrawler het snel vinden en betaalt u miljarden dollars.
Laat je door dit artikel een beetje schrikken.
Ontwikkelaar zet AWS-sleutels op Github
OK! Laten we uw API-sleutel gaan halen. Zoek het gedeelte Inloggegevens
Stap 6: Google Vision API-sleutel maken
U zult waarschijnlijk geen inloggegevens zien die zijn gemaakt, omdat u er waarschijnlijk nog geen hebt gemaakt.
Laten we een nieuwe API-sleutel maken. Ik zou de sleutel een betekenisvolle naam geven en deze beperken tot alleen de Google Cloud API. Ga je gang en kopieer je API-sleutel, want die hebben we nodig in de volgende stap.
Stap 7: Raspberry Pi Side Setup
De artikelen die bovenaan deze pagina worden vermeld, helpen u bij het instellen van de Raspberry Pi voor deze stap. Maar als u de dingen anders doet, zou het meeste hiervan nog steeds voor u moeten werken. Wanneer we echter bij het gedeelte over omgevingsvariabelen komen, zal dat voor andere Linux-smaken anders zijn.
Begin met SSH'en in je Pi.
En update alle pakketten
sudo pacman -Syu
We gaan een omgevingsvariabele maken voor de Google Cloud Vision API. Dit is om te voorkomen dat u uw API-sleutel hardcodeert in de code verderop. Dat zal werken, maar ik raad je ten zeerste aan om bij mij te blijven en een omgevingsvariabelenbeheer in te stellen om de API af te handelen.
Schakel over naar de rootgebruiker door te typen
zo
Voer uw wachtwoord in.
Het volgende dat we doen, is uw Google Vision API-sleutel als omgevingsvariabele toevoegen aan de
/etc/profiel
bestand, dit zou ervoor moeten zorgen dat het bij het opstarten wordt geïnitialiseerd.
Type, vervangen
UW_API_KEY
met uw werkelijke API-sleutel.
echo 'export GOOGLE_CLOUD_VISION_API_KEY=YOUR_API_KEY' >> /etc/profile
Start nu de Pi opnieuw op, zodat dat van kracht wordt.
sudo reboot
Log opnieuw in. Laten we controleren of de API-sleutel wordt geladen.
echo $GOOGLE_CLOUD_VISION_API_KEY
Als uw API-sleutel wordt teruggestuurd, zou u klaar moeten zijn om te gaan.
Stap 8: Projectconfiguratie
Laten we een projectmap maken.
mkdir google-vis
cd google-vis
Laten we nu een nieuw Node-project initialiseren.
npm init
Voel je vrij om de pakketdetails aan te passen als je wilt. Als je lui bent zoals ik, druk dan op enter totdat je terug bent bij de opdrachtprompt.
Laten we de benodigde Node-bibliotheken toevoegen. Het is een. De axios-bibliotheek, die asynchrone webverzoeken mogelijk maakt.
npm axios
Laten we ook een bronnenmap maken en onze mooie testafbeelding downloaden. Ach, juffrouw Hepburn!
Zorg dat je in de
google-vis/resources
projectmap bij het downloaden van de afbeelding.
mkdir-bronnen
cd-bronnen wget
Stap 9:
Maak een bestand in de
go-vis
map genaamd
app.js
nano app.js
Plak vervolgens de onderstaande code en sla het bestand op door CTRL+O te typen en af te sluiten met CTRL+X.
//
const const axios = vereisen('axios'); const fs = vereisen('fs');
const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY
als (!API_KEY) {
console.log('Geen API-sleutel opgegeven') }
functie base64_encode(bestand) {
// lees binaire gegevens var bitmap = fs.readFileSync (bestand); // converteer binaire gegevens naar base64-gecodeerde string retourneer nieuwe 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 = {
verzoeken:[{ "image":{ "content": base64str }, "features":[{ "type":"LABEL_DETECTION", "maxResults":5 }, { "type":"FACE_DETECTION", "maxResults": 5 }, { "type": "IMAGE_PROPERTIES", "maxResults":5 }] }] }
axios.post(apiCall, reqObj).then((reactie) => {
console.log(antwoord); console.log(JSON.stringify(response.data.responses, undefined, 4)); }).catch((e) => { console.log(e.response); });
Deze code pakt de omgevingsvariabele van de API-sleutel en maakt er een programmaconstante van.
const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY
Op deze manier vermijden we het hardcoderen van de API-sleutel.
Stap 10:
Laten we het programma uitvoeren.
node app.js
Als alles goed is gegaan, zou je een vergelijkbare output moeten krijgen als hieronder:
data: { reacties:
Stap 11: En nog veel meer…
Dit artikel is kort - een vliegende start. Er is hier echter veel potentieel. U kunt bijvoorbeeld uw eigen afbeeldingen verzenden met de Raspberry Pi-camera
- raspicam
- pi-camera
Stel gerust vragen over het gebruik van de output.
Er zijn andere verzoeken om functiedetectie.
Google Vision API -- Andere functies
Ik ga het artikel echter beëindigen en ga verder met het rollen van mijn visuele detectiesystemen. Zodra ik de stochastische gradiëntafdaling weet.
Aanbevolen:
Werken met URL API in Node-RED: 10 stappen
Werken met URL API in Node-RED: deze instructable leert je hoe je de URL API (http get) in node-RED gebruikt. Het is opzettelijk eenvoudig. En als node-RED relatief nieuw voor u is, dan is dit voorbeeld geschikt voor u. Ik zal je leren hoe je de node-RED-omgeving gebruikt en wat is, en h
Spraakherkenning met Google Speech API en Python: 4 stappen
Spraakherkenning met Google Speech API en Python: Spraakherkenning Spraakherkenning is een onderdeel van natuurlijke taalverwerking, een subveld van kunstmatige intelligentie. Simpel gezegd, spraakherkenning is het vermogen van computersoftware om woorden en zinnen in gesproken taal te identificeren
Gegevens van draadloze trillingen en temperatuur naar Google Spreadsheets verzenden met Node-RED: 37 stappen
Gegevens van draadloze trillingen en temperatuur naar Google Spreadsheets verzenden met Node-RED: Introductie van NCD's Long Range IoT Industrial draadloze trillings- en temperatuursensor, met een bereik tot 3 mijl door het gebruik van een draadloze mesh-netwerkstructuur. Dit apparaat is voorzien van een nauwkeurige 16-bits trillings- en temperatuursensor en
Twitter verbinden met een Eclipse-project met de Twitter4J API: 5 stappen
Twitter verbinden met een Eclipse-project met de Twitter4J API: deze instructie legt uit hoe u uw Twitter-account kunt verbinden met uw Eclipse-project en hoe u de Twitter4J-toepassingsprogramma-interface (API) kunt importeren om de functies ervan te gebruiken om het lezen en schrijven naar Twitter te automatiseren . Deze instructable
Huishoudelijke apparaten bedienen met Node MCU en Google Assistant - IOT - Blynk - IFTTT: 8 stappen
Huishoudelijke apparaten bedienen met Node MCU en Google Assistant | IOT | Blynk | IFTTT: een eenvoudig project om apparaten te bedienen met Google Assistant: Waarschuwing: omgaan met netstroom kan gevaarlijk zijn. Met uiterste zorg behandelen. Huur een professionele elektricien in tijdens het werken met open circuits. Ik neem geen verantwoordelijkheden voor de da