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

Thiết kế và thi công mô hình hệ thống smart-home

81 1 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ế Và Thi Công Mô Hình Hệ Thống Smart-Home
Tác giả Lâm Minh Hoàng, Nguyễn Tuấn Kiệt
Người hướng dẫn PGS Ts. Phan Văn Ca
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 2019
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 81
Dung lượng 5,21 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (15)
    • 1.1. Giới thiệu tình hình nghiên cứu hiện nay (15)
    • 1.2. Tính cấp thiết của đề tài (16)
    • 1.3. Mục tiêu nghiên cứu (16)
    • 1.4. Nhiệm vụ nghiên cứu (17)
    • 1.5. Đối tượng và phạm vi nghiên cứu (17)
    • 1.6. Phương pháp nghiên cứu (17)
    • 1.7. Bố cục của đề tài (18)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (19)
    • 2.1. Giới thiệu chung về Arduino (19)
    • 2.2. Giới thiệu công nghệ RFID (20)
    • 2.3. Giới thiệu công nghệ truyền thông không dây (21)
    • 2.4. Giới thiệu về Firebase (27)
    • 2.5. Tổng quan về Android (28)
    • 2.6. Ngôn ngữ lập trình Java (29)
  • CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG (31)
    • 3.1. Sơ đồ khối hệ thống (31)
      • 3.1.1. Yêu cầu của hệ thống (31)
      • 3.1.2. Đặc tả hệ thống (31)
      • 3.1.3. Mô hình hệ thống (32)
      • 3.1.4. Sơ đồ khối khối xử lý chức năng (33)
      • 3.1.5. Đặc tả chức năng từng khối trong khối xử lý chức năng (33)
      • 3.1.6. Nguyên lý hoạt động của hệ thống (34)
    • 3.2. Thiết kế và thi công phần cứng (34)
      • 3.2.1. Lưu đồ chương trình phần cứng (0)
      • 3.2.2. Khối bàn phím (0)
      • 3.2.3. Khối cảm biến (0)
      • 3.2.4. Khối hiển thị LCD (0)
      • 3.2.5. Khối điều khiển (0)
      • 3.2.6. Khối báo cháy (0)
      • 3.2.7. Khối xử lý trạm (0)
      • 3.2.8. Khối xử lý trung tâm (0)
      • 3.2.9. Khối nguồn (0)
    • 3.3. Thiết kế phần mềm (49)
      • 3.3.1. Xây dựng hệ thống dữ liệu (49)
        • 3.3.1.1. Realtime Database (49)
        • 3.3.1.2. Cloud FireStore (54)
      • 3.3.2. Xây dựng ứng dụng (55)
        • 3.3.2.1. Đọc giá trị cảm biến (55)
        • 3.3.2.2. Điều khiển từng thiết bị (56)
        • 3.3.2.3. Điều khiển thiết bị theo từng phòng (59)
        • 3.3.2.4. Sử dụng vân tay điện thoại mở cửa chính (60)
        • 3.3.2.5. Thông báo người mở cửa (62)
        • 3.3.2.6. Cảnh báo môi trường (63)
        • 3.3.2.7. Quản lý người trong nhà (64)
  • CHƯƠNG 4: KẾT QUẢ THỰC HIỆN (67)
    • 4.1. Kết quả phần cứng (67)
    • 4.2. Kết quả phần mềm (69)
  • CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (75)
    • 5.1. Kết luận (75)
    • 5.2. Hướng phát triển (75)
  • TÀI LIỆU THAM KHẢO (77)
  • PHỤ LỤC (78)

Nội dung

TỔNG QUAN

Giới thiệu tình hình nghiên cứu hiện nay

Ngày nay, cụm từ “Internet cho vạn vật” đã không còn quá xa lạ với cuộc sống hiện đại, hướng con người đến với một cuộc sống tiện nghi và thoải mái do công nghệ mang lại Đó không phải là chuyện tương lai xa vời mà đã hiện diện ở khắp nơi trên thế giới và ngay cả Việt Nam cũng đang có một làng sóng sôi động về cụm từ này Với sự ra đời của gia đình Amazon Echo và các thiết bị Google như Chromecast và Home, việc áp dụng các thiết bị IoT trong gia đình chắc chắn sẽ tăng theo cấp số nhân trong năm nay Mặc dù khả năng sử dụng là ưu tiên hàng đầu và là trung tâm của trải nghiệm để tạo điều kiện thuận lợi cho việc sử dụng và sử dụng các thiết bị mới này, nhưng bảo mật và quyền riêng tư thường là một suy nghĩ lại Kết quả là, một môi trường cơ hội nguy hiểm có sẵn cho các tác nhân độc hại khai thác các thiết bị dễ bị tổn thương ngồi trong nhà [1]

Trong nước: Tập đoàn công nghệ Bkav đã ra mắt hệ thống Bkav Smart-Home Đây là hệ thống nhà thông minh đáp ứng đầy đủ các tiêu chuẩn của một ngôi nhà hiện đại gồm: hệ thống điều khiển ánh sáng, âm thanh, điều hòa, rèm, tivi, hệ thống an ninh, điều khiển bằng giọng nói,…

Nước ngoài: căn hộ thông minh được xem là một thứ xa xỉ của nhà giàu, sản phẩm được sở hữu độc quyền của giới thượng lưu thế giới Bước sang thế kỉ 21, với sự ra đời và phổ biến của công nghệ vi điện tử, các thiết bị điện tử thông minh trở thành mặt hàng thông dụng Điều này cho phép các công nghệ điều khiển thông minh được ứng dụng rộng rãi và nhanh chóng trở thành xu hướng phát triển của nhà ở tương lai Các đại gia ngành công nghệ như Google, Amazon, Apple và Samsung đều đang tìm cách chiếm lĩnh thị trường này

Từ những điều trên, nhóm sinh viên thực hiện quyết định nghiên cứu thực thi đề tài

“Thiết kế và thi công mô hình hệ thống Smart-Home” Hệ thống có thể điều khiển và theo

2 dõi trạng thái của toàn bộ ngôi nhà thông qua ứng dụng di động chạy nền tảng Android kết nối Wifi.

Tính cấp thiết của đề tài

Hãy thử suy nghĩ những chuyện thường xuyên lặp đi lặp lại ở chính ngôi nhà bạn ở như: Bật - tắt đèn, điều hoà, hệ thống báo động,…Hiện nay nhà thông minh áp dụng ở Việt Nam mới bắt đầu và chưa có nhiều, việc hiểu biết về nhà thông minh cũng như áp dụng nó như thế nào ở Việt Nam cho hiệu quả, hướng nghiên cứu để phát triển và nội địa hóa là rất cần thiết Cuộc sống của con người ngày càng có nhu cầu cao, mặt khác các nguồn năng lượng và vật liệu cạn kiệt dần do đó nhu cầu ở trong một ngôi nhà thông minh là rất cần thiết nhằm giảm thiểu tiêu hao năng lượng

Hệ thống ngôi nhà thông minh rất tiện lợi, nó giúp chúng ta rút ngắn thời gian thao tác đóng/mở các thiết bị, có thể theo dõi và điều khiển các thiết bị từ xa,…Bên cạnh đó, việc nghiên cứu và ứng dụng sản phẩm này trong thực tế còn làm tăng độ tiện nghi, an toàn để kiểm soát mọi thiết bị Đó là sản phẩm công nghê ứng dụng theo tiến độ khoa học nên chắc chắn sẽ thể hiện các tính năng hiện đại phù hợp với thời đại hiện nay

Hệ thống ngôi nhà thông minh điều khiển mọi thiết bị từ xa là một sự thay thế thông minh cho một ngôi nhà thông thường dùng công tắc đóng/mở, với sự tiện dụng, nhanh chóng, tính thẩm mỹ cao,…đó là ưu điểm của hệ thống ngôi nhà thông minh.

Mục tiêu nghiên cứu

Nhằm đáp ứng nhu cầu sinh hoạt hàng ngày cũng như tính tiện nghi trong cuộc sống, giải pháp nhà thông minh là một giải pháp tất yếu cho công nghệ điện hiện nay cũng như trong tương lai.Công nghệ nhà thông minh đem lại những tiện ích không thể không thừa nhận, tính tiện nghi, thoải mái cho ngôi nhà, tiết kiệm chi phí cũng như năng lượng sử dụng, an toàn cho người sử dụng, mềm dẻo dễ lắp đặt, sửa chữa v.v

Hiện nay công nghệ nhà thông minh trên thế giới ứng dụng một thời gian và Việt Nam cũng đã áp dụng ở một số công trình lớn cũng như nhà ở gia đình Việc áp dụng nhà ở thông

3 minh là cần thiết và thực tế để đạt được các mục tiêu bao gồm chi phí thấp nhất, hiệu quả cao nhất và phát triển bền vững thông qua sự hợp lý, thông minh Không nhất thiết cứ phải áp dụng toàn bộ công nghệ mới là nhà thông minh Nhà thông minh ở đây có thể hiểu là áp dụng kiến trúc truyền thống phù hợp khí hậu Việt Nam như nào cho hiệu quả hoặc áp dụng một phần của công nghệ, hoặc dùng các giải pháp tiết kiệm và phát triển bền vững năng lượng tận dụng những lợi thế của Việt Nam (nước ta có ánh sáng và gió nhiều do ở vùng biển nhiệt đới.)

Nhiệm vụ nghiên cứu

Đề tài sẽ góp một phần trong việc tiếp cận nhà ở thông minh của các ngành khoa học liên quan và là một trong những tài liệu hướng dẫn áp dụng nhà thông minh một cách hiệu quả ở Việt Nam, đóng góp một phần nhỏ vào quá trình công nghiệp hóa hiện đại hóa của đất nước.

Đối tượng và phạm vi nghiên cứu

Đề tài đưa ra một mô hình tổng quát của hệ thống giám sát và điều khiển ngôi nhà thông minh Tuy nhiên trong phạm vi đồ án này, nhóm sinh viên thực hiện tập trung vào ba phần chính đó là việc xử lý dữ liệu thời gian thực nhận về từ các mô đun cảm biến cũng như hành vi điều khiển thiết bị trong gia đình, xử lý thông báo khi có hành vi vào cửa và tình trạng môi trường trong nhà có thể gây ra hỏa hoạn Phần còn lại là việc quả lý người tham gia và cấp phép sử dụng quyền điều khiển qua ứng dụng.

Phương pháp nghiên cứu

Đề tài nghiên cứu xây dựng thiết bị điều khiển nhà thông minh được thực hiện dựa trên các phương pháp tìm hiểu về cơ sở lý thuyết và nghiên cứu trên cơ sở thực nghiệm.Về lý thuyết, nhóm tiến hành tham khảo, tổng hợp các tài liệu, các công trình nghiên cứu về nhà thông minh từ đó tiến hành phác thảo các chức năng điều khiển chính của mô hình nhà thông minh trước đây

Bố cục của đề tài

Bố cục đồ án bao gồm 5 chương chính:

- Chương 1: Tổng quan: Trong chương này, nhóm thực hiện đề tài trình bày tổng quan về tình hình nghiên cứu về mô hình ioTs hiện nay Đưa ra mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài

Chương 2: Cơ sở lý thuyết: Trong chương này, nhóm thực hiện đề tài sẽ giới thiệu về sơ lược về Arduino và Android, mạng truyền thông không dây, cơ sở dữ liệu Firebase, chuẩn giao tiếp UART,…

Chương 3: Thiết kế và xây dựng hệ thống: Trong chương này, nhóm thực hiện đề tài sẽ đưa ra các yêu cầu khi thiết kế, các thiết kế về phần cứng và phần mềm

Chương 4: Thi công và kết luận: Trong chương này, nhóm thực hiện đề tài sẽ đưa ra kết quả mà nhóm đạt được, video, số liệu, hình ảnh hệ thống sau khi thi công

Chương 5: Đánh giá và kết luận: Trong chương này, nhóm sẽ đưa ra kết luận, những hạn chế và hướng phát triển của đề tài

CƠ SỞ LÝ THUYẾT

Giới thiệu chung về Arduino

Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở (open- source) Tuy nhiên tại Việt Nam Arduino vẫn còn chưa được biết đến nhiều Arduino cơ bản là một nền tảng mẫu mở về điện tử (open-source electronics prototyping platform) được tạo thành từ phần cứng lẫn phần mềm Về mặt kỹ thuật có thể coi Arduino là 1 bộ điều khiển logic có thể lập trình được Đơn giản hơn, Arduino là một thiết bị có thể tương tác với ngoại cảnh thông qua các cảm biền và hành vi được lập trình sẵn Với thiết bị này, việc lắp ráp và điều khiển các thiết bị điện tử sẽ dễ dàng hơn bao giờ hết Arduino được phát triển nhằm đơn giản hóa việc thiết kế, lắp ráp linh kiện điện tử cũng như lập trình trên vi xử lí và mọi người có thể tiếp cận dễ dàng hơn với thiết bị điện tử mà không cần nhiều về kiến thức điện tử và thời gian Sau đây là nhưng thế mạnh của Arduino so với các nền tảng vi điều khiển khác:

- Chạy trên đa nền tảng: Việc lập trình Arduino có thể thể thực hiện trên các hệ điều hành khác nhau như Windows, Mac Os, Linux trên Desktop, Android trên di động

- Ngôn ngữ lập trình đơn giản dễ hiểu

- Nền tảng mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm chạy trên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau

- Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc mở rộng phần cứng cũng dễ dàng hơn

- Đơn giản và nhanh: Rất dễ dàng lắp ráp, lập trình và sử dụng thiết bị

- Dễ dàng chia sẻ: Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lo lắng về ngôn ngữ hay hệ điều hành mình đang sử dụng Arduino có rất nhiều module, mỗi module được phát triển cho một ứng dụng Về mặt chức năng, các bo mạch Arduino được

6 chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính

Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho bo mạch chính Ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ.

Giới thiệu công nghệ RFID

Công nghệ RFID (Radio Frequency Identification- nhận dạng bằng sóng vô tuyến) là một phương pháp nhận dạng tự động dựa trên việc lưu trữ dữ liệu từ xa, sử dụng thiết bị thẻ RFID và một đầu đọc RFID cho phép một thiết bị đọc thông tin chứa trong chip không cần tiếp xúc trực tiếp ở khoảng cách xa, không thực hiện bất kỳ giao tiếp vật lý nào hoặc giữa hai vật không nhìn thấy Công nghệ này cho ta phương pháp truyền, nhận dữ liệu từ điểm này đến điểm khác Độ nhạy công suất của thẻ Nhận dạng Tần số Vô tuyến (RFID) thụ động ảnh hưởng lớn đến độ tin cậy và phạm vi đọc Hệ thống theo dõi hàng tồn kho phụ thuộc nhiều vào độ tin cậy đọc mạnh trong khi theo dõi động vật trong các lĩnh vực lớn phụ thuộc nhiều vào phạm vi đọc dài Dạng sóng tối ưu hóa năng lượng (POW) cung cấp một giải pháp để cải thiện cả độ tin cậy đọc và phạm vi đọc bằng cách tăng hiệu suất chuyển đổi thẻ RF thành DC [2]

Kỹ thuật RFID sử dụng truyền thông không dây trong dải tần sóng vô tuyến để truyền dữ liệu từ các Tag (thẻ) đến các Reader (bộ đọc) Tag có thể được đính kèm hoặc gắn vào đối tượng được nhận dạng chẳng hạn sản phẩm, hộp hoặc giá kệ (pallet) Reader scan dữ liệu của Tag và gửi thông tin đến cơ sở dữ liệu có lưu trữ dữ liệu của Tag Chẳng hạn, các Tag có thể được đặt trên kính chắn gió xe hơi để hệ thống thu phí đường nhận dạng và thu tiền trên các tuyến đường

Dạng đơn giản nhất được sử dụng hiện nay là hệ thống RFID bị động làm việc như sau: Reader truyền một tín hiệu tần số vô tuyến điện từ qua anten của nó đến một con chip

Reader nhận thông tin trở lại từ chip và gửi nó đến máy tính điều khiển đầu đọc và xử lý thông tin lấy được từ chip Các chip không tiếp xúc, không tích điện, chúng hoạt động bằng cách sử dụng năng lượng nhận từ tín hiệu được gửi bởi Reader.

Giới thiệu công nghệ truyền thông không dây

Dù cáp và dây điện vẫn đóng vai trò chính trong truyền và nhận thông tin, việc sử dụng tai nghe không dây, lướt web tại điểm truy cập Wi-Fi hoặc truyền dữ liệu giữa các thiết bị qua các giao tiếp không dây đang trở nên quen thuộc và tác động lớn đến đời sống hàng ngày

Các công nghệ truyền không dây phổ biến:

Bluetooth không chỉ được dùng để truyền dữ liệu giữa các thiết bị di động, kết nối phụ kiện với điện thoại mà còn có trong một loạt thiết bị khác nhau như máy ảnh số, laptop,

PC và đầu máy chơi game Chip Bluetooth sử dụng tín hiệu sóng radio để truyền dữ liệu trong phạm vi hẹp, thường là khoảng 30 mét

Hình 2.1: Rất nhiều thiết bị hiện nay được tích hợp Bluetooth

Bluetooth 1.0 Tháng 7/1999, phiên bản Bluetooth 1.0 đầu tiên được đưa ra thị trường với tốc độ kết nối ban đầu là 1Mbps Tuy nhiên, trên thực tế tốc độ kết nối của thế

8 hệ này chưa bao giờ đạt quá mức 700Kbps Phiên bản này còn khá nhiều lỗi và các nhà sản xuất đã rất khó khăn khi tích hợp nó với các sản phẩm công nghệ

Bluetooth 1.1 Năm 2001, phiên bản Bluetooth 1.1 ra đời, đánh dấu bước phát triển mới của công nghệ này trên nhiều lĩnh vực khác nhau với sự quan tâm của nhiều nhà sản xuất mới Cũng trong năm này, Bluetooth đươc bình chọn là công nghệ vô tuyến tốt nhất năm

Bluetooth 1.2 Ra mắt vào tháng 11/2003, Bluetooth 1.2 bắt đầu có nhiều tiến bộ đáng kể Chuẩn này hoạt động dựa trên nền băng tần 2.4 Ghz và tăng cường kết nối thoại Motorola RARZ là thế hệ di động đầu tiên tích hợp Bluetooth 1.2

Bluetooth 2.0 + ERD Một năm sau, vào tháng 11/2004, công nghệ Bluetooth 2.0 + ERD đã bắt đầu nâng cao tốc độ và giảm thiểu một nửa năng lượng tiêu thụ so với trước đây Tốc độ của chuẩn Bluetooth lên đến 2.1 Mbps với chế độ cải thiện kết nối truyền tải – ERD (enhanced data rate), song ERD vẫn chỉ là chế độ tùy chọn, phụ thuộc vào các hãng sản xuất có đưa vào thiết bị hay không Năng lượng sử dụng của kết nối Bluetooth chỉ còn tiêu hao một nửa so với trước Các thiết bị tiêu biểu ứng dụng Bluetooth 2.0 + ERD là: Apple iPhone, HTC Touch Pro và T-Mobile’s Android G1

Bluetooth 2.1 + ERD Đây chính là thế hệ nâng cấp của Bluetooth 2.0 Bluetooth 2.1 có hiệu năng cao hơn và tiết kiệm năng lượng hơn Chuẩn này chủ yếu đã được sử dụng trong trong điện thoại, máy tính và các thiết bị di động khác Tuy nhiên, Bluetooth 2.1 không cho phép truyền các file lớn với tốc độ cao Do đó, nếu người dùng muốn chuyển các file dung lượng lớn đến 1-2GB từ máy tính sang điện thoại thì chỉ có thể kết nối hai thiết bị này bằng dây cắm USB hoặc bằng thẻ nhớ

Bluetooth 3.0 + HS: Tháng 4/2009, Bluetooth 3.0 - thế hệ "siêu tốc" chính thức ra mắt Bluetooth 3.0 có tốc độ truyền dữ liệu đạt mức 24Mbps – bằng sóng Bluetooth – High Speed, tương đương chuẩn Wi-Fi thế hệ đầu tiên Chuẩn này giúp các thiết bị tương tác tốt hơn, tăng cường năng lực kết nối giữa các cá nhân với nhau và tiết kiệm pin nhờ chức năng điều khiển năng lượng nâng cao Đặc biệt, nó có thể dò tự động các thiết bị gần kề và

9 chuyển trực tiếp sang mạng Wi-Fi nếu các thiết bị đó có kết nối Wi-Fi Tuy nhiên, phạm vi hiệu quả nhất chỉ trong vòng 10m

Bluetooth 4.0: Đây là phiên bản mới nhất của Bluetooth vừa được tổ chức SIG thông qua Bluetooth 4.0 có nhiều đặc điểm chung với chuẩn 3.0, nhưng ngoài khả năng truyền dữ liệu tốc độ cao lên tới 25 Mb/giây, Bluetooth 4.0 còn bổ sung thêm khả năng truyền dữ liệu dung lượng nhỏ trong phạm vi ngắn (8-27 byte tốc độ 1Mbps) với mức tiêu thụ điện năng rất thấp giúp tiết kiệm năng lượng so với chuẩn cũ

Bluetooth 4.0 nhiều khả năng sẽ dành cho các ứng dụng trong lĩnh vực y tế, chăm sóc sức khỏe và an ninh, chẳng hạn như đồng hồ đeo tay theo dõi sức khỏe, hoặc trang bị cho các bộ cảm biến nhiệt độ, nhịp tim, thể thao, và các thiết bị sử dụng tại gia Tổ chức Continua Health Alliance đã đồng ý chọn lựa Bluetooth 4.0 làm công nghệ truyền dữ liệu cho những thiết bị y tế di động tương lai Dự kiến các thiết bị sử dụng chuẩn bluetooth 4.0 sẽ ra mắt trong quý IV năm nay

Bluetooth 5.0 – thế hệ tiếp theo của công nghệ truyền tải dữ liệu không dây bluetooth sẽ nhanh hơn, xa hơn và thông minh hơn cũng như thích ứng tốt hơn trong thời đại IoT

Zigbee cho phép truyền thông tin tới nhiều thiết bị cùng lúc (mesh network) Phạm vi hoạt động của Zigbee đang được cải tiến từ 75 mét lên đến vài trăm mét

Hình 2.2: Zigbee hỗ trợ nhiều lĩnh vực trong đời sống

ZigBee là một giao thức truyền thông bậc cao được phát triển dựa trên chuẩn truyền thông không dây IEEE 802.15.4, sử dụng tín hiệu radio cho các mạng cá nhân PAN (personal area network) ZigBee thích hợp với những ứng dụng không đòi hỏi tốc độ truyền dữ liệu quá cao nhưng cần có mức độ bảo mật lớn và thời gian hoạt động dài Các mạng ad-hoc sử dụng sóng radio tương tự ZigBee đã được thai nghén từ những năm 1998-1999 khi giới khoa học bắt đầu nhận thấy Wifi và Bluetooth không phù hợp cho nhiều ứng dụng công nghiệp Tuy nhiên chỉ đến năm 2004, bộ tiêu chuẩn ZigBee mới chính thức được tạo dựng và thông qua bởi tổ chức ZigBee Alliance

Zigbee: một giải pháp tuyệt vời trong ứng dụng điều khiển giám sát không dây Zigbee có thể đáp ứng được các ứng dụng yêu cầu cao, phức tạp, khắc phục được các mặt hạn chế của các công nghệ truyền thông không dây khác như:

Khả năng kết nối rộng, mở rộng nút mạng lên tới 65.000 nút

Tiết kiệm năng lượng, công suất tiêu thụ thấp

Truyền thông với độ bảo mật tin cậy cao

Kết nối hệ thống nhanh

Giới thiệu về Firebase

Firebase là một nền tảng phát triển ứng dụng di động và web được tạo bởi Firebase, Inc Bây giờ, nó thuộc về Google Nó được sử dụng để phát triển các ứng dụng Web, Android và iOS Firebase bao gồm một số công cụ tích hợp để phân tích, phát triển và bảo trì các ứng dụng di động Mỗi công cụ này có thể được sử dụng riêng Ưu điểm của Firebase

Dễ sử dụng, nhiều tài liệu tham khảo

Có khả năng tích hợp cao, chức năng đa dạng, dễ dàng mở rộng

Thích hợp cho các ứng dụng thời gian thực

Hỗ trợ cho cả Web, Android và iOS

Bảng điều khiển đơn giản

Dễ dàng thay thế các phần mềm phụ trợ

Gói dịch vụ miễn phí có giới hạn

Các dữ liệu phức tạp thì khó truy vấn

Cần phải có thời gian dài để tìm hiểu

Có quá nhiều kiến trúc và cách tiếp cận firebase khiến cho người mới bắt đầu khó làm quen

Các chức năng tìm kiếm và truy vấn chưa được tối ưu hoá.

Tổng quan về Android

Android là hệ điều hành di động phổ biến nhất hiện tại, cũng như phát triển nhanh nhất Do vậy tiềm năng với nó rất lớn, mặc dù song hành cũng nó còn có các hệ điều hành khác như IOS hay là Winphone nhưng ở đây tôi chỉ muốn đề cập tới Android mà thôi Lịch sử của Android ra đời vào vào năm 2005, là một phần của chiến lược không gian mobile Nó là hệ điều hành nhân Linux và sau đó được goolge mua lại và họ đã đưa Android trở thành một hệ điều hành mã nguồn mở Điều này có nghĩa là bạn có thể download mã nguồn Android và phục vụ cho những mục đích riêng của mình Hiện tại thì Android xuất hiện hầu như trong các sản phẩm của các nhà sản xuất lớn Samsung, Sony, Htc…từ điện thoại thông minh-smart phone cho tới máy tính bảng, ti vi…Và có thể nói đây là một trong những nguyên nhân để nó phát triển mạnh tới vậy cũng là tiềm năng lớn cho các lập trình viên với hệ điều hành này

Android gồm 5 phần chính sau được chứa trong 4 lớp:

Nhân Linux: Đây là nhân nền tảng mà hệ điều hành Android dựa vào nó để phát triển Đâu là lớp chứa tất cả các thiết bị giao tiếp ở mức thấp dùng để điều khiển các phần cứng khác trên thiết bị Android

Thư viện: Chứa tất cả các mã cái mà cung cấp cấp những tính năng chính của hệ điều hành Android, đôi với ví dụ này thì SQLite là thư viện cung cấp việc hộ trợ làm việc với database dùng để chứa dữ liệu Hoặc Webkit là thư viện cung cấp những tính năng cho trình duyệt Web

Android runtime: Là tầng cùng với lớp thư viện Android runtime cung cấp một tập các thư viện cốt lỗi để cho phép các lập trình viên phát triển viết ứng dụng bằng việc sử dụng ngôn ngữ lập trình Java Android Runtime bao gốm máy ảo Dalvik (ở các version < 4.4, hiện tài là phiên bản máy ảo ART được cho là mạnh mẽ hơn trong việc xử lý biên dịch)

Là cái để điều khiển mọi hoạt động của ứng dụng Android chạy trên nó(máy ảo Dalvik sẽ biên dịch ứng dụng để nó có thể chạy(thực thi) được , tương tự như các ứng dụng được biên dịch trên máy ảo Java vậy) Ngoài ra máy ảo còn giúp tối ưu năng lượng pin cũng như CPU của thiết bị Android

Android framework: Là phần thể hiện các khả năng khác nhau của Android(kết nối, thông báo, truy xuất dữ liệu) cho nhà phát triển ứng dụng, chúng có thể được tạo ra để sử dụng trong các ứng dụng của họ

Application: Tầng ứng dụng là tầng bạn có thể tìm thấy chuyển các thiết bị Android như Contact, trình duyệt…Và mọi ứng dụng bạn viết đều nằm trên tầng này.

Ngôn ngữ lập trình Java

Java là một ngôn ngữ lập lập trình, được phát triển bởi Sun Microsystem vào năm

1995, là ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng Java được sử dụng với các mục đích:

Phát triển ứng dụng cho các thiết bị điện tử thông minh, các ứng dụng cho doanh nghiệp với quy mô lớn

Tạo các trang web có nội dung động (web applet), nâng cao chức năng của server Phát triển nhiều loại ứng dụng khác nhau: Cơ sở dữ liệu, mạng, Internet, viễn thông, giải trí, …

Những đặc điểm cơ bản của Java Đơn giản và quen thuộc: Vì Java kế thừa trực tiếp từ C/C++ nên nó có những đặc điểm của ngôn ngữ này, Java đơn giản vì mặc dù dựa trên cơ sở C++ nhưng Sun đã cẩn thận lược bỏ các tính năng khó nhất của của C++ để làm cho ngôn ngữ này dễ sử dụng hơn

Hướng đối tượng và quen thuộc

Mạnh mẽ (thể hiện ở cơ chế tự động thu gom rác - Garbage Collection) và an toàn Kiến trúc trung lập, độc lập nền tảng và có tính khả chuyển (Portability)

Máy ảo (biên dịch và thông dịch)

Phân tán Đa nhiệm: Ngôn ngữ Java cho phép xây dựng trình ứng dụng, trong đó nhiều quá trình có thể xảy ra đồng thời Tính đa nhiệm cho phép các nhà lập trình có thể biên soạn phần mềm đáp ứng tốt hơn, tương tác tốt hơn và thực hiện theo thời gian thực

THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG

Sơ đồ khối hệ thống

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

Hệ thống có các chức năng như sau:

Hệ thống ngôi nhà phải kiểm soát được bằng hệ thống RFID, kiểm soát người ra vào cổng chính

Theo dõi tình trạng ngôi nhà (nhiệt độ, độ ẩm), phải đảm bảo luôn ở trạng thái ổn định, cập nhật thông tin liên tục

Các thiết bị trong nhà (cửa, cửa sổ, điều hoà, quạt, đèn,…) được kết nối dữ liệu để quản lý bật/tắt thiết bị và kiểm soát trạng thái hoạt động

Hệ thống cho phép tuỳ chỉnh chế độ hoạt động của ngôi nhà theo người dùng Ngôi nhà trang bị tính năng thông báo hoả hoạn đến người dùng đề phòng sự cố xảy ra Điều khiển và theo dõi toàn bộ ngôi nhà qua thiết bị di động

Một mô hình điều khiển các thiết bị trong nhà ứng dụng công nghệ IOTs có các hệ thống như sau:

Hệ thống giám sát người ra vào nhà bằng thẻ RFID có chức năng đọc và nhận diện được mã thẻ, kiểm soát người ra vào cửa

Hệ thống giám sát người ra vào nhà bằng bàn phím có chức năng đọc và nhận diện được mã phím, kiểm soát người ra vào cửa

Hệ thống theo dõi tình trạng môi trường trong ngôi nhà (nhiệt độ, độ ẩm,…), có chức năng thu thập dữ liệu từ môi trường bằng các cảm biến, xử lý dữ liệu và truyền dữ liệu đi sang nơi khác

Hệ thống phòng cháy và chữa cháy phòng có chức năng thu thập và phân tích dữ liệu (khả năng cháy) và đưa ra cảnh báo cho người dùng

Mô hình hệ thống gồm 4 khối chính:

Khối xử lý chức năng

Khối ứng dụng di động

Khối truyền nhận dữ liệu

Hình 3.1: Mô hình hệ thống

3.1.4 Sơ đồ khối khối xử lý chức năng

Hình 3.2: Sơ đồ khối khối xử lý chức năng 3.1.5 Đặc tả chức năng từng khối trong khối xử lý chức năng

Khối thẻ TAG: dùng loại thẻ thụ động, thẻ này bản thân thẻ RFID không chứa nguồn cung cấp cho chip chứa trong thẻ, thẻ chỉ hoạt động khi nằm trong phạm vi của đầu đọc và nhận được năng lượng do đầu lọc phát ra dưới dạng sóng điện từ, và thẻ là thẻ chỉ đọc nên mã số thẻ được ghi sẵn trong bộ nhớ cửa thẻ

Khối RFID reader đọc dữ liệu từ thẻ TAG và cung cấp dữ liệu đã xử lý được tới khối điều khiển MCU

Khối bàn phím số: Khối ma trận quét phím dùng ma trận phím 4x4 thực hiện chức năng nhập số liệu (password) vào cho khối điều khiển MCU xử lý

Khối hiển thị dữ liệu (LCD): Khối hiển thị dữ liệu dùng LCD 128x64 thực hiện chức năng hiển thị dữ liệu do khối xử lý trung tâm cấp đến lên LCD

Khối điều khiển (cửa, rèm cửa, đèn, quạt,…): có chức năng nhận tín hiệu từ khối xử lý trạm để thực hiện bật/tắt các thiết bị

Khối cảm biến (nhiệt độ, độ ẩm,…): có chức năng thu thập dữ liệu từ môi trường, xử lý và gửi dữ liệu đã được xử lý cho khối xử lý trung tâm

Khối báo cháy: có chức năng cản báo cháy và chửa cháy khi có cháy xảy ra

3.1.6 Nguyên lý hoạt động của hệ thống

Khi hệ thống được cấp nguồn hệ thống sẽ hoạt động theo trình tự như sau:

Khi được cấp nguồn toàn bộ hệ thống sẽ khởi động và các khối hiển thị, khối cảm biến nhiệt độ, độ ẩm sẽ đợi tín hiệu từ khối xử lý trung tâm

Khi muốn đóng mở cửa ra vào, người dùng có thể lựa chọn 3 phương thức sao đây: quét thẻ RFID, nhập password từ bàn phím số hoặc từ ứng dụng trên điện thoại o Khi quét thẻ, thiết bị RFID reader phát ra sóng điện từ ở một tần số nhất định, khi thiết bị RFID tag (thẻ RFID) trong vùng hoạt động sẽ cảm nhận được sóng điện từ này và thu nhận năng lượng từ đó phát lại cho thiết bị RFID Reader biết mã số của mình Từ đó thiết bị RFID reader nhận biết được tag nào đang trong vùng hoạt động Thiết bị RFID reader gửi dữ liệu về bộ vi xử lý: nếu quét thẻ đúng sẽ cho mở cửa khi cửa đang đóng, nếu quét quá tầm, sai, hỏng,… cho phép quét lại hoặc có chuyển cách mở khác o Khi nhập password từ bàn phím, người dùng nhập dữ liệu từ khối ma trận quét phím 4x4, dữ liệu được gửi về bộ vi xử lý nếu đúng thì sẽ cho phép mở cửa (nếu cửa đang đóng) và nhấn phím “D” để đóng cửa lại o Từ ứng dụng trên di động, người dùng có thể gửi dữ liệu về bộ xử lý, nếu đúng sẽ cho phép mở cửa

Bên trong mô hình, người dùng có thể điều khiển mọi thiết bị thông qua ứng dụng trên điện thoại.

Thiết kế và thi công phần cứng

Phương án và lựa chọn

Trên thị trường có rất nhiều chủng loại Ma trận phím như là: Ma trận phím mềm 4x4,

Ma trận phím cứng 4x4, Ma trận phím 4x3, Ma trận phím cảm ứng, Ngoài ra cũng có thể tự thiết kế vì sơ đồ nguyên lý của Ma trận phím khá dễ hiểu.Ở đồ án này sinh viên lựa chọn sử dụng Ma trận phím mềm 4x4 vì các lý do:

Nhu cầu về chức năng của bàn phím số nên chọn Ma trận phím 4x4 để đủ số nút nhấn để đáp ứng Độ chính xác khi phản hồi cao

Sơ đồ chân kết nối

Hình 3.4: Sơ đồ chân kết nối bàn phím số với Arduino Mega 2560 3.2.2 Khối cảm biến

Phương án và lựa chọn Ở đồ án này, mô hình sinh viên thiết kế sử dụng nhiều cảm biến như: cảm biến nhiệt độ, độ ẩm, cảm biến mưa,…

Tiêu chí lựa chọn của nhóm ở khối cảm biến này là: độ nhạy và độ ổn định cao, giá thành tiết kiệm, hợp lý

Hình 3.5: Cảm biến nhiệt độ độ ẩm DHT11

Sơ đồ chân kết nối

Hình 3.6: Sơ đồ chân kết nối các cảm biến vớiArduino Mega 2560

Phương án và lựa chọn

Khối hiện thị cũng có nhiều lựa chọn như: LCD (có LCD 16x2, LCD 16x4, LCD 20x4, LCD 64x128 ), hiện thị trên led matrix, led 7 đoạn,

Xét về độ trực quang nên em chọn LCD làm khối hiện thị Ở đồ án này thì nhóm chọn LCD 20x4 kết hợp với modul I2C vì: tiết kiệm được số chân kết nối với khối xử lý trung tâm, hiện thị được nhiều nội dung, dễ nhìn,…

Sơ đồ chân kết nối

Hình 3.8: Sơ đồ chân kết nối I2C LCD 20x4 vớiArduino Mega 2560 3.2.4 Khối điều khiển

Phương án và lựa chọn

Khối điều khiển bao gồm:

Các động cơ đóng/mở cửa, rèm cửa có thể sử dụng: động cơ bước, động cơ DC (5v, 9v, 12v, ) ,động cơ servo,… Ở đồ án này, nhóm lựa chọn: động cơ servo để thực hiện chức năng đóng/mở cửa, động cơ DC 5v để làm quạt, động cơ DC 12v làm điều hoà,… Đèn có thể sử dụng: đèn led, đèn dây tóc,… Ở đồ án này, nhóm lựa chọn: led đơn 3v3 để làm đèn ngủ, dãy led 12v để làm đèn chiếu sáng

Sơ đồ chân kết nối

Hình 3.9: Sơ đồ chân kết nối các thiết bị với NodeMCU 3.2.5 Khối báo cháy

Phương án và lựa chọn

Khối báo cháy bao gồm khối cảm biến phát hiện cháy và khối báo động:

Khối cảm biến phát hiện cháy có nhiều phương án lựa chọn như: cảm biến nhiệt độ, cảm biến lửa, cảm biến khói,…Ở đồ án này, sinh viên lựa chọn kết hợp giữa cảm biến nhiệt độ và cảm biến lửa cảm biến có độ nhạy cao và giá thành hợp lý

Khối báo động cũng có nhiều loại: báo động thụ động tại chỗ, báo động qua điện thoại Ở đồ án này, sinh viên lựa chọn cả 2 phương án là: báo động thụ động tại chỗ thông qua buzzer và báo động qua điện thoại vì đây là mô hình IOTs

Sơ đồ chân kết nối

Hình 3.10: Sơ đồ chân kết nối Buzzer vớiArduino Mega 2560 3.2.6 Khối xử lý trạm

Phương án và lựa chọn

NodeMCU ESP8266 V2 được phát triển dựa trên nền tảng ESP8266 của Express cho phép tạo các mẫu sản phẩm liên quan đến IoT Board còn tích hợp IC CP2102 TTL giúp dễ dàng giao tiếp với máy tính thông qua cổng Micro-USB để lập trình và gỡ lỗi Thích hợp để phát triển các dự án, học tập sử dụng trình biên dịch Arduino IDE Module có hỗ trợ các tính năng WiFi chuẩn 802.11 b/g/n với tốc độ 2.4GHz do đó thích hợp cho việc học tập, nghiên cứu các dự án IoT Việc truy suất vào cơ sở dữ liệu với tốc độ khá nhanh Nhóm cũng sử dụng thêm vi điều khiển Arduino Mega 2560 cho phép kết nối với nhiều modul và đóng ngắt relay một cách dễ dàng, đồng thời sử dụng chung trình biên dịch với NodeMCU

Sơ đồ chân kết nối

Hình 3.12: Giao tiếp UART 3.2.7 Khối xử lý trung tâm

Phương án và lựa chọn

Khối MCU (khối xử lý trung tâm) nhận tín hiệu vào điều khiển tín hiệu ra và hiện thị trên LCD có nhiều phương án để lựa chọn vi điều khiển như: họ PIC, STM32, 8051, Arduino,…Ở đồ án này, sinh viên lựa chọn Arduino để làm bộ xử lý trung tâm vì:

Muốn tìm hiểu thêm về một loại vi điều khiển mới (chương trình học đã được học họ PIC) và cách làm trình

Arduino được lắp ráp từ các linh kiện dễ tìm và hướng đến đối tượng người dùng đa dạng

Ngôn ngữ lập trình đơn giản dễ hiểu

Nền tảng mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm chạy trên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau

Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc mở rộng phần cứng cũng dễ dàng hơn

Sơ đồ chân kết nối

Hình 3.14: Sơ đồ chânArduino Mega 2560 3.2.8 Khối nguồn

Phương án và lựa chọn

Phần cứng của mạch, và các linh kiện trong mạch đòi hỏi sử dụng nguồn một chiều (DC) vì vậy có nhiều phương án để ta lựa chọn mạch như: Tự thiết kế khối nguồn, sử dụng nguồn từ ổ USB của máy tính, nguồn xung tổ ong, sử dụng các Adapter có sẵn,… trong hệ thống này, nhóm đã chọn nguồn xung tổ ong 12V kết hợp với mạch giảm áp để có nguồn ra là 5V và 12V

Thiết bị Điện áp hoạt động

Bảng 3.1: Điện áp hoạt động của các thiết bị

Sơ đồ chân kết nối

3.2.9 Lưu đồ chương trình phần cứng

Lưu đồ chương trình đóng mở cửa chính

Khối nhập pass và quét thẻ

Sai Điều khiển mở cửa Đúng

Vô hiệu khoá và Báo động Đúng

Hình 3.16: Lưu đồ chương trình đóng mở cửa

Lưu đồ chương trình bật tắt thiết bị

Bắt đầu Đọc giá trị từ Firebase

Lưu trạng thái thiết bị

Hình 3.17: Lưu đồ chương trình bật tắt thiết bị

Lưu đồ chương trình khối cảnh báo

Bắt đầu Đọc giá trị từ cảm biến

Vượt ngưỡng cho phép Đúng Sai

Hình 3.18: Lưu đồ chương trình khối cảnh báo

Thiết kế phần mềm

3.3.1 Xây dựng hệ thống dữ liệu

Realtime Database: sử dụng để điều khiển tương tác phần cứng và được xây dựng theo từng phòng và lưu trữ những mã thẻ được cấp quyền vào nhà

Hình 3.19: Dữ liệu phòng khách

Mô tả Đây là nơi lưu trữ trạng thái, thời gian bật/tắt của các thiết bị trong phòng khách và thông số giá trị từ cảm biến bao gồm:

Cửa ra vào nhà Quạt Điều hoàn Đèn chiếu sáng Gía trị cảm biến nhiệt độ Cửa sổ

Hình 3.20: Dữ liệu phòng ngủ

Mô tả Đây là nơi lưu trữ trạng thái, thời gian bật/tắt của các thiết bị trong phòng ngủ và thông số giá trị từ cảm biến bao gồm:

Cửa ra vào nhà Quạt Điều hoà Đèn ngủ Đèn chiếu sáng Giá trị cảm biến nhiệt độ Cửa sổ

Hình 3.21: Dữ liệu nhà bếp

Mô tả Đây là nơi lưu trữ các thông số môi trường của nhà bếp bao gồm:

Giá trị cảm biến lửa Giá trị cảm biến nhiệt độ Giá trị cảm biến khí gas Giá trị cảm biến độ ẩm

Hình 3.22: Dữ liệu nhà kho

Mô tả Đây là nơi lưu trữ trạng thái của các thiết bị trong nhà kho và thông số giá trị từ cảm biến bao gồm:

Cửa ra vào nhà Đèn chiếu sáng Giá trị cảm biến nhiệt độ Giá trị cảm biến độ ẩm

Hình 3.23: Dữ liệu mã thẻ RFID

Mô tả Đây là nơi lưu trữ các mã code, trạng thái, thời gian của cửa nhằm kiểm soát người đóng mở cửa

Là nơi lưu trữ thông tin cá nhân của người tham gia hệ thống căn nhà bao gồm tên, số cmnd, mã RFID,

Hình 3.24: Dữ liệu thông tin người dùng

Hình 3.25: Dữ liệu lịch sử trạng thái thiết bị

Là nơi lưu trữ lại các lịch sử sử dụng thiết bị theo từng vị trí trong nhà và từng ngày tương ứng

3.3.2.1 Đọc giá trị cảm biến

Thay đổi giá trị trạng thái hiện thị

Hình 3.26: Lưu đồ đọc giá trị cảm biến

Mô tả Đọc giá trị liên tục từ firbase để đảm bảo hiển thị trên thiết bị di động một cách chính xác giá trị cuả các cảm biến.Chương trình chỉ kết thúc khi kết thúc một phòng

3.3.2.2 Điều khiển từng thiết bị

Thiết bị điều khiển tại đồ án nghiên cứu lần này của chúng em được chia làm hai loại chính:

Các thiết bị bật tắt (2 giá trị trạng thái): đèn, cửa sổ, máy điều hòa, cửa ra vào Các thiết bị điều khiển nhiều giá trị: đèn ngủ, quạt

Lưu đồ thay đổi trạng thái

Thay đổi trạng thái thiết bị tại Database

Thay đổi trạng thái hiển thị thiết bị

Ghi lại thời gian và trạng thái tại

Không thay đổi trạng thái hiển thị thiết bị Đúng

Hình 3.27: Lưu đồ thay đổi trạng thái thiết bị

Mô tả Lưu đồ mô tả quá trình thay đổi trạng thái thiết bị Đầu tiên thì tại lớp xây dựng chức năng sẽ có hai kết nối với Database Realtime và Cloud FireStore

Khi bắt sự kiện onClick tại ứng dụng, thì thay đổi trạng thái hiện tại và lấy thời gian trên điện thoại để cập nhật vào database RealTime Nhưng đối với thiết bị có nhiều mức giá trị thay đổi thì gửi kèm thêm mức giá trị để cập nhật và sẽ ở trạng thái tắt chỉ khi giá trị bằng không

Ghi tại lịch sử tại cloud firestore bao gồm thời gian, tên thiết bị, và trạng thái đã được thay đổi dưới dạng kiểu Map

Lưu đồ cập nhật trạng thái từ Database Realtime

Thay đổi trạng thái hiển thị thiết bị

Ghi lại thời gian và trạng thái tại

Không thay đổi trạng thái hiển thị thiết bị Đúng

Hình 3.28: Lưu đồ cập nhật trạng thái từ

Mô tả Lưu đồ mô tả sự cập nhật giá tri khi database Realtime thay đổi bao gồm:

 Do phần cứng điều khiển thay đổi các trạng thái thiết bị trong nhà

 Khi các cảm biến thay đổi giá trị

Tiếp tục thực hiện vòng lặp

3.3.2.3 Điều khiển thiết bị theo từng phòng

Ghi lại thời gian và trạng thái tại Cloud Firestore Điều khiển thiết bị

Thay đổi trạng thái hiển thị Cập nhật Firebase

Kết nối FireBase Đúng Sai

Hình 3.29:Lưu đồ điều khiển thiết bị theo từng phòng

Khối kết nối firebase: Khối thực hiện kết nối đến firebase tại nút của phòng tương ứng

Khối cập nhật lịch sử: vì mỗi phòng đều có một lịch sử hoạt động riêng, khi mới khởi tạo ứng dụng, biến ghi lịch sử tại thiết bị bằng bằng null, và tại mỗi thiết bị điện thoại thì có một giá trị riêng, nếu không cập nhật thì khi khởi động ứng và thực hiện điều khiển thì sẽ xóa hết những cái trước đó và ghi lên Cloud firestore giá trị của thiết bị điều khiển, nên nhiều thiết bị điều khiển sẽ xẩy ra xung đột dữ liệu Bằng cách lắng nghe firebase và cập nhật lịch sử liên tục khi có một bản ghi mới thì tất cả các biến ghi lịch sử tại các thiết bị có cùng giá trị, và khi điều khiển sẽ không trùng lắp nhau

Khối thay đổi hiển thị: Sẽ cập nhật các trạng thái của các thiết bị bằng cách biểu diễn trên màn hình ứng dụng để cho người dùng biết trạng thái hiện tại của căn phòng Đồng thời sẽ luôn lắng nghe và thay đổi hiển thị theo dữ liệu Firebase để đồng bộ hiển thị giữa các thiết bị khác nhau.Đồng thời sẽ gồm khối đọc giá trị cảm biến môi trường

Khối ghi lại thời gian và trạng thái trên Cloud firestore: mục đích để ghi lại lịch sử khi phần cứng điều khiển gây tác động dữ liệu đến firebase, vì kiểu ghi lại lịch sử là dạng Map nên có thể tránh được việc trùng lập bản ghi của các thiết bị khi mở ứng dụng

Khối điều khiển : là khối gồm nhiều thiết bị của căng phòng, là một khối được kế thừa từ nhiều khối thay đổi trạng thái thiết bị từ ứng dụng được đề cập ở trên

Khối kiểm tra nút nhấn thoát: Nếu có sự kiện click vào thì toàn bộ chương trình điều khiển chương trình tại phòng tương ứng sẽ kết thúc

3.3.2.4 Sử dụng vân tay điện thoại mở cửa chính

Mục đích: Tránh tình trạng người lạ sử dụng điện thoại để mở cửa

Kết thúc Nhấn nút thoát

Kiểm tra tình trạng cửa và hiển thị trạng thái

Thay đổi trạng thái cửa Đúng

Hình 3.30: Lưu đồ sử dụng vân tay điện thoại mở cửa chính

Mô tả: : khi vào màn hình hiển thị trạng thái cửa, đầu tiên , ứng dụng sẽ kiểm tra tình trạng cửa chính ra vào nhà, và cập nhật hiển thị lên màn hình sử dụng vân tay để mở cửa chỉ khi cửa ở tình trạng đóng Khi ứng dụng xác nhận vân tay hợp lệ với dữ liệu có trong điện thoại thì sẽ thực hiện hành động thay đổi trạng thái cửa

3.3.2.5 Thông báo người mở cửa

Mục đích: để quản lý và nhận định được ai là người đã mở cửa và vào thời gian nào Tránh tình trạng người lạ vào nhà

Kết thúc Nhấn nút thoát

Thay đổi trạng thái cửa Đúng

Hình 3.31: Lưu đồ thông báo người mở cửa

Mô tả: Chức năng này sẽ thực thi khi bạn cho phép Vì chương trình này luôn chạy ngầm để thực hiện Khi bật, chương trình sẽ thực hiện lệnh lắng nghe sự thay đổi thời gian vào cửa (bắt sự kiện khi thời gian thay đổi được gửi từ phần cứng) sau đó ứng ụng lấy mã RFID mà do chính phần cứng gửi về , sau đó sẽ kiểm tra sự tồn tại của mã thẻ trong cơ sở dữ liệu người dùng và hiển thị thông báo với tên người dùng và thời gian vào cửa tương ứng với mã RFID đó

Mục đích: thông báo cho người dùng biết những tình trạng môi trường xấu của căn nhà nhầm tránh sự cố hỏa hoạn

Kết thúc Kết thúc ứng dụng

Hiển thị thông báo Đúng

Hình 3.32: Lưu đồ cảnh báo cháy

Cũng tương tự như chức năng thông báo ra vào cửa , nhưng ở chế độ này cảnh báo sẽ được hiện thị trên điện thoại khi giá trị môi trường chạm ngưỡng cảnh báo đã thiết lập như ở phần cứng

3.3.2.7 Quản lý người trong nhà Đăng kí:

Mục đích: quản lý được thông tin người sử dụng hệ thống nhầm tránh việc ai cũng có thể sử dụng điều khiển

Ghi dữ liệu vào Cloud Firestore Sai

Hình 3.33: Lưu đồ đăng ký

Mô tả:Ở màn hình này, người bắt buộc phải điền hợp lệ những thông tin cần thiết và chính xác Người dùng mới sẽ được tạo chỉ khi dữ liệu hợp lệ Sau đó ứng dụng sẽ lưu trữ thông tin tại Cloud Firestore và kết thúc

Mục đích: xác thực chính xác người đã được cho điều khiển nhà

Nhập thông tin người dùng

Người dùng tồn tại Đúng

Cho phép đăng nhập Sai

Hình 3.34: Lưu đồ đăng nhập

Mô tả: Ở màn hình này , người dùng sẽ nhập email, password để đănng nhập Khi nhấn nút đăng nhập, nếu phù hợp với thông tin dữ liệu người dùng có trong Cloud Firestore thì sẽ vào được mà hình điều khiển và kết thúc việc đăng nhập

Cập nhật dữ liệu người dùng:

Mục đích: Cập nhật thông tin cũng như mã thẻ người dùng phòng hờ trường hợp mất thẻ

Hình 3.35: Lưu đồ đăng nhập

KẾT QUẢ THỰC HIỆN

Kết quả phần cứng

Hình 4.1: Mô hình nhìn từ phía trên xuống

Hình 4.2: Mô hình nhìn từ phía trước

Hình 4.4: Mô hình nhìn từ phía ngoài

Kết quả phần mềm

Hình 4.5: Giao diện đăng nhập

Mô tả Ở màn hình đăng nhập , người dùng nhập email và password hợp lệ và nhấn nút [LOGIN] để đang nhập

Nhấn vào [No account yet? Create one] để tạo tài khoản mới

Nhấn vào [forgot password?] để lấy lại mật khẩu nếu như người dùng không nhớ (thông báo sẽ được gửi qua mail để thay dổi mật khẩu mới)

Hình 4.6: Giao diện đăng ký

Mô tả Ở màn hình này người dùng sẽ nhập dữ liệu vào với điều kiện điền hết thông tin, email không bị trùng lắm trong cơ sở dữ liệu, mật khẩu phải tối thiểu 6 kí tự và nhập lại mật khẩu chính xác

Hình 4.7: Giao diện quên mật khẩu

Mô tả Ở màn hình này, người dùng bắt buộc phải nhập đúng email tồn tại trong dữ liệu Và nhấn [RESET PASSWORD] để ứng dụng thực hiện

Nhấn [

Ngày đăng: 24/02/2024, 17:54

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

TÀI LIỆU LIÊN QUAN

w