Mục lục:
- Bước 1: Thiết lập cơ sở dữ liệu
- Bước 2: API
- Bước 3: Ứng dụng GPS / Python
- Bước 4: Trang web cho Dự án
Video: EAL - Công nghiệp 4.0 Thu thập dữ liệu GPS trên Rc Car: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
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
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
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
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
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:
Máy ghi nhật ký điện tâm đồ - Máy theo dõi tim có thể đeo được để thu thập và phân tích dữ liệu dài hạn: 3 bước
ECG Logger - Máy theo dõi tim có thể đeo để thu thập và phân tích dữ liệu dài hạn: Phát hành lần đầu: tháng 10 năm 2017 Phiên bản mới nhất: 1.6.0 Trạng thái: Ổn định Độ khó: Cao Điều kiện: Arduino, Lập trình, Xây dựng phần cứng Kho lưu trữ độc đáo: SF (xem liên kết bên dưới) Hỗ trợ: Chỉ dành cho diễn đàn, không PMECG Logger là Máy theo dõi tim có thể đeo được trong thời gian dài-
Hệ thống thu thập dữ liệu và trực quan hóa dữ liệu cho xe đạp đua điện MotoStudent: 23 bước
Hệ thống thu thập dữ liệu và trực quan hóa dữ liệu cho xe đạp đua điện MotoStudent: Hệ thống thu thập dữ liệu là một tập hợp phần cứng và phần mềm làm việc cùng nhau để thu thập dữ liệu từ các cảm biến bên ngoài, lưu trữ và xử lý sau đó để nó có thể được trực quan hóa bằng đồ họa và phân tích, cho phép các kỹ sư tạo ra
Cambus - Hệ thống thu thập dữ liệu trên xe buýt đô thị: 8 bước
Cambus - Hệ thống thu thập dữ liệu về xe buýt đô thị: Trong số các vấn đề và khó khăn được biết đến trong giao thông công cộng, người dân thiếu thông tin thời gian thực và ít quyết đoán nhất. Sự quá tải của xe buýt giao thông công cộng khiến người dùng bỏ đi, những người thích sử dụng phương tiện riêng của họ, thậm chí
UCL - IIoT - Bộ thu thập dữ liệu độ ẩm: 6 bước
UCL - IIoT - Trình thu thập dữ liệu độ ẩm: Có hướng dẫn này, sẽ cung cấp cho bạn thông tin về độ ẩm từ bụi bẩn, có thể được xem trên giao diện người dùng với nút màu đỏ, hơn nữa dữ liệu sẽ được thu thập và đưa vào cơ sở dữ liệu MySQL, điều này có thể giúp bạn tìm hiểu các mô hình tưới nước f
IoT Made Easy: Thu thập dữ liệu thời tiết từ xa: UV và Nhiệt độ & Độ ẩm không khí: 7 bước
IoT Made Easy: Thu thập dữ liệu thời tiết từ xa: UV và Nhiệt độ & Độ ẩm không khí: Trong hướng dẫn này, chúng tôi sẽ thu thập dữ liệu từ xa như UV (bức xạ cực tím), nhiệt độ và độ ẩm không khí. Những dữ liệu đó sẽ rất quan trọng và sẽ được sử dụng trong một Trạm Thời tiết hoàn chỉnh trong tương lai