Mục lục:

Bảng điều khiển xe máy Raspberry Pi: 9 bước (có hình ảnh)
Bảng điều khiển xe máy Raspberry Pi: 9 bước (có hình ảnh)

Video: Bảng điều khiển xe máy Raspberry Pi: 9 bước (có hình ảnh)

Video: Bảng điều khiển xe máy Raspberry Pi: 9 bước (có hình ảnh)
Video: Trải nghiệm sau 1 tuần sử dụng Mini PC 50$: Raspberry Pi 4B 2024, Tháng mười một
Anonim
Bảng điều khiển xe máy Raspberry Pi
Bảng điều khiển xe máy Raspberry Pi

Là một sinh viên Công nghệ đa phương tiện & Truyền thông ở Howest Kortrijk, tôi phải thực hiện dự án IoT của riêng mình. Điều này sẽ kết hợp tất cả các mô-đun tiếp theo trong năm đầu tiên thành một dự án lớn. Bởi vì tôi đi xe máy rất nhiều trong thời gian rảnh rỗi, tôi quyết định sử dụng các kỹ năng có được tại MCT để xây dựng một thứ gì đó cho xe máy của mình: Bảng điều khiển thông minh.

MotoDash là một bảng điều khiển được hỗ trợ Raspberry Pi được thiết kế cho những người đam mê mô tô, mang đến cho người lái khả năng theo dõi hiệu suất của họ.

Các tính năng của bảng điều khiển này là gì?

  • Xem góc nghiêng hiện tại
  • Xem gia tốc hiện tại
  • Khả năng giám sát nhiệt độ dầu
  • Tự động chuyển sang chủ đề tối khi đi xe trong bóng tối
  • Ghi dữ liệu về các chuyến đi của bạn và xem số liệu thống kê của riêng bạn

Quân nhu

Đơn vị tính toán chính:

Raspberry Pi Đây là bộ điều khiển chính của hệ thống

Thiết bị điện tử:

  • Bộ sạc USB cho xe máy 12V-5V Nguồn cung cấp chính cho RPi
  • 4 Pin Fused Relay 12V Công tắc để bật / tắt mạch nguồn của RPi
  • Bảng mạch có dây nối (tùy chọn) Để thử nghiệm và tạo mẫu
  • Một bộ điện trở

    Màu sắc khác nhau của dây 0,2mm

  • Breakout Pi plus Đây là bảng tạo mẫu nơi bạn có thể hàn tất cả các thành phần của mình. Nó được làm để vừa vặn trực tiếp trên đầu Raspberry Pi, vì vậy kích thước của dự án ở mức tối thiểu.

Cảm biến và mô-đun:

  • Cảm biến nhiệt độ 1 dây DS18B20 không thấm nước Cảm biến nhiệt độ dầu
  • Cảm biến gia tốc con quay hồi chuyển 3 trục MPU6050
  • Điện trở phụ thuộc ánh sáng (LDR)
  • MCP3008 - 8 kênh 10-bit ADC với giao diện SPI

    Màn hình TFT SPI (hoặc bất kỳ màn hình LCD nào khác phù hợp với nhu cầu của bạn)

    LED RGB

Vỏ bọc:

  • Hộp nhựa
  • Vỏ Raspberry pi

Công cụ:

  • Hàn sắt và thuốc hàn
  • Vít và miếng đệm 2,5mm
  • Đầu nối cáp chống thấm nước
  • Keo siêu dính

Bước 1: Tạo mẫu

Tạo mẫu
Tạo mẫu
Tạo mẫu
Tạo mẫu

Trước khi chúng tôi làm cho mọi thứ trở nên vĩnh viễn, chúng tôi sẽ cùng nhau đặt dự án trên một breadboard. Có thể bỏ qua bước này nếu bạn hoàn toàn chắc chắn rằng mình sẽ không mắc sai lầm. Sơ đồ điện / breadboard có thể được tìm thấy trong PDF bên dưới. Đặt mạch với nhau chính xác như mô tả. Đảm bảo chỉ sử dụng chân 3,3V chứ không phải chân 5V trên RPi. Ngoài ra, trước khi bạn cấp nguồn cho raspberry Pi, hãy kiểm tra kỹ mạch của bạn. Đảm bảo không có quần đùi!

Bước 2: Chuẩn bị Raspberry Pi

Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi

Trước hết, chúng ta sẽ thiết lập Raspberry Pi. Raspberry Pi là một máy tính mini có khả năng chạy hệ điều hành riêng. Đối với dự án này, nó chịu trách nhiệm xử lý sensordata, lưu trữ trang web, chạy phần phụ trợ và cơ sở dữ liệu,…

1. Cài đặt Raspbian Image tùy chỉnh

Hình ảnh được cung cấp đã chứa các gói phần mềm cần thiết để bắt đầu dự án này:

  • Apache cho giao diện người dùng của trang web
  • MariaDB cho cơ sở dữ liệu
  • PhpMyAdmin để thao tác cơ sở dữ liệu
  • Quyền tùy chỉnh để tránh sự cố

Hình ảnh tùy chỉnh có thể được tải xuống từ đây.

Bạn có thể xem hướng dẫn cài đặt hình ảnh tại đây:

Sau khi hình ảnh được cài đặt, hãy kết nối Raspberry Pi với máy tính của bạn bằng cáp ethernet. Bây giờ bạn có thể sử dụng một máy khách SSH để kết nối với nó trên địa chỉ IP 169.254.10.1

Cách thực hành tốt là đặt ngay một mật khẩu mới bằng lệnh passwd

2. Định cấu hình AP không dây

Khi dự án kết thúc, chúng tôi muốn có thể kết nối với RPi qua wifi, vì vậy hãy biến nó thành một AP không dây. Một hướng dẫn cho điều này có thể được tìm thấy ở đây.

Bạn chỉ cần làm theo hướng dẫn này cho đến bước 7. Không bắt buộc phải thực hiện bước 8 vì chúng ta không cần kết nối internet mà tạo một mạng độc lập.

3. Kích hoạt giao diện

Đi vào raspi-config

sudo raspi-config

Chuyển đến tùy chọn giao diện và bật 1-wire, SPI và I2C và khởi động lại Pi

3. Thiết lập trình điều khiển cho màn hình

Khởi tạo màn hình

Chỉnh sửa tệp / etc / modules

sudo nano / etc / modules

Thêm 2 dòng sau

spi-bcm2835fbtft_device

Bây giờ hãy chỉnh sửa /etc/modprobe.d/fbtft.conf

sudo nano /etc/modprobe.d/fbtft.conf

Thêm dòng sau

tùy chọn fbtft_device name = tm022hdh26 gpios = reset: 25, dc: 24, led: 18 xoay = 90 tốc độ = 80000000 fps = 60

Khởi động lại Pi. Nếu bạn thấy đèn nền của màn hình sáng lên thì tất cả đã diễn ra tốt đẹp. Điều này sẽ khởi tạo màn hình mỗi khi Pi khởi động, tuy nhiên bây giờ nó sẽ chỉ hiển thị một màn hình đen. Để có được nội dung của số Pi trên màn hình, chúng ta cần sao chép nội dung của màn hình chính lên màn hình LCD nhỏ. Chúng tôi sẽ sử dụng một dịch vụ có tên 'fbcp' cho việc này.

Cài đặt dịch vụ fbcp

sudo apt-get install cmake

git clone

cd rpi-fbcp

mkdir xây dựng

cd xây dựng /

cmake..

chế tạo

sudo cài đặt fbcp / usr / local / bin / fbcp

Bây giờ chúng tôi đã cài đặt dịch vụ. Tuy nhiên, vì chúng tôi đang sử dụng Piless nên không có màn hình nào khả dụng để sao chép nội dung từ đó. Để buộc Pi xuất nội dung màn hình, hãy chỉnh sửa /boot/config.txt

sudo nano /boot/config.txt

Tìm và bỏ ghi chú hoặc thêm các dòng sau vào tệp này:

hdmi_force_hotplug = 1

hdmi_cvt = 640 480 60 0 0 0 0

display_rotate = 0

hdmi_group = 2

hdmi_mode = 87

Khởi động lại RPi và kiểm tra dịch vụ fbcp bằng cách nhập fbcp vào bảng điều khiển. Bây giờ bạn sẽ thấy nội dung của màn hình trên LCD.

Chạy fbcp khi khởi động

Chỉnh sửa /etc/rc.local và thêm dòng sau vào giữa địa chỉ ip và dòng thoát

fbcp &

Bây giờ màn hình sẽ bật lên mỗi khi RPi khởi động

Bước 3: Cơ sở dữ liệu

Cơ sở dữ liệu
Cơ sở dữ liệu

Để ghi nhật ký và lưu trữ dữ liệu sensord, tôi đã thiết kế cơ sở dữ liệu của riêng mình chứa 4 bảng. Sơ đồ EER được hiển thị trong hình trên.

1. Thiết bị

Bảng này chứa mọi cảm biến. Nó mô tả tên cảm biến, mô tả và đơn vị đo. Bảng này có mối quan hệ một-nhiều với các thao tác trên bảng, như trong trường hợp của tôi, cảm biến gia tốc có thể thực hiện các tác vụ khác nhau.

2. Hành động

Bảng này lưu trữ các hành động cho các cảm biến khác nhau. Một hành động luôn được liên kết với một cảm biến cụ thể. Ví dụ: hành động 'TEMP' được liên kết với thiết bị đo nhiệt độ. Đây sẽ là cảm biến nhiệt độ 1 dây.

3. Lịch sử

Bảng này chứa tất cả nhật ký cảm biến. Mỗi nhật ký có một id hành động, một giá trị, một dấu thời gian và một chuyến đi

4. Đi xe

Bảng này lưu trữ các chuyến đi khác nhau. Mỗi khi người dùng bắt đầu một chuyến đi mới, một mục mới trong bảng này sẽ được thực hiện

Để lấy cơ sở dữ liệu này trên Raspberry Pi của bạn, hãy truy cập GitHub của tôi và sao chép / tải xuống kho lưu trữ. Trong cơ sở dữ liệu, bạn sẽ tìm thấy 2 tệp.sql. Chạy chúng trong PhpMyAdmin hoặc MySQL workbench. Bây giờ cơ sở dữ liệu sẽ nằm trên RPi của bạn.

Bước 4: Phụ trợ

Nếu bạn chưa có, hãy truy cập GitHub của tôi và sao chép / tải xuống kho lưu trữ. Trong thư mục Backend, bạn sẽ tìm thấy phần phụ trợ đầy đủ cho dự án.

Thư mục chứa các lớp để đọc các cảm biến trong / helpers, các tệp để giao tiếp với cơ sở dữ liệu trong / kho và ứng dụng chính nằm trong thư mục gốc dưới tên app.py.

Cài đặt các gói Python

Trước khi cố gắng chạy bất cứ thứ gì, trước tiên chúng ta cần cài đặt một số gói cho python. Đi vào thiết bị đầu cuối của RPi và nhập các lệnh sau:

pip3 cài đặt mysql-connector-python

pip3 cài đặt flask-socketio

pip3 cài đặt cors bình

pip3 cài đặt gevent

pip3 cài đặt gevent-websocket

LƯU Ý QUAN TRỌNG: nếu bạn đã thay đổi mật khẩu Mariadb / Mysql, hãy thay đổi mật khẩu trong config.py!

Kiểm tra chương trình phụ trợ

Chạy app.py bằng trình thông dịch python3 (/ usr / bin / python3). Đảm bảo không có sai sót.

Chạy chương trình phụ trợ khi khởi động

Chỉnh sửa motoDash_backend.service và thay đổi YOURFILEPATH thành đường dẫn nơi lưu trữ.

Bây giờ sao chép tệp này vào / etc / systemd / system /

sudo cp motoDash_backend.service /etc/systemd/system/motoDash_backend.service.

Bây giờ chương trình phụ trợ sẽ tự động khởi động mỗi khi RPi khởi động.

Bước 5: Giao diện người dùng

Giao diện người dùng
Giao diện người dùng
Giao diện người dùng
Giao diện người dùng

Đi vào GitHub Repo. Sao chép nội dung của thư mục Frontend vào / var / www / html.

Đây là tất cả những gì bạn nên làm để giao diện người dùng hoạt động. Thư mục này chứa tất cả các trang web, kiểu dáng và tập lệnh cho giao diện web. Nó cũng giao tiếp với phụ trợ. Để kiểm tra xem mọi thứ có hoạt động như bình thường không, hãy đảm bảo rằng bạn đã kết nối với RPi của mình và nhập địa chỉ IP của RPi vào trình duyệt. Bạn sẽ thấy trang chủ của giao diện web.

Lưu ý: Trang web đáp ứng, vì vậy bạn có thể sử dụng nó trên thiết bị di động cũng như trên máy tính để bàn

Bước 6: Hiển thị Trang tổng quan trên Màn hình

Hiển thị Trang tổng quan trên Màn hình
Hiển thị Trang tổng quan trên Màn hình

Giao diện người dùng có trang web ẩn của riêng nó chỉ được sử dụng cho màn hình nhỏ. Chúng tôi sẽ làm cho Pi khởi động tự động vào trang web này ở chế độ toàn màn hình.

Đảm bảo RPi được đặt thành tự động đăng ký trên máy tính để bàn trong cấu hình raspi trong tùy chọn khởi động

sudo raspi-config

Bây giờ, hãy vào thư mục cấu hình ẩn và tạo một tệp mới trong đó

cd.config

sudo mkdir -p lxsession / LXDE-pi

sudo nano lxsession / LXDE-pi / autostart

Thêm các dòng sau vào tệp này và lưu

@xscreensaver -no-splash

@xset s tắt

@xset -dpms

@xset s noblank

@ chromium-browser --noerrors --disable-session-crash-bubble --disable-infobars --kiosk --incognito

Bây giờ Pi sẽ khởi động vào trang web này mọi lúc

Bước 7: Hàn điện tử

Hàn điện tử
Hàn điện tử
Hàn điện tử
Hàn điện tử
Hàn điện tử
Hàn điện tử
Hàn điện tử
Hàn điện tử

Lấy bảng đột phá và bố trí các thành phần của bạn trên đó theo một cách có cấu trúc. Tôi sẽ không thảo luận về cách bố trí cách tôi hàn các thành phần trên nó, vì tôi đã thực hiện một công việc khá tệ trên đó. Tôi đã sử dụng các tiêu đề chân cắm riêng biệt trên bảng để tôi chỉ cần kết nối các cảm biến và mô-đun với chân cắm bên phải. Hãy chắc chắn rằng bạn biết ghim nào là để làm gì!

Một số mẹo khi hàn:

  • Sử dụng dây cách điện khi vượt qua khoảng cách lớn hơn. Điều cuối cùng bạn muốn là quần short trong mạch của bạn
  • Sau khi hàn một thành phần hoặc dây, hãy kiểm tra tính liên tục của nó bằng đồng hồ vạn năng. Cũng thường xuyên kiểm tra các mạch ngắn.
  • Không sử dụng quá nhiều hoặc quá ít chất hàn!
  • Nếu bạn không biết cách hàn, hãy thực hành nó trước trên một bảng tạo mẫu khác. Hướng dẫn về hàn có thể được tìm thấy ở đây.

Bây giờ các dây hàn dài nên quấn vào các cảm biến và đặt một số cuộn dây co lại xung quanh chúng để đảm bảo mọi thứ không bị chập và sạch sẽ.

Khi bạn hoàn tất, hãy kiểm tra kỹ xem có bị chập hoặc các kết nối kém nào không, và kiểm tra mọi kết nối với sơ đồ điện xem có đúng kết nối không. Khi bạn đã chắc chắn rằng mọi thứ đã được thực hiện chính xác, hãy tiếp tục và đặt bảng đột phá lên RPi, cuối cùng vặn chặt nó bằng một số vít 2,5mm và chân đế.

Bước 8: Cung cấp điện

Để cấp nguồn cho Raspberry Pi, chúng tôi sẽ sử dụng bộ chuyển đổi USB 12V-5V. Bộ chuyển đổi này sẽ được kết nối với pin xe máy. Để đảm bảo RPi bật nguồn khi bật công tắc đánh lửa, chúng ta sẽ sử dụng một rơ le. Rơ le sẽ đóng mạch nguồn RPi khi phát hiện có điện áp từ đèn hậu (đèn hậu luôn sáng khi bật đề máy).

Để có hướng dẫn chi tiết hơn về điều này, hãy xem trang này: https://www.hondagrom.net/threads/2017-gromsf-msx125sf-wire-up-auxvacy-power-for-pcv-wb2-and-other-fuel -controllers.16921 /

Bước 9: Nhà ở

Nhà ở
Nhà ở
Nhà ở
Nhà ở
Nhà ở
Nhà ở

Nhà trưng bày

Đối với màn hình, hãy lấy cho mình một hộp nhựa cứng có kích thước tương đương với màn hình. Cắt một lỗ hình vuông trên đó lớn bằng màn hình và các lỗ phù hợp để vặn màn hình vào. Ở phía trước, bạn cần khoan thêm 2 lỗ cho đèn LED RGB và LDR.

Tôi đã gắn chiếc hộp này lên đầu giá đỡ điện thoại thông minh bằng một chốt.

Cảm biến nhiệt độ

Để chứa cảm biến nhiệt độ, tôi 3D đã in một đồng hồ đo dầu phù hợp với xe máy của tôi.

Raspberry Pi

Gắn quả mâm xôi Pi vào một nơi an toàn bên trong xe máy, tôi đặt nó dưới một trong những tấm chắn bùn bằng cách sử dụng một số dây đai khóa dán. Và bảo vệ nó khỏi các yếu tố bằng cách sử dụng vỏ và một số chất dẻo.

Gia tốc kế

Gắn đồng hồ đo gia tốc vào một nơi an toàn, tốt nhất là trên khung xe máy.

Ghi chú:

Bạn không cần phải có cùng một ngôi nhà như tôi đã làm, bạn có thể tự do hoàn thiện nó theo cách bạn muốn. Chỉ cần đảm bảo các thành phần điện tử được bảo vệ khỏi mưa và bụi.

Đề xuất: