Mục lục:

Skate-o-Meter: 7 bước (có hình ảnh)
Skate-o-Meter: 7 bước (có hình ảnh)

Video: Skate-o-Meter: 7 bước (có hình ảnh)

Video: Skate-o-Meter: 7 bước (có hình ảnh)
Video: Review Phim Thiếu Nữ Và Quý Ông Bản Full | Tóm Tắt Phim Young Lady and Gentleman | Review Phim Hay 2024, Tháng mười một
Anonim
Skate-o-Meter
Skate-o-Meter

Tôi là sinh viên của Howest Kortrijk. Để thể hiện các kỹ năng của chúng tôi với những người đi le le mà chúng tôi cần để xây dựng một dự án, tôi đã chọn tạo đồng hồ đo quãng đường và đồng hồ tốc độ cho ván trượt của mình bằng máy quét RFID. Trong phần hướng dẫn này, tôi rất khó để nói rằng tôi đã thực hiện dự án này như thế nào.

Tôi nảy ra ý tưởng này vì tôi thích trượt băng và đi du ngoạn khắp nơi. Trong khi tôi đang bay, sẽ rất hữu ích khi xem quãng đường tôi đã đi và xem tốc độ của tôi.

Hãy nhớ rằng đây là một nguyên mẫu.

Bước 1: Các thành phần

Các thành phần

Tôi đã sử dụng các thành phần sau để tạo dự án này:

  • Ván trượt
  • Chiết áp
  • LCD
  • Cảm biến hiệu ứng hall
  • Điện trở 10k Ohm
  • Raspberry pi
  • Arduino Nano
  • Dây nhảy (Nữ sang nam)
  • Dây nhảy (Raspberry Pi)
  • Dây nhảy (Nam sang nam)
  • PCB
  • Máy quét RFID
  • Huy hiệu RFID
  • Ngân hang năng lượng

Xem BillOfMaterials để biết liên kết và giá cả

Bước 2: Đấu dây

Đấu dây
Đấu dây

Hội trường có 3 chân: một VCC, một GND và một đầu ra. Mặt đất đi đến một GND. VCC đến 3,3V và đầu ra trong ví dụ này là GPIO 26. Một điện trở 10K Ohm kéo đầu ra lên cao.

Tôi sử dụng giao tiếp nối tiếp qua USB giữa raspberry pi và arduino nano để đọc các huy hiệu. Đây không phải là trong hình, nhưng là bắt buộc!

D9 RST (Đặt lại) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3,3V 3,3V

Bước 3: Lược đồ cơ sở dữ liệu

Lược đồ cơ sở dữ liệu
Lược đồ cơ sở dữ liệu

Cơ sở dữ liệu của tôi có 3 bảng:

  • Người dùng
  • Phiên họp
  • Dữ liệu

Mọi người dùng có thể theo dõi dữ liệu riêng lẻ. Một phiên có dữ liệu để bạn biết bạn đã đạt được tốc độ như thế nào đối với một số điểm nhất định trong khi phiên đang diễn ra.

Bước 4: Định cấu hình Arduino Nano

Định cấu hình Arduino Nano
Định cấu hình Arduino Nano
Định cấu hình Arduino Nano
Định cấu hình Arduino Nano
Định cấu hình Arduino Nano
Định cấu hình Arduino Nano

Đầu tiên, đặt arduino nano của bạn vào máy tính của bạn thông qua cáp USB. Chọn đúng arduino và đúng cổng usb để tải lên.

Tiếp theo, chúng ta cần thêm thư viện mà tôi sử dụng để đọc huy hiệu RFID. Tải xuống 'rfid-master' và đi đến bản phác thảo, bao gồm thư viện và sau đó thêm thư viện. ZIP. Chuyển đến tệp zip bạn vừa tải xuống và sử dụng tệp này, nó sẽ tự động cài đặt. Sau khi tải xuống 'RFID_Read.ino' đã chỉnh sửa của tôi, nhấn ctrl + O thêm cùng một lúc và đi tới tệp này và mở nó.

Nếu bạn đã thực hiện tất cả các bước trên, bạn có thể xác minh tệp. Nếu nó lỗi lần đầu tiên, chỉ cần thử nó một lần nữa. Nếu điều này thành công, bạn có thể tải nó lên arduino của bạn. Bằng cách sử dụng phím tắt ctrl + shift + m, bạn có thể mở màn hình nối tiếp. Bạn có thể kiểm tra tệp ở đây. Nếu kiểm tra thành công, bạn có thể rút arduino và cắm nó vào cổng usb của raspberry pi

Bước 5: Định cấu hình Raspberry Pi

Trong các bước này, chúng tôi sẽ thiết lập raspberry pi làm cơ sở dữ liệu và máy chủ web.

TRONG VÍ DỤ NÀY TÔI SỬ DỤNG NGƯỜI DÙNG 'tôi' NẾU BẠN SỬ DỤNG NGƯỜI DÙNG KHÁC MÀ BẠN CẦN THAY ĐỔI CÁC TỆP CẤU HÌNH, HÃY LƯU Ý ĐIỀU NÀY!

1. Tạo người dùng:

Tạo một biến

pieter @ rpipieter: ~ $ user = me

Làm cho người dùng thành công và thêm vào tất cả các nhóm

groups = $ (id pi -Gn | sed 's / ^ pi // g' | sed 's / /, / g') sudo useradd $ {user} -s / bin / bash -m -G $ {groups} sudo sed "s / ^ pi / $ {user} /" /etc/sudoers.d/010_pi-nopasswd | sudo tee "/etc/sudoers.d/011_${user}-nopasswd" sudo passwd $ {user}

Đăng nhập vào tài khoản

pieter @ rpipieter: ~ $ su - tôi

Mật khẩu: me @ my-rpi: ~ $

2. Kết nối với WiFi

me @ rpipieter: ~ $ sudo -iroot @ rpipieter: ~ # echo 'Mật khẩu' | wpa_passphrase 'Tên mạng' >> /etc/wpa_supplicant/wpa_supplicant.conf root @ rpipieter: ~ # wpa_cli -i wlan0 định cấu hình lại root @ rpipieter: ~ # logout

Kiểm tra xem Internet có hoạt động không

root @ rpipieter: ~ # wget google.com

3. Cập nhật pi raspberry và cài đặt các gói cần thiết

me @ my-rpi: ~ $ sudo apt cập nhật

me @ my-rpi: ~ $ sudo apt nâng cấp cho tôi @ rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme @ my-rpi: ~ $ sudo khởi động lại -h bây giờ

4. Sao chép kho lưu trữ github của tôi

me @ rpipieter: ~ $ git clone

me @ rpipieter: ~ $ cd skate-o-meter / skateometer /

5. Tạo môi trường ảo

Trong khi thực hiện các lệnh này, sẽ có rất nhiều gói được cài đặt, điều này có thể mất một chút thời gian.

me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m pip install - nâng cấp pip setuptools wheel virtualenv

me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m venv --system-site-pack env (env) me @ rpipieter: ~ / skate-o-meter / skateometer $ python -m pip install mysql- connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO

6. Tạo cơ sở dữ liệu và người dùng

Chúng tôi đang sử dụng cơ sở dữ liệu mysql

pieter @ rpipieter: ~ / skate-o-meter / skateometer $ cd

pieter @ rpipieter: ~ $ sudo mysql

Sau đó sao chép, dán cái này

CẤP CHỌN, CHÈN, CẬP NHẬT, XÓA BẬT *. * TO 'som-data' @ 'localhost'; ĐẶT MẬT KHẨU CHO 'som-data' @ 'localhost' = PASSWORD ('sensor9810'); chọn * từ mysql.user; TẠO NGƯỜI DÙNG 'som-admin' @ 'localhost' ĐƯỢC XÁC ĐỊNH BỞI 'admin9810'; TẠO NGƯỜI DÙNG 'som-web' @ 'localhost' ĐƯỢC XÁC NHẬN BỞI 'web9810'; TẠO NGƯỜI DÙNG 'som-sensor' @ 'localhost' ĐƯỢC XÁC NHẬN BỞI 'sensor9810'; CREATE DATABASE skateometerdb; CẤP TẤT CẢ CÁC QUYỀN RIÊNG TƯ TRÊN skateometerdb. * Thành 'som-admin' @ 'localhost' VỚI TÙY CHỌN CẤP; CẤP CHỌN, CHÈN, CẬP NHẬT, XÓA TRÊN skateometerdb. * TO 'som-web' @ 'localhost'; CẤP CHỌN, CHÈN, CẬP NHẬT, XÓA TRÊN skateometerdb. * TO 'som-sensor' @ 'localhost'; QUYỀN RIÊNG TƯ CỦA FLUSH;

Tiếp theo, chúng ta sẽ thêm lược đồ cơ sở dữ liệu hiện có với các quan hệ.

me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo mysql <sql / skateometerdb_dump-withoutdata.sql

7. Dịch vụ

Tại đây, chúng tôi sao chép các tệp cấu hình của mình và tải lại thư mục để chúng tôi có thể kích hoạt các dịch vụ

me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / som - *. service / etc / systemd / systemme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl daemon-reload

Bây giờ chúng tôi sẽ kích hoạt các dịch vụ để mỗi khi chúng tôi khởi động pi raspberry, các dịch vụ này sẽ tự động khởi động với nó.

me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl bật som-flask.service

Đã tạo liên kết biểu tượng /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl enable som-data.service Đã tạo liên kết tượng trưng /etc/systemd/system/multi-user.target.wants/som-data.service → / etc / systemd / system / som-data.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-data.service me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-flask.service

8. NGINX

me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / nginx / etc / nginx / sites-available / skateometerme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo rm / etc / nginx / sites -enabled / default me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo ln -s / etc / nginx / sites-available / skateometer / etc / nginx / sites-enable / skateometerme @ rpipieter: ~ / skate-o -meter / skateometer $ sudo systemctl khởi động lại nginx.service

Bước 6: Nhà ở + Hội trường

Nhà ở + Hội trường
Nhà ở + Hội trường

Nhà ở

Đầu tiên, tôi tạo một lỗ trên ván trượt để lắp màn hình LCD, chiết áp và bộ rung. Sau đó, tôi đã hàn màn hình LCD, chiết áp và bộ rung trên PCB. Sau đó, tôi sử dụng jumperwire cho RPI, loại có 40 chân. Tôi đặt một mặt vào pi mâm xôi và nửa còn lại tôi cắt, mặt này chúng ta sẽ sử dụng để hàn. Trong tệp 'rpi-cable', bạn có thể thấy nơi bạn cần hàn dây nào.

Đối với phần vỏ, tôi đã sử dụng một hộp uốn cong cũ, tôi đặt một số lỗ vào đó để tạo một chiếc ethernetcable và để dây nhảy vào trong hộp.

Tôi giữ chiếc hộp dưới ván trượt bằng một số đinh vít. Bên trong hộp, tôi sắp xếp mọi thứ, vì vậy nó sẽ vừa vặn và cũng sử dụng vít và một số mặt mút để giữ mọi thứ ở đúng vị trí. Điều này giúp việc lấy đồ ra dễ dàng hơn.

RFID được gắn vào đèn của hộp và được giữ cố định bằng ziptires, một vấn đề tôi gặp phải là đôi khi nó không quét, nhưng với một số thay đổi, tôi đã làm cho nó hoạt động.

Cảm biến hiệu ứng hall

Đầu tiên, tôi khoan một lỗ trên bánh xe của mình và đặt một nam châm vào đó.

Đối với hội trường được sử dụng 3 jumperwires (nam với nam), tôi đã hàn chúng trên PCB của tôi cũng như trên chính hội trường. Tôi đã gắn cảm biến hội trường trên xe tải của mình với một số ziptires. Đảm bảo nam châm và cảm biến được căn chỉnh tốt, nếu không, nó sẽ không luôn đăng ký xung.

Bước 7: Khởi động ứng dụng

Bước 1:

Cắm mâm xôi và pin dự phòng vào.

Bước 2:

Chờ cho đến khi chương trình bắt đầu, bạn có thể theo dõi điều này trên màn hình LCD. Bạn sẽ thấy địa chỉ IP, hãy chuyển đến địa chỉ IP này.

Bước 3:

Tạo một người dùng, bạn có thể làm như vậy bằng cách đăng ký. Bạn cần quét huy hiệu để xem UID của huy hiệu trên màn hình LCD.

Bước 4:

Nếu bạn đã tạo một người dùng, bạn có thể quét huy hiệu của mình và một phiên sẽ bắt đầu.

Bước 5:

Đi du thuyền xung quanh

Bước 6:

Quét lại huy hiệu để dừng phiên

Bước 7:

Đăng nhập để xem phiên của bạn và dữ liệu chi tiết từ phiên

Đề xuất: