
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15

WeatherCar, một dự án nhỏ do nhà làm có thể vừa lái xe vừa thu thập dữ liệu hữu ích!
Tôi đã thực hiện dự án này như một trận chung kết cho năm đầu tiên của tôi trong Howest of Kortrijk. Dự án này chưa có kết thúc tốt nhưng tài liệu này nói về tất cả các bộ phận bên trong của chiếc xe này, mà không làm cho khung đầy đủ.
Bước 1: Yêu cầu
Bạn sẽ cần tất cả các thành phần này cho dự án này:
- Raspberry PI
- 2 x động cơ (12v)
- Servo
- DHT11
- BMP280
- Mô-đun GPS GY-NEO6MV2
- 4 x bóng bán dẫn NPN
- 2 x Điện trở (1k và 2k)
- Người điều khiển động cơ
- Bộ pin 2 x 6v
- Ban tạo mẫu
- Bộ điều chỉnh điện áp bước xuống
- Dây đồng cách điện
- Cáp dẹt
- Cáp Micro-USB cũ
- Ván ép
Bước 2: Hàn / nối dây



Đối với bước đầu tiên, chúng tôi sẽ đi thẳng vào kết nối tất cả các dây. (Tái bút. Bạn có thể sử dụng breadboard để kiểm tra trước khi hàn mọi thứ)
Tôi đã cung cấp một lược đồ cho bạn thấy cách tôi nối dây mọi thứ, thật ra tôi không thể tìm thấy phần phù hợp cho chiếc xe máy của mình. Đối với motordriver của tôi, tôi đã sử dụng 4 bóng bán dẫn NPN để chuyển đổi tín hiệu 3.3v sang tín hiệu 12v để điều khiển trình điều khiển động cơ. Điều này bởi vì một trong những tôi đã sử dụng chỉ hỗ trợ 1 điện áp (12v vì động cơ của tôi là 12v).
Bước 3: Thiết lập Raspberry Pi
Nếu bạn chưa có thiết lập, bạn sẽ cần thực hiện việc này trước tiên, nếu không, bạn có thể bỏ qua bước này nếu bạn có các chương trình được yêu cầu từ đoạn mã cuối cùng trong bước này.
Trước tiên, bạn sẽ cần tải xuống phiên bản Raspbian dành cho máy tính để bàn, có thể tìm thấy tại đây:
Sau khi tải xuống phần mềm này, bạn sẽ phải sử dụng Etcher hoặc WinDiskImager để đưa tệp hình ảnh vào thẻ SD từ raspberry Pi của mình. (Điều này có thể mất một thời gian).
Khi chương trình hoàn tất, hãy mở trình khám phá tệp và mở ổ đĩa có tên "khởi động". Tại đây, bạn sẽ tìm thấy một tệp văn bản "cmdline.txt". Mở tệp này lên và thêm ip = 169.254.10.1 vào cuối tệp. Cẩn thận không thêm bất kỳ lần nhập nào vào tệp vì điều này có thể dẫn đến rắc rối.
Bây giờ PI có địa chỉ ip mặc định, chúng tôi vẫn cần kích hoạt SSH để có thể kết nối với nó. Bạn có thể thực hiện việc này bằng cách tạo một tệp mới có tên "SSH" mà không có bất kỳ phần mở rộng nào, điều này sẽ yêu cầu raspberry pi kích hoạt ssh trong lần khởi động đầu tiên.
Với điều này, bây giờ chúng tôi có thể kết nối với pi raspberry bằng cáp ethernet. Kết nối cáp giữa máy tính của bạn và PI mâm xôi. Bây giờ chúng ta sẽ cần một máy khách SSH. Đối với điều này, tôi đã sử dụng putty (https://www.putty.org/). Mở putty và đặt 169.254.10.1 làm tên máy. Có thể mất một lúc trước khi bạn có thể kết nối.
Khi bạn đã kết nối, hãy đăng nhập bằng các thông tin đăng nhập sau:
Đăng nhập: piPassword: raspberry
Bây giờ chúng tôi có thể thiết lập kết nối internet để thực hiện việc này. Thực hiện lệnh này và thay thế SSID và Mật khẩu mạng bằng tên và mật khẩu wifi của bạn.
echo "mật khẩu" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 cấu hình lại
Bây giờ chúng ta có kết nối internet, chúng ta có thể cài đặt python và các chương trình cần thiết khác bằng cách sử dụng các lệnh sau
cập nhật apt sudo
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip cài đặt - nâng cấp pip setuptools wheel virtualenv
mkdir weathercar && cd weathercar
python3 -m venv --system-site-pack env
nguồn env / bin / kích hoạt
python -m pip install mysql-connector-python argon2-cffi Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Bước 4: Thiết lập cơ sở dữ liệu
Bây giờ bạn raspberry pi có tất cả các chương trình cần thiết, chúng tôi vẫn cần cấu hình cơ sở dữ liệu. Chúng ta có thể làm được bằng cách khởi động Mysql trước
sudo mariadb
và sau đó
TẠO NGƯỜI DÙNG 'project1-admin' @ 'localhost' ĐƯỢC XÁC NHẬN BỞI 'adminpassword'; TẠO NGƯỜI DÙNG 'project1-web' @ 'localhost' ĐƯỢC XÁC NHẬN BỞI 'webpassword'; TẠO NGƯỜI DÙNG 'project1-sensor' @ 'localhost' ĐƯỢC XÁC NHẬN BỞI 'sensorpassword';
TẠO CƠ SỞ DỮ LIỆU weathercar_db;
CẤP TẤT CẢ CÁC QUYỀN RIÊNG TƯ TRÊN Weathercar. * Thành 'project1-admin' @ 'localhost' VỚI LỰA CHỌN CẤP; CẤP CHỌN, CHÈN, CẬP NHẬT, XÓA TRÊN project1. * TO 'project1-web' @ 'localhost'; CẤP CHỌN, CHÈN, CẬP NHẬT, XÓA TRÊN project1. * TO 'project1-sensor' @ 'localhost'; FLUSH PRIVILEGES;
Bước 5: Mã
Trong bước này, chúng tôi sẽ sao chép mã cần thiết vào pi raspberry của bạn. Điều này chúng tôi sẽ thực hiện bằng cách thực hiện điều này:
Trước hết, hãy đảm bảo rằng bạn đang ở trong thư mục chính của mình bằng cách nhập "cd"
đĩa CD
bây giờ chúng tôi sẽ sao chép kho lưu trữ bằng cách sử dụng
git clone
Bây giờ chúng ta có thể nhập cài đặt cơ sở dữ liệu bằng cách sử dụng:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Bây giờ chúng ta đã hoàn thành cơ sở dữ liệu, chúng ta có thể tiếp tục và thiết lập dịch vụ của mình
sudo cp weathercar / conf / project1 - *. service / etc / systemd / system / sudo systemctl daemon-reloadsudo systemctl start project1- * sudo systemctl enable project1- *
Bước 6: Kết nối

Chúng ta sắp hoàn thành, chỉ còn một bước nữa. Và đó là nhận được địa chỉ ip mà wifi đã cung cấp cho chúng tôi.
Chúng tôi sẽ làm điều này bằng cách đặt
ip addr
một đống thông tin tào lao sẽ hiển thị, nhưng bạn sẽ có thể tìm thấy "wlan0" và sau đó là một vài dòng tiếp theo "inet 192.168.x.x"
đặt địa chỉ ip đó bên trong trình duyệt của bạn và bạn đi. Bạn đã kết nối với trang web.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: 6 bước

Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: Trong phần Hướng dẫn nhanh này, chúng tôi sẽ tạo một bộ điều khiển động cơ bước đơn giản bằng cách sử dụng động cơ bước. Dự án này không yêu cầu mạch phức tạp hoặc vi điều khiển. Vì vậy, không cần thêm ado, chúng ta hãy bắt đầu
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)

Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Đầu máy mô hình điều khiển động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)

Đầu máy mô hình điều khiển động cơ bước | Động cơ bước làm bộ mã hóa quay: Trong một trong những phần Hướng dẫn trước, chúng ta đã học cách sử dụng động cơ bước làm bộ mã hóa quay. Trong dự án này, bây giờ chúng ta sẽ sử dụng bộ mã hóa quay động cơ bước đó để điều khiển đầu máy mô hình bằng vi điều khiển Arduino. Vì vậy, không có fu
Âm thanh bay bổng với Arduino Uno Từng bước (8 bước): 8 bước

Acoustic Levitation With Arduino Uno Step-by-by-by (8 bước): bộ chuyển đổi âm thanh siêu âm L298N Dc cấp nguồn cho bộ chuyển đổi âm thanh nữ với chân cắm một chiều nam Arduino UNOBreadboard Cách hoạt động: Đầu tiên, bạn tải mã lên Arduino Uno (nó là một vi điều khiển được trang bị kỹ thuật số và các cổng tương tự để chuyển đổi mã (C ++)
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)

Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy