Mục lục:

Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi: 11 bước (có hình ảnh)
Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi: 11 bước (có hình ảnh)

Video: Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi: 11 bước (có hình ảnh)

Video: Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi: 11 bước (có hình ảnh)
Video: Triển khai hệ thống nhận diện khuôn mặt và đo thân nhiệt trên Raspberry Pi4 - Mì AI 2024, Tháng bảy
Anonim
Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi
Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi
Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi
Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi
Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi
Tự động hóa gia đình giá rẻ và hiệu quả với Raspberry Pi

Tôi luôn muốn có thể điều khiển đèn không dây, nhưng các tùy chọn thương mại thường đắt tiền. Đèn Philips Hue có giá khoảng 70 đô la và đèn kết nối Wi-Fi cũng đắt tiền. Hướng dẫn này sẽ cho bạn biết cách điều khiển tối đa năm đèn / đèn / dây đèn Giáng sinh với giá khoảng 50 đô la và có thể được mở rộng để bao gồm nhiều đèn hơn.

Bước 1: Những gì bạn sẽ cần

Những gì bạn sẽ cần
Những gì bạn sẽ cần

Vật liệu:

Raspberry Pi Zero W (Phiên bản không dây)

Thẻ Micro SD (Ít nhất 4gb)

Cáp / bộ chuyển đổi Mini HDMI sang HDMI (Có sự khác biệt giữa mini và micro, hãy đảm bảo chọn đúng loại!)

Cáp / bộ chuyển đổi Micro USB sang USB

Bàn phím USB

Lưu ý: Tôi nhận được một bộ khởi động Raspberry Pi Zero W từ Amazon đi kèm với Raspberry Pi Zero W, thẻ SD, hộp đựng, cáp nguồn, bộ chuyển đổi HDMI và bộ chuyển đổi USB. Chỉ với $ 30, nó là một lựa chọn khá tốt (liên kết)

Bạn có thể sử dụng một kiểu Raspberry Pi khác, nhưng Raspberry Pi phải có một số dạng kết nối internet và Pi Zero W là lựa chọn rẻ nhất.

Cửa hàng từ xa - Tôi đã sử dụng

Bộ phát và bộ thu RF (Lưu ý: tần số của bộ phát / bộ thu phải phù hợp với tần số của các ổ cắm từ xa) - Tôi đã sử dụng

Dây cho ăng-ten (Tôi đã sử dụng dây đồng lõi rắn 22 gauge, dây khác có thể hoạt động)

Breadboard, dây Jumper, đầu cắm nam-nam 40 chân

Phần mềm:

Hệ điều hành Raspberry Pi (Tải xuống Raspbian Desktop)

Trình chụp ảnh đĩa Etcher (Để ghi hệ điều hành Pi vào thẻ SD)

Công cụ:

Sắt hàn

Máy tính để tải xuống Pi OS và Etcher

Bước 2: Thiết lập các cửa hàng

Thiết lập các cửa hàng
Thiết lập các cửa hàng
Thiết lập các cửa hàng
Thiết lập các cửa hàng

Bắt đầu bằng cách cắm các ổ cắm của bạn vào ổ cắm. Làm theo các hướng dẫn kèm theo để thiết lập chúng và cắm đèn / thiết bị của bạn. Đảm bảo rằng điều khiển từ xa của bạn được ghép nối chính xác và đang điều khiển các ổ cắm.

Bước 3: Thiết lập tài khoản PubNub

PubNub là một máy chủ internet miễn phí cho phép bạn giao tiếp giữa các thiết bị, mọi nơi trên thế giới. Tập lệnh python nhận tin nhắn từ một trang web và sử dụng thông tin trong tin nhắn để bật hoặc tắt đèn. Bạn có thể đăng ký tài khoản miễn phí của mình tại đây. Khi bạn đã đăng ký, hãy đăng nhập vào tài khoản của bạn. Thao tác này sẽ đưa bạn đến trang quản lý ứng dụng. Nhấp vào "Tạo ứng dụng mới". Đặt tên cho ứng dụng của bạn, sau đó chọn ứng dụng đó từ danh sách ứng dụng (Nếu đây là ứng dụng đầu tiên của bạn, nó sẽ là ứng dụng duy nhất) Thao tác này sẽ đưa bạn đến trang khóa ứng dụng. Nhấp vào "Demo Keyset", và bạn sẽ thấy ba phím khác nhau. Hãy duy trì trang này, bạn sẽ cần những chìa khóa này sau này. Bây giờ bạn đã có tài khoản PubNub, bạn có thể thiết lập pi mâm xôi của mình.

Bước 4: Chuẩn bị Raspberry Pi

Tải xuống Etcher và Hệ điều hành Raspberry Pi vào máy tính của bạn (liên kết trong danh sách các bộ phận)

Cài đặt Etcher vào máy tính của bạn và giải nén (nếu cần) Hệ điều hành Raspberry Pi. Cắm thẻ Micro SD của bạn vào máy tính và mở Etcher. Nhấp vào "Chọn Hình ảnh" và điều hướng đến tệp Hệ điều hành Raspberry Pi đã giải nén. Chọn nó, sau đó nhấp vào "Chọn Drive" và chọn thẻ micro SD của bạn từ danh sách. Nhấp vào "Flash" và đợi Etcher hoàn tất. Khi Etcher đã hoàn tất, hãy tháo thẻ SD của bạn khỏi máy tính (Etcher tự động đẩy thẻ ra) và lắp vào Raspberry Pi của bạn. Tại thời điểm này, bạn sẽ cần kết nối Raspberry Pi của mình với màn hình bằng bộ chuyển đổi HDMI. Cắm bàn phím (và chuột nếu bạn có bộ chia đa USB) và cắm cáp nguồn. Có hai cổng micro USB. Một là để cấp nguồn, còn lại là một cổng USB thực tế. Cái gần cuối của Pi là nguồn, trong khi cái ở gần giữa là USB. Raspberry pi của bạn bây giờ sẽ bắt đầu khởi động. Nó có thể khởi động lại một vài lần trong lần khởi động đầu tiên, nhưng đó là điều bình thường. Khi pi raspberry của bạn được khởi động, hãy kết nối nó với WiFi của bạn. Sau khi kết nối nó với WiFi, bạn có thể sử dụng máy chủ SSH, nhưng tôi thấy bây giờ sử dụng GUI dễ dàng hơn. Mở cửa sổ dòng lệnh và nhập các lệnh sau:

sudo pip3 install 'pubnub == 3.9.0'

cd git clone git: //git.drogon.net/wiringPi git clone

sudo git clone https://github.com/timleland/rfoutlet.git / var / www / rfoutlet

sudo chown root.root / var / www / rfoutlet / codesend sudo chmod 4755 / var / www / rfoutlet / codesend

cd wiringPi

./xây dựng

Bây giờ, mở trình duyệt tệp Raspberry Pi và bạn sẽ thấy thư mục pi-home-Automation. Nhấp đúp vào nó và bạn sẽ thấy một tệp có tên RFControl.py. Sao chép nó (nhấp chuột đối diện và chọn "Sao chép"), sau đó quay lại thư mục pi và dán nó vào đó.

Tắt raspberry pi của bạn (Từ menu hoặc bằng cách chạy sudo poweroff từ dòng lệnh) và rút phích cắm khi đèn xanh ngừng nhấp nháy.

Bước 5: Tạo mạch

Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch

Bây giờ là lúc tạo mạch. Tôi đã sử dụng breadboard, nhưng bạn có thể làm điều đó theo cách bạn muốn.

Đầu tiên, chúng ta phải tạo một ăng-ten cho máy phát RF. Hướng dẫn có sẵn này cho biết cách tạo ăng-ten cho máy phát RF. Làm theo hướng dẫn, sau đó hàn nó vào chân ăng-ten của máy phát (Trên chân ăng-ten tôi đã sử dụng có nhãn ANT) với cạnh ngắn hơn gần máy phát nhất

Nối dây máy phát

Máy phát sử dụng các chân sau:

DỮ LIỆU: GPIO 17, chân vật lý 11

VCC: Raspberry Pi 5v, chân vật lý 2

GND: Raspberry Pi GND, chân vật lý 6

Nối dây người nhận

Bộ thu sử dụng các chân sau:

GND: Raspberry Pi GND, chân vật lý 9

VCC: Raspberry Pi 5v, chân vật lý 4

DỮ LIỆU: GPIO 27, Chân vật lý 13 (Có hai chân dữ liệu trên bộ thu mà tôi đã sử dụng và tôi đã sử dụng chân gần nhất với VCC)

Bước 6: Lấy mã RF của bạn

Nhận mã RF của bạn
Nhận mã RF của bạn

Sau khi mạch của bạn được gắn vào Raspberry Pi, hãy kiểm tra nó hai lần để đảm bảo mọi thứ đều đúng vị trí và sau đó bật lại nguồn. Khi nó được bật nguồn, hãy mở một thiết bị đầu cuối và nhập

sudo / var / www / rfoutlet / RFSniffer

Tiếp theo, mở chương trình RFControl. Đặt cửa sổ đầu cuối và cửa sổ chương trình cạnh nhau có thể hữu ích trong bước tiếp theo.

Bạn sẽ cần điều khiển từ xa được bao gồm trong bộ ổ cắm ngay bây giờ. Giữ nó gần đầu thu và nhấn từng nút riêng lẻ. Khi bạn nhấn một nút, bạn sẽ thấy hai số được in ra màn hình. Một trong số chúng sẽ là mã sáu hoặc bảy chữ số và mã còn lại là mã 3 chữ số. Bạn sẽ cần chỉnh sửa từ điển mã trong chương trình. Nhập mã 7 chữ số vào vị trí của công tắc tương ứng trong chương trình, và đối với mỗi nút bật / tắt, hãy chèn mã 3 chữ số (đây là độ dài) vào len của công tắc tương ứng trong chương trình.

Ví dụ: nếu nút bật 1 có mã là 1234567, mã tắt là 7654321 và độ dài là 890, thì mã sẽ giống như sau:

mã = {

'switch1': {'on': 1234567, # This is switch 1 on 'off': 7654321, #this is switch 1 off 'len': 890, #this is switch 1 code length}, 'switch2': {… },…}

Lặp lại điều này cho mỗi nút. Trong khi bạn đang chỉnh sửa tệp này, hãy thay đổi các chuỗi có nội dung "KHÓA SUB-CỦA BẠN" thành khóa đăng ký PubNub và "KHÓA CÔNG KHAI CỦA BẠN" thành khóa xuất bản của bạn.

Khi mỗi nút đã được ghi lại, bạn có thể tiếp tục sang phần tiếp theo.

Bước 7: Chạy chương trình

Chạy chương trình
Chạy chương trình

Bây giờ bạn đã có tất cả các mã của mình, hãy truy cập trang GitHub này (Trên máy tính của bạn, không phải raspberry pi) và nhấp vào nút màu xanh lục có nội dung "Sao chép hoặc tải xuống", sau đó nhấp vào "Tải xuống ZIP". Khi tệp này được tải xuống, hãy giải nén nó và mở thư mục. Mở tệp có tên main.js. Bạn sẽ cần nhập khóa đăng ký và xuất bản của mình trong chương trình bằng cách thay thế "KHÓA CÔNG KHAI CỦA BẠN" bằng khóa xuất bản và "KHÓA SUB-CỦA BẠN" bằng khóa đăng ký của bạn.

Tiếp theo, quay lại Raspberry Pi của bạn và nhập

python3 RFControl.py

Khi nó in "Sẵn sàng", hãy quay lại máy tính của bạn và mở tệp index.html trong trình duyệt web bằng cách nhấp ngược lại, chọn "Mở bằng" và chọn trình duyệt ưa thích của bạn. Bạn sẽ thấy 2 cột gồm 5 nút, với tên của các nút chuyển giữa chúng. Nhấn bất kỳ nút nào. Nếu nó điều khiển đúng ổ cắm, thật tuyệt! Nếu không, đây là một số điều bạn nên thử:

  1. Đảm bảo rằng Raspberry Pi đang nhận được tin nhắn. Nó sẽ in ra màn hình bất cứ khi nào nó nhận được tin nhắn từ trang web. Nếu không, hãy đảm bảo rằng các khóa đăng ký / xuất bản của bạn là chính xác.
  2. Nếu Raspberry Pi đang nhận tin nhắn, hãy đảm bảo mã RF của bạn là chính xác. Đảm bảo rằng các ổ cắm của bạn được ghép nối với điều khiển từ xa của bạn, điều khiển từ xa của bạn có thể điều khiển chúng và mã bạn nhập vào chương trình là chính xác.
  3. Nếu mã RF chính xác, hãy đảm bảo rằng Raspberry Pi của bạn nằm trong phạm vi của các cửa hàng. Nếu chúng bắt đầu hoạt động sau khi di chuyển nó đến gần hơn, bạn có thể cần phải làm lại ăng-ten của mình.
  4. Nếu chúng vẫn không hoạt động, vui lòng cho tôi biết vấn đề của bạn trong phần nhận xét và tôi sẽ cố gắng giúp giải quyết vấn đề đó.

Bước 8: Chạy khi khởi động

Để làm cho chương trình python của bạn chạy khi khởi động, hãy nhập mã này vào thiết bị đầu cuối raspberry pi của bạn:

crontab -e

Tiếp theo, đi đến cuối tệp và nhập vào:

@reboot python3 /home/pi/RFControl.py &

Điều này sẽ làm cho tập lệnh Python của bạn chạy khi khởi động mỗi lần. Bây giờ khởi động lại Raspberry Pi của bạn.

Bước 9: Thêm nhiều công tắc hơn

Thêm nhiều công tắc hơn
Thêm nhiều công tắc hơn

Nếu bạn muốn thêm nhiều cửa hàng khác, hãy làm theo các hướng dẫn sau:

Mở RFControl.py trên Raspberry Pi của bạn và thêm một công tắc mới vào từ điển công tắc.

Thí dụ:

công tắc = {

… Các công tắc khác… 'TÊN CHUYỂN ĐỔI': {'bật': xxxxxxx, 'tắt': yyyyyyy, 'len': zzz,},}

Tiếp theo, thêm một nút mới trong ứng dụng web của bạn bằng cách chỉnh sửa biến công tắc trong main.js trên máy tính của bạn.

Thí dụ:

var switch = [… Công tắc cũ… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

Thay thế TÊN-ĐỂ HIỂN THỊ bằng tên bạn muốn nó hiển thị trên trang web và TÊN-CHUYỂN ĐỔI trên cả hai tệp bằng bất kỳ tên nào bạn thích. Nó phải là duy nhất so với những người khác mặc dù!

Bước 10: Tiến xa hơn

Tiến xa hơn
Tiến xa hơn

PubNub được hỗ trợ trên nhiều nền tảng khác nhau, có nghĩa là bạn có thể gửi tin nhắn từ hầu hết mọi thiết bị! Tôi đã sử dụng bộ công cụ Raspberry Pi AIY Voice và PubNub để gửi lệnh bằng giọng nói của mình, nhưng đó có thể là chủ đề của phần Có thể hướng dẫn sau này. Cảm ơn bạn đã đọc Hướng dẫn của tôi, tôi hy vọng nó hữu ích!

Bước 11: Tín dụng

Cảm ơn Tim Leland về hướng dẫn thiết lập bộ phát RF: hướng dẫn

Cảm ơn diy_bloke về hướng dẫn tạo ăng-ten: hướng dẫn

Cảm ơn bất kỳ người khác đã đăng hướng dẫn trực tuyến mà tôi đã xem để được giúp đỡ!

Đề xuất: