สารบัญ:

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 ขั้นตอน
วีดีโอ: Object Detection in Any Raspberry Pi using Google Vision API with Python 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? หรือจะตั้งค่า 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 Code จากระยะไกลจาก Visual Studio Code
  • หุ่นยนต์ 1B1

ภาพหน้าปกโดย Andy Kelly บน Unsplash

ขั้นตอนที่ 1: รับบัญชี Google API

น่าเศร้าที่ Google Vision API ไม่ใช่บริการฟรีทั้งหมด ในขณะที่เขียนบัญชี API จะให้บริการเรียก Google Vision API ฟรี 1,000 ครั้งต่อเดือน จากนั้นเป็น $1.00 ต่อการโทร 1,000 ครั้ง

ฉันรู้ ฉันรู้ ไม่ได้เลวร้ายอะไร แต่นี่ไม่ใช่โครงการเชิงพาณิชย์ ฉันต้องการใช้มันสำหรับพัตเตอร์บ้านตัวเล็ก ถ้าภรรยาของฉันได้รับเงิน 40 ดอลลาร์เพราะฉันตัดสินใจสตรีมรูปภาพไปยัง API มันจะเป็นบอทที่ตายแล้ว อย่างไรก็ตาม ฉันคิดว่าฉันยังคงสำรวจบริการสำหรับอึและหัวเราะคิกคัก

เพื่อรับการเยี่ยมชมบัญชี

Google Console

และลงชื่อเข้าใช้ด้วยบัญชี Google ที่มีอยู่หรือสร้างบัญชีใหม่

ขั้นตอนที่ 2: ป้อนข้อมูลการเรียกเก็บเงิน

ป้อนข้อมูลการเรียกเก็บเงิน
ป้อนข้อมูลการเรียกเก็บเงิน

นี่คือส่วนที่น่ากลัว คุณต้องป้อนข้อมูลสำหรับการเรียกเก็บเงินของคุณก่อนที่จะไป โปรดจำไว้ว่า คุณจะถูกเรียกเก็บเงินหากคุณโทรเกิน 1,000 ครั้ง ย้ำอีกครั้ง หากคุณโทรเกิน 1,000 สายฟรี คุณจะถูกเรียกเก็บเงิน (อะไรนะ ฉันพูดไปแล้วเหรอ?)

ขั้นตอนที่ 3: เปิดไลบรารี API

เปิดไลบรารี API
เปิดไลบรารี API

หลังจากตั้งค่าข้อมูลการเรียกเก็บเงินแล้ว เรายังต้องเปิดใช้งาน Cloud Vision API นี่เป็นคุณลักษณะด้านความปลอดภัย โดยพื้นฐานแล้ว Google API ทั้งหมดจะถูกปิดใช้งานโดยค่าเริ่มต้น ดังนั้นหากมีคนเข้าถึงโดยไม่ได้ตั้งใจ พวกเขาจะไม่ปล่อยนรกไปทุกที่

ขั้นตอนที่ 4: ค้นหา Google Vision API

ค้นหา Google Vision API
ค้นหา Google Vision API

ตอนนี้ค้นหา Vision แล้วคลิกปุ่ม ที่นี่ควรมีปุ่มเปิดใช้งานที่มองเห็นได้ชัดเจน กดเลย

ขั้นตอนที่ 5: นำทางไปยังข้อมูลประจำตัว

นำทางไปยังข้อมูลประจำตัว
นำทางไปยังข้อมูลประจำตัว

สิ่งสุดท้ายที่เราต้องทำคือรับคีย์ API สิ่งนี้จะต้องรวมอยู่ในส่วนหัวการเรียก API สำหรับการตรวจสอบสิทธิ์

อย่าให้ใครได้รับคีย์ API ของคุณ และอย่าฮาร์ดโค้ดในโค้ดของคุณ เชื่อฉันเถอะว่ามันจะกัดคุณ หากสิ่งนี้ถูกผลักเข้าสู่เว็บโดยไม่ได้ตั้งใจ โปรแกรมรวบรวมข้อมูลเว็บจะพบมันอย่างรวดเร็ว และคุณจะต้องจ่ายเงินหลายพันล้านเหรียญ

ให้บทความนี้ทำให้คุณตกใจเล็กน้อย

นักพัฒนาวางคีย์ AWS บน Github

ตกลง! ไปรับคีย์ API ของคุณกันเถอะ ค้นหาส่วนข้อมูลรับรอง

ขั้นตอนที่ 6: สร้างคีย์ Google Vision API

สร้างคีย์ Google Vision API
สร้างคีย์ Google Vision API
สร้างคีย์ Google Vision API
สร้างคีย์ Google Vision API

คุณอาจไม่เห็นข้อมูลประจำตัวที่สร้างขึ้น เนื่องจากคุณอาจยังไม่ได้สร้างข้อมูลรับรองใดๆ

มาสร้างคีย์ API ใหม่กัน ฉันจะตั้งชื่อคีย์ให้มีความหมายและจำกัดไว้เฉพาะ Google Cloud API เท่านั้น ไปข้างหน้าและคัดลอกคีย์ API ของคุณ เนื่องจากเราต้องการมันในขั้นตอนต่อไป

ขั้นตอนที่ 7: การตั้งค่าด้านข้าง Raspberry Pi

บทความที่ระบุไว้ที่ด้านบนของบทความนี้จะช่วยคุณตั้งค่า Raspberry Pi สำหรับขั้นตอนนี้ แต่ถ้าคุณทำสิ่งที่แตกต่างออกไป สิ่งเหล่านี้ส่วนใหญ่ก็ยังใช้ได้ผลสำหรับคุณ อย่างไรก็ตาม เมื่อเราพูดถึงตัวแปรสภาพแวดล้อมแล้ว ลินุกซ์รุ่นอื่นๆ จะมีความแตกต่างกัน

เริ่มต้นด้วย SSH ลงใน Pi ของคุณ

และอัพเดททุกแพ็คเกจ

sudo pacman -Syu

เราจะสร้างตัวแปรสภาพแวดล้อมสำหรับ Google Cloud Vision API นี่คือเพื่อหลีกเลี่ยงการฮาร์ดโค้ดคีย์ API ของคุณลงในโค้ดด้านล่าง ที่จะใช้งานได้ แต่ฉันขอแนะนำอย่างยิ่งให้คุณติดกับฉันและตั้งค่าตัวจัดการตัวแปรสภาพแวดล้อมเพื่อจัดการ API

เปลี่ยนเป็นผู้ใช้รูทโดยพิมพ์

ซู

ป้อนรหัสผ่านของคุณ

สิ่งต่อไปที่เราทำคือเพิ่มคีย์ 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 Libraries ที่จำเป็นกันเถอะ มันเป็นหนึ่ง ไลบรารี axios ซึ่งเปิดใช้งานการร้องขอเว็บแบบ async

npm axios

ภาพ
ภาพ

มาสร้างไดเร็กทอรีทรัพยากรและดาวน์โหลดภาพทดสอบที่น่ารักของเรา อา คิดถึงเฮปเบิร์น!

ตรวจสอบให้แน่ใจว่าคุณอยู่ใน

google-vis/resources

ไดเรกทอรีโครงการเมื่อดาวน์โหลดภาพ

ทรัพยากร mkdir

ทรัพยากรซีดี wget

ขั้นตอนที่ 9:

สร้างไฟล์ใน

ไป-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

ถ้า (!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 }, { "ประเภท": "IMAGE_PROPERTIES", "maxResults":5 }] }] }

axios.post (apiCall, reqObj).then ((ตอบกลับ) => {

console.log (ตอบกลับ); console.log(JSON.stringify(response.data.responses, undefined, 4)); }).catch((e) => { console.log (ตอบสนอง); });

รหัสนี้คว้าตัวแปรสภาพแวดล้อมคีย์ API และสร้างค่าคงที่ของโปรแกรมจากมัน

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

นี่คือวิธีที่เราหลีกเลี่ยงการฮาร์ดโค้ดคีย์ API

ขั้นตอนที่ 10:

มาเรียกใช้โปรแกรมกัน

โหนด app.js

หากทุกอย่างเป็นไปด้วยดีคุณควรได้ผลลัพธ์ที่คล้ายกันด้านล่าง

ข้อมูล: { ตอบกลับ:

ขั้นตอนที่ 11: และอีกมากมาย…

บทความนี้สั้น - การเริ่มต้นอย่างรวดเร็ว อย่างไรก็ตาม มีศักยภาพมากมายที่นี่ ตัวอย่างเช่น การส่งภาพของคุณเองโดยใช้ Raspberry Pi Camera

  • ราสปิคาม
  • pi-camera

โปรดอย่าลังเลที่จะถามคำถามเกี่ยวกับวิธีการใช้ผลลัพธ์

มีคำขอตรวจสอบคุณสมบัติอื่นๆ

Google Vision API -- คุณสมบัติอื่นๆ

อย่างไรก็ตาม ฉันจะจบบทความและดำเนินการต่อไปเกี่ยวกับระบบตรวจจับด้วยภาพของฉัน ทันทีที่ฉันหาการไล่ระดับสีสุ่ม

แนะนำ: