Mục lục:

SmartHome với Raspberry Pi: 5 bước
SmartHome với Raspberry Pi: 5 bước

Video: SmartHome với Raspberry Pi: 5 bước

Video: SmartHome với Raspberry Pi: 5 bước
Video: Cài HomeBridge trên Raspberry Pi để sử dụng thiết bị Smart Home với Apple Home 2024, Tháng mười một
Anonim
SmartHome với Raspberry Pi
SmartHome với Raspberry Pi

Đối với dự án này, tôi đã tạo một Ngôi nhà thông minh có thể được vận hành bởi một trang web và thiết bị di động. Đối với điều này, tôi sử dụng Raspberry PI làm cơ sở dữ liệu và máy chủ web.

Quân nhu

Nếu bạn muốn bắt đầu điều này, bạn cần một số thứ:

  • 5 đèn led trắng (5mm)
  • 1 cảm biến nhiệt độ một dây
  • 1 LDR (điện trở phụ thuộc ánh sáng)
  • 2 động cơ servo
  • 1 microSD (dành cho Raspberry Pi)
  • 1 Breadboard cung cấp năng lượng
  • 1 Raspberry Pi 3 Model B +
  • 3 tấm bọt
  • 1 Động cơ bước (5V)
  • 1 đầu đọc RFID-RC522
  • 8 điện trở (220 Ohm)
  • 1 điện trở (10K Ohm)
  • 2 bảng bánh mì
  • 2 gói jumperwires
  • 1 màn hình LCD 16x2
  • 1 PCF8574AN
  • 4 cửa sổ nhỏ (in 3D)
  • 1 cửa (in 3D)
  • 2 cửa sổ lớn (in 3D)
  • 1 cửa nhà để xe (in 3D)

Nếu bạn cần tất cả những thứ này để mua, chi phí tối đa sẽ vào khoảng € 150

Bước 1: Đấu dây

Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây

Cách dễ nhất để bắt đầu là đi dây để bạn đã có những kiến thức cơ bản, với phương pháp này, bạn có thể dễ dàng kiểm tra xem mọi thứ có hoạt động hay không khi bạn đang viết mã.

Bằng cách này, bạn có thể xem liệu mình có đủ chân cắm trên Raspberry Pi để kết nối mọi thứ hay không. Trong trường hợp này, tôi đã sử dụng PCF8574AN để điều khiển màn hình LCD của mình với ít chân GPIO hơn.

Để vẽ sơ đồ, tôi đã sử dụng Fritzing. Đây là một chương trình tiện dụng, nơi bạn có thể xem hệ thống cáp của mình theo cách được tổ chức tốt.

Như bạn có thể thấy trên bức ảnh thứ hai, có rất nhiều dây cáp nên bạn vẫn phải làm việc một cách có tổ chức.

Bước 2: Nhà ở

Nhà ở
Nhà ở
Nhà ở
Nhà ở
Nhà ở
Nhà ở
Nhà ở
Nhà ở

Đối với nhà ở, tôi đã sử dụng tấm xốp làm tường. Tôi dùng dao để cắt những tấm ván theo những hình dạng mong muốn. Cửa sổ, cửa ra vào và cửa ga ra được in 3D. Tất nhiên tôi đã vẽ trước ngôi nhà nên tôi biết mình phải sử dụng những kích thước nào.

Tôi đã sử dụng SketchUp để vẽ ngôi nhà. Tôi sử dụng súng bắn keo để giữ các bức tường thẳng và giữ chúng lại với nhau, Nếu bạn có thể thấy trên ảnh, cửa sổ và cửa nhà để xe được gắn bằng keo nên nó sẽ đủ chắc chắn. trên bức ảnh thứ 3 là một chiếc hộp tôi đã từng vận chuyển để mọi thứ vẫn còn nguyên vẹn

Bước 3: Cơ sở dữ liệu

Cơ sở dữ liệu
Cơ sở dữ liệu

Trước hết, bạn cần thiết kế cơ sở dữ liệu bằng Mysql Workbench. Nếu điều này thành công, bạn cần cài đặt cơ sở dữ liệu Mysql trên Raspberry Pi.

Bước đầu tiên bạn thực hiện là kiểm tra xem Pi của bạn có được cập nhật hay không. Bạn có thể sử dụng lệnh sau:

sudo apt-get cập nhật

sudo apt-get nâng cấp

Bây giờ bạn có thể cài đặt máy chủ Mysql:

sudo apt-get install mysql-server

Nếu máy chủ Mysql được cài đặt, Cài đặt máy khách Mysql

sudo apt-get install mysql-client

Nếu bây giờ bạn nhìn vào máy chủ sql bằng lệnh:

sudo mysql

Bây giờ bạn có thể nhập mã cơ sở dữ liệu của mình bằng cách mở tệp.mwb với bàn làm việc sql và kỹ sư chuyển tiếp. Bạn sao chép mã và dán mã này vào mysql từ Raspberry. Cơ sở dữ liệu được thực hiện.

Để người dùng có được tất cả các quyền, chỉ cần thêm tên người dùng của bạn vào bảng

cấp tất cả các đặc quyền trên smarthome. * cho 'yourname' @ '%' được xác định bởi 'yourname';

tất nhiên bạn cần làm mới bảng ngay bây giờ

QUYỀN RIÊNG TƯ CỦA FLUSH;

Để kiểm tra điều này, bạn chỉ cần thử:

sử dụng nhà thông minh;

chọn * từ historiek;

Trong bảng người dùng, tên của người dùng đi kèm với huy hiệu của họ, tại đây bạn có thể thêm người dùng mới. Trong bảng thiết bị, bạn có thể tìm thấy tất cả các cảm biến đang hoạt động với id của chúng.

Bước 4: Thiết lập

Để thiết lập hình ảnh trên Raspberry Pi, bạn có thể sử dụng Putty, đây là một chương trình miễn phí, bạn có thể tìm thấy tệp hình ảnh cơ sở tại đây:

Giao diện

Tất nhiên bạn cần kích hoạt một số giao diện trên Pi. Đầu tiên hãy truy cập trang cấu hình.

sudo raspi-config

Bây giờ bạn có thể vào danh mục 1-Wire và Spi và bật cả hai. Bạn sẽ cần những thứ này cho cảm biến nhiệt độ.

wifi

Làm theo các bước tiếp theo để phát wifi trên Pi.

Lần đầu tiên đăng nhập với tư cách người chủ

sudo-i

Sau đó điền tên và mật khẩu của mạng wifi của bạn

wpa_passphrase = "wifiname" "mật khẩu" >> /etc/wpa_supplicant/wpa_supplicant.conf

Sau đó nhập ứng dụng WPA

wpa_cli

chọn giao diện

giao diện wlan0

Bây giờ tải lại cấu hình

cấu hình lại

Và bây giờ bạn có thể kiểm tra xem bạn đã kết nối chưa

ip a

Các gói

Việc đầu tiên cần làm là cập nhật các phiên bản mới nhất

cập nhật apt sudo

Đối với python, chúng tôi cài đặt và đảm bảo rằng Pi đang chọn đúng phiên bản

update-Alternatives --install / usr / bin / python python /usr/bin/python2.7 1update-Alternatives --install / usr / bin / python python / usr / bin / python3 2

Để máy chủ web chạy Trang web trên, chúng ta cần cài đặt Apache2

sudo apt install apache2 -y

Một số gói python cũng cần được cài đặt

  • Bình giữ nhiệt
  • Bình-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • yêu cầu
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

nếu có vấn đề với một gói mà không được tìm thấy, chỉ cần nhấp chuột phải vào nó và để nó cài đặt.

Bước 5: Mã

Mã số
Mã số
Mã số
Mã số

phụ trợ

Đối với phần phụ trợ, chúng tôi viết mã bằng python và sử dụng pycharm để viết. Các tuyến đường từ phần phụ trợ có thể được bưu tá kiểm tra. Với ứng dụng này, bạn có thể sử dụng phương thức POST và GET. Trong phần phụ trợ, tôi đã sử dụng đa luồng để mọi thứ đang chạy trong nền và có thể hoạt động cùng nhau. Để thiết lập hình ảnh trên Raspberry Pi bạn có thể sử dụng Putty, đây là một chương trình miễn phí.

frontend

Ở mặt trước có một số nút có thể bật đèn, mở cổng và cửa nhà để xe. Bằng cách sử dụng javascript và CSS, kiểu từ các nút sẽ thay đổi khi chúng hoạt động. Ngoài ra còn có nhiệt độ trực tiếp và biểu đồ với các nhiệt độ trong quá khứ. Tại trang người dùng, bạn có thể thấy nhiều người dùng khác nhau, bạn cũng có thể thêm người dùng vào cơ sở dữ liệu và có lịch sử người dùng, nơi bạn có thể xem ai đã mở hoặc đóng cửa nhà để xe lần cuối.

Bạn có thể tìm thấy mã cho giao diện người dùng và phụ trợ tại

github.com/NMCT-S2-Project-1/nmct-s2-proje…

Đề xuất: