Mục lục:

Bãi đậu xe thông minh sử dụng Raspberry Pi: 5 bước
Bãi đậu xe thông minh sử dụng Raspberry Pi: 5 bước

Video: Bãi đậu xe thông minh sử dụng Raspberry Pi: 5 bước

Video: Bãi đậu xe thông minh sử dụng Raspberry Pi: 5 bước
Video: Thiết kế hệ thống bãi đỗ xe thông minh kết hợp xử lý ảnh nhận diện biển số 2024, Tháng mười một
Anonim
Bãi đậu xe thông minh sử dụng Raspberry Pi
Bãi đậu xe thông minh sử dụng Raspberry Pi

Trong phần hướng dẫn này, chúng tôi sẽ tạo một hệ thống đỗ xe hoàn toàn tự động được kết nối với giao diện web. Bạn sẽ có thể xem vị trí nào được thực hiện, quyết định ai đi vào và ai đi ra ngoài và nó được trang bị hệ thống chiếu sáng tự động.

Quân nhu

Phần cứng

  • 2x cảm biến siêu âm
  • 1x động cơ servo
  • 4x đèn LED trắng
  • 1x Điện trở phụ thuộc ánh sáng
  • Màn hình LCD 1x 2 * 16

Tin học

  • 1x Raspberry Pi 3 B +
  • 1x thẻ SD (8-16GB sự lựa chọn là của bạn)
  • 1x Sự đột phá về bộ khuếch đại Adafruit I2S 3W Class D - MAX98357A
  • 1x MCP3008
  • 1x Điện trở 2,2K Ohm
  • 9x Điện trở 1K Ohm

Đa dạng

  • Dây nhảy
  • Breadboard
  • Cáp UTP
  • Bộ điều hợp cho pi raspberry của bạn
  • Một tấm ghép (bạn có thể sử dụng bất kỳ loại vật liệu nào bạn muốn cho vỏ)
  • Súng bắn keo

Phần mềm

  • PuTTY
  • Phần mềm chỉnh sửa mã (bạn có thể sử dụng bất cứ thứ gì bạn muốn miễn là nó hỗ trợ: Python, HTML, CSS và java script
  • Win32 Disk Imager
  • Hình ảnh hệ điều hành Raspbian
  • VNC Viewer (tùy chọn)

Bước 1: Thiết lập RPI

Trước khi chúng ta bắt đầu đi dây phần cứng, hãy viết

phần mềm và tạo vỏ, chúng tôi sẽ cần thiết lập PI của bạn với phần mềm cần thiết mà bạn sẽ cần để dự án chạy.

Bạn sẽ cần một hình ảnh của Raspbian để gắn vào thẻ SD của mình và để ghi nó vào thẻ SD Win32 Disk Imager. Bạn có thể tìm thấy các liên kết đến cả hai bên dưới.

- Win32 Disk Imager:

- Hình ảnh Raspbian:

Việc cài đặt

  1. Mở Win32 Disk Imager

    1. Chọn hình ảnh bạn vừa tải xuống thông qua biểu tượng thư mục
    2. Chọn thẻ SD của bạn qua menu thả xuống
    3. Bấm vào viết
    4. Khi quá trình kết thúc, máy tính của bạn có thể sẽ hỏi bạn có muốn định dạng thẻ SD không.

Khi hoàn thành các bước này, bạn sẽ cần phải thực hiện thêm một số thao tác để có thể truy cập phần mềm PI của mình.

  1. Mở thẻ SD trong trình khám phá của bạn
  2. Mở tệp “cmdline.txt”
  3. Bạn sẽ thấy một dòng văn bản dài ở cuối thêm: ip = 169.254.10.1
  4. Lưu các tập tin
  5. Tạo tệp có tên ssh không có phần mở rộng (nếu bạn không biết cách thực hiện việc này, chỉ cần nhấp vào tệp mới, chọn tệp văn bản mới, xóa phần mở rộng và đặt tên là ssh)
  6. Bước cuối cùng của phần này là tháo thẻ SD một cách an toàn và đưa nó vào Raspberry PI

Đang kết nối

Khi bạn hoàn thành các bước trước đó, đã đến lúc kết nối với pi của bạn lần đầu tiên. Trước tiên, bạn sẽ cần cắm cáp UTP của mình, một đầu vào máy tính của bạn đầu kia vào pi (điều quan trọng là bạn phải cắm cáp LAN trước khi cắm).

  1. Cài đặt Putty:
  2. Khi bạn đã cài đặt xong, hãy mở nó và nhập 169.254.10.1 vào hộp IP
  3. Chọn SSH và điền vào cổng 22
  4. Bấm mở
  5. Điền tên người dùng: pi và mật khẩu raspberry, đây là thông tin đăng nhập tiêu chuẩn trên một hình ảnh hoàn toàn mới

Raspi-config

Trước khi chúng ta tiếp tục, bạn sẽ phải thay đổi một số cài đặt trong menu raspi-config, hãy mở nó bằng cách sử dụng:

sudo raspi-config

1. Kích hoạt I2C và SPI theo các tùy chọn trong danh mục giao diện

2. Chọn hệ thống WIFI của bạn thông qua danh mục bản địa hóa

3. Đặt cài đặt Desktop / CLI trong danh mục tùy chọn khởi động thành Desktop Autologin.

4. Trong Tùy chọn nâng cao, chọn A1 Mở rộng Hệ thống tệp (điều này đảm bảo bạn sử dụng dung lượng của toàn bộ thẻ SD

5. Bây giờ thoát và khởi động lại sudo

wifi

Bây giờ đã đến lúc thiết lập kết nối Wi-Fi của bạn, bạn sẽ cần thông tin đăng nhập của Wi-Fi của mình.

Đầu tiên hãy vào chế độ gốc bằng cách chạy lệnh này

Sudo -i

Bây giờ bạn có các quyền cần thiết để chạy các lệnh sau:

Đảm bảo thay đổi SSID thành tên wifi của bạn và MẬT KHẨU thành mật khẩu wifi của bạn

Wpa_passphrase “SSID” “PASSWORD” >> /etc/wpa_supplicant/wpa_supplicant.conf

Nhập WPA Client bằng cách chạy lệnh sau:

wpa_cli

Chọn giao diện

Giao diện wlan0

Tải lại cấu hình

Cấu hình lại

Cuối cùng nhưng không kém phần quan trọng kiểm tra xem nó có hoạt động không. Bạn có thể thực hiện việc này bằng cách nhập:

Ip a

Tại đây bạn có thể kiểm tra xem mình có ip dưới giao diện WLAN0 hay không nếu không khởi động lại sudo (không bao giờ bị lỗi (:).

Nếu bạn không cảm thấy thoải mái khi thực hiện nó thông qua dòng lệnh, bạn luôn có thể thực hiện nó thông qua GUI của Raspbian thân thiện với người dùng hơn một chút.

  1. Cài đặt VNC-viewer tại đây:
  2. Nhấp vào tệp, kết nối mới và nhập vào thanh địa chỉ IP: 169.254.10.1 và chọn bất kỳ tên nào bạn muốn
  3. Điền tên người dùng: pi và mật khẩu raspberry
  4. Nhấp vào biểu tượng wifi và kết nối theo cách đó

Các gói

Bây giờ chúng tôi đã kết nối với internet, chúng tôi có thể cài đặt các gói chúng tôi cần để chạy tất cả các mã.

Trước tiên, chúng tôi sẽ cần làm mới danh sách gói thành danh sách mới nhất bằng cách chạy:

cập nhật apt sudo

nâng cấp apt sudo

Máy chủ web Apache

Chúng tôi sẽ cần một máy chủ web để chạy ứng dụng web của chúng tôi. Chúng ta có thể đạt được điều này bằng cách cài đặt máy chủ web apache bằng cách chạy lệnh sau:

sudo apt install apach2 -y

Các gói Python

Để làm cho mọi thứ hoạt động, chúng tôi sẽ cần khá nhiều gói. Đây là những thứ chúng ta sẽ cần.

  • Bình giữ nhiệt
  • Bình-Cors
  • Mở rộng bình
  • Flask-MySQL
  • Flask-SocketIO
  • Python-socketio

Bạn có thể cài đặt chúng bằng cách chạy lệnh sau:

pip install Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

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

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

MariaDB

Chạy lệnh sau để cài đặt MariaDB, đây là hệ thống cơ sở dữ liệu cần thiết để theo dõi tất cả dữ liệu mà các cảm biến đọc vào.

sudo apt cài đặt mariadb-server

Bây giờ chúng ta sẽ cần bảo mật cài đặt của mình

Mysql_secure_installation

Sau khi bạn chạy lệnh, nó sẽ yêu cầu chúng tôi cung cấp mật khẩu gốc mà chúng tôi chưa có vì vậy chỉ cần nhấn enter.

Bây giờ nó sẽ hỏi bạn nếu bạn muốn một mật khẩu vì lý do bảo mật, chúng tôi muốn một mật khẩu, vì vậy hãy nhấn Y trên bàn phím của bạn và chọn bất kỳ mật khẩu nào bạn muốn.

Bây giờ nó sẽ tiếp tục hỏi bạn một vài câu hỏi nữa, chỉ cần trả lời Y cho tất cả chúng

Được rồi, bây giờ chúng ta đã hoàn thành đến điểm này, chúng ta cần phải đi vào SQL shell.

Để làm điều này, trước tiên, chúng ta phải trở lại root để cấp cho chúng ta các đặc quyền để làm như vậy bằng cách nhập lại lệnh này:

sudo -i

Bây giờ nhập shell mysql

mysql

Bây giờ chúng ta sẽ tạo một người dùng đặt tên bạn muốn giữa các dấu ngoặc kép trước @ và mật khẩu bạn muốn sau khi được xác định bởi

Bây giờ chúng ta phải xóa bảng quyền bằng cách chạy lệnh này:

QUYỀN RIÊNG TƯ CỦA FLUSH;

Sau khi hoàn thành các bước này, bạn có thể tạo lại lược đồ db từ hình trên. Rất tiếc, tôi không thể cung cấp cho bạn kết xuất cơ sở dữ liệu vì tôi đang gặp một số lỗi phần mềm.

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

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

Bây giờ là lúc để thực hiện việc nối dây của dự án. Để làm cho quá trình dễ dàng hơn một chút bằng cách đầu tiên tạo một lược đồ trong một chương trình có tên là fritzing. Fritzing giúp bạn dễ dàng tạo lại hệ thống dây điện của mình trong cuộc sống thực hơn và bạn có được bức tranh rõ ràng về những gì bạn đang làm.

Bước 4: Nhà ở

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

Bước đầu tiên là cắt gỗ theo các hình như trong hình vẽ. Tôi đã làm điều đó bằng phương pháp cắt laser nhưng một chiếc cưa bình thường cũng sẽ hoạt động tốt. Sau đó, bạn sẽ muốn sơn gỗ màu đen để có được màu nhựa đường. Sau khi sơn khô, bạn có thể sơn các sọc trắng để tạo cảm giác bãi đậu xe. Đối với hàng rào, tôi phun ống hút sơn để trông các cột lik. Đối với bản thân hàng rào, tôi đã gắn một số goas vào các cột. Rào chắn được làm bằng paer maché mà tôi phun sơn sau này.

Bước 5: Mã hóa

Mã hóa
Mã hóa
Mã hóa
Mã hóa
Mã hóa
Mã hóa

Phần phụ trợ: Phần phụ trợ của dự án được viết bằng Python và TSQL. Nó đọc tất cả dữ liệu của các cảm biến và ghi nó vào cơ sở dữ liệu mà chúng tôi đã tạo trước đó một chút. Nó cũng chạy một máy chủ web để chúng ta có thể kết nối giao diện người dùng của mình với nó. Tôi đã viết mã cần thiết cho phần phụ trợ trong pycharm nhưng trước hết bạn có thể sử dụng bất cứ thứ gì bạn muốn.

Bạn có thể tìm thấy mã cho chương trình phụ trợ tại đây:

Giao diện người dùng: Giao diện người dùng được viết bằng HTML, CSS và Javascript. Tôi đã sử dụng kết hợp mã studio trực quan và phpstorm để viết mã. Về cơ bản, mã ghi toàn bộ trang web và trong các tệp javascript, bạn có thể tìm thấy mã cần thiết để lấy dữ liệu từ chương trình phụ trợ.

Bạn có thể tìm thấy mã cho giao diện người dùng tại đây:

Đề xuất: