Mục lục:

The Mappifier - Hệ thống lập bản đồ + thông báo: 9 bước
The Mappifier - Hệ thống lập bản đồ + thông báo: 9 bước

Video: The Mappifier - Hệ thống lập bản đồ + thông báo: 9 bước

Video: The Mappifier - Hệ thống lập bản đồ + thông báo: 9 bước
Video: Tiếp cận và sử dụng hiệu quả các phần mềm thương mại, mã nguồn mở trong mô phỏng, tính toán kết cấu 2024, Tháng mười một
Anonim
The Mappifier - Bản đồ + Hệ thống thông báo
The Mappifier - Bản đồ + Hệ thống thông báo

Lái xe ban đêm khá nhiều niềm vui. Nhưng thông thường, nó trở thành một cơn ác mộng, dưới dạng những con vật băng qua đường (đặc biệt là những con chó và mèo hoang, những người chờ bạn lái xe đến gần chúng để chúng có thể băng qua !!). Vì vậy, tôi đã nghĩ đến việc làm một cái gì đó cảnh báo bạn khi bạn đến gần những vị trí dễ bị tổn thương này, để bạn có thể lái xe cẩn thận hơn.

Hệ thống có hai phần: Thu thập dữ liệu & Truy xuất dữ liệu. Phần đầu tiên lấy dữ liệu vị trí, đó là những vị trí có nhiều xác suất động vật đi qua hơn. Dữ liệu này phải được thêm theo cách thủ công và được cập nhật trên bản đồ. Phần sau lấy vị trí hiện tại của chúng tôi và sau đó so sánh nó với dữ liệu đã thu thập và các thông báo hoặc cảnh báo thích hợp được cung cấp.

Quân nhu

Phần cứng được sử dụng

Bảng phát triển WiFi ESP8266

Mô-đun GPS Ublox NEO-6M

Đèn LED

Nút nhấn tạm thời

Phần mềm được sử dụng

Arduino IDE

Bất kỳ trình soạn thảo JavaScript nào

Firebase (để lưu trữ và truy xuất dữ liệu)

Bước 1: Đơn vị phần cứng

Phần cứng được yêu cầu hoạt động theo hai cách (chế độ): 1) Lưu trữ vị trí vào Cơ sở dữ liệu: Đây là một phần chính trong quá trình thu thập dữ liệu; vị trí được mô-đun GPS truy xuất được gửi đến cơ sở dữ liệu firebase thông qua bảng phát triển WiFi ESP8266.

2) Cung cấp thông báo trong quá trình điều hướng: Trong quá trình điều hướng, vị trí hiện tại được truy xuất và được gửi đến cơ sở dữ liệu. Sau mỗi lần cập nhật vị trí, khoảng cách giữa vị trí hiện tại và những vị trí đó (đã được lưu trữ trong quá trình thu thập dữ liệu) được tính toán và được khôi phục bởi mô-đun ESP8266, sau đó sẽ cảnh báo người dùng theo khoảng cách của người dùng từ những vị trí được lưu trữ đó.

Tôi đã thêm ba đèn LED để thông báo sự thay đổi trong các chế độ, cũng như cập nhật thành công vào cơ sở dữ liệu và một đèn cảnh báo để thông báo sự gần gũi của người dùng với vị trí được lưu trữ.

Nút nhấn được sử dụng để lưu trữ vị trí chỉ trong một cú nhấp chuột (trong chế độ lưu trữ / thu thập dữ liệu) và cũng để thay đổi giữa các chế độ này.

Cung cấp năng lượng

Ban đầu, pin Lipo 3,7V 300mAh được sử dụng, nhưng nó đã gây ra một số vấn đề. Vấn đề chính là đặt lại ESP8266 (có thể do mức tăng đột biến hiện tại). Ngoài ra, pin không kéo dài nhiều. Cuối cùng một ngân hàng điện đã đến giải cứu tôi.

Bước 2: Mạch

Mạch điện
Mạch điện

Bước 3: Giới thiệu về Firebase

Giới thiệu về Firebase
Giới thiệu về Firebase
Giới thiệu về Firebase
Giới thiệu về Firebase
Giới thiệu về Firebase
Giới thiệu về Firebase
Giới thiệu về Firebase
Giới thiệu về Firebase

Firebase là một nền tảng phát triển ứng dụng web và di động, thuộc sở hữu của Google. Nó có nhiều tính năng, nhưng ở đây tôi chỉ sử dụng hai trong số chúng, Cơ sở dữ liệu thời gian thực và Chức năng đám mây.

Để bắt đầu trên Firebase, 1. Đầu tiên hãy truy cập trang web firebase.

2. Bây giờ điều hướng đến bảng điều khiển và nhấp vào tạo một dự án mới.

3. Bạn cần cung cấp tên dự án cùng với các chi tiết khác để tạo dự án.

4. Sau khi dự án được tạo, nhấp vào tùy chọn cơ sở dữ liệu từ ngăn bên để tạo cơ sở dữ liệu mới.

5. Làm tương tự cho các chức năng.

Đây là các bước chung để tạo một dự án, firebase được ghi chép đầy đủ và có nhiều loạt video youtube dành cho người mới bắt đầu, vui lòng xem qua để hiểu thêm.

Bước 4: Cơ sở dữ liệu thời gian thực

Cơ sở dữ liệu thời gian thực
Cơ sở dữ liệu thời gian thực
Cơ sở dữ liệu thời gian thực
Cơ sở dữ liệu thời gian thực

Sau khi bạn tạo cơ sở dữ liệu, bước tiếp theo là xem cách dữ liệu trong cơ sở dữ liệu được lưu trữ và có thể được truy cập. Để ghi hoặc đọc vào / từ cơ sở dữ liệu, bạn cần phải cấu hình các quy tắc cơ sở dữ liệu. Đối với mục đích phát triển, chúng tôi có thể sử dụng một quy tắc mở để bất kỳ ai có tham chiếu cơ sở dữ liệu đều có thể đọc / ghi nhưng hãy cẩn thận trong khi định cấu hình các quy tắc. Cơ sở dữ liệu lưu trữ dữ liệu ở định dạng JSON và được đồng bộ hóa với tất cả các thiết bị được kết nối với Bạn có thể thêm các nút con bằng cách sử dụng dấu '+' nhưng các nút cũng có thể được tạo theo chương trình. Tất cả dữ liệu mà chúng tôi tải lên cơ sở dữ liệu ở chế độ 'lưu trữ' (lưu trữ vị trí được thu thập) sẽ được lưu trữ ở đây dưới dạng các nút riêng biệt trong khi dữ liệu ở chế độ 'thông báo' (truy xuất dữ liệu khi điều hướng) được cập nhật mọi lúc (kiểm tra hình ảnh).

Bước 5: Thiết lập các chức năng của Firebase

Thiết lập các chức năng của Firebase
Thiết lập các chức năng của Firebase
Thiết lập các chức năng của Firebase
Thiết lập các chức năng của Firebase
Thiết lập các chức năng của Firebase
Thiết lập các chức năng của Firebase

Chúng tôi cần một cái gì đó để tính toán mức độ gần gũi của vị trí hiện tại với các vị trí được lưu trữ và các chức năng được kích hoạt cơ sở dữ liệu nền sẽ thực hiện công việc của chúng tôi. Các hàm được viết bằng javascript và cần được triển khai trên firebase.

Bạn cần cài đặt node.js trên máy tính của mình.

1) Bây giờ tải xuống giao diện dòng lệnh firebase bằng cách sử dụng lệnh "npm install -g firebase-tools" trên dấu nhắc lệnh của bạn

2) Bây giờ bạn cần đăng nhập vào firebase bằng lệnh "firebase login" (Bạn cần cung cấp mật khẩu đăng nhập gmail nếu bạn chưa đăng nhập)

3) Sau đó, điều hướng đến thư mục dự án của bạn và bắt đầu chức năng bằng lệnh "firebase init". Bạn sẽ cần phải chọn tùy chọn 'chức năng' để bắt đầu các chức năng firebase cho dự án của mình.

4) Bây giờ bạn cần đi đến thư mục 'functions' trong thư mục dự án của bạn và tìm tệp 'index.js'.

5) Chỉnh sửa tệp bằng trình soạn thảo văn bản và chỉnh sửa tệp / thay thế tệp bằng mappifier_ Chức năng.txt. (Đây thực sự là chức năng của chúng tôi)

6) Cuối cùng triển khai chức năng của bạn bằng cách sử dụng "triển khai firebase" trên dấu nhắc lệnh.

Bạn có thể kiểm tra xem chức năng có được triển khai trong menu chức năng trên bảng điều khiển firebase của mình hay không

Bước 6: Mã

Mã số
Mã số
Mã số
Mã số
Mã số
Mã số

Đối với ESP8266:

Bo mạch kết nối với WiFi và Firebase bằng thông tin đăng nhập và chờ một lần nhấn nút. Theo khoảng thời gian nhấn nút, các chế độ khác nhau được bắt đầu. Trong chế độ thu thập dữ liệu (chúng ta hãy gọi đây là chế độ "lưu trữ"), mỗi lần nhấn nút sẽ dẫn đến vị trí hiện tại được gửi đến cơ sở dữ liệu trong khi ở chế độ truy xuất dữ liệu ("chế độ thông báo"), vị trí hiện tại được gửi đến cơ sở dữ liệu và khoảng cách được truy xuất từ cơ sở dữ liệu tự động. Tôi đã thêm đèn LED để cảnh báo (gần vị trí được đánh dấu) và thông báo (như sửa lỗi GPS, kết nối WiFi, ghi cơ sở dữ liệu thành công, thay đổi chế độ, v.v.).

Đối với chức năng Firebase:

Hàm này kiểm tra việc ghi vào nút 'vị trí hiện tại' trên cơ sở dữ liệu và tính toán khoảng cách giữa các vị trí trên cơ sở dữ liệu và vị trí hiện tại, sau đó tìm khoảng cách nhỏ nhất sau đó được ghi vào nút 'khoảng cách' trên cơ sở dữ liệu.

Hãy nhớ thêm thông tin đăng nhập wifi và thông tin xác thực firebase trước khi bạn tải lên chương trình của mình. (Vui lòng xem hình ảnh). Ngoài ra, nếu bạn chưa quen với ESP8266 và để viết mã chúng trên Arduino IDE, hãy tham khảo những điều này.

Bước 7: Bước tùy chọn (Xây dựng bao vây)

Bước Tùy chọn (Xây dựng Bao vây)
Bước Tùy chọn (Xây dựng Bao vây)
Bước Tùy chọn (Xây dựng Bao vây)
Bước Tùy chọn (Xây dựng Bao vây)
Bước Tùy chọn (Xây dựng Bao vây)
Bước Tùy chọn (Xây dựng Bao vây)
Bước Tùy chọn (Xây dựng Bao vây)
Bước Tùy chọn (Xây dựng Bao vây)

Để làm cho phần cứng nhỏ gọn để có thể gắn nó vào, tôi đã làm một vỏ bọc nhỏ để lắp chúng vào bên trong. Một vài lỗ đã được tạo để gắn đèn LED và kết nối cáp USB. Nhưng sự bao vây cuối cùng đã nằm ngoài sự mong đợi của tôi !! Nó vừa vặn bên trong lòng bàn tay của tôi một cách hoàn hảo, và nó rất dễ dàng lắp vào tay cầm chu kỳ và trên vô lăng.

Bước 8: Đang thực hiện…

Đây là một video nhỏ trình diễn cả hai chế độ (lưu trữ và thông báo) với đèn LED cảnh báo và thông báo.

Bước 9: Tiến xa hơn…

Tiến xa hơn…
Tiến xa hơn…

Hệ thống này có thể được sử dụng cho nhiều mục đích khác nhau, ví dụ, xem xét kịch bản hiện tại, nếu bạn có thể lấy các vị trí lây lan của dịch bệnh và lưu trữ nó trong cơ sở dữ liệu, hệ thống này sẽ cung cấp cảnh báo khi bạn ở gần các vị trí đó hơn. Nhưng tôi đang suy nghĩ nghiêm túc về việc lấy dữ liệu qua đường của động vật từ khắp nơi trên thế giới để khiến người lái xe thận trọng và cứu nhiều động vật khỏi tai nạn. Tôi đã tạo một trang web đơn giản (nhưng chưa được lưu trữ) có tất cả dữ liệu mà tôi đã thu thập. Đây là những dữ liệu mà tôi đã thu thập trong quá trình đi bộ hoặc đi xe đạp (bất cứ khi nào tôi tìm thấy một con mèo hoặc con chó bên đường vì chúng dễ bị băng qua) nhưng chúng tôi cần nhiều dữ liệu hơn để thực hiện điều này.

Tôi còn khá mới với việc tạo các trang web (chủ yếu là javascript) và các nội dung khác và rất muốn nhận được đề xuất và kiến thức chuyên môn của bạn:)

Đề xuất: