1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot

91 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Hệ Thống Giám Sát, Điều Khiển Thiết Bị Trong Nhà Thông Qua Telegram Chatbot
Tác giả Đoàn Tạ Minh Triết, Đỗ Công Tiến
Người hướng dẫn Th.S. Nguyễn Ngô Lâm
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 91
Dung lượng 9,87 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (16)
    • 1.1. ĐẶT VẤN ĐỀ (16)
    • 1.2. MỤC TIÊU (16)
    • 1.3. NỘI DUNG NGHIÊN CỨU (17)
    • 1.4. GIỚI HẠN (17)
    • 1.5. BỐ CỤC (18)
  • Chương 2. CƠ SỞ LÝ THUYẾT (19)
    • 2.1. THIẾT KẾ PHẦN CỨNG (19)
    • 2.2. CHUẨN GIAO TIẾP (24)
    • 2.3. THIẾT KẾ PHẦN MỀM (31)
  • Chương 3. TÍNH TOÁN VÀ THIẾT KẾ (34)
    • 3.2. YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG (34)
    • 3.3. THIẾT KẾ HỆ THỐNG PHẦN CỨNG (36)
  • Chương 4. THI CÔNG HỆ THỐNG (48)
    • 4.1. GIỚI THIỆU (48)
    • 4.2. THI CÔNG HỆ THỐNG (48)
    • 4.3. ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH (52)
    • 4.4. LẬP TRÌNH HỆ THỐNG (53)
  • Chương 5. KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ (71)
    • 5.1. KẾT QUẢ THI CÔNG PHẦN CỨNG (71)
    • 5.2. KẾT QUẢ HOẠT ĐỘNG (73)
    • 5.3. NHẬN XÉT VÀ ĐÁNH GIÁ (79)
  • Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (81)
    • 6.2. KẾT LUẬN (81)
    • 6.2. HƯỚNG PHÁT TRIỂN (81)
  • PHỤ LỤC (82)
  • TÀI LIỆU THAM KHẢO (87)

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬTTHÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH THIẾT KẾ HỆ THỐNG GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ TRONG NHÀ T

TỔNG QUAN

ĐẶT VẤN ĐỀ

Cuộc cách mạng công nghiệp lần thứ tư đã bắt đầu từ vài năm gần đây, tập trung chủ yếu vào sản xuất thông minh dựa trên các thành tựu đột phá trong kỹ thuật số, vật lý hiện đại, công nghệ sinh học, nano, … Đặc biệt cùng với sự phát triển của hệ thống thông minh đã tạo ra bước ngoặt quan trọng trong lĩnh vực ngôi nhà thông minh, phục vụ nhu cầu ngày càng cao của con người.

Mỗi ngày, chúng ta thường phải làm những công việc lặp đi lặp lại như: bật/tắt đèn, bật/tắt máy nước nóng, bật/tắt hệ thống giám sát, tưới nước cho vườn cây Thêm vào đó, còn bao nhiêu việc bạn phải nhớ làm như trả tiền điện, tiền nước, mua xăng xe, sắm sửa đồ đạc sinh hoạt, đón con đi học về Sẽ thật tuyệt vời nếu có cách nào đó giúp bạn giải quyết tất cả những vấn đề này? Và đó chính là tất cả mục đích của nhà thông minh.

Là sinh viên Ngành Công nghệ Kỹ thuật Máy tính đã có kiến thức cơ bản về điện tử, hệ thống nhúng và IoT Mong muốn tạo ra thiết bị ứng dụng thực tế với quy mô nhỏ, nên nhóm em quyết định nghiên cứu đề tài “Thiết kế hệ thống giám sát,điều khiển thiết bị trong nhà thông qua Telegram Chatbot” Đó cũng là nền tảng cho sinh viên thực hiện một mô hình nhà thông minh nhỏ của riêng mình.

MỤC TIÊU

Thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà với chức năng đăng nhập hệ thống trực tiếp tại nhà hoặc thông qua chat, sử dụng mã xác thực OTP, cho phép thêm/xóa tài khoản người dùng, ẩn/hiển thị/tắt hệ thống để bảo mật.

Hiển thị thông tin hệ thống như trạng thái bật/tắt các đèn, nhiệt độ, độ ẩm, cường độ sáng trên màn hình LCD Điều khiển hệ thống bằng thao tác trên bàn phím số hoặc thông qua chat.

Giám sát trực tiếp camera trên màn hình LCD hoặc giám sát từ xa thông qua camera server Hỗ trợ trích xuất dữ liệu camera hoặc cập nhật hệ thống thông qua file server.

Mở khóa cửa trước bằng thẻ từ hoặc từ xa thông qua chat.

NỘI DUNG NGHIÊN CỨU

 Nội dung 1: Tìm hiểu các hệ thống giám sát, điều khiển thiết bị trên thị trường hiện nay.

 Nội dung 2: Tìm hiểu nguyên lý hoạt động của các cảm biến, cách kết nối cảm biến với máy tính nhúng.

 Nội dung 3: Thiết kế giao diện điều khiển thiết bị và giám sát Tích hợp Telegram API vào phần mềm điều khiển.

 Nội dung 4: Thiết kế, thi công mô hình hệ thống.

 Nội dung 5: Chạy thử nghiệm và hiệu chỉnh hệ thống.

 Nội dung 6: Viết báo cáo luận văn.

GIỚI HẠN

Đề tài này có một số giới hạn sau:

 Mô hình hệ thống có kích thước nhỏ (60cm × 26cm × 20cm).

 Sử dụng các cảm biến khói, nhiệt độ, độ ẩm, ánh sáng để thu thập thông tin từ môi trường.

 Hệ thống được sử dụng trong nhà.

 Hệ thống được giám sát và điều khiển thông qua ứng dụng chat Telegram hoặc trực tiếp trên màn hình giám sát.

BỐ CỤC

Chương này trình bày đặt vấn đề và lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, giới hạn của đề tài.

 Chương 2: Cơ Sở Lý Thuyết.

Chương này trình bày cơ sở lý thuyết liên quan đến đề tài Giới thiệu về máy tính nhúng, vi điều khiển, các cảm biến sử dụng Đưa ra cơ sở lý thuyết về các chuẩn giao tiếp Giới thiệu về mã OTP, ngôn ngữ lập trình Python, Telegram API.

 Chương 3: Thiết kế và tính toán.

Chương này trình bày về phương án thiết kế, tính toán các thông số lựa chọn linh kiện phù hợp Lưu đồ giám sát, điều khiển hệ thống.

 Chương 4: Kết Quả, Nhận Xét và Đánh Giá.

Chương này trình bày về kết quả đạt được về phần cứng, phần mềm Từ đó đưa ra nhận xét, đánh giá thực nghiệm.

 Chương 5: Kết Luận và Hướng Phát Triển.

Tổng kết các ưu điểm và nhược điểm của đề tài, đưa ra hướng phát triển phù hợp trong tương lai.

CƠ SỞ LÝ THUYẾT

THIẾT KẾ PHẦN CỨNG

Máy tính nhúng Orange Pi Lite

Máy tính nhúng Orange PI Lite là một máy tính nhỏ với chip Allwinner H3 Quad Core Cortex A7 1.2 GHz và ARM Mali-400MP2, GPU lên đến 600 MHz, RAM 512MB, có thể chạy được nhiều hệ điều hành như Android 4.4, Ubuntu, Debian Ngoài ra máy tính còn có cổng HDMI hỗ trợ CEC, 802.11 b/g/n WiFi, 2 cổng USB 2.0, 1 cổng micro USB OTG và có nguồn riêng.

Hình 2 1 Máy tính nhúng Orange Pi Lite và ký hiệu Kit thu phát Wifi ESP8266 NodeMCU

Kit thu phát Wifi ESP8266 NodeMCU Lua CP2102 Ai-Thinker được phát triển dựa trên nền chip Wifi SoC ESP8266 có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code.

Kit được dùng phổ biến trong các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi với chip nạp và giao tiếp UART mới và ổn định nhất là CP2102 có khả năng tự nhận driver trên hầu hết các hệ điều hành Window và Linux.

Hình 2 2 Kit thu phát WiFi ESP8266 NodeMCU và ký hiệu

Module đọc thẻ RFID MFRC522

Module được phát triển dựa trên IC MFRC522, được thiết kế nhằm mục đích tạo ra sóng vô tuyến 13,56MHz và giao tiếp với các thẻ RFID Đầu đọc có thể giao tiếp với vi điều khiển thông qua chuẩn SPI với tốc độ dữ liệu tối đa là 10 Mbps.

Hình 2 3 Module đọc thẻ RFID MFRC522 và ký hiệu Module cảm biến chất lượng không khí MQ-135

Module được sử dụng để kiểm tra chất lượng không khí, có thể phát hiện nhiều loại khí như NH3, Sunfua, NOx, rượu, hơi benzen, khói, gas và CO2.

Module lý tưởng để sử dụng trong nhà, văn phòng hoặc ứng dụng công nghiệp như mạch điều khiển và giám sát đơn giản, là một cảm biến với chi phí thấp và ứng dụng nhiều.

Hình 2 4 Module cảm biến chất lượng không khí MQ-135 và ký hiệu Module cảm biến nhiệt độ, độ ẩm DHT11

Hiện nay module cảm biến nhiệt độ, độ ẩm DHT11 rất thông dụng do giá thành thấp và rất dễ sử dụng thông qua giao tiếp OneWire Tích hợp trong cảm biến với bộ tiền xử lý tín hiệu nhằm mục đích được dữ liệu một cách chính xác mà không phải qua việc tính toán nào.

Hình 2 5 Module cảm biến nhiệt độ, độ ẩm DHT11 và ký hiệu

Module cảm biến cường độ sáng BH1750

Cảm biến được phát triển bởi Rohm, với kích thước nhỏ gọn, có thể đưa vào các dự án cần sử dụng khả năng phát hiện và đo lường ánh sáng BH1750 sử dụng phép đo ánh sáng 16 bit tính bằng lux Có thể đo từ 0 đến 65000 lux.

Hình 2 6 Cảm biến cường độ sáng BH1750 và ký hiệu Module relay

Module relay phù hợp với các ứng dụng đóng ngắt tải AC hoặc DC, mạch có tích hợp opto và transistor cách ly, kích đóng tùy chọn bằng mức thấp hoặc mức cao phù hợp với nhiều vi điều khiển và thiết kế có thể sử dụng nguồn ngoài giúp cho việc sử dụng trở nên linh động và dễ dàng.

Hình 2 7 Module relay có opto cách ly và ký hiệu Động cơ servo MG996R Động cơ servo MG996R có lực kéo, độ bền, độ chính xác và độ ổn định cao, động cơ có cấu tạo hộp số với trục chính bằng nhôm hợp kim có độ cứng cao 6061- T6 giúp giảm trọng lượng, ngoài trục chính và các trục quay trong hộp số còn được bổ trợ bạc đạn và các vòng đệm kim loại giúp tăng độ bền và độ chính xác của động cơ khi hoạt động.

Hình 2 8 Động cơ servo MG996R và ký hiệu

IC thanh ghi dịch 74HC595

IC 74HC595 là IC ghi dịch với 8 bit ngõ ra song song, dữ liệu ngõ ra được điều khiển bởi ngõ vào dữ liệu nối tiếp, xung clock và chốt dữ liệu.

IC 74HC595 thường được dùng trong các mạch quét led 7 đoạn, led ma trận,

… để tiết kiệm số chân tối đa (3 chân) Bằng việc mắc nối tiếp các IC với nhau, ta có thể mở rộng số chân ngõ ra của vi điều khiển.

Hình 2 9 IC 74HC595 và ký hiệu 2.1.9.2 Sơ đồ chân của IC 74HC595

 Các chân từ Q0 tới Q7 là ngõ ra của IC.

 Chân DS là ngõ vào dữ liệu của IC.

 Chân SH_CP là ngõ vào lấy cạnh lên của xung đồng hồ.

 Chân ST_CP là ngõ vào tín hiệu chốt dữ liệu.

 Chân Q7’ là ngõ ra kết nối với chân DS của IC tiếp theo.

 Chân VCC là chân cấp nguồn dương (từ 2V đến 6V).

 Chân GND là chân nối cực âm của nguồn.

Module hạ áp DC XL4015

Mạch giảm áp DC XL4015 (5A) có chỉnh dòng được sử dụng để giảm áp DC, mạch còn được tích hợp IC opamp so sánh tại đầu ra và biến trở chỉnh hạn mức điện áp giúp đảm bảo an toàn khi sử dụng, trong các trường hợp chạm hoặc quá dòng mạch sẽ cảnh báo qua đèn led và tự ngắt.

Hình 2 10 Module hạ áp XL4015 và ký hiệu Module hạ áp AMS1117

Mạch hạ áp DC-DC với dải điện áp đầu vào rộng cho điện áp đầu ra ổn định ở mức 5V Kích thước mạch nhỏ gọn, đơn giản, dễ sử dụng.

Hình 2 11 Module hạ áp AMS1117 và ký hiệu

CHUẨN GIAO TIẾP

I2C là một dạng truyền thông nối tiếp đồng bộ, được tạo ra bởi Philips Semiconductors Với I2C, ta có thể kết nối nhiều thiết bị cùng một lúc Điều này thực sự hữu ích khi một vi điều khiển có thể đọc/ghi dữ liệu vào một module cảm biến số hoặc hiển thị văn bản trên một màn hình LCD.

I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị.

Trong đó, SDA là đường truyền cho vi điều khiển (master) và thiết bị (slave) để gửi và nhận dữ liệu, SCL là đường tạo tín hiệu xung nhịp I2C là một giao thức truyền thông nối tiếp, nên dữ liệu được truyền từng bit dọc theo một dây duy nhất (đường SDA) Giống như SPI, I2C là đồng bộ, vì vậy đầu ra của các bit được đồng bộ hóa với việc lấy mẫu các bit bởi một tín hiệu xung nhịp được chia sẻ giữa master và slave Tín hiệu xung nhịp luôn được master điều khiển.

2.2.1.2 Cách hoạt động của chuẩn I2C

I2C truyền dữ liệu dưới dạng thông điệp Thông điệp được chia thành các khung dữ liệu Mỗi thông điệp có một khung chứa địa chỉ nhị phân của slave và một hoặc nhiều khung chứa dữ liệu đang được truyền Thông điệp cũng bao gồm các điều kiện bắt đầu và dừng, các bit đọc/ghi và các bit ACK/NACK giữa mỗi khung dữ liệu.

Hình 2 13 Khung dữ liệu được truyền trong I2C

 Điều kiện ban đầu: SDA chuyển tín hiệu từ 1 xuống 0 sau khi SCL chuyển từ

 Khung địa chỉ: Chứa một chuỗi 7 hoặc 10 bit được gửi từ master khi giao tiếp với các slave.

 Bit đọc/ghi: Master gửi tín hiệu 1 nếu nó muốn nhận dữ liệu từ slave, hoặc mức 0 nếu nó muốn ghi dữ liệu vào slave.

 Bit ACK/NACK: Mỗi khi truyền xong 1 byte dữ liệu, theo sau nó sẽ có 1 bit xác nhận/không xác nhận Slave sẽ gửi cho master 1 bit ACK nếu dữ liệu được nhận thành công Nếu slave chưa nhận được dữ liệu hoặc dữ liệu bị hỏng, nó sẽ truyền cho master 1 bit NACK.

2.2.1.3 Các bước truyền dữ liệu I2C

Master chuyển tín hiệu SDA từ 1 xuống 0 trước khi SCL chuyển từ 1 xuống 0.

Hình 2 14 Master gửi điều kiện khởi động đến slave trong I2C

Master gửi địa chỉ 7 hoặc 10 bit của slave mà nó muốn giao tiếp, cùng với bit đọc/ghi.

Hình 2 15 Master gửi cho slave địa chỉ nó muốn giao tiếp trong I2C

Mỗi slave so sánh địa chỉ được gửi từ master với địa chỉ của chính nó Nếu địa chỉ phù hợp, slave đó sẽ trả về một bit ACK bằng cách chuyển tín hiệu SDA xuống 0.

Master gửi hoặc nhận khung dữ liệu.

Hình 2 16 Master gửi hoặc nhận khung dữ liệu trong I2C

Slave sẽ gửi một bit ACK cho master sau mỗi khung dữ liệu được chuyển để xác nhận đã nhận khung thành công.

Hình 2 17 Slave gửi bit ACK cho master khi nhận khung thành công trong

Quá trình truyền dữ liệu sẽ được dừng khi điều kiện được master gửi đến slave điều bằng cách chuyển SCL lên mức 1 trước khi chuyển SDA lên mức 1.

Hình 2 18 Master gửi điều kiện dừng đến slave trong I2C

SPI là giao thức truyền thông nối tiếp đồng bộ, dữ liệu không bị gián đoạn trong quá trình truyền.

SPI bao gồm các thiết bị master và slave Master là thiết bị điều khiển (vi điều khiển), slave (cảm biến, màn hình hoặc chip nhớ) nhận lệnh từ master Cấu hình đơn giản nhất của SPI là một hệ thống 1 master – 1 slave Mở rộng hơn, một master có thể điều khiển nhiều slave.

Hình 2 19 Sơ đồ khối SPI

Sơ đồ khối bao gồm:

 MOSI: ngõ ra master gửi dữ liệu đến slave.

 MISO: ngõ vào master slave gửi dữ liệu đến.

 SCLK: ngõ ra xung nhịp để đồng bộ với slave.

 SS/CS: ngõ ra master chọn slave để giao tiếp.

Việc đồng bộ hóa đầu ra các bit dữ liệu từ master của tín hiệu đồng hồ nhằm mục đích lấy mẫu các bit bởi slave Một bit dữ liệu được truyền trong mỗi chu kỳ đồng hồ, vì vậy tốc độ truyền dữ liệu được xác định bởi tần số của tín hiệu đồng hồ. Giao tiếp SPI luôn được khởi tạo bởi master kể từ khi cấu hình và tạo ra tín hiệu đồng hồ SPI là một giao thức truyền thông đồng bộ.

Bằng cách đặt đường dây CS/SS của slave ở mức điện áp thấp, Master có thể chọn slave mà nó muốn truyền đi Với trạng thái nhàn rỗi (idle), không truyền tải, slave giữ đường dây ở mức điện áp cao Nhiều chân CS/SS có thể có sẵn trên thiết bị master, cho phép đấu dây song song nhiều slave Nếu chỉ có một chân CS/SS,nhiều slave có thể được kết nối với chủ bằng cách nối tiếp với nhau.

SPI có thể được thiết lập để hoạt động giữa một master và một slave duy hoặc nhiều slave và một master duy nhất điều khiển Có hai cách để kết nối master với nhiều slave Nếu master có nhiều chân chọn slave, các slave có thể được nối dây song song.

Hình 2 20 SPI ở chế độ nhiều slave song song

Các slave có thể được nối nối tiếp khi chỉ có một chân slave select.

Hình 2 21 SPI ở chế độ nhiều slave nối tiếp

Dữ liệu được master gửi từng bit đến slave qua đường MOSI Slave nhận dữ liệu tại chân MOSI Master gửi dữ liệu đến slave theo thứ tự từ bit quan trọng nhất trước.

Master củng có thể nhận dữ liệu trở lại từ slave qua đường MISO nối tiếp

Dữ liệu được gửi đầu tiên thường bit ít quan trọng nhất.

OneWire được thiết kế bởi Dallas Semiconductor Corp là hệ thống bus kết nối các thiết bị Truyền tải dữ liệu, tín hiệu và cấp nguồn tốc độ thấp (16.3 kbit/s) trên một dây dẫn duy nhất (1-Wire)

OneWire thường được sử dụng để giao tiếp với các thiết bị nhỏ, không yêu cầu về thời gian trễ như cảm biến nhiệt độ, cảm biến điện áp pin, chip định vị,

Hình 2 22 Sơ đồ khối OneWire 2.2.3.2 Cách hoạt động

Tớn hiệu trờn bus OneWire chia thành cỏc khe thời gian 60 às nhằm mục đớch giao tiếp vi điều khiển Thời gian được quy định khác nhau với các thiết bị slave khác nhau Nhưng với chuẩn giao tiếp này thì độ chính xác về thời gian được ưu tiên hang đầu Do đó cần một bộ định thời để tối ưu đường truyền nhằm delay chính xác nhất.

Hình 2 23 Biểu đồ dạng sóng truyền theo thời gian trong OneWire

Quá trình hoạt động của OneWire bao gồm 4 bước như sau:

 Gửi bit 1: Master kộo xuống 0 một khoảng A (às) rồi về mức 1 khoảng B (às).

 Gửi bit 0: Master kộo xuống 0 khoảng C (às) rồi trả về 1 khoảng D (às).

 Đọc một bit: Master kộo xuống 0 khoảng A (às) rồi trả về 1 delay khoảng E (às), sau đú đọc giỏ trị slave gửi về 1 khoảng delay F (às).

 Restart: Master kộo xuống 0 một khoảng H (às) rồi đưa lờn mức 1, sau đú cấu hỡnh master là chõn input delay I (às) rồi đọc giỏ trị slave trả về Nếu bằng 0 thỡ cho phép giao tiếp, nếu bằng 1 đường truyền lỗi hoặc slave đang bận Thiết bị master kéo bus xuống thấp ớt nhất 8 khe thời gian (tức là 480 às) và sau đú thả bus Khoảng thời gian bus ở mức thấp đó gọi là tín hiệu reset Nếu có thiết bị slave gắn trên bus, nó sẽ trả lời bằng tớn hiệu presence, tức là slave sẽ kộo bus xuống mức thấp trong khoảng thời gian 60às.

THIẾT KẾ PHẦN MỀM

Mã xác thực OTP (One Time Password) là hình thức được dùng làm lớp thứ

2 để xác minh giao dịch trong giao dịch ngân hàng, xác minh đăng nhập trên tài khoản email, tài khoản mạng xã hội, … Bên cạnh đó OTP còn là “mật khẩu”, chỉ khác với mật khẩu mà ta tự thiết lập và ghi nhớ là mật khẩu này chỉ sử dụng “một lần”.

Mã OTP được tạo từ những thuật toán sinh ra mã một cách ngẫu nhiên Việc sử dụng mã OTP được dùng để gia tăng lớp bảo mật.

2.3.1.2 Cách sinh mã OTP và ứng dụng

 Có 3 cách tạo OTP phổ biến:

 Đồng bộ theo thời gian giữa máy chủ và người nhận để tạo hiệu lực trong khoảng thời gian ngắn Thường là 30 giây.

 Dựa theo nguyên tắc số học để tạo mật khẩu mới dựa trên mật khẩu cũ.

 Dựa theo nguyên tắc số học cùng với nguyên tắc khác để tạo mật khẩu mới.

 Những ứng dụng phổ biến của OTP:

 SMS OTP: Mã OTP được cung cấp qua tin nhắn SMS khi thực hiện một số thao tác mà được đánh giá có độ rủi ro cao.

 Voice OTP: Mã OTP được cung cấp thông qua cuộc gọi.

 Qua các chương trình ứng dụng tạo OTP.

 Qua thiết bị cứng: Thiết bị này được gắn chip để tự sinh mã OTP liên tục tương tự như các chương trình ứng dụng tạo mã OTP.

 OTP ma trận: dạng này thì người sử dụng được cấp 1 bảng ma trận để kết hợp tạo mã OTP Dạng này thì ít ai sử dụng Vì khi sử dụng hết phải mua lại hoặc xin cấp lại bảng mã.

Telegram là ứng dụng nhắn tin, gọi điện video, chia sẻ file đa nền tảng và miễn phí Các cuộc gọi và tin nhắn trên Telegram đều được mã hóa đầu cuối để đem đến sự bảo mật tuyệt đối cho người sử dụng Telegram có mặt trên các hệ điều hành phổ biến nhất hiện nay như Android, iOS, Windows, macOS và Linux.

Bots là ứng dụng được Telegram phát triển Người dùng gửi tin nhắn hoặc lệnh điều khiển cho bot, sau đó bot sẽ gửi lại các thông tin phản hồi Bot hoạt động bằng cách sử dụng các yêu cầu HTTPS dựa vào API Bot của Telegram.

Bot được xây dựng để thực hiện các ứng dụng sau:

 Nhận thông báo và tin tức tùy chỉnh.

 Tích hợp vào các dịch vụ khác: bot Gmail, bot GIF, bot IMDB, bot Wiki, bot âm nhạc, bot Youtube, GitHubBot.

 Chấp nhận thanh toán từ người dùng Telegram Một bot có thể cung cấp các dịch vụ trả phí hoặc hoạt động như một cửa hàng ảo.

 Tạo các công cụ tùy chỉnh, có thể cung cấp các cảnh báo, dự báo thời tiết, bản dịch, định dạng hoặc các dịch vụ khác.

 Xây dựng các trò chơi đơn và nhiều người chơi Một bot có thể cung cấp trải nghiệm HTML5 phong phú, từ các trò chơi xếp hình và câu đố đơn giản đến game bắn súng 3D và trò chơi chiến lược thời gian thực.

 Xây dựng các dịch vụ xã hội Một bot có thể kết nối những người đang tìm kiếm đối tác trò chuyện dựa trên sở thích chung hoặc sự gần gũi.

Về họa động, Telegram Bots là các tài khoản đặc biệt không yêu cầu thêm số điện thoại để thiết lập Người dùng có thể giao tiếp với bot theo hai cách sau:

 Gửi tin nhắn và lệnh tới bot bằng cách mở cuộc trò chuyện với chúng hoặc bằng cách thêm chúng vào nhóm.

 Gửi yêu cầu trực tiếp từ trường nhập bằng cách nhập tên người dùng của bot và một truy vấn Điều này cho phép gửi nội dung từ các bot nội tuyến trực tiếp vào bất kỳ cuộc trò chuyện, nhóm hoặc kênh nào.

2.3.3 Ngôn ngữ lập trình Python

Python là ngôn ngữ lập trình hướng đối tượng bậc cao được sử dụng để phát triển web và ứng dụng Hỗ trợ nhiều mẫu đa lập trình khác nhau như: mệnh lệnh, lập trình hướng đối tượng, lập trình hàm, … và được dùng đa lĩnh vực.

Vì là một ngôn ngữ lập trình mã nguồn mở, đa nền tảng, dễ học dễ đọc. Python có cấu trúc rõ ràng, thuận tiện cho người mới học lập trình nên nó được sử dụng rộng rãi.

Các tính năng nổi bật của ngôn ngữ Python:

 Phát triển web (phía máy chủ).

 Có thể được sử dụng cùng với các phần mềm nhằm tạo quy trình công việc.

 Kết nối với các hệ thống cơ sở dữ liệu.

 Xử lý dữ liệu lớn và thực hiện các phép toán phức tạp.

TÍNH TOÁN VÀ THIẾT KẾ

YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG

3.2.1 Yêu cầu của hệ thống

Hệ thống giám sát, điều khiển thiết bị trong nhà sử dụng máy tính nhúng Orange Pi Lite làm khối điều khiển trung tâm với một số chức năng như sau:

 Đăng nhập hệ thống trực tiếp thông qua xác thực OTP hoặc từ xa qua chat, thêm/xóa tài khoản người dùng, ẩn/hiển thị/tắt hệ thống để bảo mật.

 Hiển thị thông tin hệ thống lên màn hình LCD, có thể bật/tắt màn hình.

 Điều khiển máy xử lý trung tâm bằng bàn phím số.

 Giám sát trực tiếp qua camera.

 Điều khiển thiết bị qua lệnh chat Telegram hoặc thao tác trên màn hình giám sát.

 Mở khóa cửa bằng lệnh chat Telegram hoặc thẻ từ.

3.2.2 Sơ đồ khối và chức năng mỗi khối

3.2.2.1 Sơ đồ khối hệ thống đóng/mở cửa

KHỐI XỬ LÝ TRUNG TÂM 2

Hình 3 1 Sơ đồ khối hệ thống đóng/mở cửa

- Khối xử lý trung tâm 2: Đọc dữ liệu thẻ RF từ module RFID; đọc tín hiệu từ Khối xử lý trung tâm 1 và công tắc chốt cửa; xuất tín hiệu điều khiển ra Khối chấp hành.

- Module RFID: Đọc dữ liệu thẻ RF.

- Khối chấp hành: Điều khiển servo đóng/mở cửa.

- Khối nguồn: Sử dụng nguồn 5V từ Hệ thống chính cấp cho các khối; pin 9V qua mạch hạ áp xuống 5V làm nguồn dự phòng khi mất điện; module relay chuyển đổi giữa nguồn adapter và pin.

- Khối xử lý trung tâm 1: Truyền tín hiệu mở cửa.

3.2.2.2 Sơ đồ khối hệ thống chính

KHỐI CHẤP HÀNH CB KHÍ GAS,

KHỐI NÚT NHẤN TRUNG TÂM 1

1-WIRE CB NHIỆT ĐỘ, ĐỘ ẨM KHỐI XỬ LÝ

Hình 3 2 Sơ đồ khối hệ thống chính

- Khối xử lý trung tâm 1: Đọc và xử lý thông tin từ tín hiệu các cảm biến; Xử lý dữ liệu từ webcam; Đọc và xử lý tín hiệu từ Khối nút nhấn; Hiển thị các thông số lên Khối hiển thị; Điều khiển các thiết bị trong Khối chấp hành Truyền/nhận, xử lý dữ liệu điều khiển từ Smartphone thông qua Telegram chatbot.

- Cảm biến: Thu thập nhiệt độ, độ ẩm, cường độ ánh sáng, phát hiện khí gas, khói.

- Webcam: Bao gồm 2 camera giám sát.

- Khối chấp hành: Điều khiển led đơn, led siêu sang, bật/tắt thiết bị.

- Khối hiển thị: Hiển thị thông tin ra màn hình.

- Khối nguồn: Sử dụng nguồn adapter 12V cấp cho khối hiển thị và 5V cấp cho các khối còn lại.

- Khối nút nhấn: Điều khiển bật/tắt thiết bị bằng tay; đọc tín hiệu đóng/mở cửa.

- Khối xử lý trung tâm 2: Nhận tín hiệu mở cửa.

THIẾT KẾ HỆ THỐNG PHẦN CỨNG

3.3.1 Hệ thống đóng/mở cửa

3.3.1.1 Khối xử lý trung tâm

Hình 3 3 Khối xử lý trung tâm của Hệ thống đóng/mở cửa

Sử dụng kit thu phát Wifi ESP8266 NodeMCU làm trung tâm xử lý.

 Kết nối phần cứng và chức năng:

- Chân D1: Nhận tính hiệu mở cửa từ Khối xử lý trung tâm 1, chân ở trạng thái input và được kéo lên bằng điện trở nội.

- Chân D2: Nhận tín hiệu từ nút nhấn mức thấp, để đóng/mở cửa, do chân input ESP8266 hỗ trợ điện trở nội kéo lên nên không cần thiết kế điện trở cho nút nhấn.

- Chân D4: Điều khiển servo để đóng/mở cửa.

- Các chân D3, D5, D6, D7, D8: Giao tiếp SPI với module RFID RC522.

Hình 3 4 Khối tín hiệu vào của Hệ thống đóng/mở cửa

- J3: Nhận tín hiệu điều khiển từ Khối xử lý trung tâm 1.

- B2: Nút nhấn đóng/mở cửa.

- RC522: Module đọc thẻ RFID.

- Nhận tín hiệu điều khiển từ Khối xử lý trung tâm 1: Khi có điện, tín hiệu vào relay IN = 1, relay đóng ở COM – NO, cho phép nhận tín hiệu từ Khối xử lý trung tâm 1; Khi mất điện, relay đóng ở COM – NC, không cho phép nhận tín hiệu từ Khối xử lý trung tâm 1.

- Hoạt động mở cửa: Khi cửa đang đóng, B2 được nhấn, người dùng quét thẻ, hệ thống điều khiển servo mở khóa cửa, sau đó hệ thống tiếp tục chờ đến khi cửa được mở bằng tay.

- Hoạt động đóng cửa: Khi cửa được đóng bằng tay, B2 được nhấn, hệ thống điều khiển servo khóa cửa.

Hình 3 5 Khối chấp hành của Hệ thống đóng/mở cửa

- Servo: Điều khiển đóng/mở cửa.

- Buzzer: Bật khi nhận tín hiệu mở cửa từ Khối xử lý trung tâm 1.

Hình 3 6 Khối nguồn của Hệ thống đóng/mở cửa

Sử dụng nguồn 5V từ Hệ thống chính cấp nguồn cho toàn bộ hệ thống.

Bảng 3 1 Bảng tính công suất tiêu thụ của các module trong Hệ thống đóng/mở cửa

Dòng tiêu thụ Điện áp Công suất Tên thiết bị (lớn nhất) tiêu thụ tiêu thụ

Kit thu phát Wifi ESP8266 NodeMCU 100 5 500

Module relay x2 140 5 700 Động cơ servo MG996R 500 5 2500

 Nguyên lý chuyển nguồn phụ:

- Khi có điện, tín hiệu vào relay IN = 1, relay đóng ở COM – NO và sử dụng nguồn từ hệ thống chính.

- Khi mất điện, relay đóng ở COM – NC, hệ thống sử dụng nguồn từ pin 9V qua mạch hạ áp 5V.

3.3.2.1 Khối xử lý trung tâm

Hình 3 7 Khối xử lý trung tâm của Hệ thống chính Sử dụng máy tính nhúng Orange Pi làm trung tâm xử lý.

 Kết nối phần cứng và chức năng:

- Các chân A13, A14, D14, C4, C7, A2: Đọc và xử lý thông tin từ các cảm biến nhiệt độ, độ ẩm DHT11.

- Các chân A3, A21, G8: Kết nối IC 74HC595 để điều khiển led đơn.

- Các chân A10, A20: Điều khiển led siêu sáng bằng PWM.

- Các chân A18, A19: Giao tiếp I2C với cảm biến cường độ sáng BH1750.

- Chân G6: Đọc tín hiệu từ cảm biến khí gas, khói MQ135.

- Chân A12: Truyền tín hiệu mở cửa với Khối xử lý trung tâm 2.

- Chân G7: Đọc tín hiệu đóng/mở cửa.

- Cổng HDMI: Hiển thị các thông số lên màn hình của Khối hiển thị.

- Cổng USB: Kết nối webcam, bàn phím số.

Hình 3 8 Khối cảm biến của Hệ thống chính

- J6, J8, J9, J10, J11: Các cảm biến nhiệt độ, độ ẩm DHT11.

- J7: Cảm biến khí gas, khói MQ135.

- J21: Cảm biến cường độ sáng BH1750.

Hình 3 9 Khối nút nhấn của Hệ thống chính

- USB Keypad: Bàn phím số, sử dụng để điều khiển đăng nhập/đăng xuất, điều khiển hệ thống.

Hình 3 10 Khối hiển thị của Hệ thống chính

Màn hình LCD 7inch không cảm ứng, kết nối HDMI với Khối xử lý trung tâm, có tích hợp loa để phát âm thanh.

Hình 3 11 Khối chấp hành của Hệ thống chính

- U1: IC 75HC595 bật tắt 6 led đơn.

- S1, S2: Led siêu sáng, được điều khiển độ sáng bằng PWM.

- BZ: Buzzer bật khi phát hiện khí gas, khói.

 Cách hoạt động của IC 74HC595:

Hình 3 12 Giản đồ sóng cách hoạt động của IC 74HC595

Chân SH_CP là chân clock với nhiệm vụ đưa xung nhịp vào IC, khi có xung cạnh lên thì IC đưa tín hiệu ở ngõ DS vào bộ nhớ của IC Nếu bộ nhớ của IC vượt quá ngưỡng tối đa (8bit) thì giá trị mới sẽ được đưa vào IC và đồng thời giá trị cũ nhất sẽ bị xoá đi.

Chân ST_CP là chân đưa xung clock vào IC để khi có cạnh lên của xung thì

IC đưa toàn bộ 8 bit data đã được lưu ra ngõ ra của IC.

Với chân reset MR, toàn bộ bộ nhớ của IC sẽ bị xoá khi chân này tích cực (mức 0), tuy nhiên lúc này tín hiệu ở ngõ ra không bị xoá mà vẫn giữ nguyên giá trị trước đó, khi chân ST_CP có cạnh lên thì các ngõ ra được xóa.

Chân OE là chân Output Enable khi được tích cực (mức 0) cho phép xuất giá trị 8 bit từ bộ nhớ ra ngõ ra.

Chân Q7’ (hay Q7S) thường được dùng khi nối tiếp các IC 74HC595 lại với nhau (chân Q7S của IC trước nối vào chân DS của IC sau) chân này sẽ có giá trị của bit trọng số cao của bộ nhớ IC vì vậy khi bit MSB bị đẩy ra khỏi bộ nhớ IC sẽ không mất đi mà trước đó nó đã được sao chép qua IC phía sau.

 Tính toán xung PWM để điều khiển độ sáng led:

Hình 3 13 Giản đồ sóng cách tính toán PWM

Số liệu tính toán được tham khảo từ thư viện OrangePWM dành cho Orange

Pi, được viết bằng ngôn ngữ Python Cách tính toán theo thứ tự như sau:

- Tạo xung có tần số f = 100Hz, biên độ 3.3V (giá trị cao nhất của GPIO).

- Duty cycle (T ON ) được chọn ở 4 mức 0%, 20%, 40% 60%, sai số 2% (timer trong Python mang tính tương đối).

- Công thức tính thời gian ON: t ON = 100×f TON (s)

- Công thức tính thời gian OFF: t OFF = 100−T 100×f ON (s)

- Điện áp ON: V ON = T ON 100 ×3.3 (V)

Bảng 3 2 Bảng tính toán điện áp điều khiển led siêu sáng

Duty Cycle (%) Thời gian ON (s) Thời gian OFF (s) Điện áp ON (V)

 Tính toán điện trở cho led siêu sáng:

Hình 3 14 Mạch điều khiển led siêu sáng

- I Cmax = 450mA, là dòng điện đỉnh tối đa cấp cho led siêu sáng 5V.

Bảng 3 3 Bảng tính toán dòng điện cho led siêu sáng Điện áp ON (V) Ib (mA) Ic (mA)

 Tính toán điện trở cho led đơn:

- Chọn led đơn màu trắng, điện áp 2V, dòng điện 15mA.

- Điện trở led: R = 5V 15mA −2V = 0.2(kΩΩ) ⇒ Chọn điện trở 220Ω.

Hình 3 15 Khối nguồn của Hệ thống chính

Sử dụng adapter 12V-5A cấp nguồn cho toàn bộ hệ thống Nguồn 3.3V được lấy từ Orange Pi Lite.

- Công suất nguồn hạ áp 5V: 5V * 4.5A = 22.5W

Bảng 3 4 Bảng tính công suất tiêu thụ của các module trong Hệ thống chính

Dòng tiêu thụ Điện áp Công suất Tên thiết bị (lớn nhất) tiêu thụ tiêu thụ

Hệ thống đóng/mở cửa 3785.8

Máy tính nhúng Orange Pi Lite 2000 5 10000

Module cảm biến nhiệt độ, độ ẩm

Module cảm biến chất lượng không

Module cảm biến cường độ sáng

Tổng công suất các thiết bị sử

Tổng công suất các thiết bị sử

THI CÔNG HỆ THỐNG

GIỚI THIỆU

Sau quá trình tính toán và lựa chọn linh kiện phù hợp, chương này trình bày quá trình thi công hệ thống Thi công hệ thống gồm hai phần là phần cứng và phần mềm.

 Phần cứng: Thi công PCB có kích thước 15x15cm, vẽ mạch, sắp xếp linh kiện, đi dây hợp lý Tiếp theo là tiến hành lắp ráp, hàn mạch, kiểm tra thông mạch, hoạt động của từng linh kiện Sau khi hoàn thành thì thi công mô hình hệ thống.

 Phần mềm: Xây dựng giao diện đăng nhập người dùng, giao diện giám sát.Kết nối phần mềm với Telegram API, truyền/nhận thông tin điều khiển từ người dùng.

THI CÔNG HỆ THỐNG

Dưới đây là bảng liệt kê các linh kiện sử dụng.

Bảng 4 1 Bảng danh sách các linh kiện

Số thứ tự Tên linh kiện Số lượng Hình ảnh

1 Máy tính nhúng Orange Pi

2 Kit thu phát Wifi ESP8266

4 Module cảm biến chất lượng không khí MQ-135 1

5 Module cảm biến nhiệt độ, độ ẩm DHT11 6

6 Module cảm biến cường độ sáng BH1750 1

9 IC thanh ghi dịch 74HC595 1

10 Module hạ áp DC XL4015 1

18 Công tắc hành trình mini 3

Hình 4 1 Sơ đồ mạch in hệ thống khóa cửa

Hình 4 2 Sơ đồ mạch in hệ thống chính 4.2.2 Lắp ráp và kiểm tra

Hình 4 3 Mạch in mô phỏng 3D

Sau khi hoàn thành mạch in, tiến hành lắp ráp, hàn linh kiện Kiểm tra mạch xem có bị đứt dây hay không, đo thông mạch sử dụng đồng hồ VOM Gán các bus các module vào board mạch Cấp nguồn cho mạch và kiểm tra điện áp ngõ vào, ngõ ra của các module.

ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH

Hình 4 4 Mô hình hệ thống

Hình 4 5 Mô hình đang hoạt động

Mô hình có kích thước 60x26x20cm Các module được lắp đặt như sau:

 Các cảm biến nhiệt độ, độ ẩm, led đơn lắp ở tất cả các phòng.

 Led siêu sáng lắp ở 2 phòng ngủ trên lầu.

 Cảm biến nhiệt độ, độ ẩm còn lại, cảm biến ánh sáng đặt cạnh cửa sổ ở hông nhà bên phải.

 Cảm biến khí gas, khói lắp ở phòng bếp (phòng ở bên cạnh cửa vào, bên phải).

 Camera lắp trong nhà và bên ngoài.

 Hệ thống đóng/mở cửa lắp ở trước nhà, cạnh cửa vào.

 Mạch điều khiển, máy tính nhúng Orange Pi Lite lắp ở hộp bên phải.

 Màn hình LCD, bàn phím số để bên ngoài.

LẬP TRÌNH HỆ THỐNG

4.4.1.1 Lưu đồ giải thuật hệ thống đóng/mở cửa

- THIẾT LẬP CÁC NGÕ VÀO RA

- THIẾT LẬP KẾT NỐI SPI

- THIẾT LẬP KẾT NỐI SERVO

TRẠNG THÁI SAI ĐÓNG CỬA? ĐÚNG ĐỌC THẺ RFID

MÃ THẺ ĐÚNG? TÍN HIỆU MỞ CỬA? ĐÚNG ĐÚNG

SAI CỬA ĐANG ĐÓNG? ĐÚNG

- BẬT TRẠNG THÁI MỞ CỬA

- XÓA BỘ NHỚ LƯU MÃ THẺ

CỬA CHƯA MỞ? SAI ĐÚNG CHỜ MỞ CỬA

TRẠNG THÁI MỞ CỬA? ĐÚNG

- BẬT TRẠNG THÁI ĐÓNG CỬA

Hình 4 6 Lưu đồ giải thuật hệ thống đóng/mở cửa Giải thích lưu đồ:

 Khi bắt đầu hệ thống, chương trình khởi tạo các chân vào ra, khởi tạo kết nối

SPI để giao tiếp module đọc thẻ RFID RC522, khởi tạo kết nối với servo để điều khiển đóng/mở cửa Sau đó, chương trình đi vào vòng lặp hoạt động.

 Hệ thống kiểm tra trạng thái cửa đóng, nếu đúng thì đọc thẻ RFID để mở khóa cửa và chờ cửa được mở bằng tay; nếu trạng thái cửa mở và cửa đã đóng bằng tay

 Cửa có thể được mở khóa bằng thẻ RFID hoặc nhận tín hiệu mở cửa từ hệ thống chính.

4.4.1.2 Lưu đồ giải thuật hệ thống chính

Ghi chú: Các ký hiệu mũi tên vòng tròn gọi là luồng xử lý lặp lại lại liên tục.

- THIẾT LẬP CÁC NGÕ VÀO RA

- THIẾT LẬP KẾT NỐI WIFI

- THIẾT LẬP GIAO TIẾP CÁC MODULE

- THIẾT LẬP SINH MÃ OTP

KHỞI TẠO VÀ CHẠY LUỒNG TELEGRAM CHATBOT

KHỞI TẠO VÀ CHẠY LUỒNG

Hình 4 7 Lưu đồ giải thuật hệ thống chính Giải thích lưu đồ:

 Khi bắt đầu hệ thống, chương trình khởi tạo các ngõ vào ra, kết nối mạng WiFi, khởi tạo các chuẩn giao tiếp để kết nối với các module, khởi chạy webserver để giám sát camera từ xa.

 Thiết lập sinh mã OTP để thực hiện các chức năng quản lý Có 2 loại mã OTP: OTP 30 giây sử dụng để đăng nhập hệ thống thông qua giao diện; OTP 60 giây sử dụng để quản lý hệ thống từ tin nhắn Telegram, ưu điểm của loại mã này là thời gian sinh mã mới lâu, cho người dùng thêm thời gian để đọc và thao tác trên tin nhắn.

 Khởi tạo và chạy luồng Telegram Chatbot để liên tục nhận và xử lý các lệnh điều khiển và giám sát từ ứng dụng Telegram.

 Khởi tạo và chạy luồng giao diện để liên tục nhận các lệnh thao tác điều khiển, giám sát từ người dùng.

BẮT ĐẦU KHỞI TẠO VÀ HIỂN THỊ GIAO DIỆN ĐĂNG NHẬP SAI THÀNH CÔNG? ĐÚNG

GỬI TIN NHẮN ĐĂNG NHẬP THÀNH CÔNG

KHỞI TẠO LUỒNG VÀ HIỂN THỊ GIAO DIỆN GIÁM SÁT

GỬI TIN NHẮN ĐĂNG NHẬP

Hình 4 8 Lưu đồ giao diện đăng nhập Giải thích lưu đồ:

 Chương trình khởi tạo và hiển thị giao diện đăng nhập.

 Người dùng có thể đăng nhập trực tiếp thông qua khung đăng nhập trên giao diện hoặc từ xa qua ứng dụng Telegram.

 Hình thức đăng nhập sử dụng mã OTP Nếu đăng nhập thành công, chương trình gửi tin nhắn “Đăng nhập thành công…” cho toàn bộ người dùng Telegram; ngược lại chương trình gửi tin nhắn “Đăng nhập thất bại…” cho toàn bộ người dùng Telegram, chương trình chờ đăng nhập lại.

 Toàn bộ người dùng Telegram là những người đã đăng ký và được cấp quyền giám sát, điều khiển nhà thông qua ứng dụng Telegram.

 Khi đăng nhập thành công, hệ thống chuyển sang khởi tạo và hiển thị giao diên giám sát.

KHỞI TẠO VÀ HIỂN THỊ GIAO DIỆN

LẤY VÀ XỬ LÝ HIỂN THỊ ĐỊA CHỈ IP

THIẾT LẬP CÁC HANDLE ĐIỀU KHIỂN THIẾT BỊ THÔNG QUA NÚT NHẤN

KHỞI TẠO VÀ CHẠY LUỒNG HIỂN THỊ THÔNG TIN HỆ THỐNG

KHỞI TẠO VÀ CHẠY LUỒNG WEBCAMERA

KHỞI TẠO VÀ CHẠY LUỒNG HIỂN THỊ THỜI GIAN

Hình 4 9 Lưu đồ khởi tạo giao diện giám sát Giải thích lưu đồ:

 Chương trình khởi tạo và hiển thị giao diện giám sát.

 Lấy địa chỉ IP LAN và địa chỉ IP PUBLIC Chương trình chỉ hiển thị IP LAN với mục dích dễ dàng sử dụng trong mạng nội bộ, IP PUBLIC là IP được NAT ra ngoài internet, được ẩn đi trên giao diện để bảo mật, người dùng có thể hiển thị/ẩn IP này bằng thao tác trên bàn phím số.

 Thiết lập và gắn kết các hàm chạy chức năng điều khiển thiết bị trong nhà (handle) vào các nút nhấn trên giao diện, các nút nhấn có thể thao tác trên bàn phím số.

 Khởi tạo và chạy luồng Webcamera để liên tục giám sát bằng camera trên giao diện giám sát và webserver.

 Khởi tạo và chạy luổng hiển thị thời gian để liên tục cập nhật thời gian hệ thống lên giao diện giám sát.

KHỞI TẠO WEBCAMERA ĐỌC VÀ XỬ LÝ ẢNH TỪ WEBCAMERA

KHỞI TẠO VÀ CHẠY LUỒNG

Hình 4 10 Lưu đồ xử lý webcamera Giải thích lưu đồ:

 Chương trình khởi tạo kết nối với USB Camera.

 Đọc và xử lý ảnh liên tục từ Webcamera.

 Khởi tạo và chạy luồng webserver, sử dụng hình ảnh đã đọc và xử lý để stream lên webserver và hiển thị lên giao diện giám sát.

BẮT ĐẦU ĐỌC VÀ HIỂN THỊ THỜI GIAN

XỬ LÝ HIỂN THỊ MÃ OTP

Hình 4 11 Lưu đồ hiển thị thời gian Giải thích lưu đồ:

 Đọc và hiển thị thời gian hệ thống.

 Mã OTP là mã bảo mật, không hiển thị trên giao diện, người dùng có thể thao tác hiển thị/ẩn trên bàn phím số.

KHỞI TẠO CÁC HANDLE ĐIỀU KHIỂN

- ĐỌC VÀ HIỂN THỊ THÔNG SỐ NHIỆT ĐỘ, ĐỘ ẨM

- ĐỌC VÀ HIỂN THỊ THÔNG SỐ CƯỜNG ĐỘ SÁNG

- ĐỌC GIÁ TRỊ CẢM BIẾN KHÍ GAS,

PHÁT HIỆN KHÓI? SAI ĐÚNG

BẬT CÒI BÁO, HIỂN THỊ CẢNH BÁO

TRÊN GIAO DIỆN ĐỌC VÀ HIỂN THỊ TRẠNG THÁI ĐÓNG/

TẮT CÒI BÁO, BỎ CẢNH BÁO TRÊN GIAO DIỆN

Hình 4 12 Lưu đồ hiển thị thông tin hệ thống Giải thích lưu đồ:

 Khởi tạo các handle điều khiển thiết bị, các handle bao gồm: các hàm bật/tắt đèn, các hàm điều chỉnh độ sáng đèn Các handle được gắn kết vào nút nhấn trên giao diện, người dùng có thể thao tác trên bàn phím số để thực thi các handle này.

 Đọc và hiển thị thông tin các cảm biến lên giao diện Nếu phát hiện khói, bật còi báo và hiển thị cảnh báo lên giao diện; ngược lại tắt còi báo, bỏ cảnh báo trên giao diện.

 Hiển thị trạng thái đóng mở cửa trước.

BẮT ĐẦU ĐỌC THÔNG TIN NGƯỜI DÙNG TỪ

KHỞI TẠO VÀ CHẠY LUỒNG ĐẾM

KHỞI TẠO CÁC HANDLE XỬ LÝ TIN

NHẬN VÀ XỬ LÝ TIN NHẮN

Hình 4 13 Lưu đồ xử lý tin nhắn Telegram Giải thích lưu đồ:

 Đọc thông tin người dùng đã đăng ký từ file để lưu vào bộ nhớ chương trình.

 Khởi tạo và chạy luồng đếm timer, timer sẽ tự reset sao 60 giây, dùng để tính toán thời gian tồn tại còn lại của mã OTP 60 giây.

 Khởi tạo các handle xử lý tin nhắn, có 3 loại handle chính: admin, control, info.

Bảng 4 2 Bảng chức năng các handle của Telegram Chatbot

Tên handle Chức năng admin Thực hiện các lệnh quản lý hệ thống như:

 Đăng ký tài khoản người dùng.

 Lấy mã xác thực OTP.

 Đăng nhập/đăng xuất hệ thống.

 Xóa tài khoản người dùng.

 Tắt/hiển thị/ẩn hệ thống.

 Thiết lập lại kết nối WiFi. control Hiển thị các nút nhấn điều khiển bật/tắt các thiết bị trong nhà. info Gửi tin nhắn thông tin các thông số cảm biến, trạng thái đèn từng phòng cho người dùng.

4.4.2 Giới thiệu phần mềm Geany

Hình 4 14 Giao diện phần mềm Geany

Geany là một trình soạn thảo văn bản dành cho lập trình viên, ổn định và nhẹ, cung cấp rất nhiều tính năng hữu ích Phần mềm chạy được cả trên Linux, Windows và macOS, được dịch sang hơn 40 ngôn ngữ và hỗ trợ tích hợp cho hơn

50 ngôn ngữ lập trình, trong đó có Python.

Cách tính năng của phần mềm:

 Tự động gợi ý mã nguồn

 Dễ dàng cài đặt lệnh để xây dựng chương trình.

 Tự động đóng các thẻ XML và HTML.

Geany được tạo ra để chạy trên Linux, FreeBSD, NetBSD, OpenBSD, macOS,AIX v5.3, Solaris Express và Windows Nói chung, phần mềm sẽ chạy trên mọi nền tảng, được hỗ trợ bởi các thư viện GTK Chỉ có Geany dành cho Windows là thiếu một số tính năng.

Arduino là một nền tảng điện tử mã nguồn mở dựa trên phần cứng và phần mềm dễ sử dụng Bo mạch Arduino có thể đọc các tín hiệu vào ra, giao tiếp và điều khiển các module Arduino sử dụng ngôn ngữ lập trình Arduino (dựa trên C++) và phần mềm Arduino IDE.

Hình 4 15 Giao diện phần mềm Arduino IDE

Có nhiều dòng vi điều khiển khác nhau được sản xuất bởi các nhà sản xuất như Atmel, Espressif, STMicroelectronics, Microchip, NXP Semiconductors, … Arduino IDE tập hợp các thư viện lập trình cho từng loại vi điều khiển thành một chuẩn thư viện thống nhất và mang tính kế thừa Arduino cũng đơn giản hóa quá trình làm việc với vi điều khiển, với các ưu điểm sau:

 Đa nền tảng: Arduino IDE chạy trên hệ điều hành Windows, Macintosh OSX và Linux.

 Môi trường lập trình đơn giản, rõ rang: Arduino IDE dễ sử dụng cho người mới bắt đầu, nhưng cũng đủ linh hoạt để người dùng nâng cao cũng có thể tận dụng.

KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ

KẾT QUẢ THI CÔNG PHẦN CỨNG

Sau quá trình thiết kế và thi công, nhóm xây dựng hệ thống gồm mô hình một ngôi nhà, một hộp điều khiển trung tâm và 2 camera giám sát như hình.

Hình 5 1 Mô hình hệ thống

Màn hình LCD hiển thị thông tin trạng thái bật/tắt các đèn, nhiệt độ, độ ẩm, cường độ sáng, thời gian của hệ thống.

Hình 5 2 Màn hình LCD hiển thị

Mạch điện hệ thống và các kết nối Các module cảm biến kết nối với bảng mạch bằng các dây bus, trên bảng mạch có ghi rõ tên từng phòng để dễ dàng kết nối dây và sửa lỗi.

Hình 5 3 Mạch điện hệ thống

KẾT QUẢ HOẠT ĐỘNG

Khi hệ thống khởi động, màn hình hiển thị giao diện đăng nhập Người dùng đăng nhập trực tiếp bằng mã OTP.

Hình 5 4 Giao diện đăng nhập hệ thống

Người dùng cũng có thể đăng nhập từ xa thông qua tin nhắn.

Hình 5 5 Đăng nhập hệ thống thông qua tin nhắn

Sau khi đăng nhập thành công, màn hình hiển thị giao diện điều khiển và giám sát.

Hình 5 6 Giao diện điều khiển và giám sát

Người dùng có thể bật/tắt thiết bị bằng bàn phím số hoặc thông qua tin nhắn. Khi gửi lệnh điều khiển, màn hình chat hiển thị các nút nhấn (hình bên trái) để dễ dàng chọn lựa thiết bị Hình dưới đây cho thấy đèn phòng khách và phòng ngủ 1 đã bật, trạng thái được cập nhật trên màn hình chat (hình bên phải).

Hình 5 7 Bật/Tắt đèn thông qua tin nhắn Đèn phòng khách và đèn phòng ngủ 1 đã được bật, trạng thái được cập nhật trên giao diện.

Hình 5 8 Hiển thị trạng thái đèn trên giao diện

Người dùng có thể quan sát camera trên giao diện.

Hình 5 9 Giám sát camera trên giao diện Để quan sát camera từ xa, thực hiện lấy địa chỉ IP thông qua tin nhắn (hình bên trái) và nhấn vào địa chỉ camera để quan sát trên trình duyệt web (hình bên phải).

Hình 5 10 Giám sát camera trên webserver

Mở khóa cửa trước bằng thẻ từ hoặc thông qua tin nhắn.

Hình 5 11 Mở khóa cửa trước bằng tin nhắn

Trạng thái mở cửa trước được cập nhật trên giao diện.

Hình 5 12 Trạng thái mở cửa trước trên giao diện Đọc thông tin các thiết bị, các cảm biến thông qua tin nhắn Khi gửi lệnh xem thông tin, màn hình chat hiển thị các nút nhấn chọn từng phòng (hình bên trái), khi người dùng chọn phòng, thông tin hệ thống được hiển thị trên màn hình chat (hình bên phải).

Hình 5 13 Đọc thông tin hệ thống thông qua tin nhắn

Hệ thống báo động còi và hiển thị cảnh báo lên giao diện khi phát hiện khí gas, khói (Phòng bếp).

Hình 5 14 Giao diện hiển thị cảnh báo

Người dùng có thể trích xuất dữ liệu từ camera hoặc cập nhật phần mềm hệ thống thông qua file server Để làm được điều này, thực hiện lấy địa chỉ IP thông qua tin nhắn (hình bên trái) và nhấn vào địa chỉ file server.

Hình 5 15 Truy cập file server

NHẬN XÉT VÀ ĐÁNH GIÁ

Sau khi nghiên cứu và thực hiện đồ án tốt nghiệp với đề tài “Thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua Telegram Chatbot”, nhóm đã đạt được những kết quả sau.

Bảng 5 1 Số liệu thực nghiệm

STT Kết quả thực nghiệm Đánh giá

1 Hoạt động của các cảm biến Hoạt động ổn định

Hoạt động tương đối ổn

2 Hoạt động của webcamera định, thỉnh thoảng gây crash chương trình

3 Hoạt động của webserver Hoạt động ổn định

3 Hoạt động đăng nhập Hệ thống thực thi sau khoảng 10 giây

4 Hoạt động của việc gửi/nhận tin nhắn Hoạt động ổn định, xử lý lệnh tương đối nhanh

5 Hoạt động của còi báo cháy Hoạt động ổn định

Nhìn chung, mô hình hệ thống hoạt động tương đối ổn định, đạt được những yêu cầu đề ra Hệ thống hoạt động phụ thuộc vào mạng WiFi để xử lý việc nhận/gửi tin nhắn Bên cạnh đó, hệ thống đã giải quyết được vấn đề đồng bộ khi điều khiển được thiết bị cả bằng tay và thông qua tin nhắn.

Ngày đăng: 16/11/2023, 06:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] 1-Wire. 2020. <https://en.wikipedia.org/wiki/1-Wire&gt Khác
[2] Arduino. 2022. <https://www.arduino.cc/en/about&gt Khác
[3] Bots: An introduction for developers. 2022. <https://core.telegram.org/bots&gt Khác
[4] Debian. 2022. <https://en.wikipedia.org/wiki/Debian&gt Khác
[5] Geany. 2022. <https://www.geany.org/about/geany/&gt Khác
[6] Orange Pi Lite. 2022. <http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/ details/Orange-Pi- Lite.html&gt Khác
[7] Python (programming language). 2020. <https://en.wikipedia.org/wiki/Python_(programming_language)&gt Khác
[8] Scott Campbell. Basics of the I2C communication protocol. 2016.<https://www.circuitbasics.com/basics-of-the-i2c-communication-protocol/&gt Khác
[9] Scott Campbell. Basics of the SPI communication protocol. 2016.<https://www.circuitbasics.com/basics-of-the-spi-communication-protocol/&gt Khác
[10] Time-based one-time password. 2020. <https://en.wikipedia.org/wiki/Time-based_one-time_password>.Datasheet tham khảo Khác

HÌNH ẢNH LIÊN QUAN

Hình 2. 2 Kit thu phát WiFi ESP8266 NodeMCU và ký hiệu - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 2. 2 Kit thu phát WiFi ESP8266 NodeMCU và ký hiệu (Trang 19)
Hình 2. 20 SPI ở chế độ nhiều slave song song - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 2. 20 SPI ở chế độ nhiều slave song song (Trang 28)
Hình 2. 21 SPI ở chế độ nhiều slave nối tiếp - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 2. 21 SPI ở chế độ nhiều slave nối tiếp (Trang 28)
Hình 3. 2 Sơ đồ khối hệ thống chính - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 3. 2 Sơ đồ khối hệ thống chính (Trang 35)
Hình 3. 3 Khối xử lý trung tâm của Hệ thống đóng/mở cửa - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 3. 3 Khối xử lý trung tâm của Hệ thống đóng/mở cửa (Trang 36)
Hình 3. 4 Khối tín hiệu vào của Hệ thống đóng/mở cửa - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 3. 4 Khối tín hiệu vào của Hệ thống đóng/mở cửa (Trang 37)
Hình 3. 6 Khối nguồn của Hệ thống đóng/mở cửa - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 3. 6 Khối nguồn của Hệ thống đóng/mở cửa (Trang 38)
Hình 3. 8 Khối cảm biến của Hệ thống chính - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 3. 8 Khối cảm biến của Hệ thống chính (Trang 41)
Hình 3. 9 Khối nút nhấn của Hệ thống chính - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 3. 9 Khối nút nhấn của Hệ thống chính (Trang 42)
Hình 4. 1 Sơ đồ mạch in hệ thống khóa cửa - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 4. 1 Sơ đồ mạch in hệ thống khóa cửa (Trang 50)
Hình 4. 2 Sơ đồ mạch in hệ thống chính 4.2.2. Lắp ráp và kiểm tra - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 4. 2 Sơ đồ mạch in hệ thống chính 4.2.2. Lắp ráp và kiểm tra (Trang 51)
Hình 4. 3 Mạch in mô phỏng 3D - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 4. 3 Mạch in mô phỏng 3D (Trang 51)
Hình 4. 7 Lưu đồ giải thuật hệ thống chính Giải thích lưu đồ: - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 4. 7 Lưu đồ giải thuật hệ thống chính Giải thích lưu đồ: (Trang 55)
Hình 4. 9 Lưu đồ khởi tạo giao diện giám sát Giải thích lưu đồ: - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 4. 9 Lưu đồ khởi tạo giao diện giám sát Giải thích lưu đồ: (Trang 57)
Hình 4. 10 Lưu đồ xử lý webcamera Giải thích lưu đồ: - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 4. 10 Lưu đồ xử lý webcamera Giải thích lưu đồ: (Trang 58)
Hình 4. 13 Lưu đồ xử lý tin nhắn Telegram Giải thích lưu đồ: - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 4. 13 Lưu đồ xử lý tin nhắn Telegram Giải thích lưu đồ: (Trang 60)
Hình 4. 14 Giao diện phần mềm Geany - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 4. 14 Giao diện phần mềm Geany (Trang 61)
Hình 5. 1 Mô hình hệ thống - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 5. 1 Mô hình hệ thống (Trang 71)
Hình 5. 2 Màn hình LCD hiển thị - (Đồ án tốt nghiệp) thiết kế hệ thống giám sát, điều khiển thiết bị trong nhà thông qua telegram chatbot
Hình 5. 2 Màn hình LCD hiển thị (Trang 72)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w