1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG Đề tài Thiết Kế Hệ thống Cảm Biến Chuyển Động Và ReLay

65 8 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 Cảm Biến Chuyển Động Và ReLay
Tác giả Vũ Tiến Hoàng, Phạm Minh Hùng
Người hướng dẫn ThS. Đỗ Duy Cốp
Trường học Trường Đại Học Kỹ Thuật Công Nghiệp
Chuyên ngành Điện Tử
Thể loại đồ án môn học
Năm xuất bản 2022
Thành phố Thái Nguyên
Định dạng
Số trang 65
Dung lượng 4,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1.1. Khái niệm về nhà thông minh (10)
  • 1.2. Cơ sở hình thành hệ thống tắt bật đèn thông minh (0)
  • 1.3. Yêu cầu công nghệ của hệ thống tắt bật đèn thông minh (0)
    • 1.3.1. Tính tự động (11)
    • 1.3.2. Tính thông minh (12)
    • 1.3.3. Tính đơn giản (12)
    • 1.3.4. Tính thẩm mỹ (0)
    • 1.3.5. Tính thuận tiện (12)
  • 2.2. Các tính năng của Home Assitant (15)
  • 2.3. Giao thức MQTT (17)
    • 2.3.1. MQTT là gì? (17)
    • 2.3.2. Hoạt động (17)
    • 2.3.3. Tính năng, đặc điểm nổi bật (18)
    • 2.3.4. Ưu điểm (19)
    • 2.3.5. Nhược điểm (19)
  • CHƯƠNG 3: THIẾT KẾ HỆ THỐNG (21)
    • 3.1. Sơ đồ nguyên lý (21)
    • 3.2. Chọn linh kiện (21)
      • 3.2.1. Module ESP8266 (21)
      • 3.2.2. Module Relay 5V (25)
      • 3.2.3. Cảm biến chuyển động HC PIR-SR501 (0)
    • 4.1. Home Assistant (27)
    • 4.2. MQTT – Add-on Mosquitto broker (36)
    • 4.3. Sơ đồ thuật toán (56)
  • CHƯƠNG 5: KẾT LUẬN (56)
    • 5.1. Các kết quả đạt được (56)
    • 5.2. Hướng phát triển của đề tài (57)

Nội dung

LỜI NÓI ĐẦU Ngày nay, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến: từnhững ứng dụng đơn giản như điều khiển một chốt đèn giao thông định thời, đếm sảnphẩm trong một

Khái niệm về nhà thông minh

Ngôi nhà thông minh (Smart Home) là hệ thống căn hộ được trang bị công nghệ tự động tiên tiến nhằm điều chỉnh đèn chiếu sáng, nhiệt độ, truyền thông, an ninh, rèm cửa và cửa một cách tiện lợi Hệ thống này giúp nâng cao sự tiện nghi và an toàn cho cư dân, đồng thời tối ưu hóa việc sử dụng nguồn tài nguyên một cách hiệu quả Việc áp dụng công nghệ nhà thông minh góp phần tạo ra cuộc sống hiện đại, an toàn hơn và tiết kiệm năng lượng cho gia đình.

Nhà thông minh tận dụng các thiết bị kết nối Internet để quản lý và giám sát từ xa các hệ thống quan trọng như ánh sáng và nhiệt độ, mang lại sự tiện ích và tiết kiệm năng lượng Công nghệ này giúp người dùng dễ dàng điều chỉnh các thiết bị trong nhà mọi lúc, mọi nơi, nâng cao trải nghiệm sống thông minh và hiện đại.

Công nghệ nhà thông minh Smart Home, hay còn gọi là Home Automation, mang lại sự an toàn, thoải mái, tiện lợi và tiết kiệm năng lượng cho chủ nhà Các hệ thống này cho phép kiểm soát các thiết bị thông minh qua ứng dụng trên điện thoại hoặc các thiết bị kết nối mạng khác Là một phần của mạng lưới Internet of Things (IoT), các thiết bị nhà thông minh hoạt động phối hợp, chia sẻ dữ liệu người dùng và tự động hóa các tác vụ dựa trên sở thích của chủ nhà.

Với kiến thức đã học trong môn "Hệ thống nhúng," chúng em xin trình bày nghiên cứu và kết quả dự án về "Thiết kế hệ thống cảm biến chuyển động và relay." Dự án nhằm phát triển một hệ thống nhúng tích hợp cảm biến chuyển động để tự động điều khiển relay, nâng cao hiệu quả và tiết kiệm năng lượng Chúng em đã thiết kế, lắp đặt và thử nghiệm hệ thống, đảm bảo hoạt động chính xác, ổn định và phù hợp với các yêu cầu kỹ thuật Nội dung dự án không chỉ ứng dụng trong các hệ thống tự động hóa mà còn góp phần nâng cao kỹ năng lập trình và thiết kế điện tử của sinh viên.

1.2 Cơ sở hình thành hệ thống cảm biến chuyển động

Trong xã hội ngày càng phát triển, nhu cầu tiêu thụ điện năng của con người ngày càng tăng cao Việc tiết kiệm năng lượng trở thành nhiệm vụ hàng đầu của mỗi quốc gia nhằm giảm thiểu lãng phí, đặc biệt là ở những thiết bị điện công cộng và trên các đường đi, nơi tiêu thụ năng lượng lớn khi không có người sử dụng Việc vận hành các thiết bị này một cách hiệu quả giúp hạn chế điện năng bị sử dụng phung phí, góp phần bảo vệ môi trường và tiết kiệm nguồn lực quốc gia.

Xuất phát từ những vấn đề thực tiễn, nhiều thiết bị cảm biến chuyển động đã được ra đời để phục vụ nhu cầu cuộc sống của con người Hiện nay, có nhiều loại cảm biến chuyển động thông minh trên thị trường, giúp nâng cao sự tiện nghi và an toàn trong gia đình và các không gian sinh hoạt Những thiết bị này góp phần tối ưu hóa hệ thống an ninh và tiết kiệm năng lượng hiệu quả.

1.3 Yêu cầu công nghệ của hệ thống cảm biến chuyển động

Trong bối cảnh yêu cầu ngày càng cao của sản xuất công nghiệp và sự phát triển của khoa học công nghệ, các thiết bị máy móc ngày càng hiện đại đòi hỏi hệ thống cảm biến thông minh phải có khả năng tự động hóa cao Tính tự động của hệ thống không chỉ giúp giảm thiểu hao phí năng lượng điện mà còn hạn chế tối đa sự can thiệp của con người, nâng cao hiệu quả và độ chính xác của quá trình sản xuất.

Với sự phát triển của công nghệ IoT, các thiết bị tự động thông minh ngày nay chủ yếu kết nối với Internet để người dùng dễ dàng giám sát và điều khiển từ xa Điều này giúp nâng cao trải nghiệm sử dụng, tối ưu hóa hiệu quả hoạt động và mang lại sự tiện lợi vượt trội cho người dùng trong cuộc sống hàng ngày.

Tiêu chuẩn về tính đơn giản của hệ thống là yếu tố thiết yếu mà mọi hộ gia đình, cơ quan, công ty cần phải xem xét Tính đơn giản này giúp người dùng dễ dàng vận hành, thao tác, lắp đặt và bảo trì hệ thống một cách thuận tiện Hệ thống dễ sửa chữa khi có sự cố cũng là một lợi ích lớn của việc đảm bảo tính đơn giản, góp phần nâng cao hiệu quả và giảm thiểu rủi ro trong quá trình sử dụng.

Khi xã hội ngày càng văn minh hiện đại, con người đặt cao yêu cầu về tính thẩm mỹ trong các sản phẩm Do đó, các mặt hàng phục vụ nhu cầu của con người cần đa dạng, phong phú và đảm bảo tính mỹ quan, mẫu mã bắt mắt Đồng thời, sản phẩm còn phải có độ bền và độ chắc chắn cao, hoạt động trơn tru và ít xảy ra sự cố để đáp ứng được các tiêu chuẩn chất lượng.

Trong thời đại ngày nay, tính thuận tiện của sản phẩm là một yếu tố quan trọng mà người dùng đặc biệt quan tâm Yêu cầu này đáp ứng từ quá trình lắp ráp, vận hành cho đến bảo trì và sửa chữa, giúp tiết kiệm thời gian, giảm thiểu công sức và chi phí Chính đặc điểm này thúc đẩy các sản phẩm ngày càng được thiết kế thân thiện, dễ sử dụng và bảo trì, phù hợp với nhu cầu ngày càng cao của người tiêu dùng.

CHƯƠNG 2: NỀN TẢNG GIAO TIẾP 2.1 Home Assistant

Home Assistant, còn gọi là “HA” hay “HASS”, là nền tảng quản lý nhà thông minh được lập trình bằng Python, có khả năng chạy trên mọi hệ điều hành Nền tảng này cho phép kiểm soát ngôi nhà thông minh thông qua giao diện web hoặc ứng dụng trên điện thoại di động Home Assistant có hai phiên bản chính: phiên bản “Home Assistant” hay “Home Assistant Core”, là thành phần cốt lõi có thể cài đặt trên bất kỳ nền tảng nào như phần mềm máy tính.

Home Assistant OS là phiên bản tích hợp giữa Home Assistant Core và các công cụ khác, cho phép cài đặt trên các thiết bị như Raspberry Pi hoặc máy ảo Khi cài đặt, nó biến thiết bị của bạn thành một trung tâm quản lý thiết bị nhà thông minh, tương tự như Gateway của nền tảng Xiaomi, Aqara hoặc Hub trung tâm của Samsung SmartThings Đây là giải pháp toàn diện giúp kết nối và điều khiển các thiết bị tự động hóa trong nhà một cách dễ dàng và hiệu quả.

Hình 2.1 Một giao diện quản lý nhà thông minh với Home Assistant

Home Assistant là phần mềm nguồn mở được phát triển và hỗ trợ bởi đội ngũ kỹ sư, lập trình viên trên toàn thế giới, đảm bảo tính linh hoạt và mở rộng cao Phần mềm này tương thích với hầu hết các thiết bị nhà thông minh, giúp người dùng dễ dàng tích hợp và điều khiển nhiều thiết bị khác nhau trong nhà Nhờ đó, Home Assistant mở ra khả năng làm việc không giới hạn, nâng cao tiện nghi và trải nghiệm sống tiện ích cho gia đình.

Dù sử dụng phiên bản nào, người dùng cần cài đặt Home Assistant để bắt đầu quản lý thiết bị nhà thông minh Hệ thống sẽ tự động quét qua các thiết bị hiện có trong nhà của bạn, giúp quá trình cấu hình dễ dàng hơn Người dùng có thể tùy chỉnh các thiết bị để hoạt động phù hợp với nhu cầu sử dụng hàng ngày, nâng cao trải nghiệm nhà thông minh tiện nghi và linh hoạt.

Yêu cầu công nghệ của hệ thống tắt bật đèn thông minh

Tính tự động

Trong bối cảnh yêu cầu ngày càng cao của sản xuất công nghiệp và sự phát triển nhanh chóng của khoa học kỹ thuật, các thiết bị máy móc ngày càng hiện đại đòi hỏi hệ thống cảm biến thông minh phải có tính tự động cao Tính tự động của hệ thống không chỉ giúp giảm thiểu hao phí điện năng mà còn hạn chế tối đa sự can thiệp của con người, nâng cao hiệu quả vận hành của các dây chuyền sản xuất.

Tính thông minh

Với sự phát triển của công nghệ IoT, các thiết bị tự động thông minh ngày nay đều được kết nối với mạng Internet Điều này giúp người sử dụng dễ dàng giám sát và điều khiển các thiết bị tự động từ xa, nâng cao trải nghiệm người dùng và tối ưu hóa công việc hàng ngày.

Tính đơn giản

Hệ thống đơn giản là tiêu chuẩn cần thiết mà mọi hộ gia đình, cơ quan, công ty đều phải xem xét, giúp người dùng dễ dàng vận hành, lắp đặt và bảo trì Tính đơn giản không chỉ đảm bảo thao tác dễ dàng mà còn thuận tiện trong sửa chữa và bảo dưỡng khi gặp sự cố Việc thiết kế hệ thống dễ sử dụng là yếu tố quan trọng để nâng cao hiệu quả vận hành và giảm thiểu thời gian, chi phí khắc phục sự cố.

Khi xã hội ngày càng văn minh, hiện đại, con người ngày càng đòi hỏi tính thẩm mỹ cao trong các sản phẩm phục vụ nhu cầu hàng ngày Sản phẩm phải đa dạng, phong phú về mẫu mã, mang tính mỹ quan và bắt mắt để đáp ứng sở thích của người tiêu dùng Bên cạnh yếu tố thẩm mỹ, độ bền và độ chắc chắn của sản phẩm cũng rất quan trọng để đảm bảo hoạt động trơn tru, ít xảy ra sự cố.

Hiện nay, tính thuận tiện trong sản phẩm đóng vai trò quan trọng trong việc quyết định lựa chọn của người dùng Đặc biệt, yêu cầu này được thể hiện xuyên suốt từ quá trình lắp ráp, vận hành cho đến bảo trì và sửa chữa, giúp tiết kiệm thời gian, giảm chi phí và công sức cho người sử dụng.

CHƯƠNG 2: NỀN TẢNG GIAO TIẾP 2.1 Home Assistant

Home Assistant, hay còn gọi là “HA” hoặc “HASS,” là nền tảng quản lý nhà thông minh xây dựng bằng ngôn ngữ Python, có thể chạy trên mọi hệ điều hành Nền tảng này cho phép người dùng kiểm soát ngôi nhà thông minh qua giao diện web hoặc ứng dụng smartphone tiện lợi Home Assistant có hai phiên bản chính: Phiên bản “Home Assistant” hay “Home Assistant Core,” là thành phần cốt lõi, dễ dàng cài đặt trên bất kỳ nền tảng nào như phần mềm máy tính.

"Home Assistant OS" là hệ điều hành tích hợp giữa "Home Assistant Core" và các công cụ hỗ trợ, giúp biến các thiết bị như Raspberry Pi hoặc máy ảo thành trung tâm điều khiển nhà thông minh hiệu quả Phiên bản này cho phép cài đặt dễ dàng lên nhiều loại thiết bị để trở thành một hub trung tâm, kết nối và điều khiển thiết bị nhà thông minh, tương tự như Gateway của nền tảng Xiaomi, Aqara hoặc Samsung SmartThings Đây là giải pháp tối ưu để xây dựng hệ thống nhà thông minh thống nhất, linh hoạt và dễ quản lý.

Hình 2.1 Một giao diện quản lý nhà thông minh với Home Assistant

Home Assistant là phần mềm nguồn mở, được hỗ trợ bởi đội ngũ kỹ sư và lập trình viên trên toàn thế giới, mang lại khả năng tùy biến cao để phù hợp với nhiều nhu cầu khác nhau Ứng dụng này tương thích với hầu hết các thiết bị nhà thông minh, giúp tự động hóa và điều khiển các thiết bị trong ngôi nhà một cách dễ dàng và hiệu quả Nhờ vào khả năng mở rộng không giới hạn của Home Assistant, người dùng có thể tạo ra một hệ thống nhà thông minh tích hợp toàn diện, nâng cao trải nghiệm sống tiện nghi và hiện đại.

Để bắt đầu sử dụng hệ thống nhà thông minh, người dùng cần cài đặt Home Assistant trước Sau khi cài đặt, hệ thống sẽ tiến hành quét tất cả các thiết bị nhà thông minh hiện có trong nhà bạn Tiếp theo, người dùng có thể cấu hình các thiết bị này để hoạt động phù hợp với nhu cầu sử dụng hàng ngày, giúp tăng tính tiện ích và tối ưu hóa trải nghiệm nhà thông minh.

Các nền tảng nhà thông minh thể hiện sự tiện lợi và nhanh chóng vượt trội so với các giải pháp khác, phù hợp cho cuộc sống hiện đại Trong khi đó, Home Assistant nổi bật với khả năng điều khiển trong mạng nội bộ và khả năng tùy biến linh hoạt, đáp ứng nhu cầu cá nhân hóa cao Tóm lại, lựa chọn giữa các nền tảng này phụ thuộc vào ưu tiên về tiện ích và khả năng tùy chỉnh của người dùng.

Tính thuận tiện

Trong bối cảnh hiện nay, tính tiện lợi của sản phẩm là yếu tố quan trọng quyết định người dùng lựa chọn Các sản phẩm cần đảm bảo dễ dàng lắp ráp, vận hành và bảo trì để tiết kiệm thời gian, giảm thiểu công sức và chi phí cho người sử dụng.

CHƯƠNG 2: NỀN TẢNG GIAO TIẾP 2.1 Home Assistant

Home Assistant, còn gọi là “HA” hoặc “HASS,” là nền tảng quản lý nhà thông minh được lập trình bằng Python, dễ dàng chạy trên mọi hệ điều hành Nền tảng này giúp quản lý ngôi nhà thông minh qua giao diện web hoặc ứng dụng smartphone, mang lại tiện ích tối đa Home Assistant có hai phiên bản chính: “Home Assistant” hay “Home Assistant Core,” là thành phần cốt lõi có thể cài đặt trên bất kỳ nền tảng hệ điều hành nào như phần mềm máy tính, cung cấp khả năng tùy biến linh hoạt cho người dùng.

Home Assistant OS kết hợp giữa Home Assistant Core và các công cụ khác để tạo thành một hệ điều hành mạnh mẽ cho nhà thông minh Phiên bản này có thể được cài đặt trên các thiết bị như Raspberry Pi hoặc máy ảo, biến chúng thành các trung tâm kết nối và điều khiển các thiết bị nhà thông minh Đây giống như một gateway hoặc hub tổng, tương tự như nền tảng Xiaomi, Aqara hay Samsung SmartThings, giúp tối ưu hóa khả năng quản lý hệ thống nhà thông minh của bạn.

Hình 2.1 Một giao diện quản lý nhà thông minh với Home Assistant

Home Assistant là phần mềm nguồn mở được phát triển và hỗ trợ bởi đội ngũ kỹ sư, lập trình viên toàn cầu, đảm bảo tính linh hoạt và mở rộng cho hệ thống nhà thông minh của bạn Với khả năng tương thích với hầu hết các thiết bị nhà thông minh, Home Assistant mang đến sự kết nối liền mạch và tối ưu hóa hiệu quả vận hành của các thiết bị trong ngôi nhà Nhờ đó, người dùng có thể tận hưởng khả năng làm việc không giới hạn và tùy biến cao, từ đó nâng cao trải nghiệm sống thông minh và tiện nghi.

Dù sử dụng phiên bản nào, người dùng đều cần cài đặt Home Assistant trước để hệ thống có thể quét và phát hiện các thiết bị nhà thông minh hiện có Sau đó, người dùng tiến hành cấu hình để các thiết bị hoạt động phù hợp với nhu cầu sử dụng của mình, giúp xây dựng hệ thống nhà thông minh hiệu quả và dễ điều khiển.

Các nền tảng nhà thông minh nổi bật về tính tiện lợi và nhanh chóng, mang lại trải nghiệm sử dụng thuận tiện cho người dùng Tuy nhiên, Home Assistant lại xuất sắc trong khả năng điều khiển trong mạng nội bộ và khả năng tùy biến linh hoạt, phù hợp với người dùng yêu thích tùy chỉnh hệ thống nhà thông minh của riêng mình.

Các tính năng của Home Assitant

Hình 2.2 Giao diện quản lý của Home Assistant thân thiện dễ dùng

Home Assistant là trung tâm điều khiển nhà thông minh, đóng vai trò là hub chính giúp kết nối và quản lý các thiết bị thông minh trong gia đình Với khả năng tạo ra các ngữ cảnh tự động, Home Assistant giúp thực hiện các tác vụ nhà thông minh từ đơn giản đến phức tạp một cách dễ dàng và hiệu quả Đây là cầu nối quan trọng, liên kết các thiết bị sử dụng các công nghệ IoT khác nhau, tối ưu hóa trải nghiệm sống thông minh trong gia đình bạn.

Nền tảng nhà thông minh mã nguồn mở cung cấp giải pháp lưu trữ dữ liệu tại chỗ (On-Premises), giúp đảm bảo an toàn dữ liệu và hạn chế phụ thuộc vào nền tảng đám mây (Cloud) Giải pháp này tối ưu hóa khả năng kết nối các thiết bị nội bộ và tích hợp linh hoạt với các nền tảng đám mây của các nhà cung cấp nhà thông minh mở hoặc đóng.

Home Assistant là nền tảng tích hợp mạnh mẽ giúp kết nối và quản lý các hệ sinh thái IoT khác nhau thông qua các thành phần có khả năng mở rộng như add-on hoặc plugin Nhờ đó, người dùng có thể dễ dàng tích hợp các dịch vụ phổ biến từ Google, Apple, Amazon và nhiều nền tảng khác, nâng cao trải nghiệm và khả năng tùy biến trong hệ thống nhà thông minh của mình Việc này giúp tối ưu hóa hiệu suất, mở rộng tính năng và đảm bảo khả năng tương thích linh hoạt với các thiết bị IoT đa dạng trên thị trường.

Home Assistant giúp tích hợp tất cả các ứng dụng điều khiển nhà thông minh vào một nền tảng duy nhất, thay vì phải cài đặt nhiều ứng dụng khác nhau của các hãng Điều này giúp quản lý dễ dàng hơn và tạo ra các ngữ cảnh linh hoạt để các thiết bị hoạt động một cách liền mạch, mang lại trải nghiệm thuận tiện và tối ưu cho người dùng.

Hình 2.3 Home Assistant có thể kết nối các thương hiệu khác nhau để hoàn tất tác vụ nhà thông minh cần thiết

Việc điều khiển mọi thứ từ một máy chủ nội bộ giúp đảm bảo an toàn cho ngôi nhà và dữ liệu cá nhân Hơn nữa, khi đường truyền mạng gặp sự cố, hệ thống vẫn hoạt động ổn định vì các nền tảng khác thường đặt máy chủ ở nước ngoài Điều này giúp duy trì hiệu suất làm việc và bảo mật tối đa cho người dùng.

Người dùng có thể sử dụng trợ lý ảo kỹ thuật số như Google Assistant hay Amazon Alexa để điều khiển nhà thông minh bằng giọng nói một cách tiện lợi, rảnh tay Tuy nhiên, nhờ tính mở và tùy biến cao, nền tảng Home Assistant phù hợp hơn với những người dùng có kỹ năng kỹ thuật hoặc muốn tùy chỉnh hệ thống của mình Dù vậy, cộng đồng người dùng Home Assistant rất đông đảo và năng động, giúp mọi người dễ dàng học hỏi và thực hiện các dự án nhà thông minh mà không gặp nhiều khó khăn.

Người dùng cần có kiến thức về hệ thống để cài đặt Home Assistant Core trên các nền tảng hiện có như Windows hoặc Mac, cũng như hiểu rõ về cài đặt Home Assistant OS để phù hợp với nhu cầu sử dụng Để tùy biến hệ thống một cách linh hoạt, kiến thức về lập trình Python là điều thiết yếu.

Giao thức MQTT

MQTT là gì?

MQTT, viết tắt của Message Queueing Telemetry Transport, là giao thức mạng mở được sử dụng để truyền thông điệp giữa các thiết bị IoT Đây là giao thức nhắn tin tiêu chuẩn cho Internet of Things nhờ khả năng truyền tải cực kỳ nhẹ, độ tin cậy cao và yêu cầu mức băng thông tối thiểu MQTT giúp kết nối các thiết bị một cách hiệu quả, ổn định và phù hợp với các hệ thống IoT cần hoạt động trong môi trường có hạn chế về kết nối mạng.

MQTT, ra đời lần đầu vào năm 1999, đã trở thành một giao thức truyền thông phổ biến rộng rãi trong nhiều lĩnh vực Phiên bản mới nhất của MQTT hiện nay là MQTT 5.0, mang đến nhiều cải tiến tối ưu hơn so với các phiên bản trước, nâng cao hiệu suất và khả năng mở rộng của giao thức.

Kiến trúc MQTT bao gồm 2 phần chính là Broker - có nhiệm vụ xuất bản và Client - có nhiệm vụ đăng ký.

Hoạt động

Trong kiến trúc MQTT, MQTT Broker đóng vai trò là trung tâm lưu trữ và truyền tải thông tin chính, giúp quản lý các dữ liệu từ nhiều nguồn khác nhau một cách hiệu quả MQTT Client được chia thành hai nhóm chính là Publisher (người phát hành) và Subscriber (người đăng ký), đảm bảo hệ thống giao tiếp theo mô hình pub/sub linh hoạt và mở rộng Các thành phần này phối hợp nhịp nhàng để cung cấp một hệ thống IoT hiệu quả, đảm bảo việc truyền dữ liệu diễn ra liền mạch và tin cậy.

Broker đóng vai trò là cầu nối giữa Publisher và Subscriber, nhận thông tin từ Publisher và phân phối đến các Client đã đăng ký chủ đề liên quan trên Broker Đây là thành phần quan trọng giúp đảm bảo dữ liệu được truyền tải hiệu quả giữa các bên trong hệ thống Việc sử dụng Broker giúp tối ưu hóa quá trình giao tiếp, nâng cao khả năng mở rộng và linh hoạt cho hệ thống truyền thông MQTT.

Mô hình này được thiết kế để đảm bảo việc giao nhận thông tin diễn ra liên tục ngay cả khi đường truyền không ổn định, giúp duy trì kết nối đáng tin cậy trong các tình huống khó khăn Đây là giao thức lý tưởng cho các ứng dụng M2M (Machine to Machine - Máy đến máy), giúp các thiết bị tự động trao đổi dữ liệu hiệu quả và liên tục Việc tối ưu hóa khả năng hoạt động trong điều kiện mạng không ổn định giúp nâng cao hiệu suất và độ tin cậy của hệ thống IoT và các giải pháp tự động hóa.

Hình 2.4 Sơ đồ hoạt động của MQTT

Tính năng, đặc điểm nổi bật

 Dạng truyền thông điệp theo mô hình Pub/Sub cung cấp việc truyền tin phân tán một chiều, tách biệt với phần ứng dụng.

 Việc truyền thông điệp là ngay lập tức, không quan tâm đến nội dung được truyền.

 Sử dụng TCP/IP là giao thức nền.

Trong giao thức MQTT, có ba mức độ tin cậy (QoS - Quality of Service) để đảm bảo truyền dữ liệu hiệu quả QoS 0 cho phép broker hoặc client gửi dữ liệu chính xác một lần và quá trình gửi được xác nhận bằng giao thức TCP/IP, phù hợp với các tải trọng nhẹ và không yêu cầu xác nhận QoS 1 đảm bảo rằng dữ liệu được gửi ít nhất một lần và nhận được xác nhận từ phía nhận, mặc dù có thể xảy ra gửi lại nhiều lần nếu xác nhận chưa đến QoS 2 là mức độ cao nhất, trong đó dữ liệu chỉ được nhận đúng một lần thông qua quy trình bắt tay gồm 4 bước, giúp đảm bảo tính toàn vẹn của dữ liệu khi truyền giữa các thiết bị trong hệ thống IoT và mạng lưới.

 Phần bao bọc dữ liệu truyền nhỏ và được giảm đến mức tối thiểu để giảm tải cho đường truyền.

Ưu điểm

MQTT là giao thức truyền thông hiệu quả với các tính năng và đặc điểm nổi bật, mang lại nhiều lợi ích trong hệ thống SCADA (Supervisory Control And Data Acquisition) Đặc biệt, MQTT giúp truy cập dữ liệu IoT nhanh chóng, đáng tin cậy và tối ưu hóa quá trình giám sát và điều khiển từ xa trong các hệ thống tự động hóa công nghiệp Sử dụng MQTT trong SCADA đảm bảo khả năng mở rộng, giảm băng thông và nâng cao hiệu suất vận hành của hệ thống IoT.

 Truyền thông tin hiệu quả hơn.

 Tăng khả năng mở rộng.

 Giảm đáng kể tiêu thụ băng thông mạng.

 Rất phù hợp cho điều khiển và do thám.

 Tối đa hóa băng thông có sẵn.

 Rất an toàn, bảo mật.

 Được sử dụng trong các ngành công nghiệp dầu khí, các công ty lớn như Amazon, Facebook,

 Tiết kiệm thời gian phát triển.

 Giao thức publish/subscribe thu thập nhiều dữ liệu hơn và tốn ít băng thông hơn so với giao thức cũ.

Nhược điểm

 Máy chủ môi giới (Broker) không cần thông báo về trạng thái gửi thông điệp.

Do đó không có cách nào để phát hiện xem thông điệp đã gửi đúng hay chưa.

 Publisher không hề biết gì về trạng thái của subscribe và ngược lại Vậy làm sao chúng ta có thể đảm bảo mọi thứ đều ổn.

 Những kẻ xấu (Malicious Publisher) có thể gửi những thông điệp xấu, và cácSubscriber sẽ truy cập vào những thứ mà họ không nên nhận.

THIẾT KẾ HỆ THỐNG

Sơ đồ nguyên lý

Hình 3.1 Sơ đồ nguyên lý

Chọn linh kiện

ESP8266 là một vi mạch dạng SoC nổi bật với tính năng thu phát WiFi tích hợp sẵn bên trong, giúp dễ dàng kết nối không dây cho các dự án IoT Vi Mạch sử dụng CPU 32-bit với xung nhịp 80MHz, mang lại khả năng xử lý mạnh mẽ phù hợp cho các ứng dụng nhỏ Mặc dù số lượng các ngoại vi của ESP8266 không quá nhiều, nhưng vẫn đủ để đáp ứng nhu cầu của nhiều dự án đơn giản Để vận hành hiệu quả, ESP8266 cần kết nối với bộ nhớ Flash bên ngoài và có thiết kế antena tốt để tối ưu hóa tín hiệu WiFi Chính vì thế, các module tích hợp ESP8266 ngày càng phổ biến hơn so với việc sử dụng vi mạch ESP8266 đơn lẻ, mang lại sự tiện lợi và dễ dàng tích hợp vào các sản phẩm điện tử.

Các module phổ biến hiện nay bao gồm module ESP-WROOM-XX của nhà sản xuất ESPRESSIF và module ESP-XX của AI-Thinker, được sử dụng rộng rãi trong các dự án IoT Mạch phát triển ESP-8266 tích hợp sẵn module ESP8266 cùng với các chức năng cấp nguồn, giao tiếp máy tính và kết nối ngoại vi, giúp tối ưu hóa quá trình xây dựng các thiết bị kết nối Internet.

Có thể kể đến các mạch phát triển phổ biến như ESP8266 NodeMCU, ESP8266 Wemos D1, ESP8266 - IoT WiFi Uno.

NodeMCU là firmware dựa trên mã nguồn mở LUA được phát triển cho chip wifi ESP8266 Firmware NodeMCU đi kèm với bo ESP8266, tức là bo Dev NodeMCU.

Vì NodeMCU là một nền tảng mã nguồn mở, thiết kế phần cứng của nó có thể mở để chỉnh sửa hoặc sửa đổi hoặc xây dựng thêm

Nó hỗ trợ các giao thức truyền thông nối tiếp như UART, SPI, I2C,

Hình 3.3 Sơ Đồ Chân NodeMCU ESP8266

Nhãn GPIO Đầu vào Đầu ra Ghi chú

D0 GPIO16 không gián đoạn không hỗ trợ PWM hoặc I2C

MỨC CAO khi khởi động Sử dụng để đánh thức khi ngủ sâu

D1 GPIO5 OK OK thường được sử dụng như

D2 GPIO4 OK OK thường được sử dụng như

D3 GPIO0 kéo lên OK kết nối với nút FLASH, khởi động không thành công nếu kéo MỨC THẤP

MỨC CAO khi khởi động kết nối với đèn LED trên bo mạch, khởi động không thành công nếu kéo MỨC THẤP

D5 GPIO14 OK OK SPI (SCLK)

D6 GPIO12 OK OK SPI (MISO)

D7 GPIO13 OK OK SPI (MOSI)

SPI (CS) Khởi động không thành công nếu kéo MỨC CAO

RX GPIO3 OK Chân RX MỨC CAO khi khởi động

TX GPIO1 Chân TX OK

MỨC CAO khi khởi động đầu ra gỡ lỗi khi khởi động, khởi động không thành công nếu kéo MỨC THẤP A0 ADC0 Đầu vào analog X

Rơ le, còn gọi là relay, là công tắc điện từ dùng để đóng mở mạch điện cơ hoặc điện tử, chủ yếu nhằm chuyển đổi dòng điện nhỏ thành dòng lớn hơn phù hợp với yêu cầu của hệ thống Rơ le hoạt động dựa trên nguyên lý nhận tín hiệu điện để gửi lệnh bật hoặc tắt, điều khiển các thiết bị khác trong hệ thống Ngay cả khi tiếp điểm của rơ le ở trạng thái normally closed hoặc normally open, chúng vẫn chưa được cấp điện và chỉ thay đổi trạng thái khi dòng điện được đặt vào các tiếp điểm.

Module này được thiết kế để chuyển đổi một thiết bị công suất cao duy nhất từ NodeMCU ESP8266, giúp kiểm soát các thiết bị lớn một cách dễ dàng và an toàn Nó tích hợp rơ le có khả năng chịu tải lên đến 10A ở mức 250VAC hoặc 30VDC, phù hợp để điều khiển các thiết bị điện lớn trong các dự án tự động hóa Sử dụng module này, người dùng có thể mở rộng khả năng điều khiển từ xa của NodeMCU ESP8266 một cách hiệu quả và linh hoạt hơn.

Hình 3.4 Sơ đồ chân Module Relay 5V 1 kênh

Chân dùng để điều khiển rơ le, hoạt động dựa trên logic tích cực thấp Khi bạn kéo chân về mức LOW, rơ le sẽ được kích hoạt, còn khi kéo chân lên mức CAO, rơ le sẽ không hoạt động Điều này giúp đơn giản hóa quá trình điều khiển thiết bị điện tử và đảm bảo an toàn trong hệ thống Sử dụng chân điều khiển rơ le theo cách này là phương pháp phổ biến trong các mạch điều khiển tự động, nâng cao hiệu quả và độ tin cậy của hệ thống.

 GND: là chân nối đất.

 VCC: là chân cấp nguồn cho module.

 COM (Common): Đây là chân nên kết nối với tín hiệu (điện lưới trong nhà) bạn đang định chuyển đổi

Cấu hình NC (khoảng mở thường) được sử dụng khi bạn muốn rơle ở trạng thái tắt theo mặc định Trong chế độ này, rơle luôn đóng tiếp điểm và chỉ mở ra khi nhận được tín hiệu điều khiển từ Arduino hoặc NodeMCU ESP8266 Cấu hình NC thích hợp cho các ứng dụng yêu cầu ngắt mạch tự nhiên, đảm bảo an toàn và kiểm soát dễ dàng hơn trong hệ thống tự động hóa.

Rơle NO (normally open) hoạt động theo kiểu luôn mở cho đến khi nhận tín hiệu từ Arduino hoặc NodeMCU ESP8266 để đóng mạch Cấu hình này cho phép kiểm soát thiết bị dễ dàng, chỉ bật khi có lệnh điều khiển từ vi điều khiển, giúp giảm tiêu thụ năng lượng và nâng cao độ an toàn cho hệ thống.

3.2.3 Cảm biến chuyển động PIR HC-SR501

Cảm biến thân nhiệt chuyển động PIR HC-SR501 được sử dụng để phát hiện chuyển động của các vật thể phát ra bức xạ hồng ngoại như con người, con vật hoặc các vật phát nhiệt, với khả năng chỉnh độ nhạy và khoảng cách bắt xa gần nhằm đảm bảo hiệu quả hoạt động cao Cảm biến có thể điều chỉnh thời gian giữ tín hiệu sau khi kích hoạt thông qua biến trở tích hợp sẵn, giúp tùy chỉnh phù hợp với nhu cầu sử dụng Với cảm biến, thấu kính và board mạch chất lượng cao, cảm biến PIR HC-SR501 mang lại độ nhạy và độ bền vượt trội Thông số kỹ thuật nổi bật gồm phạm vi phát hiện 360 độ hình nón với khoảng cách tối đa 6m, hoạt động trong nhiệt độ từ 32-122 °F (0-50 °C), nguồn điện DC 3.8V – 5V, tiêu thụ dòng ≤ 50μA, thời gian báo hiệu có thể tùy chỉnh 30 giây, cùng khả năng điều chỉnh độ nhạy thông qua biến trở Kích thước PCB của cảm biến là 32x24mm, phù hợp cho nhiều ứng dụng tự động hóa và hệ thống an ninh.

 Chân VCC : nguồn hoạt động của cảm biến cấpvào từ 4.5V đến 12V.

 Chân OUT : Output kết nối với chân I/O của vi điều khiển hoặc relay Khi cho tín hiệu: o 3,3V có vật thể chuyển động qua. o 0V không có vật thể qua.

 Chân GND : chân đất nối GND.

 Chế độ H: Điện áp ra V_out tự động giữ nguyên 3.3V cho đến khi không còn chuyển động.

 Chế độ L: Điện áp ra V_out tự động chuyển về 0 khi hết thời gian trễ.

Khi khởi tạo, module cần khoảng 1 phút để khởi động Trong quá trình này, module sẽ tạo ra điện áp cao gấp từ 1 đến 3 lần so với mức bình thường, sau đó chuyển sang chế độ chờ để sẵn sàng hoạt động.

- Điện áp ra 1.5-3.3V, nếu sử dụng I/O 4.5-5.5V bạn nên lắp thêm trans.

Để đảm bảo hiệu suất tối ưu cho các module, cần tránh tiếp xúc trực tiếp với ánh sáng mạnh và nguồn nhiễu gần bề mặt lăng kính, qua đó giảm thiểu tín hiệu nhiễu không mong muốn Ngoài ra, hạn chế lắp đặt trong môi trường nhiều gió giúp duy trì ổn định và độ chính xác của hệ thống quang học.

Home Assistant

Để quản lý hệ thống smart home hiệu quả, việc sử dụng một nền tảng quản lý là rất cần thiết, trong đó Home Assistant là một trong những nền tảng phổ biến nhất Home Assistant là phần mềm đa nền tảng với nhiều phương pháp cài đặt khác nhau, phù hợp cho nhiều loại hệ thống khác nhau Trong bài viết này, chúng tôi sẽ trình bày cách cài đặt Home Assistant trên hệ điều hành Windows 10, giúp bạn dễ dàng bắt đầu vận hành hệ thống smart home của mình.

PC đã có sẵn phần mềm tạo máy ảo Oracle VM VirtualBox.

Bước đầu, ta sẽ mở trình duyệt web lên và tìm đến trang web https://www.home-assistant.io/installation/windows và sau đó, chọn vào “VirtualBox

Next, open Oracle VM VirtualBox to create a new virtual machine for running the Home Assistant installation you recently downloaded and extracted.

Mở cửa sổ VirtualBox lên và chọn “New”.

Cửa sổ “Create Virtual Machine” xuất hiện Để cài Home Assistant, ô “Type” chọn “Linux”, ô Version chọn “Other Linux (64-bit)”, còn ô “Name” là ô để ta đặt tên

Chọn dung lượng RAM phù hợp cho máy ảo tại cửa sổ “Memory Size”, lưu ý không vượt quá RAM hiện có của máy thật Sau đó nhấn “Next” để tiếp tục quá trình cấu hình.

Để cài đặt Home Assistant, bắt đầu bằng việc chọn file cài đặt đã tải xuống trong quá trình cài đặt máy ảo, sau đó tích vào ô “Use an existing virtual hard disk file” và chọn thư mục chứa file đó Trong cửa sổ Hard Disk Selector, nếu không thấy file mong muốn, bạn có thể nhấn “Add” để thêm file đã tải và giải nén trước đó, rồi chọn “Choose” và nhấn “Create” để tạo máy ảo Để đảm bảo quá trình cài đặt diễn ra suôn sẻ, cần thiết phải điều chỉnh một số thông số cấu hình cho máy ảo.

Ta chọn “Settings”, chọn “System” và chọn tab “Motherboard”, tích vào ô Enable EFI (special Oses only).

Tiếp tục, ta chọn “Network”, chọn tab “Adapter1”, trong ô “Attached to:”, chọn

“Bridged Adapter” để Home Assistant có địa chỉ IP trong mạng Lan cục bộ Rồi chọn OK.

Tại cửa sổ chính của VM VirtualBox, ta chọn máy ảo có tên ta vừa cài đặt rồi chọn “Start” để bắt đầu chạy máy ảo.

Máy ảo giả lập Home Assistant bắt đầu chạy và cài đặt.

HassIO được cài đặt thành công được cài đặt với địa chỉ IP 192.168.1.26

Để truy cập vào giao diện HassIO, bạn cần mở trình duyệt và nhập địa chỉ http://homeassistant.local:8123/ hoặc http://X.X.X.X:8123/ (X.X.X.X là địa chỉ IP của máy ảo Home Assistant vừa cài đặt) Quá trình này yêu cầu bạn tạo tài khoản và đăng nhập vào hệ thống Sau đó, bạn cần đợi khoảng 20 phút để hệ thống hoàn tất quá trình thiết lập và tạo giao diện người dùng cho HassIO.

Sau khi tạo xong tài khoản, Home Assistant sẽ yêu cầu bạn chọn vị trí để đặt làm trung tâm smarthome và đặt tên cho hệ thống của mình Sau khi hoàn tất việc chọn vị trí và đặt tên, bạn nhấn “Next” để tiếp tục cấu hình Giao diện ban đầu của Home Assistant thể hiện việc cài đặt đã hoàn thành, giúp bạn dễ dàng bắt đầu quản lý hệ thống smarthome của mình.

MQTT – Add-on Mosquitto broker

Sau khi cài đặt xong Home Assistant, bước tiếp theo là cài đặt Mosquitto broker để quản lý các thiết bị và thực thể trong hệ thống nhà thông minh Để thực hiện, bạn cần truy cập vào mục “Settings” rồi chọn tab “Add-ons” để cài đặt và cấu hình MQTT broker cho hệ thống của mình.

Ta click vào “ADD-ON STORE” sau đó gõ vào ô tìm kiếm “mqtt” để tìm kiếmAdd-on “Mosquitto broker” Sau đó click vào Add-on “Mosquitto broker”.

Rồi chọn “Install” để cài đặt vào Home Assistant.

Sau đó ta chọn “Start” để bắt đầu dịch vụ

Tạo user_mqtt để quản lý các bản tin MQTT:

1 Chọn “Settings” sau đó chọn “People”

3 Ở “Name” điền tên user Sau đó tích vào “Allow person to login” để cho phép tài khoản đăng nhập.

4 Tạo mật khẩu cho tài khoản.

- Sau đó tích vào “Can only login from the local network” để chỉ cho phép tài khoản đăng nhập từ mạng local, tăng tính bảo mật cho HomeAssistant.

- Không tích vào “Administator” để hạn chế quyền của user này không cho chạy dưới quyền admin.

5 Tích vào “Create” để tạo user.

1 Chọn “Settings”, sau đó chọn “Devices & Services”.

 Đặt tên cho broker là “core-mosquitto”.

 Username và mật khẩu lấy từ tài khoản user_mqtt vừa tạo ở trên Sau đó bấm Next  Submit  Finish.

Cài đặt Samba Share trên HomeAssistant để cấu hình “configuration.yaml”:

Tạo tài khoản và mật khẩu để quản lý file được chia sẻ Cấu hình địa chỉ IP theo địa chỉ

To access your HomeAssistant files, first save the IP address and then click "Start" to activate Samba Share Open File Explorer and enter the HomeAssistant IP address in the network path, then press Enter When prompted, enter the configured username and password for Samba Share to access your system files efficiently.

Trong quá trình xây dựng hệ thống, cần thêm các thực thể và chủ đề liên quan để đảm bảo kết nối MQTT hoạt động chính xác Cụ thể, trong đồ án, ta sẽ thêm hai thực thể là module relay 5V và cảm biến PIR 501, cùng với các dòng “state_topic:”, “command_topic:”, “availability_topic:” để thiết lập các kênh MQTT tương ứng Các giá trị “payload” phản ánh trạng thái của “state_topic”, “state” thể hiện lệnh điều khiển trong “command_topic”, và “payload_available” xác định trạng thái sẵn sàng của thiết bị Việc cấu hình đúng các chủ đề này sẽ giúp hệ thống IoT vận hành mượt mà và hiệu quả hơn.

“payload_not_available” tương ứng với giá trị của “availablility_topic”

Sau đó, ta sẽ phải check xem cấu hình đã đúng hay chưa Nếu sai thì phải sử lại cho đúng sau đó bấm “Restart”.

After selecting "OK" and waiting briefly for the server to restart, Home Assistant will recognize the newly added MQTT switch (relay) and binary sensor (PIR 501) This process ensures seamless integration of your devices into the smart home system, enabling efficient automation and control Restarting Home Assistant is a crucial step for the proper detection and functioning of MQTT devices, improving overall system reliability.

Để xác nhận MQTT Broker hoạt động, bạn cần sử dụng công cụ MQTT Explorer để kiểm tra cổng 1833 trên địa chỉ IP của MQTT broker Nếu kết quả hiển thị "connected", điều đó có nghĩa là Mosquitto broker đã hoạt động thành công Địa chỉ IP của máy ảo Home Assistant cần điền vào ô Module IP để thiết lập kết nối chính xác.

Sơ đồ thuật toán

Hình 4.1 Sơ đồ thuật toán

Ngày đăng: 25/12/2022, 15:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Tài liệu về HassIO: https://www.home-assistant.io/ Link
[2]. Giao thức MQTT: https://mqtt.org/ Link
[3]. Add-on Mosquitto broker: https://github.com/homeassistant/addons/tree/master/mosquitto Link
[8]. Arduino IDE: https://www.arduino.cc/en/software Link
[9]. Esp8266 board on Arduino: https://github.com/esp8266/Arduino Link
[10]. ESP8266WiFi lib on Arduino: https://arduinoesp8266.readthedocs.io/en/latest/ Link
[11]. MQTT lib on Arduino: https://github.com/knolleary/pubsubclient Link

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w