Mục lục:

API Google Vision sử dụng Raspberry Pi và Node: 11 bước
API Google Vision sử dụng Raspberry Pi và Node: 11 bước

Video: API Google Vision sử dụng Raspberry Pi và Node: 11 bước

Video: API Google Vision sử dụng Raspberry Pi và Node: 11 bước
Video: Introduction to Google Vision and the Raspberry Pi Camera 2024, Tháng bảy
Anonim
API Google Vision sử dụng Raspberry Pi và Node
API Google Vision sử dụng Raspberry Pi và Node

Đây là hướng dẫn bắt đầu sử dụng API Google Vision. Nó sử dụng những thứ sau

  • Raspberry Pi Zero W
  • Arch Linux
  • NodeJS
  • kết nối Internet

Bạn không biết Arch Linux? Hoặc làm thế nào để thiết lập Raspberry Pi? Đừng lo lắng, tôi đã viết một loạt các bài báo đề cập đến vấn đề này khá nhanh chóng. Nó dễ thiết lập hơn bạn nghĩ rất nhiều. Vì vậy, đừng để nó làm mất lòng bạn.

  • Cài đặt Arch Linux trên Raspberry Pi với quyền truy cập WiFi ngay lập tức
  • Thiết lập i2c trên Raspberry Pi Zero W bằng Arch Linux
  • Thiết lập không gian dự án NodeJS trên Raspberry Pi Zero W
  • Chuyển mã trình điều khiển động cơ DRV8830 I2C sang NodeJS
  • Chỉnh sửa mã Raspberry Pi từ xa từ mã Visual Studio
  • Robot 1B1

Ảnh bìa của Andy Kelly trên Unsplash

Bước 1: Nhận tài khoản API Google

Đáng buồn thay, Google Vision API không phải là một dịch vụ hoàn toàn miễn phí. Tại thời điểm viết, tài khoản API cung cấp 1000 lệnh gọi API Google Vision miễn phí mỗi tháng. Sau đó, đó là $ 1,00 cho mỗi 1000 cuộc gọi.

Tôi biết, tôi biết, không quá tệ. Nhưng đây không phải là một dự án thương mại. Tôi muốn sử dụng nó cho một con bot nhỏ. Nếu vợ tôi nhận được hóa đơn 40 đô la vì tôi quyết định truyền hình ảnh lên API, thì đó sẽ là một con bot chết. Dù sao, tôi nghĩ tôi vẫn sẽ khám phá dịch vụ dành cho những người cười khúc khích.

Để có được một tài khoản, hãy truy cập

Bảng điều khiển Google

Và đăng nhập bằng tài khoản Google hiện có hoặc tạo một tài khoản.

Bước 2: Nhập thông tin thanh toán

Nhập thông tin thanh toán
Nhập thông tin thanh toán

Bây giờ, đây là phần đáng sợ, bạn phải nhập thông tin thanh toán của mình trước khi bắt đầu. Hãy nhớ rằng bạn sẽ bị tính phí nếu thực hiện hơn 1000 cuộc gọi. Một lần nữa, nếu bạn vượt quá 1.000 cuộc gọi miễn phí, bạn sẽ bị tính phí. (Cái gì? Tôi đã nói rồi mà? Ồ.)

Bước 3: Mở Thư viện API

Mở Thư viện API
Mở Thư viện API

Sau khi thiết lập thông tin thanh toán, chúng tôi vẫn cần bật API Cloud Vision. Đây là một tính năng bảo mật, về cơ bản, tất cả các API của Google đều bị vô hiệu hóa theo mặc định, vì vậy nếu ai đó vô tình có quyền truy cập, họ sẽ không phát hiện ra địa ngục ở khắp mọi nơi.

Bước 4: Tìm kiếm API Google Vision

Tìm kiếm API Google Vision
Tìm kiếm API Google Vision

Bây giờ tìm kiếm Vision và nhấp vào nút. Ở đây sẽ có một nút Bật sáng rõ. Nhấn nó.

Bước 5: Điều hướng đến Thông tin đăng nhập

Điều hướng đến Thông tin đăng nhập
Điều hướng đến Thông tin đăng nhập

Điều cuối cùng chúng ta cần làm là lấy khóa API. Điều này cần được bao gồm trong tiêu đề cuộc gọi API để xác thực.

Không để bất kỳ ai lấy khóa API của bạn. Và đừng mã hóa nó trong mã của bạn. Hãy tin tôi, điều này sẽ cắn bạn. Nếu điều này vô tình được đưa lên web, một trình thu thập thông tin web sẽ nhanh chóng tìm thấy nó và bạn sẽ phải trả rất nhiều đô la.

Hãy để bài viết này làm bạn sợ một chút.

Nhà phát triển đặt các khóa AWS trên Github

Vâng! Hãy bắt đầu lấy Khóa API của bạn. Tìm phần Thông tin xác thực

Bước 6: Tạo khóa API Google Vision

Tạo khóa API Google Vision
Tạo khóa API Google Vision
Tạo khóa API Google Vision
Tạo khóa API Google Vision

Bạn có thể sẽ không thấy bất kỳ thông tin đăng nhập nào được tạo, vì bạn có thể chưa tạo bất kỳ thông tin đăng nhập nào.

Hãy tạo một Khóa API mới. Tôi đặt tên khóa có ý nghĩa và giới hạn nó chỉ trong API đám mây của Google. Hãy tiếp tục và sao chép khóa API của bạn, vì chúng tôi sẽ cần nó trong bước tiếp theo.

Bước 7: Thiết lập bên Raspberry Pi

Các bài viết được liệt kê ở đầu bài viết này sẽ giúp bạn thiết lập Raspberry Pi cho bước này. Nhưng nếu bạn đang làm những điều khác biệt, hầu hết điều này vẫn sẽ hiệu quả với bạn. Tuy nhiên, khi chúng ta đi đến phần về các biến môi trường, điều đó sẽ khác đối với các phiên bản Linux khác.

Bắt đầu bằng cách SSH vào số Pi của bạn.

Và cập nhật tất cả các gói

sudo pacman -Syu

Chúng tôi sẽ tạo một biến môi trường cho API Google Cloud Vision. Điều này là để tránh mã hóa khóa API của bạn vào mã sâu hơn. Điều đó sẽ hiệu quả, nhưng tôi thực sự khuyên bạn nên gắn bó với tôi và thiết lập một trình quản lý biến môi trường để xử lý API.

Chuyển sang người dùng root bằng cách nhập

su

Nhập mật khẩu của bạn.

Điều tiếp theo chúng tôi làm là thêm Khóa API Google Vision của bạn làm biến môi trường cho

/ etc / profile

điều này sẽ khiến nó được phức tạp hóa khi khởi động.

Nhập, thay thế

YOUR_API_KEY

với Khóa API thực tế của bạn.

echo 'xuất GOOGLE_CLOUD_VISION_API_KEY = YOUR_API_KEY' >> / etc / profile

Bây giờ khởi động lại Pi để điều đó có hiệu lực.

khởi động lại sudo

Đăng nhập lại. Hãy kiểm tra để đảm bảo rằng nó đang tải khóa API.

echo $ GOOGLE_CLOUD_VISION_API_KEY

Nếu khóa API của bạn được gửi lại, bạn nên thực hiện.

Bước 8: Thiết lập dự án

Thiết lập dự án
Thiết lập dự án

Hãy tạo một thư mục dự án.

mkdir google-vis

cd google-vis

Bây giờ hãy khởi tạo một dự án Node mới.

npm init

Hãy tùy chỉnh các chi tiết gói nếu bạn muốn. Nếu bạn lười biếng như tôi, hãy nhấn enter cho đến khi bạn quay lại dấu nhắc lệnh.

Hãy thêm các thư viện Node cần thiết. Đó là một. Thư viện axios, cho phép các yêu cầu web không đồng bộ.

npm axios

Hình ảnh
Hình ảnh

Ngoài ra, hãy tạo một thư mục tài nguyên và tải xuống hình ảnh thử nghiệm đáng yêu của chúng tôi. À, cô Hepburn!

Đảm bảo rằng bạn đang ở trong

google-vis / resources

thư mục dự án khi tải xuống hình ảnh.

tài nguyên mkdir

tài nguyên cd wget

Bước 9:

Tạo một tệp trong

go-vis

thư mục được gọi là

app.js

nano app.js

Sau đó, dán mã bên dưới và lưu tệp bằng cách gõ CTRL + O và thoát bằng CTRL + X.

//

const const axios = demand ('axios'); const fs = request ('fs');

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

if (! API_KEY) {

console.log ('Không cung cấp khóa API')}

function base64_encode (file) {

// đọc dữ liệu nhị phân var bitmap = fs.readFileSync (file); // chuyển đổi dữ liệu nhị phân thành chuỗi mã hóa base64 trả về Bộ đệm mới (bitmap).toString ('base64'); } var base64str = base64_encode ('./ resources / audrey.jpg');

const apiCall = `https://vision.googleapis.com/v1/images:annotate?key=$ {API_KEY}`;

const reqObj = {

yêu cầu: [{"image": {"content": base64str}, "features": [{"type": "LABEL_DETECTION", "maxResults": 5}, {"type": "FACE_DETECTION", "maxResults": 5}, {"type": "IMAGE_PROPERTIES", "maxResults": 5}]}]}

axios.post (apiCall, reqObj).then ((response) => {

console.log (phản hồi); console.log (JSON.stringify (response.data.responses, undefined, 4)); }). catch ((e) => {console.log (e.response);});

Mã này lấy biến môi trường khóa API và tạo một hằng số chương trình từ đó.

const API_KEY = process.env. GOOGLE_CLOUD_VISION_API_KEY

Đây là cách chúng tôi tránh mã hóa cứng khóa API.

Bước 10:

Hãy chạy chương trình.

node app.js

Nếu mọi việc suôn sẻ, bạn sẽ nhận được đầu ra tương tự như bên dưới

data: {response:

Bước 11: Và nhiều hơn thế nữa…

Bài viết này ngắn - một bước khởi đầu tốt. Tuy nhiên, có rất nhiều tiềm năng ở đây. Ví dụ: gửi hình ảnh của riêng bạn bằng Máy ảnh Raspberry Pi

  • raspicam
  • pi-camera

Vui lòng đặt bất kỳ câu hỏi nào liên quan đến cách sử dụng đầu ra.

Có các yêu cầu phát hiện tính năng khác.

API Google Vision - Các tính năng khác

Tuy nhiên, tôi sẽ kết thúc bài viết và chuyển sang giới thiệu các hệ thống phát hiện tầm nhìn. Ngay sau khi tôi tìm ra sự giảm dần độ dốc ngẫu nhiên.

Đề xuất: