TÓM TẮT Tên đề tài: Hệ thống nhà thông minh ứng dụng công nghệ ZigBee Sinh viên thực hiện: Nguyễn Văn Thương - Phan Trần Minh Uyên Mã sinh viên: 1711505110129 - 1711505210134 Lớp: 17KTDT
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN, ĐIỆN TỬ
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
Mã sinh viên: 1711505210134
Đà Nẵng, 05/2021
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN, ĐIỆN TỬ
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
Mã sinh viên: 1711505210134
Trang 5TÓM TẮT
Tên đề tài: Hệ thống nhà thông minh ứng dụng công nghệ ZigBee
Sinh viên thực hiện: Nguyễn Văn Thương - Phan Trần Minh Uyên
Mã sinh viên: 1711505110129 - 1711505210134
Lớp: 17KTDT1
Đề tài xây dựng hệ thống nhà thông minh ứng dụng công nghệ ZigBee là một đề tài phù hợp với xu thế về công nghệ sử dụng cho một ngôi nhà trong thời đại internet of thing như hiện nay Đề tài này sẽ xây dựng hệ thống phần cứng và phần mềm để cung cấp cho những nhà phân phối, thương mại hóa đề tài để triển khai thực tế
Đề tài gồm báo cáo về các công nghệ được ứng dụng trong nền tảng IoT nói chung
và hệ thống nhà thông minh nói riêng Quá trình tính toán và thi công một mô hình nhà thông minh cơ bản với các tính năng giám sát và điều khiển thiết bị điện Bên cạnh đó gồm sản phẩm về phần cứng và phần mềm do nhóm tự xậy dựng Phần cứng gồm 3 thiết
bị bao gồm:
- 1 Node cảm biến: nhiệt độ, khí gas, độ ẩm
- 1 Node tải: bóng đèn, quạt, …
- 1 Getway: trung tâm thu thập, xử lý dữ liệu
Với node cảm biến có nhiệm vụ thu thập giá trị nhiệt độ, độ ẩm, khí gas sau đó được gửi
về getway thông qua sóng zigbe Node tải tiếp nhận các tín hiệu điều khiển từ getway gửi về để điều khiển các thiết bị theo mong muốn Đồng thời được tích hợp các nút nhấn
cơ để điều khiển như công tắc thông thường Getway là nơi thu thập các dữ liệu đề gửi lên sever và đồng thời cũng nhận lệnh điều khiển từ sever để gửi tín hiệu điều khiển tới các node tương ứng
Phần mềm gồm có phần mềm viết cho nhà quản lý và phần mềm cho người dùng
Cả hai đều được viết bằng ngôn ngữ C# Đối với phần mềm dành cho nhà quản lý sẽ được viết trên nền tảng windowns, phần mềm sẽ có nhiều chức năng dành cho nhà quản
lý mà phần mềm dành cho người dùng sẽ không có, đó là: đăng kí tài khoản mới và load
dữ liệu người dùng Đối với phần mềm dành cho người dùng sẽ được viết trên nền tảng iOS, Android Có chức năng đăng nhập tài khoản, hiển thị, giám sát các thông số nhiệt
độ, độ ẩm, khí gas và trạng thái của thiết bị Đồng thời có điều khiển bật tắt thiết bị bằng các nút nhấn trên giao diện
Trang 7LỜI NÓI ĐẦU Thế kỷ 21 mở ra với cuộc cách mạng công nghiệp 4.0 nhờ sự phát triển lớn mạnh của mạng internet toàn cầu và sự rộng rãi của các thiết bị smart phone Đó là nền tảng khỏi đầu cho sự phát triển của hệ thống IoT (internet of thing Hiện nay, IoT được ứng dụng vào nhiều lĩnh vực quan trọng trong đời sống con người như: y tế, giao thông, công nghiệp, nông nghiệp, … và điển hình nhất, phổ biến nhất các mô hình về IoT trong thời gian qua cũng như trong tương lai đó là ứng dụng của IoT vào trong ngôi nhà Khái niệm Smart home cũng ra đời từ đây bởi sự linh hoạt của ứng dụng cảm biến trong điều một ngôi nhà cũng như sự linh hoạt trong việc điều khiển mọi thiết bị trong chính ngôi nhà mà bất cứ khi nào hoặc bất cứ đâu cũng có thể thực hiện chỉ với một chiếc smart phone có hỗ trợ internet Với sự phát triển mạnh mẽ như vậy, rất nhiều mô hình smart home ra đời và được sự quan tâm của đông đảo từ người dùng lẫn các nhà đầu tư Từ
đó, nhiều công ty về smart home ra đời và đưa vào cuộc sống như: Lumi, Bkav, Xiaomi, OnSky, Acis…
Nắm bắt được nhu cầu quan trọng đó nhóm đã nghiên cứu một hệ thống “Nhà thông minh ứng dụng công nghệ ZigBee” dưới sự hướng dẫn của giảng viên TS Nguyễn Linh Nam, nhờ sự giúp đỡ của thầy trong suốt thời gian thực hiện đề tài, nhóm đã định hướng được hướng đi của đề tài cũng như xác định mục đích chính đề tài mang lại để khai thác tốt hơn lợi ích, hiệu quả mà đề tài mang lại cho cuộc sống thực tế Chúng em xin chân thành cảm ơn thầy TS Nguyễn Linh Nam và các thầy cô, cán bộ nhà trường,
đã hỗ trợ, động viên, quan tâm đến chúng em Lòng nhiệt thành, sự tâm huyết, kiến thức chuyên môn quý báu của các thầy cô đã giúp cho chúng em có thể hoàn thành tốt đồ án tốt nghiệp
Đề tài về smart home là đề tài cần sự tỉ mĩ trong thiết kế để có thể mang lại trải nghiệm thích thú cũng như sự hài lòng của người sử dụng Tuy nhiên, với thời gian thực hiện đề tài tương đối ngắn và kiến thức chuyên môn còn hạn hẹp cũng như hiểu biết về
sự trao chuốt trong các mô hình smart home còn ít ỏi Nên em chỉ thực hiện được các công việc cơ bản của một mô hình smart home Đề tài là thành quả kết tinh của sự cố gắng, nổ lực hết mình của chúng em, tuy nhiên chắc chắn sẽ còn rất nhiều điểm thiếu sót trong của phần cứng cũng như phần mềm, mong thầy, cô có thể bỏ qua sự thiếu sót còn tồn đọng trong đề tài và đóng góp thêm những vấn đề còn thiếu để đề tài của chúng
em có thể hoàn thiện hơn
Trang 8CAM ĐOAN
Chúng em xin cam đoan đề tài: “Hệ thống nhà thông minh ứng dụng công nghệ ZigBee” là đề tài được thực hiện của sinh viên Phan Trần Minh Uyên và Nguyễn Văn Thương dưới sự hướng dẫn của giảng viên TS Nguyễn Linh Nam Đề tài thực hiện dựa trên cơ sở nghiên cứu lý thuyết, khảo sát thực tế và ứng dụng kiến thức chuyên môn có được trong suốt thời gian học tài trường
Các số liệu, bảng biểu và những kết quả trong luận văn cũng như mô hình và sản phẩm là hoàn toàn trung thực, các nhận xét, kết luận được đưa ra từ những kiến thức và kinh nghiệm khi thực hiện đề tài
Toàn bộ nội dung liên quan đến phần cứng: cơ sở lý thuyết, giới thiệu linh kiện, thi công mô hình sản phẩm do Nguyễn Văn Thương thực hiện và đảm bảo tính trung thực, minh bạch của những nội dung trình bày trong luận văn
Toàn bộ nôi dung liên quan đến phần mềm: cơ sở lý thuyết, thuật toán, ứng dụng thực tế trên windowns, ứng dụng thực tế trên mobie do Phan Trần Minh Uyên thực hiện
và đảm báo tính trung thực, minh bạch của những nội dung trình bày trong luận văn
Sinh viên thực hiện
(Chữ ký, họ và tên sinh viên)
Sinh viên thực hiện (Chữ kí, họ và tên sinh viên)
Trang 9MỤC LỤC
MỞ ĐẦU 1
Chương 1: Tổng quan đề tài 2
1.1 Tổng quan về IoT 2
1.1.1 Khái niệm về IoT 2
1.1.2 Ứng dụng của IoT vào đời sống 2
1.1.3 Các thành phần của hệ thống IoT 6
1.2 Tổng quan về nhà thông minh 7
1.2.1 Cách thức hoạt động của nhà thông minh 8
1.2.2 Các tiêu chuẩn của nhà thông minh 9
1.2.3 Xu hướng phát triển của nhà thông minh 9
Chương 2: Cơ sở lý thuyết, giới thiệu về công nghệ 11
2.1 Giới thiệu về ZigBee 11
2.1.1 Khái niệm về ZigBee 11
2.1.2 Cấu trúc của ZigBee 11
2.1.3 Các giải tần hoạt động của ZigBee 12
2.1.4 Mô hình mạng ZigBee 13
2.1.5 Khả năng truyền tín hiệu 13
2.1.6 Các thành phần trong mạng ZigBee 14
2.1.7 Ưu điểm của ZigBee 14
2.1.8 Nhược điểm của ZigBee 15
2.2 Các giao thức truyền nhận dữ liệu trong hệ thống IoT 15
2.2.1 Message Queuing Telemetry Transport (MQTT) 15
2.2.2 HyperText Transfer Protocol (HTTP) 16
2.2.3 Constrained Application Protocol (CoAP) 17
2.3 Các phần cứng trong đề tài 19
2.3.1 Arduino Nano 19
2.3.2 ESP 8266 21
2.3.3 Mạch thu phát RF ZigBee CC2530 22
2.3.4 I2C LCD 23
2.3.6 Relay 25
2.3.7 Arduino ide 27
2.4 Nền tảng xây dựng ứng dụng 28
Trang 102.4.1 Các khái niệm về ngôn ngữ lập trình (phần mềm) 28
2.4.2 ngôn ngữ lập trình C# 29
2.4.3 Định nghĩa WPF 30
2.4.4 Giới thiệu về Xamarin 31
2.4.5 Khái niệm về Sever firebase 31
2.3.6 Phần mềm sử dung và các gói hỗ trợ 32
Chương 3: Thiết kế và thi công 33
3.1 Tổng quan về hệ thống 33
3.1.1 Sơ dồ hệ thống 33
3.1.2 Chức năng của các khối 33
3.2 Tính toán, thiết kế hệ thống 34
3.2.1 Tính toán, thiết kế node cảm biến 34
3.2.2 Tính toán, thiết kế node điều khiển tải 37
3.2.3 Tính toán, thiết kế getway 42
3.3 Xây dựng thuật toán và code ứng dụng 45
3.3.1 Phần mềm quản lý và cài đặt người dùng 45
3.3.2 thuật toán và giao diện cho form Login 45
3.3.3 thuật toán và giao diện của form Register 47
3.3.4 thuật toán và giao diện của form load account 49
3.3.5 thuật toán và giao diện form control 49
3.3.6 Phần mềm dành cho người dùng 51
3.4 Đánh giá và hướng phát triển 56
KẾT LUẬN 59
Trang 11DANH SÁCH CÁC BẢNG, HÌNH VẼ
Bảng 2.1: Thông số kỹ thuật Aruino Nano [20]
Bảng 2.2: Thông số kỹ thuật ESP 8266 Node Mcu [21]
Bảng 2.3: Thông số kỹ thuật module ZigBee CC2530 [22]
Bảng 2.4: Thông số kỹ thuật I2C LCD [23]
Bảng 2.5: Thông số kỹ thuật cảm biến nhiệt độ, độ ẩm DHT22 [24]
Bảng 2.6: Thông số kỹ thuật Relay [25]
Bảng 3.1 Giá trị tiêu thụ điên của linh kiện node cảm biến
Bảng 3.2 Dòng tiêu thụ của node nút nhấn
Hình 1.1: Khái niệm về IoT [1]
Hình 1.2 Ứng dụng IoT vão lĩnh vực y tế
Hình 1.3 Ứng dụng IoT vào lĩnh vực bán lẻ
Hình 1.4 Ứng dụng IoT vào sản xuất
Hình 1.5 Ứng dụng IoT vào sản xuất ô tô
Hình 1.6 Ứng dụng IoT vào lĩnh vực nông nghiệp
Hình 1.7 Các thành phần trong hệ thống IoT
Hình 1.8 Hệ thống nhà thông minh [4]
Hình 1.9 Cách thức hoạt động của nhà thông minh
Hình 1.10 Xu hương phát triển thiết bị thông minh [15]
Hình 2.1 Cấu trúc của ZigBee
Hình 2.2 Mô hình mạng ZigBee [8]
Hình 2.3: Các thành phần trong mạng ZigBee [9]
Hình 2.4 Dữ liệu truyền qua internet bằng giao thức HTTP
Hình 2.5 Dữ liệu truyền qua internet bằng giao thức CoAP
Hình 2.6 Giới thiệu Arduino nano [10]
Hình 2.7 Giới thiệu ESP 8266 Node Mcu [12]
Hình 2.8 Giới thiệu module CC2530 [14]
Hình 2.9 Giao tiếp I2C LCD với Arduino [16]
Hình 2.10 Giới thiệu cảm biến DHT22 [18]
Hình 2.11 Cấu tạo Relay [19]
Hình 2.12 Giới thiệu Relay [20]
Hình 2.13 Giao diện lập trình Arduino ide
Hình 2.14 Giới thiệu về ngôn ngữ lập trình [22]
Trang 12Hình 2.15 Giới thiệu về WPF
Hình 2.16 Giới thiệu về xamarin
Hình 3.1 Sơ đồ tổng quát hệ thống
Hình 3.2 Lưu đồ thuật toán Node cảm biến
Hình 3.3 Sơ đồ nguyên lý Node cảm biến
Hình 3.4 Mạch Pcb node cảm biến
Hình 3.5 Sơ đồ nguyên lý Node nút nhấn
Hình 3.6 Lưu đồ thuật toán Node điều khiển tải
Hình 3.7 Mạch Pcb Node điều khiển tải
Hình 3.8 Sơ đồ nguyên lý Getway
Hình 3.9 Lưu đồ thuật toán Getway
Hình 3.10 Mạch Pcb Getway
Hình 4.1 Form Login ứng dụng
Hình 4.2 Thuật toán cho form login
Hình 4.3 Form Register
Hình 4.4 thuật toán form Register
Hình 4.5 Form load account
Hình 4 6 Form load giá trị nhiệt độ phòng
Hình 4.7 form control device
Hình 4.8 Listener event from firebase
Hình 4.9 Giao diện Login trên Xamarin
Hình 4.10 Giao diện control trên Xamarin
Hình 4.11 Giao diện điều khiển trên Android
Hình 4.12 Giao diện sau khi xảy ra sự kiện longclick
Hình 4.13 Giao diện chăm sóc khách hàng
Trang 13DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT
KÝ HIỆU:
Nuget: Các gói hỗ trợ code, tương tự như các library
TextBox: Chỉ ô ghi nội dung từ bàn phím của người dùng
Button: Nút nhấn hoặc trạng thái trong ứng dụng
Label: Nhãn trong ứng dụng
SharedPreferences: Lưu trữ dữ liệu nền trên thiết bị
Longclick: Sự kiện nhấn giữ một nút nhấn
onCreate: Phương thức khởi tạo bắt buộc cho mọi activity
AlertDialog: Phương thức hỗ trợ nhập từ MessageBox
CHỮ VIẾT TẮT:
IoT: Internet of thing
PAN: personal area network
WPF: Windows Presentation Foundation là nền tảng xây dựng ứng dụng
MQTT: Message Queuing Telemetry Transport là một giao thức theo cơ chế xuất bản/đăng ký
Trang 14MỞ ĐẦU
Đề tài nhà thông minh ứng dụng công nghệ ZigBee sẽ đáp ứng cho người dùng những nhu cầu về điều khiển các thiết bị trong gia đình từ mọi nơi chỉ cần có internet và smartphone Cung cấp người dùng những tính năng bảo vệ gia đình trước những nguy hiểm do khí ga, cháy, … Cung cấp ứng dụng thân thiện với người dùng trên nền tảng smartphone
Phần cứng sẽ sử dụng các module cài sẵn fimware kết nối với giao thức ZigBee Và các module nano sử dụng lập trình nhúng điều khiển các luồng tín hiệu từ sever về module để thực hiện bật tắt thiết bị, nhận tín hiệu điều khiển từ các module để đẩy lên sever Ngoài ra còn có các chương trình tự động thực hiện khi xảy ra các tình huống khẩn cấp như cháy, rò rỉ khí ga, nhiệt độ và độ ẩm tăng cao, …
Phần mềm sẽ cung cấp ứng dụng cho người dùng trên nền tảng smart phone được viết bằng ngôn ngữ C# với giao diện xamarin, đẹp mắt và thân thiện cho người sử dụng
và còn có thể chạy được trên đa nền tảng (IOS và android) Ngoài phần mềm cung cấp cho người dùng thì còn sẽ có phần mềm quản lý Được viết bằng ngôn ngữ C# và sử dụng giao diện WPF Được viết bằng ngôn ngữ C# trên nền tảng windows dành cho nhà cung cấp và quản lý dịch vụ Cung cấp tài khoản cho người dùng, giúp lắp đặt, bảo dưỡng, cũng như cung cấp dịch vụ theo yêu cầu của khách hàng
Sau thời gian tìm hiểu và nghiên cứu thì chúng em cũng hoàn thành được sản phầm với các yêu cầu ban đầu đặt ra Phần cứng gồm 2 node và 1 getway với các chức năng thu thập dữ liệu nhiệt độ, độ ẩm, khí gas từ môi trường, đồng thời cũng nhận các tín hiệu điều khiển từ người dùng trên app điện thoại, máy tính để điều khiển các tải trong nhà như đèn, quạt Phần mềm chạy tương thích với các phiên bản hệ điều hành phổ biến hiện nay như ios, android, windows
Nội dung thực hiện bao gồm: nghiên cứu tổng quan, cơ sở lý thuyết của công nghệ ZigBee và các module liên quan, thiết kế hệ thống bao gồm phần cứng, phần mềm và sever để liên kết giữa phần cứng và phần mềm Sau đó thực hiện và kiểm tra từng phần, kiểm tra tín hiệu giữa phần cứng và sever, phần mềm và sever rồi sau đó mới thực hiện kết nối toàn bộ thành một hệ thống điều khiển từ phần cứng sang phần mềm và ngược lại
Trang 15Chương 1: Tổng quan đề tài
1.1 Tổng quan về IoT
1.1.1 Khái niệm về IoT
IoT (Internet of thing) được biến đến là một mạng lưới rộng của vạn trên toàn cầu kết nối với mạng Internet IoT là tất cả các thiết bị mà con người sử dụng đều có khả năng kết nối và tương tác với nhau qua mạng Internet Từ đó mà con người dễ dàng thu thập, xử lý và truyền tải thông tin [1]
Hình 1.1: Khái niệm về IoT [2].
1.1.2 Ứng dụng của IoT vào đời sống
Trong lĩnh vực chăm sóc sức khỏe: Một lượng dữ liệu khổng lồ được tích lũy trong ngành này từ kiến thức và thực tiễn Thông qua hồ sơ và thông tin chẩn đoán được thu thập thông qua thiết bị hình ảnh, màn hình và thiết bị cá nhân cầm tay giúp tăng cường khả năng đưa ra quyết định của các chuyên gia và cho phép bệnh nhân đóng vai trò tích cực hơn trong việc quản lý sức khỏe cá nhân của bản thân Giảm chi phí đi lại khám sức khỏe cho cộng đồng và ngoài ra còn có thể ứng dụng tiềm năng của machine learning để đưa ra các chuẩn đoán chính xác hơn và giảm công việc của những bác sĩ [3]
Trang 16Hình 1.2 Ứng dụng IoT vão lĩnh vực y tế [4]
Lĩnh vực bán lẻ: Ngày nay, các nhà bán lẻ lớn đã bắt đầu lắp đặt các camera, cảm biến và những thiết bị tự động khác Những thiết bị này có thể phát hiện sự hiện diện của mọi người ở các lối đi, số lượng sản phẩm trên kệ, các khu vực chuyển động, v.v… Họ có thể xác định được tình trạng của từng kệ hàng trong cửa hàng cũng như kiểm soát được mọi hoạt động bên trong cửa hàng Có được các thông tin này, các nhà bán lẻ có thể nhanh chóng thực hiện các thay đổi, chẳng hạn như chuyển đổi vị trí trưng bày hoặc thuê thêm nhân viên tư vấn bán hàng, và để kiểm tra xem những thay đổi đó có tác động tích cực hay không Ngoài ra việc phân tích có thể mang lại nhiều lợi ích khác từ việc giảm thiểu những thứ không cần thiết, tăng lợi nhuận và tối
ưu hóa nguồn hàng cũng như nguồn nhân lực [5]
Hình 1.3 Ứng dụng IoT vào lĩnh vực bán lẻ [6]
Trang 17Lĩnh vực sản xuất: Các mặt hàng sản xuất cần có thông tin về mặt hàng, với
số lượng hàng hóa lớn thì việc kiểm soát dữ liệu là điều vô cùng quan trọng Khả năng phân tích dữ liệu từ mọi liên kết của chuỗi giá trị sản xuất giúp các công ty tăng hiệu suất quản lý cũng như chủ động trong lĩnh vực logictis nhằm tối ưu lợi ích cho doanh nghiệp [7]
Hình 1.4 Ứng dụng IoT vào sản xuất [8]
Ngành sản xuất ô tô: Những năm gần đây, sự nổi dậy của lĩnh vực xe điện của tập đoàn tesla inc, đặc biệt là khả năng tự lái hay những dịch vụ thông minh trên ô
tô Những sản phẩm công nghệ đến từ lĩnh vực ô tô đã tạo cho người dùng những trải nghiệm mới, thúc đẩy hệ sinh thái giao thông tự động trong tương lai, giảm thiểu các rủi ro khi tham gia giao thông và tạo nhiều cơ hội cho doanh nghiệp [9]
Trang 18Hình 1.5 Ứng dụng IoT vào sản xuất ô tô
Lĩnh vực nông nghiệp: Ngày nay nông nghiệp không còn là lĩnh vực lạc hâu Thay vào đó là ứng dụng những công nghệ tiên tiến, hệ thống tự tưới hoặc điều khiển
từ xa, giám sát từ xa Các cảm biến độ ẩm, nhiệt độ, mức độ ánh sáng sẽ giúp việc giám sát và điều khiển phù hợp để sản phẩm nông nghiệp đạt chất lượng cao, thời gian tăng trưởng ngắn, tăng hiệu quả trong sản xuất cũng như giải quyết vấn đề về lương thực trên toàn câu [10]
Hình 1.6 Ứng dụng IoT vào lĩnh vực nông nghiệp [11]
Trang 191.1.3 Các thành phần của hệ thống IoT
Kết nối và đồng bộ hóa: Kết nối và đồng bộ hóa có chức năng tích hợp đồng bộ các giao thức chuyển đổi qua lại các kiểu dữ liệu vào một giao diện ứng dụng phần mềm đảm bảo việc truyền dữ liệu chính xác và tương tác với tất cả các thiết bị [12] Quản lý thiết bị: Là thành phần đảm bảo kết nối các thiết bị hoạt động bình
thường, chạy các bản vá lỗi và cập nhật những phiên bản mới cũng như ứng dụng đang chạy trên thiết bị hoặc các gateways ngoại biên (EDGE gateway) [12]
Cơ sở dữ liệu: Ngoài lưu trữ dữ liệu đang sử dụng trên thiết bị, cơ sở dữ liệu phải
có khả năng mở rộng để đáp ứng các yêu cầu cho các cơ sở dữ liệu dựa trên đám mây Ngoài ra cơ sở dữ liệu phải có khả năng mở rộng khối lượng, đảm bảo sự đa dạng, vận tốc và độ bảo mật tin cậy [13]
Quản lý và xử lý hoạt động: Chức năng đưa dữ liệu vào hoạt động dựa trên
nguyên tắc Event-Action-Triggers cho phép thực thi các hoạt động “thông minh” dựa trên dữ liệu từ cảm biến cụ thể
Phân tích: Thành phần này có thể được coi là bộ não của nền tảng IoT - có chức năng thực hiện các phân tích phức tạp từ việc phân cụm dữ liệu cơ bản và khả năng tự cải tiến để phân tích, dự đoán, trích xuất chính xác nhất những dữ liệu quan trọng trong luồng dữ liệu IoT [12]
Trang 20Hình 1.7 Các thành phần trong hệ thống IoT
1.2 Tổng quan về nhà thông minh
Nhà thông minh hay còn gọi là smarthome là một ngôi nhà được thiết kế, lắp đặt các thiết bị điện tử thông minh từ đó có thể điều khiển được toàn bộ hoạt động của ngôi nhà thông qua smartphone hay máy tính ở bất kỳ nơi đâu, bất cứ khi nào hoặc được điểu khiển bằng chính giọng nói của mình Người dùng có thể giám sát hay điều khiển các thiết bị như đèn, rèm cửa, tưới cây, hệ thống an ninh, …
Trang 21Hình 1.8 Hệ thống nhà thông minh [13]
1.2.1 Cách thức hoạt động của nhà thông minh
Cũng như cách kết nối máy tính với nhau qua mạng internet, thì các thiết bị trong nhà thông minh cũng cần kết nối với nhau bằng phướng pháp kết nối chuẩn gọi là internet Protocol (IP) Các thiết bị được kết nối với nhau thông qua trung tâm điều khiển
và được cập nhật giá trị và trạng thái thông qua sever Nhờ đó mà ta có thể điều khiển thiết bị trong ngôi nhà của nhà mình dù bạn ở bất cứ nơi nào
Hình 1.9 Cách thức hoạt động của nhà thông minh [14]
Trang 221.2.2 Các tiêu chuẩn của nhà thông minh
Với sự phát triển không ngừng của khoa học công nghệ, con người đã ngày càng nâng cao chất lượng đời sống của mình và luôn hướng tới một cuộc sống hiện đại và tiện nghi nhất Chính những nhu cầu thiết thực đó, những nhà nghiên cứu đã có rất nhiều ý tưởng sáng tạo phục vụ con người và ý tưởng “smart home” cũng xuất phát
tử nhu cầu thực tiễn như vậy Những công nghệ phục vụ cho ngôi nhà đã xuất hiện từ rất lâu nhưng gần đây mới được triển khai một cách rộng rãi Có rất nhiều công ty đã đưa ra giải pháp cho ngôi nhà thông minh, nhưng nhìn chung tất cả đều hướng tới các tiêu chí sau
Tự động hóa hoạt động của ngôi nhà Các thiết bị camera, cảm biến, giám sát sẽ thu thập thông tin của ngôi nhà như nhiệt độ, độ ẩm, lượng mưa…Các thông tin thu thập được sẽ được phân tích và xử lý Từ kết quả phân tích hệ thống sẽ đưa ra các điều khiển hoạt động phù hợp với ngôi nhà của bạn nhất Ngoài ra các tính năng như bật đèn, đóng mở rèm…sẽ hoạt động vừa dựa trên hệ thống, vừa dựa theo sự điều khiển linh hoạt của những người sống trong nhà
Đảm bảo an ninh, an toàn cho ngôi nhà Hiện nay hệ thống giám sát và bảo mật như camera, vân tay hoặc nhận dạng qua hình ảnh đã và đang được sử dụng ngày càng phổ biến Hầu như nhà nào cũng được trang bị đầy đủ, vì vậy các hệ thống nhà thông minh hiện nay đã đáp ứng được nhiều vấn đề về an ninh cho ngôi nhà của bạn Mang lại sự thoải mái cho người sử dụng Đây là tiêu chí đánh giá quan trọng nhất cho ngôi nhà Mỗi ngôi nhà sẽ được thiết kế hệ thống phù hợp nhất nhằm luôn mạng lại sự thoải mái cho người sử dụng Qua đó nâng cao chất lượng cuộc sống của mỗi ngưới sử dụng
Cung cấp các dịch vụ giải trí linh động, phù hợp với tính cách người dùng và mạng lại trải nghiệm thoải mái, đáp ứng nhu cầu giải trí của người dùng
Cung cấp khả năng giám sát, điều khiển từ xa Mỗi ngôi nhà thông minh đều được kết nối tới bộ quản lý trung tâm vì thế bạn có thể điều khiển mọi thiết bị nào ở nhà dù đang ở bất cứ đâu Chỉ với trong tay một thiết bị thông minh có internet
1.2.3 Xu hướng phát triển của nhà thông minh
Đối với các doanh nghiệp lớn về công nghệ thì cuộc cánh mạng công nghệ 4.0 và công nghệ IoT được xem là cơ hội lớn với thị trường lên đến hàng tỉ USD
Theo một số thống kê thì vào năm 2020 giá trị thị trường của Smarthome -nhà thông minh dự bảo đạt tới 43 tỉ USD Con số này cao gấp 3 lần so với năm 6 năm trước
đó Xu hướng nhà thông minh được dự báo như một hệ sinh thái trong tương lai giúp
Trang 23cải thiện toàn diện cuộc sống gia đình, là cả một công nghệ hiện đai chứ không chỉ là một thiết bị thông minh trong ngôi nhà
Với tiềm năng về thị trường to lớn này, nhiều nhà đầu tư đã xâm nhập thị trường nhà thông minh Việt Nam như Lumi, Bkav, … hay tới các nhà đầu tư nước ngoài khác Tuy chỉ mới phát triển từ 3 -5 năm nay, nhưng nhiều đơn vị trong nước đã nắm được thị phần lớn trong thị trường nhà thông minh tại Việt Nam như Lumi, Bkav
Các doanh nghiệp ở Việt Nam phần lớn cung cập các giải pháp nhà thông minh thiên về giải pháp giám sát, điều khiển, bảo mật thiết bị thông qua thiết bị smartphone hoặc microphone,
Hình 1.10 Xu hương phát triển thiết bị thông minh [15]
Tuy nhiên các giải pháp nhà thông minh ở Việt Nam còn hạn chế về ý tưởng, Các doanh nghiệp còn hạn chế về vốn Các nhà đầu tư thì không sẵn sàng đầu tư cho smart home vì cho rằng thị trường Việt Nam không béo bở
Với nhu cầu giải quyết các khó khăn trên nhóm đã tiến hành nghiên cứu để xây dựng một hệ thống nhà thông minh giá rẻ Với mong muốn mang công nghệ nhà thông minh đến gần hơn với chúng ta Những vẫn đảm bảo được các yếu tố cần thiết của một ngôi nhà thông minh Bao gồm việc giám sát các thông số của môi trường, phòng chống
gò rỉ khí gas gây nguy hại cho con người Và chức năng không thể thiếu đó là điều khiển thiết bị điện trong nhà qua điện thoại hay máy tính Tạo điều kiện cho người dùng có thể an tâm hơn khi không có nhà nhưng vẫn theo dõi được ngôi nhà thân yêu của mình
Trang 24Chương 2: Cơ sở lý thuyết, giới thiệu về công nghệ
2.1 Giới thiệu về ZigBee
2.1.1 Khái niệm về ZigBee
Theo các giao thức tiêu chuẩn thì ZigBee là tiêu chuẩn công nghệ không dây sử dụng tín hiệu vô tuyến kỹ thuật số năng lượng thấp cho các mạng khu vực cá nhân – PAN (personal area network) được ZigBee Alliance phát triển vào năm 1998
ZigBee hoạt động đucợ dựa trên tiêu chuẩn của IEEE 802.15.4 và được sử dụng để tạo các mạng yêu cầu tốc độ truyền dữ liệu thấp, hiệu quả năng lượng và kết nối mạng
an toàn Nó được sử dụng chủ yếu trong việc truyền tín hiệu tầm trung (vài trăm mét) Nên ứng dụng chủ yếu vào điều khiển thiết bị trong nhà, nông trại, cơ quan, …
Đây là tiêu chuẩn sử dụng tín hiệu có tần số ngắn và cấu trúc gồm hai tầng, tầng vật lý và tầng địa chỉ MAC giống với tiêu chuẩn 802.15.4 Có thể hiểu nôm na ZigBee
= ZigZag + Bee, dạng truyền thông ZigZag kiểu như tổ ong [16]
2.1.2 Cấu trúc của ZigBee
Ngoài 2 tầng vật lý và MAC thì ZigBee còn các tầng giúp hệ thống hoạt động ổn định bao gồm: Tầng mạng, tầng hỗ trợ ứng dụng và tầng đối tượng thiết bị (ZDO) và đối tượng ứng dụng [16]
Tầng vật lý: Cung cấp 2 dịch vụ đó là dịch vụ quản lý và dịch vụ dữ liệu (PHY) Tầng này có nhiệm vụ chính là kích hoạt/giảm kích hoạt các bộ phận nhận sóng, chọn kênh, phát hiện năng lượng, giải phóng kênh truyền, thu và phát gói dữ liệu trong môi trường truyền [16]
Tầng MAC: Tầng này sẽ cũng cấp dịch vụ dữ liệu và dịch vụ MAC Dịch vụ dữ liệu MAC sẽ quản lý việc thu phát thông qua dịch vụ dữ liệu (PHY) Nhiệm vụ của tầng này
là điều kênh truy cập và phát tín hiệu dựa truyền đi vào kênh [16]
Tần mạng: Cũng cung cấp 2 dịch vụ là mạng và bảo mật Dịch vụ mạng sẽ thiết lập
1 mạng lưới các thành viên tham gia hoặc loại bỏ thành viên nếu được đưa vào mạng khác, gắn địa chỉ cho hệ thống mới được kết nối, đồng bộ tín hiệu giữa các thiết bị và định tuyến các gói tin truyền đi Còn dịch vụ bảo mật có nhiệm vụ bảo vệ tầng MAC, các thông báo tín hiệu và khung tin theo tiêu chuẩn tiên quyết Giúp thông tin di chuyển giữa các nốt mạng được đảm bảo [16]
Tầng ứng dụng – APS: Giúp dò tìm các nốt trong vùng phủ sóng, duy trì và kết nối thông tin giữa các nốt mạng để có thẻ xác đinh được vai trò của thiết bị trong mạng, thành lập các mối quan hệ cũng như là thiết lập và trả lời các kết nối giữa các thiết bị [16]
Trang 25Tầng đối tượng thiết bị – ZDO: có trách nhiệm quản lý hoạt động của các thiết bị, định hình tầng hỗ trợ ứng dụng và tầng mạng, cho phép thiết bị tìm kiếm, quản lý các yêu cầu và xác định trạng thái hoạt động của thiết bị [16]
Tầng các đối tượng ứng dụng người dùng – APO: Đây là tầng mà sẽ tiếp xúc trực tiếp với các thiết bị và bạn có thể thêm thiết bị vào mạng nếu cần [16]
Hình 2.1: Cấu trúc của ZigBee [16]
2.1.3 Các giải tần hoạt động của ZigBee
ZigBee sẽ hoạt động ở một trong ba tầng sóng là:
- Dải tầng 868 MHz cho nước Nhật và khu vực Châu Âu: Trong giải này chỉ có 1 kênh duy nhất (kênh số 0) và tốc độ truyền trong giải này khá thấp chỉ khoảng 20kb/s
- Dải 915MHz ở khu vực Bắc Mỹ: Có 10 kênh tín hiệu với dải từ 1-10 với tốc độ truyền cao hơn (khoảng 40kb/s)
- Dải 2.4GHz sẽ ở các nước còn lại: dải này có đến 16 kênh tín hiệu từ 11-26 và tốc
độ truyền tải rất cao tới 250kb/s
- Với sóng ZigBee, bạn có thể điều khiển thiết bị từ xa dễ dàng hơn
- Công nghệ Module cũng thay đổi phụ thuộc vào dải sóng sử dụng và dùng công nghệ trải phổ rộng (Direct sequence spread spectrum – DSSS) Tuy nhiên,
Trang 26Module của dải 868 và 915MHz dùng kỹ thuật điều khác với dải 2.4GHz nên mổi Module sẽ có công nghệ khác nhau với những ưu nhược điểm riêng
- ZigBee có thể hoạt động ổn định trong khu vực có mật độ tín hiệu dày đặc và có nhiều tín hiệu gây nhiễu nhờ khả năng phát hiện và tiếp nhận các kênh tín hiệu một cách rõ ràng Công nghệ đa truy cập nhận biết sóng mạng CSMA (Carrier Sense Multiple Access) được sử dụng để xác định thời điểm truyền, và tránh được những va chạm trong đường truyền [16]
- Với dạng hình cây (Cluster network): Là một bản mở rộng của hình lưới với độ phủ sóng cao hơn và phức tạp hơn
Hình 2.2: Mô hình mạng ZigBee [16]
2.1.5 Khả năng truyền tín hiệu
Với công nghệ ZigBee, khả năng truyền giữa hai nút khoảng 50-70m với khả năng liên kết giữa các nút, ta hoàn toàn có thể mở rộng khả năng truyền
Dữ liệu sẽ được truyền theo từng gói, mỗi gói sẽ có một khung cô định và có tối đa 128 bytes và cho phép tải xuống tối đa 104 bytes
Trang 27Tiêu chuẩn này hỗ trợ địa chỉ tối đa lên đến 64bit cũng như địa chỉ ngắn 16bit Loại địa chỉ 64bit chỉ xác đinh được mỗi thiết bị có cùng một địa chỉ IP duy nhất Khi mạng được thiết lập thì số lượng địa chỉ sẽ quyết định số lượng nút có thể tồn tại trong một hệ thống
2.1.6 Các thành phần trong mạng ZigBee
Trong các mạng ZigBee cơ bản sẽ có 3 loại thiết bị là:
- ZigBee Coordinator (ZC): đây là thiết bị gốc, là giao điểm cuối cùng của các nút
Nó quy định địa chỉ của các nút và là thiết bị duy nhất cho phép truyền tín hiệu ra ngoài mạng lưới ZigBee [17]
- ZigBee Router (ZR): đây là bộ định tuyến trung gian có chức năng phát hiện dữ liệu và truyền dữ liệu, ngoài ra nó còn giúp giám sát hoạt động của các nút [17]
- ZigBee End Device (ZED): Gọi là thiết bị điểm cuối và nó sẽ giao tiếp với ZC và
ZR ở gần nó nhất Chúng có nhiệm vụ đọc thông tin từ các thành phần điều khiển
và thực hiện thực thi các hành động [17]
Hình 2.3: Các thành phần trong mạng ZigBee [17]
2.1.7 Ưu điểm của ZigBee
Nhờ vào khả năng truyền tải tín hiệu xa và ổn định nên ZigBee được sử dụng rất rộng rãi trong ngành công nghiệp, nông nghiệp có nhu cầu về tự động hóa đặc biệt là trong các hệ thống nhà thông minh Dưới đây là các ưu điểm lớn khi sử dụng ZigBee:
- Dễ dàng lắp đặt: Việc lắp đặt và cài đặt cấu hình cho các thiết bị dùng ZigBee rất
dễ dàng
- Kết nối internet: Hệ thống có thể kết nối internet thông qua ESP hoặc modole tương
tự Nhờ vậy, bạn có thể dễ dàng điều khiển các thiết bị thông qua kết nối Internet
từ bất kỳ đâu trên thế giới Giúp điều khiển nhà thông minh dễ dàng hơn
- Tiết kiệm năng lượng: ZigBee tiêu tốn rất ít điện năng cho việc hoạt động nên sẽ giúp tiết kiệm điện tối đa
Trang 28- Khả năng mở rộng cực lớn: Như đã đề cập, khoảng cách giữa hai nút có thể lên đến 50-70m Việc thêm mạng lưới các nút sẽ giúp mở rộng phạm vi điều khiển tạo nên một vùng rộng lớn
- Sử dụng mã hóa AES-128 với khả năng bảo mật cao
- Dễ dàng mở rộng: Một hệ thống có thể có hơn 65000 nút [18]
2.1.8 Nhược điểm của ZigBee
Mặc dù có nhiều ưu điểm nhưng ZigBee cũng có một vài nhược điểm ví dụ như:
- Với một khu vực diện tích quá rộng thì ta sẽ không thể phủ sóng hết bằng ZigBee Nhu cầu sử dụng không liên tục trong khu vực cũng gây ra bất lợi cho việc sử dụng ZigBee
- Dễ bị suy hao tín hiệu khi gặp vật cản hoặc các thiết bị gây suy hao tín hiệu khác
- Độ ổn định không bằng thiết bị cáp dẫn trực tiếp Tuy đây cũng là nhược điểm chung của tất cả các loại sóng khác [18]
2.2 Các giao thức truyền nhận dữ liệu trong hệ thống IoT
2.2.1 Message Queuing Telemetry Transport (MQTT)
MQTT là một giao thức theo cơ chế xuất bản/đăng ký, ở đó máy client có thể xuất bản hay nhận bản tin Nó giúp giao tiếp dễ dàng giữa nhiều thiết bị [19]
Nó là một giao thức nhắn tin đơn giản được thiết kế cho các thiết bị bị hạn chế và
có băng thông thấp, vì vậy nó là một giải pháp hoàn hảo cho các ứng dụng internet of things [19]
Nó là một giao thức cực kỳ nhẹ cho việc truyền tải bản tin đăng ký/xuất bản Nó rất hữu ích cho việc kết nối với vị trí ở xa nơi có băng thông không cao
Đặc điểm MQTT:
- MQTT có một số tính năng độc đáo khó có thể tìm thấy trong các giao thức khác Dưới đây là một số tính năng của MQTT:
- Nó không yêu cầu cả Client và Server phải thiết lập kết nối cùng một lúc
- Nó cho phép Client đăng ký lựa chọn chủ đề để họ có thể nhận được thông tin
họ đang tìm kiếm nhanh chóng
- Nó cung cấp truyền dữ liệu nhanh hơn, giống như cách WhatsApp / messenger cung cấp việc phân phối nhanh hơn Đó là một giao thức nhắn tin thời gian thực
- Nó được thiết kế như một giao thức nhắn tin đơn giản và nhẹ sử dụng hệ thống xuất bản / đăng ký để trao đổi thông tin giữa Client và Server
Trang 29- Nó là một giao thức máy với máy, tức là nó cung cấp giao tiếp giữa các thiết
bị
Kiến trúc MQTT:
- Message: là bản tin được truyền đi bởi giao thức trên toàn mạng cho ứng dụng Khi bản tin được truyền qua mạng, thì bản tin chứa các thông số sau: Dữ liệu của thông tin muốn truyền, Quality of Service (QoS), Thuộc tính,Tên chủ đề
- Client: Trong MQTT, người đăng ký (subscriber) và người xuất bản (publisher) là hai vai trò của máy client Các client đăng ký các chủ đề để xuất bản và nhận bản tin Nói một cách dễ hiểu, chúng ta có thể nói rằng nếu bất kỳ chương trình hoặc thiết bị nào sử dụng MQTT, thì thiết bị đó được gọi là Client Một thiết bị là một Client nếu nó mở kết nối mạng với máy chủ, xuất bản các bản tin mà các Client khác muốn xem, đăng ký nhận các bản tin mà
nó muốn nhận, hủy đăng ký các bản tin mà nó không muốn nhận và đóng kết nối mạng với máy chủ
- Server: Thiết bị hoặc một chương trình cho phép khách hàng xuất bản bản tin
và đăng ký nhận bản tin Server chấp nhận kết nối mạng từ Client, chấp nhận các thông báo từ Client, xử lý các yêu cầu đăng ký và hủy đăng ký, chuyển tiếp thông báo ứng dụng đến Client và đóng kết nối mạng từ Client
- Topic: Nhãn được cung cấp cho bản tin được kiểm tra so với sự đăng ký được biết bởi Servergọi là Topic
2.2.2 HyperText Transfer Protocol (HTTP)
HTTP là viết tắt của HyperText Transfer Protocol, một giao thức ứng áp dụng cho các hệ thống thông tin siêu phương tiện phân tán, cộng tác, cho phép người dùng giao tiếp dữ liệu trên World Wide Web Cụ thể hơn, HTTP là một giao thức yêu cầu/phản hồi không trạng thái, nơi các Client yêu cầu thông tin từ Server và Server sẽ phản hồi các yêu cầu này theo đó (mỗi yêu cầu độc lập với yêu cầu khác) Nó cho phép tìm nạp các tài nguyên, chẳng hạn như tài liệu HTML [19]
Dữ liệu HTTP truyền trên giao thức TCP, đảm bảo độ tin cậy của việc phân phối
và chia nhỏ các yêu cầu và phản hồi dữ liệu lớn thành các phần mạng có thể quản lý được [19]
Đây là cách nó hoạt động: lúc đầu, client gửi một gói SYN đến Server và sau đó Server sẽ phản hồi với gói SYN-ACK để xác nhận việc nhận thành công Tiếp theo, Client lại gửi một gói ACK, bao gồm một thiết lập kết nối – điều này cũng thường được gọi là bắt tay 3 bước Ngoài ra, Client gửi một yêu cầu HTTP đến Server để tìm tài nguyên và đợi nó phản hồi một yêu cầu Sau đó webserver sẽ xử lý yêu cầu, tìm tài
Trang 30nguyên và gửi phản hồi đến Client Nếu Client không yêu cầu thêm tài nguyên, nó sẽ gửi gói FIN để đóng kết nối TCP [19]
Giao thức HTTP được sử dụng để khởi động World Wide Web để truyền dữ liệu dưới dạng văn bản, âm thanh, hình ảnh và video từ Server đến trình duyệt web của người dùng và ngược lại HTTP hiện là nền tảng truyền dữ liệu của ứng dụng duyệt web ngày nay và được sử dụng rộng rãi trong hệ thống Internet of Things Mặc dù giao thức Http
có nhiều nhược điểm trong việc truyền dữ liệu và không phù hợp bằng các giao thức tối
ưu khác như MQTT, CoAP, AMQP sử dụng cho IoT, nhưng giao thức này vẫn phổ biến trong lĩnh vực nhà thông minh cũng như việc sử dụng nhiều trong bộ vi điều khiển và
vi xử lý tiên tiến Ví dụ, các hệ thống dựa trên thế hệ Raspberry Pi mới sử dụng giao thức http để truyền dữ liệu Arduino cũng sử dụng giao thức này để giao tiếp với các thiết bị khác Bên cạnh đó, có thêm 3 phiên bản mới của http ra đời nhằm bù đắp những nhược điểm của phiên bản cũ và được áp dụng cho những trường hợp người điều khiển mong muốn [19]
Hình 2.4 Dữ liệu truyền qua internet bằng giao thức HTTP
2.2.3 Constrained Application Protocol (CoAP)
CoAP là một giao thức đơn giản chi phí thấp được thiết kế riêng cho các thiết bị hiệu năng thấp (chẳng hạn như vi điều khiển) và nơi mạng có băng thông thấp Giao thức này được sử dụng để trao đổi dữ liệu M2M và rất giống với HTTP [19]
Mô hình tương tác CoAP tương tự như mô hình Client/Server của HTTP.CoAP sử dụng cấu trúc 2 lớp Lớp dưới là lớp bản tin được thiết kế liên quan đến UDP và chuyển tiếp không đồng bộ, Lớp yêu cầu/phản hồi liên quan đến phương thức giao tiếp và xử lý bản tin yêu cầu/phản hồi [19]
Trang 31Mô hình bản tin CoAP:Lớp bản tin hỗ trợ 4 loại bản tin: CON (có thể xác nhận), NON (không thể xác nhận), ACK (đã xác nhận), RST (đặt lại)
- Truyền tải bản tin tin cậy: Một bản tin có thể xác nhận (CON) được truyền đi truyền lại cho đến khi Server gửi lại bản tin xác nhận (ACK) với cùng một ID Sử dụng thời gian chờ mặc định và giảm thời gian đếm theo cấp số nhân khi truyền bản tin CON Nếu Server không thể xử lý bản tin truyền đến, nó sẽ phản hồi bằng cách thay thế bản tin xác nhận (ACK) bằng bản tin đặt lại (RST)
- Truyền tải bản tin không tin cậy: Một bản tin không yêu cầu gửi tin cậy, có thể được gửi bằng bản tin không tin cậy Nó sẽ không được xác nhận, nhưng nó vẫn
có ID để phát hiện trùng lặp
Ứng dụng CoAP cho nhà thông minh:
- Thiết bị thông tin, thiết bị điều khiển và thiết bị truyền thông trong mạng nhà thông minh có đặc điểm là chi phí thấp và nhẹ Do đó, CoAP có thể được coi là sự lựa chọn giao thức tốt nhất cho mạng truyền thông gia đình
- Mạng nhà thông minh cung cấp khả năng điều khiển và giám sát năng lượng tiêu thụ của các thiết bị trong nhà Hệ thống kiểm soát năng lượng sử dụng ổ cắm thông minh để giám sát thiết bị tiêu thụ điện năng để cung cấp thông tin điện áp, dòng điện và năng lượng khác Nó có thể nhận ra cảnh báo mất an toàn, điều khiển từ xa
và tiết kiệm năng lượng chủ động Mọi nút thu thập dữ liệu với Client, CoAP có thể trao đổi thông tin với các nút khác CoAP có thể được cài đặt trong mạng LAN hoặc Internet Không giống như nhiều giao thức không dây cho các thiết bị tự động trong gia đình, CoAP được thiết kế không bị giới hạn trong mạng cục bộ mà cung cấp nền tảng cơ bản của web
- Trong hệ thống trên, các nút thu thập dữ liệu bao gồm một proxy, ổ cắm thông minh và mô-đun thu thập dữ liệu không dây Thông tin năng lượng và thông tin môi trường của thiết bị được ổ cắm thông minh thu thập và chuyển đến mô-đun thu thập dữ liệu thông qua kênh không dây, sau đó gửi dữ liệu nối tiếp đến proxy
để xử lý và đóng gói dữ liệu Server điều khiển phân tích tất cả dữ liệu và lưu trữ chúng trong cơ sở dữ liệu Hệ thống tích hợp mạng gia đình và Internet, người dùng
có thể truy cập trang web của hệ thống để điều khiển từ xa công tắc, quản lý cấu hình, truy vấn mức tiêu thụ năng lượng, v.v
Trang 32Hình 2.5 Dữ liệu truyền qua internet bằng giao thức CoAP [19]
2.3 Các phần cứng trong đề tài
2.3.1 Arduino Nano
Arduino Nano là một trong những phiên bản của board Arduino Arduino Nano sử dụng MCU ATmega328P làm vi điều khiển trung tâm Nhờ việc sử dụng IC dán của ATmega328P thay cho IC cắm trên Aruino Uno nên Arduino nana được mở rộng them hai chân Analog Các số liệu tham khảo ở bảng 2.1:
Arduino Nano có 14 cổng in/out digital Với mức điện áp làm việc tối đa là 5V Mỗi chân có thể cung cấp hoặc nhận dòng điện 40mA và có điện trở kéo lên đến 50kΩ Các chân có thể được sử dụng làm đầu vào hoặc đầu ra, sử dụng các hàm cơ bản pinMode(), digitalWrite () và digitalRead ()
Arduino nano có 6 chân đầu vào tương tự nhưng Arduino Nano có 8 đầu vào tương
tự (19 đến 26), được đánh dấu A0 đến A7 Như vậy, bạn có thể kết nối tối đa 8 kênh đầu vào tương tự để xử lý Mỗi chân tương tự này có một ADC có độ phân giải 1024 bit (do
đó nó sẽ cho giá trị 1024) Theo mặc định, các chân được đo từ mặt đất đến 5V Tuy nhiên chúng ta có thể sử dụng điện áp tham chiếu từ 0 đến 3.3V bằng cách kết nối với nguồn 3.3V cho chân AREF (pin thứ 18) và sử dụng chức năng analogReference () Tương tự như các chân digital trong Nano, các chân analog cũng có một số chức năng khác
Trang 33Hình 2.6 Giới thiệu Arduino nano [10]
Trang 342.3.2 ESP 8266
Kít ESP8266 node Mcu phát triển dựa trên nền chíp Wifi SoC ESP8266 được tích hợp sẵn mạch nạp sử dụng chíp CP2102 trên borad ESP8266 có sẵn một lõi vi sử
lý chính vì thế mà người dùng có thể lập trình cho cho ESP8266 mà không cần thêm bất
kì vi xử lý nào nữa Có hai ngôn ngữ dùng để lập trình cho ESP8266, sử dụng phần mềm IDE của Arduino để lập trình nhờ sự hỗ trợ của bộ thư viện riêng hoặc có thể sử dụng phần mềm node MCU [21]
Hình 2.7 Giới thiệu ESP 8266 Node Mcu [21]
Microcontroller ESP8266 Tensilica 32-bit
Serial to USB Converter CP2102
Input Voltage (recommended) 7-12V
Trang 35PWM I/O Pins (Shared with Digital I/O) 10
DC Current per I/O Pin 12mA (Max)
Built-in LED Attached to digital pin 13
USB Connector Style Micro-B Female
Bảng 2.2: Thông số kỹ thuật ESP 8266 Node Mcu [21]
2.3.3 Mạch thu phát RF ZigBee CC2530
Mạch sử dụng IC CC2530 từ TI, được lập trình sẵn firmware, chúng ta sẽ phải cài đặt kênh, tốc độ baud và lập trình nhúng vào theo nhu cầu và mục đích sử dụng Module ZigBee sẽ giao tiếp với module ZigBee khác bằng giao thức ZigBee, Module giao tiếp với vi điều khiển bằng giao thức Uart [22]
Các cấu hình cho mạch thu phát RF ZigBee CC2530:
Bước 1: Không cấp nguồn, nhấn giữ phím key, sau đó cấp nguồn, quan sát 4 led trên module sẽ chớp nháy báo hiệu vào chế độ cấu hình, thả nút nhấn key ra chúng ta sẽ vào chế độ cấu hình baud cho kết nối UART đầu tiên, nhấn để thay đổi các led, dựa vào thông tin 4 led đối chiếu với tốc độ baud mà nhà phát hành ấn định
Bước 2: Sau khi chọn xong tốc độ baud phù hợp cho kết nối UART, nhấn giữ lại phím key để lưu thiết đặt sẽ thấy 4 led cùng chớp báo hiệu chuyển qua chế độ cấu hình tiếp theo: kênh - Chanel, có 16 kênh có thể lựa tùy theo trạng thái 4 led hiển thị, lưu ý các module muốn truyền nhận được với nhau phải có cùng chanel (không nhất thiết phải cùng baud vì baud chỉ dùng để giao tiếp với Vi điều khiển)
Bước 3: Sau khi chọn chanel, nhấn giữ phím key cho đến khi thấy 4 led cùng chớp báo hiệu lưu thành công và chuyển qua chế độ cấu hình tiếp theo: chọn kiểu truyền nhận,
có 2 kiểu truyền là Point to Point và Broadcast
Point to Point: chỉ duy nhất 2 module kết nối với nhau trong 1 Chanel, cấu hình 1 Module là A, 1 Module là B trong 1 Chanel và cả hai có thể truyền dữ liệu qua lại Boardcast: Nhiều Module kết nối với nhau trong 1 chanel, đây là mô hình mạng lưới trong ZigBee Để làm được điều này thì tất cả các module cần được cấu hình là
Trang 36Broadcast và chung 1 chanel, khi 1 module truyền, tất cả các module còn lại sẽ nhận, và dựa trên địa chỉ nhận để thực thi kết quả
Bước 4: Sau khi cấu hình kiểu truyền nhận, nhấn tì phím key lần cuối cùng sẽ thấy
4 Led cùng chớp báo hiệu hoàn thành cấu hình, tất cả các thông số được lưu và module bắt đầu hoạt động
Hình 2.8 Giới thiệu module CC2530 [22]
IC chính RF ZigBee SoC CC2530 từ TI
Chuẩn truyền sóng ZigBee 2.4Ghz
Tốc độ truyền sóng tối đa 3300bps
Khoảng cách truyền lý tưởng 250m
Giao thức kết nối UART TTL (3.3VDC hoặc 5VDC)
Trang 37theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ I2C LCD giúp kết nối màn hình Lcd với vi điều khiển dễ dàng hơn với giao tiếp I2C (SCL, SDA) Hỗ trợ cho tất cả các Lcd sử dụng driver HD44780 và tương thích với hầu hết các loại vi điều khiển Với các thông số kỹ thuật trong bảng 4: [23]
Hỗ trợ màn hình LCD1602,1604,2004 (driver HD44780)
Bảng 2.4: Thông số kỹ thuật I2C LCD [23]
Hình 2.9: Giao tiếp I2C LCD với Arduino [23]
2.3.5 Cảm biến nhiệt độ, độ ẩm DHT22
Cảm biến độ ẩm, nhiệt độ DHT22 (Temperature Humidity) Sensor sử dụng giao tiếp 1 Wire để kết nối và giao tiếp với Vi điều khiển DHT22 là phiên bản cải tiến của DHT11 với giá trị đo chính xác hơn và ổn định hơn trong quá trình sử dụng [24]
Trang 38Nguồn sử dụng 3~5VDC
Dòng sử dụng 2.5mA max (khi truyền dữ liệu)
Khoảng giá trị đo độ ẩm 0100%RH với sai số 2-5%
Khoảng giá trị đo nhiệt độ -40 to 80°C sai số ±0.5°C
Tần số lấy mẫu tối đa 0.5Hz (2 giây 1 lần)
Bảng 2.5: Thông số kỹ thuật cảm biến nhiệt độ, độ ẩm DHT22 [24]
Hình 2.10 Giới thiệu cảm biến DHT22 [24]
2.3.6 Relay
Vì trong đối tượng điều khiển của chúng ta là các tải xoay chiều nên không thể đóng các trực tiếp bằng Vi điều khiển mà phải thông qua các Relay trung gian để đảm bảo an toàn cho mạch [25]
Bản chất của relay là một nam châm điện và các tiếp điểm đóng cắt được thiết kế module hóa giúp dễ dàng lắp đặt Khi có dòng điện chạy qua cuộn dây nó sẽ hút tiếp điểm lại giúp mạch điện trở thành mạch kín [25]
Trang 39Hình 2.11 Cấu tạo Relay [25]
Hình 2.12 Giới thiệu Relay [25]
Trang 40Thông số Giá trị Điện áp tải tối đa AC 250V-10A / DC 30V-10A
Arduino ide được viết bằng ngôn ngữ lập trình Java là ứng dụng đa nền tảng platform) Ngôn ngữ code cho các chương trình của arduino là bằng C hoặc C++ Bản thân arduino ide đã được tích hợp một lượng lớn thư viện phầm mềm thường gọi là
(cross-"wiring", từ các chương trình "wiring" ban đầu sẽ giúp bạn thực hiện thao tác code dễ dàng hơn Một chương trình chạy trong arduino được gọi là một sketch, chương trình được định dạng dưới dạng filename.ino [ 26]