Mục lục:
Video: Bãi đậu xe thông minh sử dụng Raspberry Pi: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
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
-
Mở Win32 Disk Imager
- Chọn hình ảnh bạn vừa tải xuống thông qua biểu tượng thư mục
- Chọn thẻ SD của bạn qua menu thả xuống
- Bấm vào viết
- 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.
- Mở thẻ SD trong trình khám phá của bạn
- Mở tệp “cmdline.txt”
- Bạn sẽ thấy một dòng văn bản dài ở cuối thêm: ip = 169.254.10.1
- Lưu các tập tin
- 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)
- 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).
- Cài đặt Putty:
- Khi bạn đã cài đặt xong, hãy mở nó và nhập 169.254.10.1 vào hộp IP
- Chọn SSH và điền vào cổng 22
- Bấm mở
- Đ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.
- Cài đặt VNC-viewer tại đây:
- 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
- Điền tên người dùng: pi và mật khẩu raspberry
- 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
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
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à ở
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
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:
Biến điện thoại thông minh không sử dụng thành màn hình thông minh: 6 bước (có hình ảnh)
Biến điện thoại thông minh không sử dụng thành màn hình thông minh: Hướng dẫn Deze có trong het Engels, voor de Nederlandse versie klik hier Bạn có điện thoại thông minh (cũ) chưa sử dụng? Biến nó thành một màn hình thông minh bằng Google Trang tính và một số bút và giấy, bằng cách làm theo hướng dẫn từng bước dễ dàng này. Khi bạn hoàn thành
An ninh mạng-vật lý của Bãi đậu xe thông minh và Kiểm soát giao thông: 6 bước
An ninh mạng-vật lý của Bãi đậu xe thông minh và Kiểm soát giao thông: Internet đang phát triển với hàng tỷ thiết bị bao gồm ô tô, cảm biến, máy tính, máy chủ, tủ lạnh, thiết bị di động và nhiều hơn nữa với tốc độ chưa từng có. Điều này dẫn đến nhiều rủi ro và lỗ hổng trong cơ sở hạ tầng, hoạt động
Làm vườn thông minh dựa trên IoT và nông nghiệp thông minh sử dụng ESP32: 7 bước
Làm vườn thông minh dựa trên IoT và nông nghiệp thông minh sử dụng ESP32: Thế giới đang thay đổi theo thời gian và vì vậy nền nông nghiệp Ngày nay, Con người đang tích hợp điện tử trong mọi lĩnh vực và nông nghiệp không phải là ngoại lệ cho điều này. Việc hợp nhất thiết bị điện tử trong nông nghiệp này đang giúp ích cho nông dân và những người quản lý vườn
Quay số thông minh - Điện thoại truyền thống thông minh tự động sửa lỗi: 8 bước
Smart Dial - Điện thoại truyền thống thông minh tự động sửa lỗi: Smart Dial là điện thoại tự động sửa lỗi thông minh được tạo ra cho người cao tuổi có nhu cầu đặc biệt và nó cho phép người cao tuổi quay số trực tiếp từ điện thoại truyền thống mà họ quen dùng. Chỉ nhờ hoạt động tình nguyện tại một trung tâm chăm sóc người cao niên địa phương mà tôi
HỆ THỐNG HỒNG NGOẠI THÔNG MINH Sử dụng IoT # 'Được xây dựng trên BOLT': 6 bước (có hình ảnh)
HỆ THỐNG HỒNG NGOẠI THÔNG MINH Sử dụng IoT # 'Được xây dựng trên BOLT': Hệ thống Tưới tiêu Thông minh là một thiết bị dựa trên IoT có khả năng tự động hóa quá trình tưới tiêu bằng cách phân tích độ ẩm của đất và điều kiện khí hậu (như mưa). Ngoài ra, dữ liệu của các cảm biến sẽ được hiển thị dưới dạng đồ họa trên BOLT