Mục lục:

Smartbike có thể chia sẻ: 12 bước (có hình ảnh)
Smartbike có thể chia sẻ: 12 bước (có hình ảnh)

Video: Smartbike có thể chia sẻ: 12 bước (có hình ảnh)

Video: Smartbike có thể chia sẻ: 12 bước (có hình ảnh)
Video: Zing Xe 360 - Smart Bike - Thiết bị chống trộm thông minh cho xe máy 2024, Tháng mười một
Anonim
Smartbike có thể chia sẻ
Smartbike có thể chia sẻ
Smartbike có thể chia sẻ
Smartbike có thể chia sẻ

Bất cứ khi nào tôi sử dụng xe đạp của mình, tôi thường quên bật đèn khi trời tối. Ngoài ra, trên chiếc xe đạp của mình, tôi không có cách nào để biết mình đang đi nhanh như thế nào.

Vì vậy, tôi đã quyết định tạo ra một chiếc xe máy thông minh có thể chia sẻ được để theo dõi:

  • Tốc độ, vận tốc
  • Vị trí
  • Bạn đã sử dụng xe đạp bao lâu rồi

Nó cũng tự động bật hoặc tắt đèn. Tôi đã sử dụng máy quét RFID để người khác có thể sử dụng xe đạp mà không cần thay đổi dữ liệu của tôi.

Liên kết đến github của tôi.

Quân nhu

  • Raspberry Pi 3 (€ 32, 49)
  • Thẻ SD (cho RPi) (€ 13, 99)
  • GPS NEO 6M (cho tốc độ và vị trí) (€ 15, 99)
  • Anker PowerCore 10400mAh (€ 29, 99)
  • RFID RC522 (€ 5, 49)
  • LCD 16x2 (€ 9, 99)
  • Bảng Elegoo Uno R3 (€ 9, 34)
  • LDR (€ 1, 50)
  • MCP3008 (ADC) (€ 5, 98)
  • Đèn tái chế
  • Gỗ cho nhà ở (~ € 15, 00)
  • Cáp (~ € 6, 00)

Tổng giá thẻ: 145,76 €

Bước 1: Tạo mạch

Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch

Đầu tiên, bạn sẽ phải kết hợp mọi thứ lại với nhau. Tôi đã bao gồm một lược đồ fritzing.

Lưu ý: Một số thành phần như máy quét RFID cần được hàn.

Bước 2: Thiết lập Python

Thiết lập Python
Thiết lập Python

Đối với dự án này, tôi sẽ sử dụng python 3 và chạy mã với máy chủ python. Tôi sẽ liên kết github với mã của tôi.

Trước tiên, bạn cần kết nối với Raspberry Pi của mình thông qua Cài đặt> Xây dựng, Loại bỏ, Triển khai> Triển khai. Sau đó, bạn cần tạo một thông dịch viên với tất cả các gói được yêu cầu. Trên Raspberry Pi của tôi, tôi sử dụng python 3.5.

Khi bạn đã tạo thông dịch viên, bạn có thể tạo một dự án mới và chọn trình thông dịch bạn vừa thực hiện cho dự án. Sau đó, bạn sẽ phải chọn nơi lưu các tệp trên PC và RPi của mình.

Bước 3: Đọc dữ liệu

Đọc dữ liệu
Đọc dữ liệu

Sau khi bạn đã tạo mạch và mọi thành phần hoạt động, bạn cần đọc dữ liệu từ các cảm biến. Dự án của tôi được thực hiện bằng Python 3. Trong python, tôi đọc ra hầu hết dữ liệu từ các cảm biến bằng cách sử dụng các lớp.

  • Máy quét RFID được sử dụng với arduino (hầu hết thông tin về cách sử dụng nó ở đây). Tôi đọc dữ liệu từ máy quét bằng arduino và gửi đến RPi bằng USB nối tiếp.
  • Mô-đun GPS cũng đang sử dụng giao tiếp nối tiếp. Dữ liệu mà GPS gửi đến RPi không được định dạng tốt. Tôi đã sử dụng thư viện để phân tích dữ liệu và làm cho nó dễ sử dụng hơn rất nhiều. (Một số thông tin thêm về dữ liệu GPS).
  • Các giá trị tương tự từ LDR được chuyển đổi bằng cách sử dụng mcp3008 (một adc), sau đó tôi chuyển đổi giá trị thành phần trăm.

Lưu ý: Nếu bạn muốn sử dụng 'vòng lặp while' trong python để liên tục lấy dữ liệu trong khi chạy máy chủ python. Bạn sẽ cần sử dụng phân luồng (thêm thông tin về phân luồng). Threading rất dễ sử dụng.

Bước 4: Cơ sở dữ liệu (mySQL)

Cơ sở dữ liệu (mySQL)
Cơ sở dữ liệu (mySQL)

Bây giờ bạn có dữ liệu của mình từ các cảm biến, bạn cần một số nơi để lưu trữ dữ liệu. Chúng tôi sẽ lưu trữ dữ liệu trong cơ sở dữ liệu quan hệ trong mySQL.

Tôi chạy cơ sở dữ liệu trên RPi của mình để hoạt động, tôi cần cài đặt mariaDB trên RPi của mình. Khi bạn đã cài đặt mariaDB và thiết lập nó, bạn có thể sử dụng bàn làm việc mySQL trên PC để kết nối với cơ sở dữ liệu của bạn trên RPi.

Bạn sẽ cần thực hiện ERD trên PC; chuyển tiếp kỹ sư ERD và xuất cơ sở dữ liệu. Sau đó, bạn có thể nhập kết xuất (đừng quên tạo lược đồ) trên RPi thông qua bàn làm việc mySQL.

Lưu ý: Bảng 'Bike_has_User' không bắt buộc và sẽ chỉ được sử dụng nếu bạn định sử dụng nhiều xe đạp. Bạn có thể bỏ bảng 'Bike_has_User' và liên kết Người dùng bảng với 'Datahistory'.

Bước 5: Liên kết Python của bạn với Cơ sở dữ liệu

Liên kết Python của bạn với Cơ sở dữ liệu
Liên kết Python của bạn với Cơ sở dữ liệu

Bây giờ bạn đã cài đặt cơ sở dữ liệu của mình, bạn có thể liên kết python của mình với cơ sở dữ liệu. Nhấp vào cơ sở dữ liệu (bên phải màn hình) và thêm nguồn dữ liệu mới.

Cơ sở dữ liệu và tập lệnh python chạy trên RPi vì vậy hãy sử dụng IP localhost. Sử dụng người dùng bạn đã tạo trước đó trong khi bạn thiết lập mariaDB.

Bước 6: Gửi dữ liệu đến cơ sở dữ liệu

Gửi dữ liệu đến cơ sở dữ liệu
Gửi dữ liệu đến cơ sở dữ liệu

Khi bạn đã thiết lập xong mọi thứ, bạn có thể bắt đầu gửi dữ liệu đến cơ sở dữ liệu. Tôi đã sử dụng một class helpers. Database trong python cho việc này (xem github của tôi).

Hình ảnh hiển thị một số mã ví dụ.

Bước 7: Sử dụng dữ liệu

Sử dụng dữ liệu
Sử dụng dữ liệu

Với class helpers. Database bạn có thể chèn dữ liệu vào cơ sở dữ liệu hoặc lấy dữ liệu từ cơ sở dữ liệu.

Giờ đây, mọi thứ đã hoạt động, bạn có thể sử dụng dữ liệu từ cơ sở dữ liệu để hiển thị chúng trên trang web hoặc bất cứ nơi nào bạn muốn.

Bước 8: Nhà ở: Dưới cùng

Nhà ở: Dưới cùng
Nhà ở: Dưới cùng

Về nhà ở

Cuối cùng, nhà ở cho dự án này được làm bằng gỗ (310x130x110 mm). Hầu hết các thành phần đều được vặn vào gỗ ngoại trừ powerbank và breadboard.

Bạn có thể làm cho vỏ nhỏ hơn nếu bạn hàn các thành phần. Tôi đã không bao gồm một cách để kết nối an toàn vỏ với xe đạp, nhưng có nhiều lựa chọn.

Làm nhà ở

Bạn sẽ phải bắt đầu với việc làm phần dưới cùng của nhà ở. Cưa một miếng gỗ (130x310 mm). Sau đó gắn RPi bằng vít và dán breadboard vào phần dưới cùng.

Lưu ý: Bạn có thể tạo một phần giống hệt cho phần trên cùng của vỏ

Bước 9: Nhà ở: Mặt nhỏ

Nhà ở: Mặt nhỏ
Nhà ở: Mặt nhỏ

Khi bạn hoàn thành phần dưới cùng. Bạn có thể bắt đầu cưa các bộ phận bên. Bắt đầu với việc làm cho các cạnh nhỏ hơn.

Đầu tiên, bạn sẽ phải gắn các cạnh nhỏ hơn. Tôi đã sử dụng thêm một miếng gỗ để kết nối tất cả các bộ phận lại với nhau, miếng gỗ thừa này làm cho nó dễ dàng hơn.

Bước 10: Nhà ở: Mặt lớn

Nhà ở: Mặt lớn
Nhà ở: Mặt lớn

Bây giờ bạn sẽ phải làm cho các cạnh lớn hơn. Một lần nữa cưa các cạnh và gắn chúng vào phần dưới cùng bằng cách sử dụng miếng gỗ thừa.

Bước 11: Thêm lỗ cho LCD & LDR

Thêm lỗ cho LCD & LDR
Thêm lỗ cho LCD & LDR

Bạn cũng sẽ cần tạo một lỗ cho màn hình LCD để bạn có thể xem địa chỉ IP và hiển thị xem người dùng quét vào hay quét ra.

Sử dụng các phép đo của màn hình LCD để quyết định xem lỗ sẽ có kích thước như thế nào.

Sau khi lắp màn hình LCD, bạn cần đảm bảo LDR nằm bên ngoài vỏ. Tôi đã sử dụng một lỗ nhỏ để LDR có thể nhìn thấy ánh sáng ban ngày.

Bước 12: Gắn Máy quét Arduino & RFID vào bên cạnh

Gắn Máy quét Arduino & RFID vào bên cạnh
Gắn Máy quét Arduino & RFID vào bên cạnh

Sau khi hoàn thành phần vỏ, bạn vẫn cần gắn máy quét arduino & RFID. Bạn có thể gắn chúng bất cứ nơi nào bạn có chỗ. Nhưng tôi khuyên bạn nên gắn máy quét RFID bên dưới màn hình LCD để người dùng có thể xem mình quét vào hay quét ra.

Đề xuất: