Mục lục:
- Quân nhu
- Bước 1: Thiết lập Rasbian
- Bước 2: Lấy mã và thiết lập nó
- Bước 3: Giao tiếp Arduino
- Bước 4: Lên dây Switch-it
- Bước 5: Chạy mã
- Bước 6: (TÙY CHỌN) Nhà ở
Video: Switch-it, Ổ cắm tự động với phép đo dòng điện thời gian thực: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Tôi thực sự thích tự động hóa, khả năng kiểm soát khi có điều gì đó xảy ra. Đây là điều khiến tôi nảy ra ý tưởng này: một ổ cắm điện tự chế, tự động. Nó có thể được sử dụng để lập kế hoạch khi nào cần bật đèn, khi điện thoại cần được sạc hoặc khi màn hình cần được cấp nguồn. Ngoài tất cả những điều này, bạn có khả năng xem có bao nhiêu dòng điện chạy qua ổ cắm.
Các thành phần cần thiết cho dự án này là:
Quân nhu
Trước khi chúng ta bắt đầu, đây là những thứ bạn chắc chắn sẽ cần để xây dựng một hộp Switch-IT giống như của tôi. Những nguồn cung cấp này sẽ có giá khoảng 50 đến 100 euro tùy thuộc vào khu vực của bạn và giá hiện tại.
Phần cứng
Thiết bị điện tử
- Raspberry pi 4
- 16gb (hoặc hơn) Thẻ Micro SD
- Arduino Uno
- Bộ chuyển đổi mức 5V-3.3V
- Mô-đun chuyển tiếp 5V
- ACS712 20A - mô-đun hiện tại
- 1838 Mô-đun IR-Receiver 37,9 kHz
- Điều khiển từ xa IR (tôi sử dụng một chiếc Elegoo)
- cực âm chung RGB
- Điện trở 3 * 330Ω
- nút ấn
- RFID-RC522
- LCD 1602A-1
- Ổ cắm tường Niko
- Nồi kế 10K Ω
- Nguồn điện 230 đến 5V - 7A
Cáp
- Cáp USB-B sang USB-A
- Cáp nguồn USB-C
- Cáp Ethernet
Đa dạng
- Nhảy cầu nam-nữ
- Nhảy cầu nam-nam
- Thiếc hàn
- Ống co rút
Các bộ phận đặc biệt trong trường hợp (TÙY CHỌN)
- 50 * đai ốc và bu lông
- hộp kim loại 40x40x5 cm có nắp
- băng keo hai mặt
- Miếng đệm cao 6 * 1cm
- người cầm đầu
- Băng dán
- hướng dẫn cáp
Phần mềm
- balenaEtcher:
- PuTTy
- rasbian
- Mã Visual Studio
- Arduino IDE
Bước 1: Thiết lập Rasbian
Trước hết, chúng tôi sẽ flash Rasbian vào SD-Card. Chúng tôi sẽ làm điều đó bằng balenaEtcher.
- Mở balenaEtcher
- Chọn hình ảnh Rasbian
- Chọn thẻ SD của bạn
- Nhấn Flash và đợi một vài phút cho đến khi nó nhấp nháy
Thêm APIPA vào thư mục khởi động: Chúng tôi sẽ sử dụng một địa chỉ APIPA để lập trình và định cấu hình cài đặt trên RPI. Để làm điều này:
- Sử dụng thư mục khởi động trên SD-Card
- Mở "cmdline.txt"
- Thêm "169.254.10.1" vào cuối tài liệu và lưu nó
- Thêm tệp có tên "ssh" vào thư mục khởi động (KHÔNG TẶNG Tệp tin NÀY MỞ RỘNG)
- Sau khi hoàn thành việc này, bạn có thể rút Thẻ SD khỏi PC của mình.
Đạt được RPI bằng PuTTy
Bây giờ chúng ta có thể cắm thẻ SD vào RPI của mình, kết nối RPI với PC của bạn bằng cáp ethernet.
Để kết nối với RPI, chúng tôi sẽ sử dụng PuTTy với địa chỉ APIPA của chúng tôi.
- Mở PuTTy
- Điền địa chỉ APIPA của chúng tôi làm tên máy chủ (169.254.10.1)
- Đảm bảo rằng cổng là 22 và SSH được chọn
- Bây giờ bạn có thể mở kết nối
- Tên người dùng mặc định là: pi
- Với mật khẩu mặc định: raspberry
cài đặt raspi-config
Mở raspi-config bằng:
sudo raspi-config
- Thay đổi mật khẩu người dùng
- Trong các tùy chọn bản địa hóa, hãy chọn múi giờ của bạn
- Thiết lập WiFi bằng cách sử dụng tùy chọn mạng, sau đó tùy chọn Wi-Fi, nơi bạn phải điền SSID và Mật khẩu của mình.
Cài đặt Python 3
Trong dự án này, chúng tôi đang sử dụng Python, vì vậy chúng tôi sẽ đặt mặc định thành Python3 insteat của Python2, bằng cách sử dụng các lệnh sau
update-Alternatives --install / usr / bin / python python /usr/bin/python2.7 1
update-Alternatives --install / usr / bin / python python / usr / bin / python3 2
Các gói Python
Chúng tôi sẽ cần một vài gói để mọi thứ hoạt động bình thường, chủ yếu là các gói Flask và một gói để tạo kết nối với DataBase của chúng tôi. Chúng tôi có thể cài đặt các gói đó bằng các lệnh sau:
pip cài đặt Flask
pip cài đặt Flask_cors pip cài đặt Flask_socketio pip cài đặt Python-mysql-connecton
Cơ sở dữ liệu
Tiếp theo, chúng tôi sẽ cài đặt hệ thống quản lý cơ sở dữ liệu (MariaDB), chúng tôi sẽ thực hiện việc này bằng cách sử dụng:
sudo apt cài đặt mariadb-server
Gõ “Y” và Enter để tiếp tục. Sau vài giây, quá trình cài đặt hoàn tất và MariaDB gần như đã sẵn sàng để sử dụng.
Để đặt mật khẩu cho cơ sở dữ liệu, hãy sử dụng lệnh:
sudo mysql_secure_installation
Sau đó nhấn Enter, vì mật khẩu hiện tại trống. Sau đó nhấn "Y" để đặt mật khẩu, lúc này bạn có thể điền bất kỳ mật khẩu nào mình muốn, nhớ ghi nhớ vì chúng ta cần nó để tạo kết nối chính xác giữa back-end và front-end.
Bây giờ, nhấn “Y” 3 lần để: xóa người dùng ẩn danh, không cho phép root đăng nhập từ xa và xóa cơ sở dữ liệu thử nghiệm. Cuối cùng, nhấn “Y” một lần nữa để tải lại các đặc quyền.
Bây giờ MariaDB và tất cả các gói cần thiết đã được cài đặt thành công.
Bước 2: Lấy mã và thiết lập nó
Bây giờ chúng ta đã cài đặt tất cả các gói, chúng ta có thể lấy mã.
Mã có sẵn trên Github nên bạn có thể sao chép mã bằng cách sử dụng:
git clone
Đây là giao diện người dùng
git clone
Đây là phần phụ trợ
Tự cài đặt Cơ sở dữ liệu
Để cài đặt cơ sở dữ liệu, hãy điều hướng đến tệp.sql nằm trong thư mục phụ trợ bằng cách sử dụng các lệnh sau (đảm bảo đặt nó thành đường dẫn của riêng bạn.
mysql
tạo cơ sở dữ liệu switchit thoát khỏi mysql -u root -p switchit <Your_Path_to_Backend_Repo / switchit.sql
Cài đặt Apache
Bây giờ chúng ta có tất cả mã và thiết lập cơ sở dữ liệu, chúng ta có thể cài đặt Apache và chạy chương trình phụ trợ của chúng ta trên đó. Chúng tôi sẽ làm như vậy bằng cách sử dụng:
apt-get install apache2 -y
Sau đó, thay thế các tệp trong / var / ww / html bằng các tệp trong thư mục từ thư mục giao diện người dùng.
Nếu mọi thứ suôn sẻ, bạn sẽ có thể kết nối với trang web của mình bằng địa chỉ APIPA: 169.254.10.1 trong trình duyệt của mình.
Bước 3: Giao tiếp Arduino
Để đọc cảm biến hiện tại và cảm biến RFID của chúng tôi, chúng tôi đang sử dụng arduino, để làm như vậy, hãy sử dụng mã arduino được cung cấp bên dưới. Tải nó lên bằng cáp USB-A đến USB-B và phần mềm arduino IDE. Khi tải lên thì phần arduino đã xong.
Bây giờ chúng ta phải tìm tên thiết bị nối tiếp trên PI. Để làm như vậy, hãy đảm bảo rằng trong /boot/config.txt, "enable_uart = 1" được đặt đúng. Đồng thời đảm bảo rằng "console = serial0, 115200" được xóa khỏi cmdline.txt.
Sau đó, kiểm tra các cổng bằng cách sử dụng
ls -l / dev
Sau đó, một trong những tên nối tiếp phải là Arduino. Điền tên này vào tại chức năng arduinocom trong app.py
ser = serial. Serial ('/ dev / ttyS0', 9600)
Chỉ làm điều đó nếu giao tiếp nối tiếp không hoạt động.
Bước 4: Lên dây Switch-it
Lên dây cót mọi thứ khá đơn giản mặc dù bạn nên ghi nhớ những điều sau:
- Hãy cẩn thận với ổ cắm trên tường, 230 vôn có thể gây chết người.
- Đảm bảo sử dụng bộ chuyển đổi mức để giao tiếp giữa RPI và Arduino.
- Trước khi hàn RGB, hãy đảm bảo rằng bạn sử dụng chân Đỏ và Xanh lục. Kiểm tra điều này trước!
- Kiểm tra xem không có gì bị đoản mạch trước khi cấp nguồn cho mạch.
Bước 5: Chạy mã
Bây giờ mọi thứ được kết nối chính xác, chúng ta có thể chạy chương trình của mình.
Để làm cho nó chạy tự động khi khởi động, hãy tạo một tệp bằng cách sử dụng:
sudo nano myscript.service
Sau đó dán (đảm bảo sử dụng thư mục app.py của riêng bạn:
[Đơn vị] Mô tả = Switchit After = network.target [Dịch vụ] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = // thay đổi thành thư mục app.py // StandardOutput = inherit StandardError = inherit Khởi động lại = luôn luôn Người dùng = pi [Cài đặt] WantedBy = multi-user.target
Sau đó nhấn "ctrl + X" và sao chép nó vào / etc / systemd / system.
Sau đó, lệnh follwing để làm cho nó chạy tự động:
sudo systemctl cho phép myscript.service
Bạn có thể tìm thêm thông tin về điều này trên trang RaspBerry Pi.
Khởi động lại và hoàn tất
Bây giờ khởi động lại bạn PI bằng cách sử dụng:
sudo khởi động lại -h bây giờ
Đây là cách bạn tạo Switch-it!
Cảm ơn vì đã theo dõi, hy vọng điều này sẽ hữu ích. Nếu bạn có bất kỳ mẹo hoặc phản hồi nào, đừng ngần ngại để lại bình luận.
Bước 6: (TÙY CHỌN) Nhà ở
Bạn có thể xây dựng nhà ở hoàn toàn theo ý thích của riêng bạn. Tôi đã sử dụng một hộp kim loại với kích thước 40x40x5 cm có nắp. Vì tôi sử dụng kim loại nên tôi phải khoan lỗ và sử dụng miếng đệm để lấy mọi thứ ra khỏi tấm nền. Tôi đã chọn sử dụng một điểm trung tâm nơi có sẵn 5V, 3.3V và gnd. Mọi kết nối điện đều được hàn với một đoạn Ống co lại ở trên nó. Để thực hiện việc quản lý cáp, tôi đã sử dụng các miếng đệm có dây đai của nhà cung cấp dịch vụ.
Đề xuất:
Đồng hồ đo nhiệt độ nước, độ dẫn điện & mực nước giếng thời gian thực: 6 bước (có hình ảnh)
Đồng hồ đo nhiệt độ, độ dẫn điện & mực nước giếng thời gian thực: Các hướng dẫn này mô tả cách xây dựng đồng hồ đo nước thời gian thực, chi phí thấp để theo dõi nhiệt độ, độ dẫn điện (EC) và mực nước trong giếng đào. Đồng hồ được thiết kế để treo bên trong giếng đào, đo nhiệt độ nước, EC một
Các phép đo cảm biến dòng ACS724 với Arduino: 4 bước
Các phép đo cảm biến dòng ACS724 với Arduino: Trong hướng dẫn này, chúng tôi sẽ thử nghiệm kết nối cảm biến dòng ACS724 với Arduino để thực hiện các phép đo hiện tại. Trong trường hợp này, cảm biến dòng điện là loại +/- 5A có đầu ra 400 mv / A. Arduino Uno có ADC 10 bit, vì vậy câu hỏi hay
Đặt DS3231 RTC (Đồng hồ thời gian thực) chính xác, nhanh chóng và tự động bằng Java (+ -1s): 3 bước
Đặt DS3231 RTC (Đồng hồ thời gian thực) chính xác, nhanh chóng và tự động bằng Java (+ -1s): Có thể hướng dẫn này sẽ chỉ cho bạn cách đặt thời gian trên Đồng hồ thời gian thực DS3231 bằng Arduino và một ứng dụng Java nhỏ sử dụng kết nối nối tiếp của Arduino. Logic cơ bản của chương trình này: 1. Arduino gửi một yêu cầu nối tiếp
Tạo đồng hồ với M5stick C bằng Arduino IDE - Đồng hồ thời gian thực RTC với M5stack M5stick-C: 4 bước
Tạo đồng hồ với M5stick C bằng Arduino IDE | Đồng hồ thời gian thực RTC với M5stack M5stick-C: Xin chào các bạn trong phần hướng dẫn này, chúng ta sẽ học cách tạo đồng hồ với bảng phát triển m5stick-C của m5stack bằng Arduino IDE Vì vậy m5stick sẽ hiển thị ngày, giờ & tuần trong tháng trên màn hình
Đồng hồ đo điện trở Ohmic thấp với cảm biến dòng điện INA219: 5 bước
Đồng hồ đo điện trở Ohmic thấp với cảm biến dòng INA219: Đây là đồng hồ miliohm giá rẻ có thể được kết hợp với nhau bằng cách sử dụng cảm biến dòng 2X INA219, Arduino nano, màn hình LCD 2X16, điện trở tải 150 Ohms và mã arduino đơn giản mà thư viện có thể tìm thấy trực tuyến . Vẻ đẹp của dự án này là không có trước