5.7 KiB
Điều khiển relay - Phần cứng IoT ảo
Trong phần này của bài học, bạn sẽ thêm một relay vào thiết bị IoT ảo của mình bên cạnh cảm biến độ ẩm đất, và điều khiển nó dựa trên mức độ ẩm đất.
Phần cứng ảo
Thiết bị IoT ảo sẽ sử dụng một relay Grove mô phỏng. Điều này giúp bài thực hành này tương tự như việc sử dụng Raspberry Pi với relay Grove vật lý.
Trong một thiết bị IoT vật lý, relay sẽ là loại relay thường mở (nghĩa là mạch đầu ra sẽ mở hoặc ngắt kết nối khi không có tín hiệu gửi đến relay). Một relay như vậy có thể xử lý mạch đầu ra lên đến 250V và 10A.
Thêm relay vào CounterFit
Để sử dụng relay ảo, bạn cần thêm nó vào ứng dụng CounterFit.
Nhiệm vụ
Thêm relay vào ứng dụng CounterFit.
-
Mở dự án
soil-moisture-sensor
từ bài học trước trong VS Code nếu chưa mở. Bạn sẽ thêm vào dự án này. -
Đảm bảo ứng dụng web CounterFit đang chạy.
-
Tạo một relay:
-
Trong hộp Create actuator ở bảng Actuators, chọn hộp Actuator type và chọn Relay.
-
Đặt Pin là 5.
-
Nhấn nút Add để tạo relay trên Pin 5.
Relay sẽ được tạo và xuất hiện trong danh sách actuators.
-
Lập trình relay
Ứng dụng cảm biến độ ẩm đất giờ đây có thể được lập trình để sử dụng relay ảo.
Nhiệm vụ
Lập trình thiết bị ảo.
-
Mở dự án
soil-moisture-sensor
từ bài học trước trong VS Code nếu chưa mở. Bạn sẽ thêm vào dự án này. -
Thêm đoạn mã sau vào tệp
app.py
bên dưới các dòng import hiện có:from counterfit_shims_grove.grove_relay import GroveRelay
Dòng lệnh này import
GroveRelay
từ thư viện Grove Python shim để tương tác với relay Grove ảo. -
Thêm đoạn mã sau bên dưới khai báo lớp
ADC
để tạo một instanceGroveRelay
:relay = GroveRelay(5)
Điều này tạo một relay sử dụng pin 5, pin mà bạn đã kết nối relay.
-
Để kiểm tra relay hoạt động, thêm đoạn mã sau vào vòng lặp
while True:
:relay.on() time.sleep(.5) relay.off()
Đoạn mã này bật relay, chờ 0.5 giây, sau đó tắt relay.
-
Chạy ứng dụng Python. Relay sẽ bật và tắt mỗi 10 giây, với độ trễ nửa giây giữa việc bật và tắt. Bạn sẽ thấy relay ảo trong ứng dụng CounterFit đóng và mở khi relay được bật và tắt.
Điều khiển relay từ độ ẩm đất
Bây giờ relay đã hoạt động, nó có thể được điều khiển dựa trên các giá trị đọc từ cảm biến độ ẩm đất.
Nhiệm vụ
Điều khiển relay.
-
Xóa 3 dòng mã mà bạn đã thêm để kiểm tra relay. Thay thế chúng bằng đoạn mã sau:
if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off()
Đoạn mã này kiểm tra mức độ ẩm đất từ cảm biến độ ẩm đất. Nếu giá trị lớn hơn 450, nó sẽ bật relay, và tắt relay nếu giá trị nhỏ hơn 450.
💁 Nhớ rằng cảm biến độ ẩm đất điện dung đọc giá trị càng thấp thì độ ẩm trong đất càng cao và ngược lại.
-
Chạy ứng dụng Python. Bạn sẽ thấy relay bật hoặc tắt tùy thuộc vào mức độ ẩm đất. Thay đổi Value hoặc cài đặt Random cho cảm biến độ ẩm đất để thấy giá trị thay đổi.
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
💁 Bạn có thể tìm đoạn mã này trong thư mục code-relay/virtual-device.
😀 Chương trình cảm biến độ ẩm đất ảo điều khiển relay của bạn đã thành công!
Tuyên bố miễn trừ trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với các thông tin quan trọng, khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.