HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------
Lê Tùng Giang
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG TRÊN NỀN TẢNG
NODE RED PHỤC VỤ NHÀ THƠNG MINH
Chun ngành: Kỹ thuật Viễn thơng
Mã số: 8.52.02.08
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
HÀ NỘI-2021
Luận văn được hồn thành tại:
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
Người hướng dẫn khoa học: TS. NGƠ ĐỨC THIỆN
Phản biện 1: TS. NGUYỄN CHIẾN TRINH
Phản biện 2: PGS. TS. BẠCH NHẬT HỒNG
Luận văn đã được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học
viện Công nghệ Bưu chính Viễn thơng
Vào lục:
.......... giờ .......... ngày 15 tháng 02 năm 2022
Có thể tìm hiểu luận văn tại:
Thư viện của Học viện Cơng nghệ Bưu chính Viễn Thơng
1
MỞ ĐẦU
Cuộc cách mạng công nghiệp lần thứ tư đã tác động sâu rộng đến tất cả các lĩnh
vực trong đời sống xã hội, nếu đối với cuộc cách mạng công nghiệp lần thứ nhất, đã
biến xã hội từ đại bộ phận là nông thôn trở thành công nghiệp và đơ thị hóa. Đánh dấu
bằng sự có mặt của động cơ hơi nước đã làm thay đổi tồn bộ hình thái của các nghành
cơng nghiệp khi đó, đặc biệt là cơng nghiệp khai khống và dệt may. Ngày nay, thế
giới đã trải qua ba cuộc cách mạng như thế và đặt một chân vào cuộc cách mạng lần
thứ tư, các cơng nghệ điển hình để có thể minh chứng cho một quốc gia tham dự vào
cuộc cách mạng này chính là: trí thơng minh nhân tạo (Artificial Intelligence-AI), hệ
thống vật lý ảo (Cyber Physical System-CPS), công nghệ nano và công nghệ sinh học
(Nano technology and Bio technology-NanoTech, BioTech), Robotics, in 3D, xe tự lái,
và Internet vạnvật (Internet of Things-IoT)... Có thể thấy các nhóm cơng nghệ kể trên
phủ khắp các lĩnh vực nghiên cứu phức tạp nhất của giới khoa học. Đặc biệt với sự
bùng nổ của mạng internet tốc độ cao, thế giới khơng chỉ “phẳng ra” mà cịn “giao
thoa” với nhau, biểu hiện bằng sự kết nối của vạn vật. Mạng lưới vạn vật kết nối
internet cho phép thế giới ảo (các mạng ảo và mạng xã hội) có thể tích hợp ngữ nghĩa
với thế giới thực và tích hợp dữ liệu với các thiết bị IoT, đồng thời các thiết bị IoT có
thể tích hợp sự vật (trao đổi, tương tác) với thế giới thực.
Chính vì những yếu tố kể trên, học viên đã quyết định lựa chọn đề tài "Nghiên
cứu xây dựng ứng dụng trên nền tảng Node RED phục vụ nhà thơng minh". Sau q
trình tìm hiểu và nghiên cứu cũng như thực hiện các thử nghiệm nhất định, học viên đã
xây dựng luận văn với kết cấu gồm 3 phần chính như sau:
Chương 1: Tổng quan về nhà thông minh
Chương 2: Xây dựng mô hình hệ thống nhà thơng minh trên nền tảng
Node Red
Chương 3: Thiết kế chế tạo thử nghiệm
Do hạn chế về kiến thức của bản thân cũng như thời gian nghiên cứu, trong luận
văn không thể tránh khỏi những điểm thiết xót. Rất mong nhận được sự đóng góp ý
kiến của Thầy Cô giáo cũng như các bạn Học viên quan tâm đến đề tài để luận văn
được hoàn thiện hơn.
2
CHƯƠNG 1: TỔNG QUAN VỀ NHÀ THÔNG MINH
1.1 Khái quát bối cảnh phát triển IoT
Viện tư vấn quản lý toàn cầu của Mckinsey đưa ra dự đốn sẽ có 75 tỷ thiết bị
IoT được lắp đặt vào năm 2025, gấp 5 lần so với năm 2015, đồng thời tỷ lệ sử dụng
thiết bị IoT tăng từ 13% lên 25% trong giai đoạn từ năm 2014-2019, chi phí cho hệ
sinh thái liên quan đến IoT được dự báo sẽ tăng từ 726 tỷ USD vào năm 2019 lên 1,1
nghìn tỷ USD vào năm 2023[6]. Sự hình thành và phát triển của IoT gắn liền với cuộc
cách mạng công nghệ lần thứ tư. Cuộc Cách mạng công nghiệp lần thứ tư là sự kết hợp
của công nghệ trong các lĩnh vực vật lý, công nghệ số và sinh học, tạo ra những khả
năng sản xuất hồn tồn mới và có tác động sâu sắc đến đời sống kinh tế, chính trị, xã
hội của thế giới. Có thể khái quát bốn đặc trưng chính của Cách mạng cơng nghiệp lần
thứ như sau: dựa trên nền tảng của sự kết hợp công nghệ cảm biến mới, phân tích dữ
liệu lớn, điện tốn đám mây và kết nối internet vạn vật sẽ thúc đẩy sự phát triển của
máy móc tự động hóa và hệ thống sản xuất thông minh. Các công nghệ in 3D để sản
xuất sản phẩm một cách hoàn chỉnh nhờ nhất thể hóa các dây chuyền sản xuất khơng
phải qua giai đoạn lắp ráp các thiết bị phụ trợ - công nghệ này cũng cho phép con
người có thể in ra sản phẩm mới bằng những phương pháp phi truyền thống, bỏ qua
các khâu trung gian và giảm chi phí sản xuất nhiều nhất có thể.
1.1.1Định nghĩa internet vạn vật (IoT)
Internet vạn vật (IoT-Internet of Things) được định nghĩa là mạng kết nối các
đồ vật và thiết bị thông qua cảm biến, phần mềm và các công nghệ khác, cho phép các
đồ vật và thiết bị thu thập và trao đổi dữ liệu với nhau.
Hình 1.1: Cơ chế hoạt động của hệ thống IoT
Tiềm năng ứng dụng của internet vạn vật (IoT) trải rộng trên mọi lĩnh vực. Tuy
nhiên, mọi hệ thống IoT hồn chỉnh đều có đủ 4 bước: thu thập dữ liệu, chia sẻ dữ liệu,
xử lý dữ liệu, và đưa ra quyết định. Phần thu thập dữ liệu chính là bước tiền xử lý, nơi
mà các cảm biến hoặc thiết bị tiến hành thu thập dữ liệu từ môi trường, ở bước này
công nghệ cảm biến được phát huy, cảm biến càng hoạt động chính xác càng làm tăng
3
chất lượng của dữ liệu thu thập được. Dữ liệu có thể đơn giản là nhiệt độ, độ ẩm, ánh
sáng…
1.1.2 Hệ sinh thái IoT
Hệ sinh thái là một khái niệm có tính bao phủ rộng, khơng ám chỉ một đối
tượng cụ thể nào. Hệ sinh thái có thể được hiểu như một cộng đồng kinh tế dựa trên
nền tảng của sự tương tác giữa tổ chức và các cá nhân. Cộng đồng này sẽ sản sinh ra
các sản phẩm và dịch vụ có giá trị cho khách hàng và họ chính là một phần của hệ sinh
thái này. IoT được cấu thành từ nhiều thành phần tạo nên một hệ sinh thái IoT với mơ
hình phức tạp, đa dạng. Dựa trên cấu trúc của mơ hình IoT, hệ sinh thái IoT bao gồm
bốn cấu phần chính: phần cứng/hạ tầng kết nối, phần mềm nền tảng/phần mềm phân
tích dữ liệu lớn, dịch vụ và chính sách.
Phần cứng/hạ tầng kết nối: thiết bị IoT bao gồm các thiết bị phần cứng có khả
năng giao tiếp theo các chuẩn IoT được định nghĩa sẵn. Các thiết bị này rất đa dạng
tùy theo mục đích sử dụng như: thiết bị thơng minh cá nhân (máy tính, điện thoại,
đồng hồ…), thiết bị gia dụng (tủ lạnh, đều hòa nhiệt độ), hay các thiết bị quan trắc,
cảm biến đo các điều kiện của môi trường (nhiệt độ, độ ẩm, ánh sáng)…
Phần mềm nền tảng/phần mềm phân tích dữ liệu lớn: phần mềm nền tảng IoT
được coi là trái tim của hệ sinh thái IoT có các chức năng quản lý kết nối, tổng hợp,
lưu trữ và xử lý dữ liệu gửi về từ các thiết bị. Phần mềm được yêu cầu phải kết hợp tất
cả mọi thứ với nhau hoặc làm cho có thể sử dụng được và sự kết nối là cần thiết để
chia sẻ thơng tin hoặc giao tiếp với tồn bộ hệ thống. Trong kiến trúc hệ thống IoT,
phần mềm IoT được cấu thành bởi ba nhóm chính: nhóm phần mềm ở lớp thiết bị,
nhóm phần mềm ở lớp chuyển tiếp gateway, nhóm phần mềm ở lớp ứng dụng.
Nhóm phần mềm của lớp thiết bị chạy trên MCU (Micro Controller Unit) nhằm
hỗ trợ các tác vụ cụ thể, các tính năng chính của phần mềm chạy trên một thiết bị gồm
bốn tính năng chính: một là chứa hệ điều hành nhúng chẳng hạn như FreeRTOS trên
các kiến trúc ARM hay Tizen
Nhóm phần mềm ở lớp chuyển tiếp gateway hay các IoT gateway hoạt động
như một điểm tập hợp cho một nhóm các cảm biến và hay các thiết bị chuyển tiếp của
lớp mạng, nhiệm vụ của phần mềm ở lớp chuyển tiếp gateway là điều phối kết nối của
các thiết bị với nhau và với mạng bên ngồi. IoT gateway có thể là một phần cứng vật
lý hoặc một nhóm chức năng được tích hợp vào một “Things” lớn hơn và được kết nối
4
với mạng. Những tính năng chính của nhóm phần mềm ở lớp chuyển tiếp gateway bao
gồm năm mục chính:
Một là có hệ điều hành đa năng (chẳng hạn Linux)
Hai là có mơi trường chạy ứng dụng thời gian thực
Ba là có giao tiếp kết nối giữa IoT gateway với các giao thức kết nối khác để
kết nối các thiết bị với nhau đồng thời cũng kết nối với các mạng khác (Ethernet, wifi,
các mạng di động và mạng vệ tinh…) đảm bảo tính tin cậy, bảo mật của thơng tin.
Bốn là quản lý dữ liệu và nhắn tin, có tính ổn định và hỗ trợ trễ mạng, hỗ trợ
ngoại tuyến cũng như chuyển tiếp dữ liệu giữa các thiết bị một cách nhất quán.
Năm là khả năng quản lý từ xa cung cấp phương pháp cấu hình bật tắt các
gateway từ xa cũng như khởi động các ứng dụng đang chạy trên cổng.
1.1.3 Phát triển IoT ở Việt Nam
Cho đến nay thế giới đã bốn lần trải qua cuộc cách mạng công nghiệp, từ cuộc
cách mạng lần đầu tiên vào cuối thế kỷ mười tám đầu thế kỷ mười chín, với sự xuất
hiện mang tính đột phá của máy hơi nước. Với cuộc cách mạng công nghiệp lần thứ
tư, khả năng tương tác vạn vật, phân tích thời gian thực, ảo hóa hệ thống, hay dữ liệu
lớn càng tạo sự khác biệt rõ rệt giữa các quốc gia có tham gia hay chưa tham gia cuộc
cách mạng công nghiệp. Cùng với đó là sự thay thế người lao động bằng máy móc, sự
chênh lệch giữa chi phí sản xuất và lợi nhuận ngày càng được kéo giãn, tạo ra thách
thức không hề nhỏ cho các quốc gia đang phát triển. Trong bối cảnh thị trường IoT
trên thế giới đang ngày càng phát triển thì ở Việt Nam, có thể nhận thấy rằng đang ở
giai đoạn xây dựng cơ sở hạ tầng kết kết nối và nền tảng mở, đây là nhiệm vụ của các
đơn vị lớn như Viettel, VNPT.
1.2 Tình hình phát triển của nhà thơng minh
1.2.1 Lịch sử hình thành nhà thông minh
Thuật ngữ thông minh (smart) bắt đầu phổ biến khi điện thoại thông minh
(smartphone) xuất hiện, đặc biệt là từ thời điểm ra mắt iPhone vào năm 2007. Từ đó,
“smart” được gắn với “phone” một cách ngẫu nhiên rồi sau này được gắn với các thiết
bị công nghệ. Theo Peter Wadsworth, giám đốc đổi mới và kết nối tại cơng ty thiết bị
tồn cầu Siemens, khi nhắc đến công nghệ thông minh, người dùng chỉ nghĩ đến các
thiết bị trong túi của họ. Thực tế các công nghệ thơng minh cịn mở rộng ra nhiều vật
dụng trong khơng gian sống. Ngày nay, xã hội vơ tình đã gắn cụm từ thông minh với
5
điện thoại đến mức người tiêu dùng thường giới hạn tầm nhìn của bản thân với chiếc
điện thoại. Các hệ thống thông minh ngày nay thường chỉ việc thiết bị hay hệ thống đó
có các tính năng cơng nghệ nổi bật như khả năng thu thập dữ liệu môi trường, khả
năng chia sẻ thông tin và ra các quyết định điều khiển từ xa thông qua các kết nối
mạng.
1.2.2 Xu thế phát triển của nhà thông minh
Xuất hiện đã từ lâu nhưng thị trường nhà thông minh trong mười năm trở lại
đây bắt đầu thực sự tăng trưởng mạnh mẽ, nhà thơng minh khơng cịn dừng lại là sản
phẩm đắt đỏ và độc quyền cho giới siêu giàu mà dần phổ biến hơn. Tại thị trường Mỹ
dự kiến đạt 104.401 triệu đô la Mỹ vào năm 2021, với tốc độ tăng trưởng 15,75% một
năm, và khối lượng thị trường ước tính đạt 187.429 triệu đơ la Mỹ vào năm 2025. Tại
Việt Nam, thị trường smart home dự kiến sẽ đạt doanh thu 225,3 triệu USD vào năm
2021 và 330,4 triệu USD vào năm 2022. Tuy nhiên, trong báo cáo mới nhất, những số
liệu này đã có sự thay đổi, vì những ảnh hưởng trực tiếp của đại dịch Covid-19. Cụ
thể, doanh thu smart home tại thị trường Việt Nam được dự đoán đạt 183,9 triệu USD
vào năm 2021 và 251 triệu USD vào năm 2022. Với tốc độ tăng trưởng 25%/năm
trong giai đoạn 2021-2025, dự kiến đến năm 2025, tổng doanh thu thị trường smart
home Việt Nam đạt 449,1 triệu USD. Với khoảng 10,5% hộ gia đình trang bị smart
home, Việt Nam trở thành thị trường smart home đứng thứ 28 trên toàn cầu.[8] Ở nước
ta, từ hơn 10 năm trước Tập đồn cơng nghệ Bkav đã tiên phong đón đầu xu hướng
nhà thông minh với hệ thống Bkav SmartHome thế hệ đầu tiên.
Hình 1.2: Dự báo xu thế phát triển nhà thông minh tại Việt Nam
Các hệ thống và giải pháp phổ biến của nhà thông minh:
6
Hệ thống ánh sáng thông minh
Hệ thống âm thanh thông minh
Hệ thống an ninh, và giám sát cảnh báo
Hệ thống điều khiển các thiết bị gia dụng trong hệ sinh thái (rèm cửa, điều hịa,
bình nóng lạnh…)
Hệ thống điều khiển sinh cảnh (tưới nước tự động, lọc nước bể cá, hồ bơi…)
Hệ thống kết hợp điều khiển bằng giọng nói
Các tính năng phổ biến của nhà thơng minh:
Kiểm sốt chiếu sáng (bật/tắt, thay đổi độ sáng, theo ngữ cảnh, hẹn giờ,
logic,...)
Điều khiển mành, rèm, cửa cổng
Điều khiển thiết bị công suất cao (điều hịa, máy lạnh…)
Kiểm sốt hệ thống âm thanh đa vùng
Kiểm sốt hệ thống camera, chng hình
Hệ thống bảo vệ nguồn điện
Điều khiển, quan sát các thiết bị hệ thống an ninh, báo động, báo cháy
... và nhiều hệ thống khác.
Các đơn vị phát triển nhà thông minh nổi bật: KNX, Onsky, SamSung, BKAV,
Acsis, Lumi
Mơ hình phát triển nhà thơng minh phổ biến thường nằm trong ba loại gồm: căn
hộ thông minh (thường là chung cư), nhà phố thông minh (thường là nhà ba tầng), biệt
thự thơng minh (biệt thự ba tầng diện tích khoảng 150 m2 ). Cách thức bố trí các thiết
bị thông minh và cảm biến trong nhà thông minh ở Việt Nam nói riêng và thế giới nói
chung hiện chưa có tiêu chuẩn rõ ràng, nhưng các đơn vị cung cấp giải pháp thường
đưa ra một mẫu tối thiểu với từng kiểu mơ hình nhà để từ đó phát triển thêm theo yêu
cầu của người xử dụng. Với ba loại phân chia nhà thông minh đã liệt kê đồng thời dựa
trên đặc điểm nhà ở của Việt Nam, nhà thông minh sẽ có đặc điểm như sau:
Căn hộ thơng minh, nhà phố thông minh, biệt thự thông minh.
1.3 Một số giao thức không dây phổ biến
Mạng internet vạn vật được hiểu đơn giản là mọi thiết bị đều có thể kết nối vào
mạng internet để tham gia chia sẻ dữ liệu và nhận dữ liệu, sự phát triển không ngừng
nghỉ của các công nghệ thành phần làm hệ sinh thái IoT phát triển nhanh mạnh cả về
7
chiều sâu và chiều rộng. Các thiết bị trong hệ sinh thái IoT một mặt tạo ra các trải
nghiệm người dùng mới một mặt hỗ trợ các thiết bị cũ tham gia vào hệ thống.
Với khoảng 10 chuẩn kết nối nhà thơng minh khác nhau đang có trên thị
trường, thật là khó để quyết định đâu là thứ tốt nhất. Về cơ bản, có thể chia ra làm 2
loại: Kết nối có dây và kết nối khơng dây. Về giao thức kết nối có dây, có thể kể đến là
X10 và UPB, sử dụng hệ thống dây điện có sẵn trong nhà để giao tiếp, có độ tin cậy
cao nhưng thường chậm và khó mã hóa dữ liệu nhằm đảm bảo an tồn.
Hình 1.3: Một số giao thức khơng dây trong IoT
1.4 Giao thức wifi trong nhà thông minh
1.4.1 Tổng quan về giao thức wifi
Wifi là viết tắt của Wireless Fidelity tên gọi của chuẩn IEEE 802.11 được hiểu
là sử dụng sóng vơ tuyến để truyền tín hiệu, với tần số từ 2,4 GHz đến 5,0 Ghz. Loại
sóng này có khả năng kết nối với mạng khác hay với máy tính tương tự như sóng điện
thoại, truyền hình hay sóng radio. Hầu như các thiết bị thông minh ngày nay đều có
thể truy cập wifi, và coi giao thức này như chuẩn cần có của thiết bị IoT.
Hình 1.4: Các chuẩn wifi hiện hành
1.4.2 Phát triển nhà thông minh theo giao thức wifi
Nhà thông minh phát triển rất đa dạng, nếu dựa trên hiện trạng căn nhà để chia
ra các tiêu chuẩn như căn hộ thông minh, nhà phố thông minh hay biệt thự thông minh,
8
thì việc phân chia nhà thơng minh dựa trên các chuẩn kết nối của các thiết bị thông
minh cũng cho ta thấy sự đa dạng của hệ sinh thái này. Một số giao thức trao đổi dữ
liệu phổ biến có thể kể đến như:
CoAP (Constrained Applications Protocol): 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)
MQTT (Message Queue Telemetry Transport): 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.
HTTP (HyperText Transfer Protocol): cho phép trao đổi thông tin (chủ yếu ở
dạng siêu văn bản) qua Internet.
1.5 Kết luận
Chương 1 này đã giới thiệu tổng quan về hệ sinh thái IoT và các điểm đặc biệt
của nhà thông minh trong bối cảnh cuộc cách mạng công nghiệp lần thứ tư cũng như
lịch sử phát triển của hệ thống này, đồng thời chương cũng giới thiệu một số công
nghệ phổ biến áp dụng trong nhà thông minh.
9
CHƯƠNG 2: XÂY DỰNG MƠ HÌNH HỆ THỐNG NHÀ THƠNG
MINH TRÊN NỀN TẢNG NODE RED
2.1 Tổng quan công nghệ Node RED
Node RED là một cơng cụ lập trình dùng để kết nối các thiết bị phần cứng, API
và các dịch vụ trực tuyến với nhau. Về cơ bản, đây là một công cụ trực quan được thiết
kế cho hệ thống IOT nói chung và nhà thơng minh nói riêng, Node RED cũng cung
cấp những module hỗ trợ (plugin) có thể được sử dụng cho các ứng dụng khác nhằm
liên kết nhanh các luồng dịch vụ khác nhau. Node-RED là mã nguồn mở và được phát
triển bởi Emerging Technology Services của IBM và được tích hợp trong gói ứng
dụng khởi động IoT Bluemix của IBM (Platform-as-a-Service hoặc PaaS). Node-RED
cũng có thể được triển khai riêng bằng ứng dụng Node.js. Hiện tại, Node-RED là một
dự án của JS Foundation, Node-RED cho phép người dùng kết hợp các dịch vụ Web
và phần cứng bằng cách thay thế các tác vụ mã hóa cấp thấp phổ biến (như một dịch
vụ đơn giản giao tiếp với một cổng nối tiếp) và điều này có thể được thực hiện với
giao diện kéo thả trực quan. Các thành phần khác nhau trong Node-RED được kết nối
với nhau để tạo ra một luồng (flow) và sinh mã tự động.
Hình 2.1: Giao diện điều khiển nhà thơng minh trên Node RED
2.1.1 Thiết lập môi trường Node RED
Để thiết lập hoạt động của Node RED cần chuẩn bị môi trường có hệ điều hành
Ubuntu để khởi chạy hệ thống. Đây là một hệ điều hành mã nguồn mở với rất nhiều
10
tiện ích và là hệ điều hành thích hợp để phát triển các tính năng của hệ thống IoT nói
chung và nhà thơng minh trên nền tảng Node RED nói riêng. Ubuntu hồn tồn miễn
phí, và được chia sẻ rộng rãi trên trang chủ của Ubuntu với bản cập nhật mỗi sáu tháng
một lần và luôn tăng cường bảo mật. Cách cài đặt Ubuntu vào máy tính cũng tương
đối dễ dàng.
Để cài đặt Node RED ta tiến hành bằng các câu lệnh sau:
$ sudo apt-get install node.js -y
$ sudo apt-get install nodejs-legacy
$ sudo apt-get install git -y
$ git clone />$ cd node-red
$ sudo npm install n -g
$ sudo n stable
$ cd ..
$ sudo npm install -g grunt-cli
$ cd node-red
$ grunt build
$ node red
2.1.2 Một số thao tác cơ bản trên Node RED
Màn hình làm việc chính của Node RED sẽ như hình sau:
Hình 2.2: Cửa số làm việc của Node RED
11
Cửa sổ soạn thảo gồm 4 thành phần chính:
Tiêu đề ở trên, chứa nút Deploy, menu chính.
Bảng màu (palette ) bên trái, chứa các nút có sẵn để sử dụng.
Khơng gian làm việc chính (workspace) ở giữa, nơi các luồng được tạo.
Thanh sidebar bên phải.
Trong môi trường Node RED các chương trình được tổ chức dưới dạng các
Flow, các Flow có thể chạy song song và độc lập với nhau, người lập trình cũng có thể
thêm, sửa xóa các Flow hết sức dễ dàng.
Hình 2.3: Tạo Flow trong Node RED
Để xóa một Flow chỉ cần kích đúp vào tab của Flow đó và chọn Delete ở phần
panel hiện ra bên phải, cửa sổ này còn cho phép đổi tên và viết mô tả, giới thiệu các
thông tin cơ bản của luồng.
Hình 2.4: Cách xóa Flow trong Node RED
12
Việc thao tác giữa các luồng Flow cũng cần quan tâm đến việc Export (kết xuất
dữ liệu) để tiến hành lưu trữ, đồng thời Import dữ liệu từ Flow trở lại màn hình làm
việc. Node RED cho phép xuất nhập file dưới định dạng văn bản thông thường nên rất
thuận tiện cho việc thay đổi và hiệu chỉnh chương trình. Các thao tác sao chép, di
chuyển node giữa các Flow cũng được thực hiện hết sức dễ dàng qua các bước:
Bước 1: khối chọn những nodes muốn sao chép hoặc di chuyển
Bước 2: dùng Ctrl + C để sao chép các nodes; dùng Ctrl + X để di chuyển các nodes
Bước 3: chuyển sang Flow khác và dùng Ctrl + V để dán các nodes lại.
2.2 Tích hợp wifi trên nền tảng Node RED
2.2.1 Giao thức MQTT
MQTT(Message Queuing Telemetry Transport) là giao thức truyền message
theo mơ hình cung cấp th bao publish/subcriber.
Session: Một session- phiên làm việc được định nghĩa là kết nối từ client đến server.
Tất cả các giao tiếp giữa client và server đều là một phần của phiên.
Subscription: Không giống như sessions, subscription về mặt logic là kết nối từ client
đến topic. Khi thực hiện subscribed đến topic, client có thể trao đổi messages với
topic. Subscriptions có thể ở trạng thái ‘transient’ hoặc ‘durable’, phụ thuộc vào cờ
clean session trong gói Connect.
Publish: là hành động một client gửi dữ liệu lên kênh thông tin, mỗi khi kênh thơng
tin đó được cập nhật dữ liệu (dữ liệu này có thể được các client khác gửi lên) thì những
client đã đăng ký theo dõi kênh này sẽ nhận được dữ liệu cập nhật đó.
Message (message payload): có định dạng mặc định là plain-text, dạng chữ viết người
dùng có thể đọc được, tất nhiên dạng text này có thể được thay đổi theo nhu cầu người
dùng.
Topic: Có thể coi như một “đường truyền” logic giữa hai điểm là publisher và
subscriber. Về cơ bản, khi message được publish vào một topic thì tất cả những
subscriber của topic đó sẽ nhận được message này.
Retain: là một cờ (flag) được gắn cho một message của MQTT. Retain chỉ nhận giá trị
0 hoặc 1 ( tương ứng giá trị logic false or true). Nếu retain= 1, broker sẽ lưu lại
message cuối cùng của 1 topic kèm theo mức QoS tương ứng. Khi client bắt đầu
subscribe topic có message được lưu lại đó, client ngay lập tức nhận được message.
13
Unsubscribe: Client muốn hủy bỏ việc đăng ký với broker.
2.2.2 Thiết bị hỗ trợ giao tiếp wifi ESP8266
ESP8266 là một hệ thống trên chip (SoC), do công ty Espressif của Trung Quốc
sản xuất. Thiết bị này bao gồm bộ vi điều khiển Tensilica L106 32-bit (MCU) và bộ
thu phát Wi-Fi. Bo mạch chính gồm có 11 chân GPIO (Chân đầu vào / đầu ra đa dụng)
và một đầu vào analog, hỗ trợ lập trình đơn giản với ngơn ngữ bậc cao. Bản thân chip
ESP8266 có 17 chân GPIO, nhưng 6 trong số các chân này (6-11) được sử dụng để
giao tiếp với chip nhớ flash trên bo mạch. các module độc lập như dòng ESP -của AI
Thinker hoặc các bộ phát triển hoàn chỉnh như NodeMCU DevKit hoặc WeMos D1.
Các bo mạch khác nhau có thể có các chân cắm khác nhau, có ăng-ten Wi-Fi khác
nhau hoặc dung lượng bộ nhớ flash khác nhau trên bo mạch.
Hình 2.5: Sơ đồ khối của chip wifi ESP8266
2.3 Xây dựng mơ hình hệ thống nhà thơng minh
Hình 2.6: Mơ hình hệ thống nhà thơng minh
Mơ hình hệ thống nhà thơng minh được xây dựng bao gồm các phần sau:
14
Cảm biến: nơi thu thập dữ liệu của môi trường và phản hồi về bộ xử lý, đây cũng là
nơi để trung chuyển dữ liệu lên tầng cao hơn đồng thời xử lý dữ liệu thô từ cảm biến
thành các dữ liệu mà người dùng có thể quan sát được.
Thiết bị: dạng đầu cuối của hệ thống, nơi tiếp nhận sự điều khiển và thực thi các tác
vụ của người dùng, thiết bị ở đây có thể là các thiết bị cơ bản như bóng đèn, quạt…
cũng có thể là thiết bị thơng minh.
Wifi ESP8266: thiết bị có nhiệm vụ truy nhập vào hệ thống wifi của căn nhà thông
minh, đây cũng là một thiết bị nhúng lập trình bằng ngơn ngữ C, thiết bị có thể cấu
hình được mật khẩu và tài khoản đăng nhập wifi, cho phép xử lý dữ liệu từ cảm biến,
đưa ra các lệnh điều khiển đến thiết bị đầu cuối, đồng độ bản tin lên MQTT broker.
Node RED: cho phép xây dựng giao diện tương tác người dùng dashboard và nhúng
giao thức MQTT để vận chuyển và trao đổi dữ liệu trên nền tảng web. MQTT server
sẽ tạo ra các node mạng với điểm trung chuyển phần cứng là các điểm chứa ESP8266.
Đồng thời MQTT server cũng được cung cấp cơ chế bảo mật với username và
password. Trường username là một chuỗi có định dạng UTF-8 và trường password là
dữ liệu nhị phân với kích thước tối đa là 65535 bytes. Sự bất cập trong phiên bản
MQTT v3.1 là sử dụng mật khẩu với 12 ký tự đã được bãi bỏ ở phiên bản MQTT
v3.1.1. Ngoài ra phiên bản này cũng định nghĩa rằng: một client có thể có username
mà khơng cần password nhưng không thể tồn tại trạng thái ngược lại. Khi sử dụng xác
thực bằng tên người dùng và mật khẩu, MQTT broker sẽ đánh giá thông tin client dựa
trên cơ chế xác thực đã được triễn khai và gửi trả về gói tin phản hồi gọi là
CONNACK, trong đó bao gồm một mã trạng thái gọi là return code.
Giao diện Dashboard: thông qua Node RED giao diện người dùng được thiết kế trực
quan và đơn giản, giao diện tương tác trực tiếp trên web browser khơng phụ thuộc vào
thiết bị đó là máy tính nào hay điện thoại nào. Giao diện trên Node RED cũng có thiết
kế hết sức linh hoạt với các nút bấm, thanh trượt, đồ thị thời gian thực…
2.4 Kết luận
Chương này đã trình bày được nền tảng Node RED và hướng dẫn cơ bản để có
thể cài đặt, sử dụng nền tảng. Đồng thời chương cũng giới thiệu sơ lược được thiết bị
cho phép kết nối wifi và giao thức vận chuyển dữ liệu MQTT. Thông qua nền tảng
Node RED làm chủ đạo xây dựng được mô hình điều khiển cơ bản của hệ thống nhà
thơng minh.
15
CHƯƠNG 3: THIẾT KẾ CHẾ TẠO THỬ NGHIỆM
3.1 Xây dựng phần cứng và lập trình firmware
Như học viên đã trình bày ở chương 2 về việc lựa chọn thiết bị phần cứng sử
dụng giao tiếp wifi để cho phép các thiết bị truy cập mạng, module sử dụng là ESP 12ESP8266 với thiết kế nhỏ gọn, anten trực tiếp trên mạch và hỗ trợ anten kéo dài. Đồng
thời thiết bị hỗ trợ lập trình trực tiếp trên nền tảng ngơn ngữ C. Tại mục này của luận
văn sẽ trình bày chi tiết cấu tạo của phần cứng thiết bị được sử dụng và kết nối từ phần
cứng hỗ trợ giao tiếp wifi đến thiết bị điều khiển ngoại vi cuối cùng (một đèn
220VAC).
Hình 3.1: Sơ khối của hệ thống
3.1.1 Xây dựng phần cứng
Module Wifi ESP8266 ESP-12E là module phát triển dựa trên nền chip Wifi
SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên
dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các
ứng dụng trên ESP8266 trở nên rất đơn giản.
16
Hình 3.2: Thiết kế phần cứng ESP12-ESP8266
Thơng số kĩ thuật:
IC chính: ESP8266 Wifi SoC.
Phiên bản firmware: Node MCU.
Chip nạp và giao tiếp UART: CP2102.
GPIO tương thích hoàn toàn với firmware Node MCU.
Cấp nguồn: 5VDC MicroUSB hoặc Vin.
GIPO giao tiếp mức 3.3VDC
Tích hợp Led báo trạng thái, nút Reset, Flash.
Tương thích hồn tồn với trình biên dịch Arduino.
Để có thể lập trình cho module wifi và tiến hành các kết nối với phần cứng học viên
lựa chọn sử dụng kit nhúng clover alpha.
Hình 3.2: Thiết kế phần cứng của kit Clover Alpha
17
Clover Alpha Board là một Board chủ điều khiển do Clover Team nghiên cứu
phát triển. Dựa trên nền tảng Arduino, Clover Alpha Board được tích hợp một số thiết
bị như: Đèn LED, nút nhấn, cịi, mắt nhận tín hiệu hồng ngoại...; các ngoại vi khác
được kết nối thông qua một chuẩn duy nhất sử dụng cổng RJ11 giúp loại bỏ sự phức
tạp về kết nối của nền tảng Arduino và cho phép dễ dàng thực hiện các kết nối không
dây phổ biến như: Bluetooth, Wifi.
Thơng số kỹ thuật:
Kích thước
75mm x 67mm x 18mm
Khối lượng
48 gram
Vi điều khiển
ATMega328
Nền tảng lập trình Arduino, CloverBlock
Điện áp cung cấp
7-24V (DC- 5.5x2.1mm)
Điện áp hoạt động 5V (DC)
Dòng tiêu thụ tối đa 1A
Cổng giao tiếp
4 (RJ11 6P6C)
Giao tiếp hỗ trợ
IO, ADC, PWM, UART, SPI, I2C
USB
USB mini-B 2.0
Kết nối không dây Bluetooth 4.0 / Wifi (Tùy chọn)
Thiết bị tích hợp
Đèn LED, Nút nhấn, Cịi, IR
Kit clover cho phép kết nối các ngoại vi tích hợp một cách đa dạng, các cổng
kết nối giao tiếp theo hướng sử dụng cáp RJ11 chuẩn ethernet công nghiệp làm cho kết
nối vật lý trở nên chắc chắn và dễ kiểm sốt hơn. Đồng thời các ngoại vi tương thích
theo chuẩn của arduino cho phép các cảm biến đọc ghi dễ dàng.
Tên ngoại
STT
Chức năng
vi/cổng kết nối
Cung cấp nguồn 5V cho Board từ máy tính, sạc điện
thoại, …
1
USB
Nạp chương trình được lập trình từ máy tính
Giao tiếp truyền - nhận dữ liệu với máy tính
Cho phép cung cấp hoặc ngừng cung cấp nguồn cho
Board khi sử dụng nguồn ngoài như: Pin, Adaptor…
2
Nút On/Off
được kết nối qua Jack DC [3]
Cấp nguồn cho Board từ nguồn như pin, adapter.
3
DC Jack
(Khuyến cáo 7-24V)
Khởi động lại chương trình trên Board.
4
Nút Reset
Boot: Nạp chương trình từ máy tính xuống Board.
5
Nút Boot/Run Run: Cho phép sử dụng kết nối module Bluetooth hoặc
Wifi.
Cho phép Board mở rộng kết nối không dây sử dụng
6
Wifi/Bluetooth
module Bluetooth hoặc Wifi nếu cần thiết.
Ngoại vi được sử dụng dưới dạng dữ liệu đầu vào cơ
7
Nút nhấn
bản.
Ngoại vi được sử dụng dưới dạng dữ liệu đầu ra hình
8
Đèn LED
18
9
10
11
ảnh cơ bản.
Ngoại vi được sử dụng dưới dạng dữ liệu đầu ra âm
Còi
thanh cơ bản.
Ngoại vi được sử dụng dưới dạng dữ liệu đầu vào để
Mắt thu hồng
giao tiếp với các loại điều khiển hồng ngoại như: Điều
ngoại
khiển điều hòa, điều khiển tivi…
Bao gồm 4 Ports được sử dụng để kết nối với các thiết
bị ngoại vi (TBNV) khác như: TBNV nhập liệu đầu
Port
(Cổng kết nối) vào, TBNV đầu ra điều khiển, TBNV cảm biến, TBNV
hiển thị, TBNV Robot…
Bảng 3.1: Mô tả ngoại vi phần cứng Clover
STT
1
2
3
4
5
6
Ý nghĩa kết nối
Vào/Ra số (Digital
Ra Input/Output)
tương tự - PWM
UART
I2C
SPI
Vào tương tự (ADC)
1 chân ADC
2 chân ADC
4 chân ADC
Màu sắc cổng
Vàng (Yellow)
Cam (Orange)
Đen (Black)
Nâu (Brown)
Xanh lục
(Green)
Xanh lam (Blue)
Lam nhạt
Lam vừa
Lam đậm
Bảng 3.2: Mô tả thông tin kết nối phần cứng Clover
Digital I/O
ADC
Kết nối khác
1
4
1
PWM
2
4
2
UART
3
4
4
I2C
4
4
1
SPI
Port
Ký hiệu
Bảng 3.3: Mô tả thông tin các cổng kết nối Clover
Để tiến hành kết nối với ngoại vi đầu cuối là thiết bị dân dụng 220VAC, học
viên sử dụng một thiết bị cho phép kết nối theo chuẩn RJ11 và có thể nhận tín hiệu
điều khiển từ Clover Board.
19
Hình 3.3: Thiết bị kết nối 220VAC
Ổ cắm có thể cấp nguồn cho 3 thiết bị điện cùng lúc
Một đầu kết nối với nguồn điện dân dụng thông qua dây kết nối 220V
Một đầu kết nối với Clover Board cho phép Board điều khiển việc cấp điện
cho các thiết bị điện
Ổ cắm được đóng gói hồn chỉnh dễ dàng cho việc kết nối thay vì phải đấu
nối dây điện trực tiếp, an toàn khi sử dụng và tránh được các tai nạn ngồi ý
muốn.
Để có thể nhận biết trạng thái ánh sáng môi trường học viên sử dụng một cảm
biến ánh sáng, Dựa trên nguyên lý làm việc của quang điện trở là khi ánh sáng chiếu
vào chất bán dẫn làm phát sinh các điện tử tự do, tức sự dẫn điện tăng lên và giảm điện
trở của chất bán dẫn, các đặc tính điện và độ nhạy của quang điện trở phụ thuộc vào
vật liệu chế tạo. Trong bóng tối quang trở có điện trở lên đến vài MΩ, khi có ánh sáng
điện trở giảm xuống mức một vài Ω. Module được thiết kế với hai ngõ ra Analog và
Digital( TTL) đầu ra Digital được thiết lập ngưỡng sáng bằng chiết áp trên module,
xoay chiết áp về bên dấu “+” để tăng độ nhạy, xoay chiết áp về bên dấu “-” để giảm độ
nhạy. Khi có ánh sáng đầu ra Digital ở mức 0( 0V-TTL) khi che tối ở mức 1( 5VTTL).
Hình 3.4: Cảm biến thu thập dữ liệu ánh sáng
20
Để có thể thu thập giá trị nhiệt độ, độ ẩm của môi trường, học viên sử dụng một
cảm biến nhiệt độ độ ẩm tương thích với Clover kit. Module được kết nối thơng qua
cáp RJ11. Được tích hợp bộ đo nhiệt độ và độ ẩm cùng bộ xử lý trong một nhằm đơn
giản hóa kết nối và tăng độ chính xác cho việc ghi nhận nhiệt độ và độ ẩm mơi trường.
Độ chính xác cao, khả năng đáp ứng nhanh, khả năng kháng nhiễu tốt cảm biến là một
sự lựa chọn cho các dự án IoT.
Cảm biến với lõi DHT11 là cảm biến rất thơng dụng hiện nay vì chi phí rẻ và
rất dễ lấy dữ liệu thơng qua giao tiếp one wire (giao tiếp digital một dây truyền dữ liệu
duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp người dùng có được dữ
liệu chính xác mà khơng phải qua bất kỳ tính tốn nào.
Hình 3.5: Cảm biến nhiệt độ độ ẩm
Khi đã đầy đủ các thành phần kết nối trên bo mạch chính clover theo chuẩn
RJ11, đảm bảo quá trình đọc ghi dữ liệu được liền mạch để sẵn sàng cho chương trình
được xử lý bởi trung tâm là một vi điều khiển nhúng thuộc chuẩn nhúng phổ biến là
atmega 328P rất phổ biến trong xây dựng các hệ thống IoT.
Hình 3.6: Kết nối phần cứng hoàn thiện
21
Phần cứng kết nối hoàn thiện với cảm biến ánh sáng, cảm biến nhiệt độ độ ẩm
có nhiệm vụ thu thập các dữ liệu môi trường, hai cảm biến này được xử lý và lập trình
bởi board mạch clover và kết nối cới port dữ liệu tương ứng. Bo mạch có nhiệm vụ
truy nhập wifi ESP8266-ESP12 được tích hợp trên bo mạch với anten pcb cực kì nhỏ
gọn. Phần truy nhập wifi cũng được cấu hình và lập trình tài mục này.
3.1.2 Lập trình tầng firmware
Hình 3.7: chu trình đọc ghi dữ liệu từ cảm biến
Dữ liệu thu thập từ cảm biến sẽ liên tục được đọc ghi và cập nhật lên server lưu trữ
theo thời gian thực, chính vì vậy được xây dựng bởi hàm updatesensor (tồn bộ
chương trình đính kèm ở phụ)
void UpdateSensor() {
Temperature = DHT11_getTemperature();
Humidity = DHT11_getHumidity();
Light = LightSensor_ReadasAnalog(2,PERCENT);
IoT_SendData("IoTTemp",(String)(Temperature));
delay(5);
IoT_SendData("IoTHumidity",(String)(Humidity));
delay(5);
IoT_SendData("IoTLight",(String)(Light)); }
Cấu trúc của chương trình là chia các dữ liệu thành các bản tin “IoT send” rồi
thông qua giao thức MQTT để vận chuyển dữ liệu và đồng bộ hóa, các số liệu sẽ được
chuyển đổi thành dạng bản tin thích hợp của MQTT broker và được liên tục update.
22
Hình 3.8: Chu trình cập nhật dữ liệu lên MQTT server
Để có thể cung cấp server chứa giao thức MQTT học viên sử dụng nền tảng
cloudmqtt để chứa các dữ liệu thu thập được cũng như lắng nghe các bản tin truyền
nhận để thực hiện giao tiếp với tầng điều khiển dưới vi điều khiển nhúng và giao tiếp
với tầng dashboard giao diện phía trên.
IoT_WifiConfig("admin","12345689");
IoT_ServerConfig("m13.cloudmqtt.com","11152");
IoT_UserConfig("admin","123456");
IoT_Listen("IoTControl");
3.2 Xây dựng ứng dụng nhà thơng minh trên Node RED
Hình 3.9: Các node trong ứng dụng nhà thông minh trên Node RED
23
3.3 Chạy thử nghiệm hệ thống
Sau khi tiến hành khởi tạo và thiết lập các node trên Node RED, đồng thời load
firmware cho phần cứng, cho kết quả tương ứng như sau:
Hình 3.13: Kết quả xây dựng ứng dụng điều khiển nhà thông minh
Thông số chung của sản phẩm:
STT
Nội dung
Số lượng
1
Cảm biến
2
2
3
Điều khiển
Biểu đồ
3
3
4
Khác
Khả năng
Đo nhiệt độ(0-60oC), độ ẩm (0100%), ánh sáng (0-100%),
Điều khiển 220VAC
Vẽ biểu đồ thời gian thực
Biểu đồ màu thay đổi theo mức (ví
dụ: nhiệt độ trung bình biểu đồ màu
vàng, nhiệt độ cao màu đỏ
3.4 Kết luận
Chương cuối của luận văn tập trung vào xây dựng trực tiếp hệ thống trên nền
tảng Node RED và lập trình trên các phần cứng đã lựa chọn. Kết quả nhận được là
phần cứng đã hoạt động theo đúng tính năng, chương trình phần mềm hiển thị giao
diện và điều khiển tương thích với phần cứng.