Mục lục:

Thiết bị gia dụng Màn hình nguồn dựa trên Raspberry PI: 14 bước
Thiết bị gia dụng Màn hình nguồn dựa trên Raspberry PI: 14 bước

Video: Thiết bị gia dụng Màn hình nguồn dựa trên Raspberry PI: 14 bước

Video: Thiết bị gia dụng Màn hình nguồn dựa trên Raspberry PI: 14 bước
Video: Cách cài hệ điều hành cho Raspberry Pi vô cùng dễ! 2024, Tháng bảy
Anonim
Thiết bị gia dụng Màn hình nguồn dựa trên Raspberry PI
Thiết bị gia dụng Màn hình nguồn dựa trên Raspberry PI
Thiết bị gia dụng Màn hình nguồn dựa trên Raspberry PI
Thiết bị gia dụng Màn hình nguồn dựa trên Raspberry PI

Đây là một dự án nhỏ mà tôi đã thực hiện để theo dõi việc sử dụng điện năng của các thiết bị riêng lẻ xung quanh nhà và hiển thị biểu đồ sử dụng điện năng của chúng theo thời gian. Nó thực sự là một trong những dự án dựa trên Raspberry PI dễ dàng hơn mà tôi đã thực hiện, không cần hàn hoặc hack các sản phẩm mở. Nó không nhất thiết phải là một dự án Raspberry PI, nó có thể dễ dàng được thực hiện trên hộp Linux hoặc có thể là Windows.

Chi phí là $ 50 AUD cho bộ 4 màn hình nguồn / phích cắm thông minh và chi phí của Raspberry PI. Điều này có thể chạy trên Pi Zero hoặc Original PI mặc dù tôi thấy nó hơi chậm. PI khác duy nhất mà tôi có là PI 3 và tôi thấy nó rất linh hoạt, vì vậy đó là những gì tôi muốn giới thiệu. Lưu ý nếu bạn muốn chạy nó trên PI cũ hơn, bạn có thể giảm tần suất thu thập dữ liệu (tôi đang sử dụng 10 giây).

Dự án này cũng có thêm lợi ích hoặc giải phóng phích cắm thông minh khỏi chương trình cơ sở của nhà sản xuất, vì vậy bạn không phải sử dụng các ứng dụng và dịch vụ đám mây cụ thể của họ. Vì vậy, chúng có thể được sử dụng với Home Assist hoặc chỉ với các tập lệnh python của riêng bạn.

Xin lưu ý rằng tôi giả sử bạn biết cách cài đặt HĐH trên PI, kết nối với nó và chạy một số lệnh linux cơ bản. Tôi cũng giả định rằng bạn biết cách tìm địa chỉ IP của phích cắm thông minh khi nó kết nối với WiFi của bạn.

Quân nhu

2 gói hoặc 4 gói phích cắm thông minh từ đây:

www.kogan.com/au/buy/kogan-smarterhome-sma…

1 Raspberry PI

Kỹ năng:

Khả năng thiết lập PI mâm xôi

Dòng lệnh linux cơ bản

Trình soạn thảo văn bản như vi hoặc nano (nano thân thiện hơn với người dùng, vi nhanh hơn khi bạn đã làm quen với nó)

Khả năng tìm IP của các thiết bị trên mạng của bạn.

Bước 1: Mua một số phích cắm thông minh

Mua một số phích cắm thông minh
Mua một số phích cắm thông minh

Phích cắm thông minh mà tôi đã sử dụng từ đây:

www.kogan.com/au/buy/kogan-smarterhome-sma…

Lưu ý rằng có rất nhiều loại phích cắm thông minh tương thích, hầu hết (tất cả?) Đều là thiết bị dựa trên ESP8266 (WEMOS) và rất dễ nhấp nháy. Hãy chắc chắn rằng bạn có được thứ gì đó có chức năng giám sát nguồn điện vì nhiều người không có. Trang này hiển thị một danh sách lớn các thiết bị tương thích:

templates.blakadder.com/plug.html

Bước 2: Nhấp nháy thiết bị

Phần này dễ dàng một cách đáng ngạc nhiên. Về cơ bản, bạn chỉ cần tải xuống phần mềm, chạy nó và nó sẽ hướng dẫn bạn.

Đối với điều này, bạn sẽ cần một hộp Raspberry PI hoặc Linux có WiFi. Bạn sẽ cần có kết nối chính của mình với thiết bị này KHÔNG phải là WiFi. Đối với PI3 của tôi, điều này thật dễ dàng vì tôi đã được kết nối qua Ethernet. Nếu bạn có PI Zero thì bạn sẽ phải kết nối theo cách cũ, với bàn phím và màn hình.

Tôi cho rằng bạn biết cách thiết lập PI và kết nối với nó bằng SSH hoặc bàn phím, vì vậy tôi sẽ không nói qua điều đó. Nếu bạn không chắc, có rất nhiều hướng dẫn trên web.

Trước khi chúng tôi bắt đầu, chỉ cần một chút thông tin cơ bản về các thiết bị. Có một công ty ở Trung Quốc tên là Tuya chuyên sản xuất phích cắm thông minh cho các khách hàng khác nhau. Họ thực hiện tùy chỉnh cho các khách hàng khác nhau và cung cấp chương trình cơ sở mặc định và cho phép các công ty thực hiện sửa đổi của riêng họ. Vấn đề với điều này là nếu bạn có một loạt sản phẩm từ các nhà cung cấp khác nhau thì cuối cùng bạn sẽ phải chạy một loạt các ứng dụng, một số ứng dụng hoạt động tốt hơn những ứng dụng khác. Bằng cách cài đặt một chương trình cơ sở nguồn mở, bạn giải phóng mình khỏi tất cả những điều đó. Vì vậy, điều này là tốt cho tự động hóa nhà nói chung.

Vì thế …. mà không cần thêm quảng cáo, đây là các hướng dẫn:

1) Chạy các lệnh này trên PI, điều này sẽ cài đặt phần mềm cần thiết.

# git clone https://github.com/ct-Open-Source/tuya-convert# cd tuya-convert #./install_prereq.sh

2) Cắm phích cắm thông minh vào nguồn điện

3) Bật nguồn bằng nút

4) Giữ nút nguồn cho đến khi đèn xanh bắt đầu nhấp nháy

5) Chờ 10 giây. Điều này không cần thiết nhưng tôi thấy nó hoạt động tốt hơn nếu bạn làm vậy.

6) Chạy lệnh này

./start_flash.sh

Từ đây bạn chỉ cần làm theo lời nhắc ngoại trừ ở cuối chọn "2. Tasmota". Có một tùy chọn cho phần sụn khác nhưng tôi chưa thử nên không chắc nó như thế nào.

Lưu ý là mình đã làm việc này hơn một lần, lúc đầu tưởng bị brick máy, không có đèn, không có rơ le kích, không có dấu hiệu của sự sống. Nhưng tôi đã tắt nguồn và chạy lại lệnh cuối cùng và nó hoạt động. Tôi đã phải làm điều này với 3 trong số 4 thiết bị tôi đã nhấp nháy, chỉ có một thiết bị đi thẳng qua, tôi nghĩ là do bước 5.

Hướng dẫn đầy đủ tại đây:

github.com/ct-Open-Source/tuya-convert

Bước 3: Kết nối với Firmware lần đầu tiên

Kết nối với chương trình cơ sở lần đầu tiên
Kết nối với chương trình cơ sở lần đầu tiên
Kết nối với chương trình cơ sở lần đầu tiên
Kết nối với chương trình cơ sở lần đầu tiên
Kết nối với chương trình cơ sở lần đầu tiên
Kết nối với chương trình cơ sở lần đầu tiên

Sau khi bạn bật tasmota vào thiết bị, nó sẽ không có nhiều dấu hiệu của sự sống. Lý do cho điều này là nó cần được cấu hình. Làm điều này khá dễ dàng, tôi thấy tốt nhất là làm điều đó với điện thoại của mình. Các bước là:

1) Tìm kiếm các điểm truy cập WiFi

2) Kết nối với một được gắn nhãn tasmota_xxxx (trong đó x là số)

3) Điện thoại sẽ hướng bạn đến trang mặc định, nếu không, hãy truy cập 192.168.4.1

Lưu ý trên một số điện thoại nó có thể đưa ra thông báo "không có truy cập internet, bạn có muốn giữ kết nối không", hãy chọn có.

4) Trên trang này, hãy nhập tên mạng WiFi của bạn và mật khẩu vào 2 ô đầu tiên. Nhấp vào tùy chọn để hiển thị mật khẩu và kiểm tra ba lần xem bạn đã nhập đúng mật khẩu chưa. Nếu bạn nhập sai mật khẩu, tôi tin rằng có thể khó quay lại màn hình cấu hình này. Lưu ý rằng bạn cũng có thể quét tìm mạng WiFi, mặc dù rõ ràng bạn vẫn cần nhập mật khẩu.

5) Bây giờ phích cắm đã kết nối với mạng WiFi của bạn. Bạn sẽ cần phải truy cập trang cấu hình cho bộ định tuyến của mình và tìm IP của thiết bị.

6) Mở trình duyệt web trên PC của bạn và truy cập https:// [device_ip] Bạn sẽ thấy màn hình cấu hình từ Tasmota.

Xin chúc mừng, bạn đã cài cắm thành công.

Bước 4: Định cấu hình phích cắm

Định cấu hình phích cắm
Định cấu hình phích cắm

Công ty sản xuất các thiết bị này dường như đã sản xuất 10.000 thiết bị với nhiều cấu hình khác nhau. Chúng tôi vừa cập nhật một chương trình cơ sở mới và chương trình cơ sở không biết nó đã được cài đặt trên những thiết bị nào. Vì vậy, trước khi mọi thứ hoạt động, chúng ta sẽ cần phải cấu hình nó. Để làm điều đó, chúng ta cần tìm thông tin chi tiết về thiết bị của mình trên web và tải cấu hình cụ thể đó.

Đối với điều này, hãy tìm thiết bị của bạn trên trang này:

templates.blakadder.com/plug.html

Đối với thiết bị tôi đã sử dụng, cấu hình ở đây:

templates.blakadder.com/kogan-KASPEMHUSBA….

Để thiết lập cấu hình, chúng tôi chỉ cần sao chép văn bản trong Mẫu. Trong trường hợp này, nó là:

sau đó

1) Truy cập trang cấu hình thiết bị của bạn https:// [IP của phích cắm thông minh]

2) Nhấp vào cấu hình, cấu hình khác

3) Dán vào chuỗi mẫu của bạn

4) Đánh dấu vào "Bật MQTT"

5) Nhấp vào kích hoạt và Lưu.

Để kiểm tra điều này đã hoạt động, hãy nhấp vào "Menu chính" để quay lại trang chủ và bây giờ bạn sẽ thấy số liệu sử dụng điện. Tất cả chúng sẽ bằng không, thậm chí là điện áp nhưng đây là một dấu hiệu tốt. Nhấp vào nút bật tắt và bạn sẽ nghe thấy tiếng lách cách của rơle và thấy điện áp tăng lên.

Bước 5: Hiệu chỉnh điện áp

Hiệu chỉnh điện áp
Hiệu chỉnh điện áp

Tôi thấy việc đọc điện áp được hiển thị khá cao. Nếu bạn có một nguồn đọc điện áp khác trong nhà (ví dụ như đồng hồ thông minh có thể ??) thì bạn có thể hiệu chỉnh phích cắm rất dễ dàng. Để làm điều này

1) Đọc điện áp chính xác

2) Bật rơ le trong phích cắm thông minh

3) Nhấp vào Bảng điều khiển trong trang chủ của thiết bị

4) Nhập lệnh "VoltageSet 228" và nhấn enter (thay thế 228 bằng điện áp của bạn)

Điện áp bây giờ sẽ hiển thị chính xác.

Bước 6: Cài đặt phần mềm trên PI

Có một vài gói cần được cài đặt trên PI. Chúng rất dễ cài đặt và có thể được thực hiện theo hướng dẫn từ các gói khác nhau. Tôi sẽ đưa ra các hướng dẫn ở đây nhưng xin lưu ý rằng chúng có thể thay đổi theo thời gian nên các hướng dẫn của tôi sẽ được cập nhật. Các gói là:

Grafana (để hiển thị đồ thị)

Influxdb (cơ sở dữ liệu chuỗi thời gian sẽ lưu trữ dữ liệu của chúng tôi)

Telegraf (được sử dụng để đẩy dữ liệu vào Influxdb)

Mosquitto (xe buýt thông báo được sử dụng để truyền dữ liệu xung quanh, phích cắm thông minh đẩy dữ liệu vào đây)

Chuỗi luồng dữ liệu như sau:

Smart Plug -> Mosquitto -> Telegraf -> InfluxDB -> Grafana

Nếu bạn đang hỏi tại sao chúng ta không thể bỏ qua Mosquitto và Telegraf, thì đó là một câu hỏi hay. Về lý thuyết, Smart Plug có thể thúc đẩy sự lan tỏa. Vấn đề với điều đó là sau đó nó sẽ phải được cấu hình cho 100 điểm cuối khác nhau và nó sẽ khóa chúng ta khỏi một số lựa chọn. Hầu hết mọi thứ trong tự động hóa gia đình đều sử dụng Mosquitto để chuyển các thông điệp xung quanh. Ví dụ, chúng ta có thể bật và tắt phích cắm bằng cách gửi tin nhắn đến Mosquitto và phích cắm thông minh sẽ nhận chúng và phản hồi.

Bước 7: Cài đặt Grafana

Cài đặt Grafana
Cài đặt Grafana

Từ:

grafana.com/grafana/download?platform=arm

Hoặc rất nhiều lựa chọn khác tại đây:

grafana.com/grafana/download

Đối với Pi 1 và Pi Zero (ARMv6)

sudo apt-get install -y adduser libfontconfig1 # tìm phiên bản mới nhất từ trang tại topwget https://dl.grafana.com/oss/release/grafana-rpi_7….sudo dpkg-i grafana-rpi_7.0.1_armhf. debsudo / bin / systemctl daemon-reloadsudo / bin / systemctl cho phép grafana-serverudo / bin / systemctl start grafana-server

Đối với PI mới hơn (ARMv7)

sudo apt-get install -y adduser libfontconfig1 # tìm phiên bản mới nhất từ trang tại topwget https://dl.grafana.com/oss/release/grafana_7.0.1_…sudo dpkg -i grafana_7.0.1_armhf.debsudo / bin / systemctl daemon-reloadsudo / bin / systemctl cho phép grafana-serverudo / bin / systemctl start grafana-server

Để kiểm tra:

Truy cập https:// [IP của PI]: 3000

tên người dùng / mật khẩu là admin / admin, nó sẽ yêu cầu bạn thay đổi nó, bạn có thể bỏ qua ngay bây giờ

Nếu bạn nhận được GUI thì tất cả đều tốt, hãy chuyển sang bước tiếp theo

Bước 8: Cài đặt InfluxDB

Chạy các lệnh này trên PI:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -source / etc / os-evalasetest $ VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy ổn định" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie ổn định" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian căng ổn định" | sudo tee /etc/apt/sources.list.d/influxdb.listtest $ VERSION_ID = "10" && echo "deb https://repos.influxdata.com/debian buster ổn định" | sudo tee /etc/apt/sources.list.d/influxdb.listsudo apt-get Updatesudo apt-get install infuxdbsudo systemctl bật Influxdbsudo systemctl start Influxdb

Kiểm tra bằng cách gõ "dòng". Điều này sẽ đưa bạn vào dòng lệnh Influxdb. Gõ "hiển thị cơ sở dữ liệu", sẽ không có cơ sở dữ liệu nào được nêu ra nhưng nếu bạn nhận được một danh sách trống không có lỗi thì tốt.

Bước 9: Cài đặt Telegraf

Điều này thực sự dễ dàng, bởi vì chúng tôi đã thêm các repo dòng, chúng tôi có thể chỉ cần nhập:

sudo apt-get install telegrafsudo systemctl bật telegrafsudo systemctl start telegraf

Tại thời điểm này, Telegraf sẽ ghi lại các chỉ số hệ thống vào dòng chảy. Bạn có thể thấy chúng bằng cách gõ các lệnh sau:

cơ sở dữ liệu dòng chảy sử dụng telegrafshow seriesSELECT * FROM cpu LIMIT 10;

Bước 10: Cài đặt Mosquitto

Phần này rất dễ dàng vì chúng tôi chỉ cần cài đặt phiên bản mặc định được đóng gói với raspian:

sudo apt-get -y install mosquittosudo apt-get -y install mosquitto-clientssudo systemctl enable mosquittosudo systemctl start mosquitto # tạo mật khẩu cho mosquittosudo mosquitto_passwd -c / etc / mosquitto / tasmota tasmota # nhập mật khẩu. Viết mật khẩu này xuống vì chúng tôi sẽ cần cung cấp mật khẩu này cho phích cắm thông minh

Để kiểm tra:

chạy điều này trong một phiên SSH:

kiểm tra mosquitto_sub -t

Chạy cái này trong cái khác

mosquitto_pub -t test -m mymessage

Bạn sẽ thấy bạn nhắn tin trong phiên SSH đầu tiên

Bước 11: Gửi dữ liệu từ Smart Plug tới Mosquitto

Gửi dữ liệu từ Smart Plug tới Mosquitto
Gửi dữ liệu từ Smart Plug tới Mosquitto

Bây giờ chúng ta có mosquitto đang chạy, chúng ta cần cấu hình phích cắm thông minh để gửi dữ liệu đến mosquitto. Điều này là khá dễ dàng để làm. Chúng tôi sẽ cần nhập mật khẩu cho mosquitto từ bước trước.

1) Đăng nhập vào trang web phích cắm thông minh của bạn

2) Nhấp vào Cấu hình, sau đó nhấp vào Định cấu hình ghi nhật ký

3) Đặt khoảng thời gian đo từ xa thành 10 và nhấp vào lưu.

4) Nhấp vào Định cấu hình MQTT

5) Đối với máy chủ lưu trữ, hãy nhập địa chỉ IP của PI của bạn

6) Đối với tên người dùng, hãy nhập tasmota

7) Đối với mật khẩu, hãy nhập mật khẩu từ bước trước

8) Đối với chủ đề, hãy nhập tasmota1

9) Nhấp vào lưu

Để kiểm tra:

Tại PI, gõ lệnh dưới đây. Trong vòng 10 giây, bạn sẽ thấy dữ liệu đi qua.

mosquitto_sub -t tele / tasmota1 / SENSOR

Dữ liệu sẽ giống như sau:

Bước 12: Sử dụng Telegraf để đẩy dữ liệu từ Mosquitto sang Influx

Bây giờ chúng ta sẽ định cấu hình Telegraf để đọc dữ liệu từ mosquitto và đẩy sang dòng chảy. Trên PI:

1) sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak

2) sudo vi /etc/telegraf/telegraf.conf

Lưu ý vi không quá thân thiện với người dùng mới, nếu bạn thích trình soạn thảo văn bản dựa trên menu, hãy sử dụng nano để thay thế:

sudo nano /etc/telegraf/telegraf.conf

3) Dán vào cấu hình từ tệp đính kèm

4) sudo systemctl khởi động lại telegraf

Để kiểm tra loại này trên PI:

dòng chảy

hiển thị cơ sở dữ liệu

bạn sẽ thấy cơ sở dữ liệu thử nghiệm. Nếu bạn không thích kiểm tra tên, bạn có thể thay đổi dest_db trong tệp telegraf.conf.

Bước 13: Cuối cùng, Tạo đồ thị trong Grafana

Cuối cùng, Tạo đồ thị trong Grafana
Cuối cùng, Tạo đồ thị trong Grafana

Cuối cùng, chúng ta có thể xem một số dữ liệu:-):-)

Đầu tiên chúng ta cần tạo một kết nối đến cơ sở dữ liệu. Truy cập trang web grafana http: [ip of PI]: 3000

1) Đăng nhập với quản trị viên / admin

2) Ở cột bên trái, nhấp vào biểu tượng bánh răng và nguồn dữ liệu

3) Nhấp vào thêm nguồn dữ liệu

4) Nhấp vào dòng chảy

5) Đối với URL, hãy nhập https:// localhost: 8086

6) Đối với kiểm tra nhập cơ sở dữ liệu

7) Đối với HTTP, hãy nhập GET

8) Đối với khoảng thời gian tối thiểu, hãy nhập 10 giây

9) Nhấp vào Lưu và Kiểm tra, nó sẽ thông báo "Nguồn dữ liệu đang hoạt động"

OK, bây giờ chúng ta có kết nối với cơ sở dữ liệu, chúng ta có thể tạo một biểu đồ… cuối cùng.

1) Ở cột bên trái, hãy nhấp vào dấu + rồi đến Trang tổng quan và Thêm bảng điều khiển mới

2) Đối với cơ sở dữ liệu, hãy nhấp vào InfluxDB

3) Nhấp vào đo lường và chọn Kogan

4) Đối với trường, chọn Energy_Power.

5) Đối với bí danh, hãy đặt tên cho chuỗi của bạn (ví dụ: Máy rửa bát)

6) Ở phía bên phải của Tiêu đề bảng, hãy đặt tên cho nó, ví dụ: Power.

7) Vậy là xong, bạn nên xem dữ liệu. Nhấp vào nút mũi tên bên trái để thoát khỏi chỉnh sửa và sau đó nhấp vào lưu, đặt tên cho trang tổng quan của bạn.

Nếu bạn đạt được điều này, công việc tuyệt vời, nghiêm túc.

Bước 14: Một vài mẹo khác

Một vài mẹo khác
Một vài mẹo khác
Một vài mẹo khác
Một vài mẹo khác

Cấu hình Telegraf mặc định mà tôi cung cấp cần bảo trì một chút, trong đó một phần mới cần được thêm vào cho mỗi thiết bị và cần phải khởi động lại Telegraf. Với những thay đổi bên dưới, nó làm cho mọi thứ trở nên năng động hơn nhiều, trong đó các thiết bị có thể được thêm hoặc đổi tên trong cấu hình Tasmota mà không cần phải thay đổi Telegraf.

Thay đổi đầu tiên là đặt dấu + trong tên chủ đề, về cơ bản đây là một ký tự đại diện. Chỉ riêng điều này sẽ là đủ ngoại trừ khi bạn đang tạo biểu đồ trong Grafana, các thiết bị xuất hiện được đặt tên là những thứ như "tele / WashingMachine / SENSOR". Phần thứ hai của cấu hình Telegraf bên dưới là bộ xử lý regex. Nó kéo văn bản "WashingMachine" ra khỏi trung tâm và biến nó thành một thẻ mới được đẩy lên InfluxDB.

Lưu ý: hãy đảm bảo thiết lập một tên chủ đề khác trong cấu hình Tasmota cho mỗi thiết bị

[input.mqtt_consumer.tags] dest_db = "test"

Khi điều này được thực hiện, rất dễ dàng định cấu hình Grafana để hiển thị nhiều thiết bị trên một biểu đồ. Hình đính kèm ở bước này cho thấy những gì cần phải làm. Chỉ cần nhấp vào dấu + trên nhóm theo dòng và chọn thẻ (thiết bị). Phần dưới cùng tại Bí danh Bằng cách nhập $ tag_device. Bây giờ bạn sẽ thấy nhiều chuỗi trên một biểu đồ. Bạn có thể nhấp vào văn bản của từng mục để bật và tắt chúng (nhấp ctrl hoạt động để chọn nhiều mục)

Đề xuất: