Mục lục:

EAL - Công nghiệp 4.0 Thu thập dữ liệu GPS trên Rc Car: 4 bước
EAL - Công nghiệp 4.0 Thu thập dữ liệu GPS trên Rc Car: 4 bước

Video: EAL - Công nghiệp 4.0 Thu thập dữ liệu GPS trên Rc Car: 4 bước

Video: EAL - Công nghiệp 4.0 Thu thập dữ liệu GPS trên Rc Car: 4 bước
Video: Bom Lấp lánh 1.0 vs Cướp hàng Hiên nhà 2024, Tháng sáu
Anonim
EAL - Công nghiệp 4.0 thu thập dữ liệu GPS trên Rc Car
EAL - Công nghiệp 4.0 thu thập dữ liệu GPS trên Rc Car
EAL - Công nghiệp 4.0 thu thập dữ liệu GPS trên Rc Car
EAL - Công nghiệp 4.0 thu thập dữ liệu GPS trên Rc Car

Trong Tài liệu hướng dẫn này, chúng tôi sẽ nói về cách chúng tôi thiết lập mô-đun GPS trên ô tô RC và đăng dữ liệu thu thập được lên trang web để dễ dàng điều chỉnh. Chúng tôi đã thực hiện trước một hướng dẫn về cách chúng tôi tạo ra chiếc xe RC của mình, có thể tìm thấy ở đây. Điều này đang sử dụng cùng một bản dựng, mặc dù chúng tôi đã quyết định loại bỏ các cảm biến siêu âm và thay vào đó áp dụng mô-đun GPS. Trong dự án, chúng tôi đã thiết lập một cơ sở dữ liệu chứa dữ liệu GPS và xây dựng một trang web mà dữ liệu có thể được tìm thấy trên đó, cũng như áp dụng nó vào bản đồ, để bạn có thể biết chiếc xe đã ở đâu. Truy cập Joerha.dk để xem trang web.

Trên sơ đồ ở trên cùng, bạn có thể thấy tổng quan về các công nghệ đã được sử dụng trong dự án này. Để tận dụng tối đa Công cụ có thể hướng dẫn này, bạn cần phải quen thuộc với một số, nếu không phải là tất cả các công nghệ được sử dụng. Nó được liên kết theo cách sử dụng. Việc hiểu rõ về Github cũng sẽ hữu ích, vì chúng tôi đã liên kết với kho lưu trữ github của mình.

Danh sách các tiện ích:

  • Github
  • Raspberry PI / Raspbian

    Python

  • Node.js

    • Express.js
    • Sequelize.js
    • MySQL
  • HTML, CSS, JS

    Bootstrap

Bước 1: Thiết lập cơ sở dữ liệu

Thiết lập cơ sở dữ liệu
Thiết lập cơ sở dữ liệu

Trong phân đoạn này, chúng ta sẽ nói về cách chúng ta xây dựng hệ thống cơ sở dữ liệu mà dữ liệu GPS của chúng ta được lấy từ đó. Cơ sở dữ liệu được xây dựng trong MySQL theo hình trên, nơi chúng ta có hai bảng - “Người dùng” và “GPSEntries”. Trong người dùng, chúng tôi có "Id" làm khóa chính của chúng tôi. Nó được sử dụng như một định danh duy nhất. “Tên” là tên của người dùng hiện đang đăng nhập. “Apikey” là khóa duy nhất được cấp cho người dùng để truy cập API. “Đang hoạt động” là để kiểm tra xem người dùng có đang hoạt động hay không, chúng tôi có thể hủy kích hoạt người dùng đó, vì vậy anh ta không thể truy cập vào cơ sở dữ liệu. “CreatedAt” và “UpdatedAt” được tạo ra bởi quá trình chúng tôi sử dụng để xây dựng cơ sở dữ liệu.

Trong bảng “GPSEntries”, chúng ta có tất cả các thuộc tính chứa dữ liệu từ mô-đun GPS. “Thời gian” là thời gian hiện tại của mô-đun GPS, chúng tôi sử dụng nó để hiển thị thời gian đăng. Sau đó, chúng tôi có vị trí trong tọa độ, cũng như "tốc độ" và "hướng". Chúng tôi cũng có rất nhiều thuộc tính lỗi, cho thấy nếu có lỗi trong dữ liệu từ GPS, fx trong tọa độ. Chúng tôi đã thêm chúng vào cơ sở dữ liệu, nhưng chúng tôi không hiển thị chúng trên trang web. “UserId” là một khóa ngoại có chứa “id” từ bảng Users. Điều đó được sử dụng để hiển thị người dùng đã đăng dữ liệu.

Bước 2: API

API
API

Trong phân đoạn này, chúng ta sẽ nói về API kiểm soát cơ sở dữ liệu và dán dữ liệu vào đó. API web được xây dựng bằng Node.js, sử dụng Express.js và Sequalize.js.

Node.js được sử dụng để chạy JavaScript serveride, nơi mà nó thường được sử dụng chủ yếu để tạo script phía máy khách trên một trang web.

Express.js là khung mà chúng tôi sử dụng để xây dựng API.

Sequalize.js được sử dụng để tạo liên kết giữa dữ liệu Gps và các thuộc tính cơ sở dữ liệu. Nó sử dụng một phương pháp gọi là ORM (Object-Relational Mapping) để thực hiện việc này. Đây cũng là nơi “CreatedAt” và “UpdatedAt” được tạo (Hiển thị ở bước 1).

API có thể được sử dụng bằng cách truy cập api.joerha.dk. Sau đó, thêm / gps vào url, điều đó sẽ hiển thị tất cả dữ liệu trong cơ sở dữ liệu ở định dạng JSON. Để kiểm soát số lượng mục nhập bạn muốn, bạn có thể thêm / 2 (Người dùng) và / x (số mục nhập) vào url. Fx api.joerha.dk/gps/2/10 sẽ hiển thị 10 mục mới nhất. Một phần của dữ liệu được định dạng được hiển thị trong hình trên.

Có thể tìm thấy mã ở đây: Github

Bước 3: Ứng dụng GPS / Python

Ứng dụng GPS / Python
Ứng dụng GPS / Python
Ứng dụng GPS / Python
Ứng dụng GPS / Python
Ứng dụng GPS / Python
Ứng dụng GPS / Python

Trong phân đoạn này, chúng ta sẽ nói về tập lệnh chạy trên mâm xôi và thu thập dữ liệu GPS và gửi đến API.

Để thu thập dữ liệu từ GPS, chúng tôi đang sử dụng một daemon có tên là gpsd (Hình 1). Đây là nơi chúng tôi thu thập dữ liệu mà chúng tôi đăng lên cơ sở dữ liệu và là cơ sở cho bảng GPSEntries của chúng tôi. Tập lệnh kéo dữ liệu từ gpsd và đăng nó lên API, được viết bằng python.

Ứng dụng khởi tạo một luồng, vì vậy nó có thể chạy cả gpsd và chương trình của chúng tôi cùng một lúc. Dữ liệu Gpsd đang được truyền liên tục trong khi GPS đang hoạt động (Hình 2).

Sau đó, chúng tôi tạo một vòng lặp liên tục đăng tải trọng của nó lên API chứa dữ liệu GPS. Dữ liệu được định dạng là JSON. Trọng tải bao gồm các thuộc tính được thấy trong GPSD. Thẻ.fix hoạt động giống như một ảnh chụp nhanh của dữ liệu hiện tại và gửi dữ liệu đó đến API. Điều này được thực hiện bởi request.post và sử dụng url và khóa API. Print (r.status_code) được xuất cho người dùng để biết liệu dữ liệu có được truyền đúng cách hay không. Time.sleep (0,5) là tần suất dữ liệu được đăng (Hình 3)

Có thể tìm thấy mã ở đây: Github

Bước 4: Trang web cho Dự án

Trang web cho Dự án
Trang web cho Dự án

Trong phân đoạn này, chúng tôi sẽ nói về cách chúng tôi tạo trang web hiển thị dữ liệu và thông tin khác về dự án. Trang web được xây dựng bằng HTML, css và JS. Để bắt đầu, chúng tôi đã sử dụng Bootstrap 4.0, là một thư viện dành cho HTML, css và JS. Nó đi kèm với rất nhiều chức năng giúp bạn xây dựng trang web của mình. Chúng tôi đã sử dụng nó cho thanh điều hướng ở trên cùng, cũng như thiết lập hàng và cột mà trang web được xây dựng. Sau đó, chúng tôi có một tập lệnh css nhỏ khác kiểm soát màu sắc của nền và tiêu đề. Ngoài ra, chúng tôi đã sử dụng một thư viện được gọi là hộp đèn, vì vậy bạn có thể nhấp vào các bức ảnh và chúng bật lên. Nội dung của trang web có bản đồ google, bảng dữ liệu, video về chiếc xe đang hoạt động và liên kết đến chính trang này.

Bản đồ google là thú vị nhất. Bản đồ được tải thông qua API của google, nơi một khóa API duy nhất được chèn để nó hoạt động. Dữ liệu được truyền trực tuyến tới bản đồ trong khoảng thời gian 500ms. Chúng tôi đã tạo một chức năng trong đó 100 điểm dữ liệu cuối cùng trong cơ sở dữ liệu được hiển thị dưới dạng điểm đánh dấu, vì vậy bạn có thể theo dõi nơi chiếc xe đã ở. Điều này được thực hiện thông qua cái được gọi là cuộc gọi AJAX.

Các bộ dữ liệu trong bảng dữ liệu GPS được yêu cầu theo cách tương tự. Trong bảng, bạn có thể thấy 10 mục nhập cuối cùng, được cập nhật theo thời gian thực khi GPS hoạt động. Chúng tôi truy xuất dữ liệu từ cơ sở dữ liệu trong khoảng thời gian 500 ms.

Có thể tìm thấy mã ở đây: Github

Đề xuất: