Báo động thông minh: 6 bước
Báo động thông minh: 6 bước
Anonim
Báo thức thông minh
Báo thức thông minh

Từ trường, tôi được giao nhiệm vụ thực hiện một dự án. Tôi đã chọn Báo thức thông minh vì tôi luôn ngủ qua báo thức và sau đó nghỉ học. Bạn chỉ có thể tắt báo thức nếu có ánh sáng, âm thanh và chuyển động để bạn không thể ngủ lại hoặc báo lại mà không mở mắt. Ngoài ra còn có một trang web nơi bạn có thể xem chế độ ngủ của mình, đặt báo thức và đặt báo thức mới.

Quân nhu

Để xây dựng dự án cần có một số vật liệu. bạn có thể tìm thấy một danh sách dưới đây. bạn cũng có thể tìm thấy mọi thứ trở lại trong hóa đơn vật liệu bao gồm cả giá cả.

  1. Raspberry pi 3
  2. Bảng đột phá T-cobbler
  3. Cảm biến PIR
  4. Cảm biến ánh sáng
  5. Cảm biến phát hiện âm thanh
  6. Buzzer
  7. Màn hình LCD
  8. Cái nút

Bước 1: Phần cứng

Phần cứng
Phần cứng

Trước khi bắt đầu xây dựng mọi thứ, tôi đã thực hiện 2 sơ đồ (1 điện và 1 trên bảng mạch) trên fritzing và kiểm soát chúng để đảm bảo không có lỗi nào trong đó. Khi tôi đã chắc chắn rằng mọi thứ đều ổn, tôi bắt đầu với dự án. Trước hết, tôi bắt đầu với bộ rung và nút vì đây là những thành phần dễ dàng nhất. Sau đó, tôi đã kết nối màn hình của mình với pi raspberry. Cuối cùng thì tôi đã kết nối các cảm biến của mình. cảm biến ánh sáng và cảm biến chuyển động thật dễ dàng vì bạn không cần bất cứ thứ gì khác nhưng cảm biến PIR cần thêm thứ gì đó. Để đảm bảo rằng PIR sẽ không gây đoản mạch, bạn cần sử dụng cầu nối điện áp. Có nghĩa là bạn cần sử dụng thêm một điện trở 1k ohm và 2k ohm để đảm bảo mọi thứ diễn ra tốt đẹp. Bạn có thể tìm thấy cách sử dụng chính xác của các chân và cách kết nối mọi thứ với số pi trong các sơ đồ.

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

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

Để lưu trữ dữ liệu tôi cần một cơ sở dữ liệu.

Cơ sở dữ liệu của tôi tồn tại gồm 6 bảng.

  1. cảm biến
  2. History_sensors
  3. Người
  4. Alarm_ person
  5. Sleep_patern
  6. Báo thức

có 2 phần trong cơ sở dữ liệu. 1 cho các cảm biến và 1 cho người và tất cả các số liệu thống kê của anh ta.

Bảng cảm biến chứa ID và tên. Bảng này được kết nối với History_sensors có ID, giá trị, Sensor_id và tên. sensor_id là cần thiết để biết cảm biến đã có giá trị và cần biết ngày tháng để biết khi nào cảm biến đo giá trị đó.

Người trong bảng chứa ID, tên và mật khẩu. Mật khẩu và tên là cần thiết để đăng nhập để không ai khác có thể đặt báo động cho bạn. Bảng này được kết nối với bảng sleep_pattern và bảng Alarm_ person. Bảng Sleep_patern chứa ID, Hours_sleep, Ngày tháng, Person_id, Giờ đi ngủ và Wake_up_time. Vì vậy, đây là dữ liệu được lưu trữ để tạo đồ họa về người chăm sóc giấc ngủ của bạn.

Bảng Alarm_woman chứa Person_id, Alarm_id và thời gian. Bảng này là cần thiết vì những người khác nhau có thể sử dụng báo thức cùng một lúc và 1 người có thể sử dụng nhiều báo thức. Bảng cuối cùng là bảng báo động. Cái này chứa một ID và một mô tả.

Bước 3: Kết thúc

Back-end
Back-end
Back-end
Back-end

Trong back-end tôi đã phải viết các hàm khác nhau.

  1. yêu cầu các cảm biến bàn
  2. yêu cầu bảng history_sensors
  3. yêu cầu chế độ ngủ
  4. đặt một báo thức mới
  5. yêu cầu báo thức bàn
  6. đăng ký người dùng
  7. đăng nhập
  8. đặt các giá trị của cảm biến trong bảng history_sensors

Tôi đã sử dụng pycharm và viết mã bằng python.

cho tất cả các chức năng, tôi sử dụng @ app.route và sau đó là địa chỉ. mỗi khi bạn cần sử dụng một địa chỉ khác vì nếu không nó sẽ không hoạt động. Sau đó, tôi viết một hàm if với phương thức là giá trị để khi điều này là đúng, anh ta sẽ thực thi mã. trong giá trị if có một lệnh try catch và câu lệnh sql để lấy dữ liệu hoặc loại bỏ dữ liệu.

Đối với các chức năng với các cảm biến thì khác. Ở đây tôi không sử dụng @ app.route mà chỉ tạo một chức năng cho cảm biến. ở đây bạn khai báo các chân của mình và thực hiện một hàm gọi lại. theo cách này mỗi khi cảm biến phát hiện điều gì đó, chức năng được thực thi. Trong chức năng gọi lại, tôi đã sử dụng nếu điều đó hoạt động khi cảm biến phát hiện thứ gì đó. Trong if là viết tắt của mã để đưa dữ liệu vào bảng với câu lệnh sql. Cũng có al sleep trong đó vì nếu không nó sẽ đặt quá nhiều giá trị trong bảng chỉ cho 1 lần phát hiện.

Trong github của tôi, bạn có thể tìm thấy mã đầy đủ cho dự án.

Bước 4: Trang web

Trang mạng
Trang mạng
Trang mạng
Trang mạng
Trang mạng
Trang mạng

Đối với trang web của tôi, tôi đã làm việc với html và css trang web của tôi chứa 11 trang html.

Có rất nhiều trang vì mọi thứ hoạt động bởi trang web. bạn có thể đặt báo thức, thêm báo thức và xóa báo thức. Trong trang cài đặt, bạn có thể thay đổi mật khẩu và email của mình. Bạn có một trang cho kiểu ngủ của mình. Bạn cũng có thể thêm thời điểm khi bạn đi ngủ và khi bạn thức dậy. Điều tích cực là mọi trang đều có giao diện giống nhau và sử dụng hầu hết những thứ giống nhau nên css thường giống nhau trong mọi trang.

Bước 5: Giao diện người dùng

Giao diện người dùng được viết bằng javascript.

Bước 6: Trường hợp

Trường hợp
Trường hợp
Trường hợp
Trường hợp

Đối với trường hợp của tôi, tôi đã chọn sử dụng gỗ. Nó không phải là khó khăn để cắt nó trông đẹp. Trường hợp của em là 26cm trên 14 cm với chiều cao là 7, 5 cm. Nó lớn như vậy vì mọi thứ cần thiết để vừa vặn. Tôi đã tạo lỗ cho các cảm biến, nút bấm và màn hình LCD để có thể nhìn thấy thời gian và các cảm biến có thể phát hiện chuyển động hoặc ánh sáng. Để làm những thứ này, tôi đã sử dụng máy đo laser. Bên trong hộp có breadboard của tôi và pi raspberry.