Ứng dụng mạng cảm biến khơng dây và điện
tốn đám mây để giám sát môi trường và điều
khiển các thiết bị điện trong nhà
Huỳnh Minh Đức
Khoa Khoa Học Kỹ Thuật
Trường Đại Học Hoa Sen
Email:
[3], cường độ ánh sáng [4], áp suất khơng khí, nồng độ
các loại khí gây ơ nhiễm CO, CO2 , SO2 , NO2 , O3 [5],
nồng độ bụi trong khơng khí [6]. Các ứng dụng giám
sát mơi trường phát triển nhanh chóng, được áp dụng
vào giám sát môi trường sống của cây trồng, vật nuôi
[7] trong các nơng trại, giám sát mơi trường nhà kính
[8], giám sát chất lượng khơng khí bên trong nhà [9], ơ
nhiễm khơng khí mơi trường bên ngồi [10], giám sát
khí hậu [11] và giám sát môi trường rừng [12].
Trong dự án tại đại học Hoa Sen, chúng tôi xây dựng
hệ thống giám sát theo thời gian thực các chỉ số nhiệt độ,
độ ẩm khơng khí, ánh sáng, các loại khí gây ô nhiễm CO,
CO2 , NO2 của môi trường sống bên trong nhà. Hệ thống
này được sử dụng để theo dõi các chỉ số của khơng khí
bên trong các lớp học, phòng làm việc ở đại học Hoa Sen.
Bên cạnh chức năng giám sát mơi trường từ xa, chúng
tơi cịn nghiên cứu và tích hợp vào hệ thống chức năng
điều khiển từ xa các thiết bị điện, giúp mọi người chủ
động sử dụng các thiết bị điện một cách hợp lý. Trước
tiên, nhóm thử nghiệm trên nguyên mẫu bao gồm cảm
biến đo giá trị nhiệt độ, độ ẩm khơng khí và rơ le điều
khiển đèn hoặc máy lạnh. Thiết kế của hệ thống là mở
nên dễ dàng đặt thêm các cảm biến và các rơ le khác.
Các cảm biến được bố trí tại nhiều vị trí khác nhau trong
các lớp học, phòng làm việc để thu thập dữ liệu. Các dữ
liệu, sau đó, được gửi về trạm thu được gọi là Gateway
thông qua mạng cảm biến không dây (WSN).
WSN là sự kết hợp giữa hệ thống nhúng và truyền
thông không dây để truyền dữ liệu giữa các nút cảm
biến dựa trên mạng không dây tùy biến. WSN là tập hợp
các nút cảm biến bao gồm mạch vi điều khiển, các cảm
biến, mô đun truyền thông không dây và nguồn điện.
Cảm biến thu thập dữ liệu, mạch vi điều khiển xử lý dữ
liệu, các nút trao đổi một phần hay toàn bộ dữ liệu với
các nút khác, các trạm thu nhờ vào mô đun truyền thông.
Các nút cảm biến thường được cấp năng lượng bởi các
nguồn điện độc lập nên thời gian hoạt động phụ thuộc
vào nguồn điện này. Nhằm giảm năng lượng tiêu thụ, cơ
chế truyền đa chặng được áp dụng trong quá trình truyền
dữ liệu và Wifi [13], Bluetooth [14], ZigBee [4], [5] là
các giao thức truyền thông được triển khai trên WSN.
Tóm tắt—Bài báo này trình bày phương pháp kết hợp
mạng cảm biến khơng dây và điện tốn đám mây để thiết
lập hệ thống giám sát theo thời gian thực môi trường sống
kèm theo chức năng điều khiển các thiết bị điện bên trong
một tòa nhà. Hệ thống, được thiết kế theo kiến trúc đa
tầng, được sử dụng để giám sát môi trường, quản lý hệ
thống chiếu sáng, điều hịa khơng khí trong các lớp học ở
đại học Hoa Sen. Mục tiêu là tạo ra môi trường học tập,
làm việc phù hợp đồng thời giảm tiêu thụ điện năng. Mạng
cảm biến, theo chuẩn IEEE 802.15.4/ZigBee, bao gồm một
nút điều phối các thành phần trong mạng, các nút định
tuyến dữ liệu và các nút cảm biến được cấu tạo từ mạch
vi điều khiển Arduino/WeMos, mô đun truyền thông Xbee,
cảm biến DHT22 và rơ le. Nút cảm biến thu thập dữ liệu,
truyền dữ liệu theo các nút định tuyến về nút điều phối
đóng vai trị là một Gateway. Gateway truyền dữ liệu về
máy chủ trên cloud để xử lý, lưu trữ thông qua giao thức
MQTT. Hệ thống cung cấp giao diện web cùng ứng dụng
điện thoại cho người dùng giám sát các chỉ số môi trường
trong các lớp học tại những thời điểm khác nhau.
Từ khóa—Giám sát mơi trường, mạng cảm biến khơng
dây, điện tốn đám mây, ZigBee, Arduino, WeMos ESP8266,
Xbee S2, MQTT.
I. GIỚI THIỆU
Cách mạng công nghiệp 4.0, cùng những đột phá của
kết nối vạn vật (IoT), trí tuệ nhân tạo, điện toán đám
mây, dữ liệu lớn, diễn ra mạnh mẽ trong vài năm gần
đây, đã tạo nên các cuộc cách mạng trong sản xuất công
nghiệp, nông nghiệp và trong các dịch vụ phục vụ đời
sống xã hội. Song song với sự phát triển này, thế giới
cũng đang đối diện với nhiều thách thức trước sự biến
đổi của khí hậu, nạn ô nhiễm môi trường, vấn đề giảm
tiêu thụ năng lượng trong đó có điện năng. Do đó, tạo
mơi trường sống trong đó các chỉ số được giám sát, giảm
thiểu sự ô nhiễm, tiết kiệm năng lượng, đang được nhiều
tổ chức và chính phủ đặc biệt quan tâm.
Sự phát triển nhanh chóng của cơng nghệ điện tử viễn
thơng cùng nhiều cơng trình nghiên cứu IoT, trong hơn
thập niên qua, được áp dụng vào nhiều lĩnh vực đời sống.
Trong số đó, có nhiều cơng trình nghiên cứu liên quan
đến các ứng dụng giám sát môi trường [1]. Hệ thống giám
sát môi trường là hệ thống đo đạc, kiểm soát các chỉ số
của mơi trường như nhiệt độ, độ ẩm khơng khí [2] và đất
43
Hình 1. Mơ hình kiến trúc hệ thống tổng thể.
WSN được nhóm xây dựng dựa trên giao thức ZigBee
bởi vì các thiết bị hỗ trợ ZigBee có kích thước nhỏ,
chi phí thấp, cơng suất thấp, linh hoạt và dễ triển khai.
Xbee là mô đun truyền thông giữa các nút cảm biến với
Gateway. Mạch Arduino Uno là đơn vị xử lý dữ liệu ở
nút cảm biến. Tại Gateway, mạch WeMos D1 đóng vai
trị truyền dữ liệu từ Gateway về máy chủ đặt trên cloud,
từ đó người dùng có thể giám sát từ xa, theo thời gian
thực, các chỉ số môi trường bằng trình duyệt web trên
máy tính cá nhân, ứng dụng trên smartphone. Nhiệt độ,
độ ẩm tương đối của môi trường được thu thập bởi cảm
biến DHT22, các thiết bị điện được điều khiển bởi rơ le.
Trong các phần tiếp theo của bài báo, chúng tơi lần
lượt trình bày kiến trúc hệ thống, các thiết bị để thiết
lập WSN ở mục II, các phần mềm yêu cầu để lập trình
phát triển hệ thống ở mục III và quá trình xây dựng, thử
nghiệm hệ thống trên môi trường thật cùng với kết quả
thu được ở mục IV. Cuối cùng, trong phần V, chúng tôi
kết luận bài báo và định hướng mở rộng nghiên cứu.
thơng thấp, cơng suất thấp, chi phí thấp, được xây dựng
dựa trên chuẩn IEEE 802.15.4, là chuẩn sử dụng tín hiệu
vơ tuyến (RF) có tần sóng ngắn. Các thiết bị theo chuẩn
Zigbee hoạt động trên các băng tần 868MHz ở khu vực
châu Âu và Nhật Bản, 915MHz ở khu vực Bắc Mỹ,
2.4GHz ở các khu vực khác. Băng tần 2.4GHz có 16
kênh tín hiệu, 10 kênh tín hiệu ở băng tần 915MHz và 1
kênh tín hiệu ở băng tần 868MHz. WSN với Zigbee có
ba kiểu nút, nút điều phối (ZC), nút định tuyến (ZR) và
thiết bị đầu cuối (ZED), được cấu tạo từ mạch vi điều
khiển, mô đun truyền thông, cảm biến, rơ le, nguồn điện.
1) Mạch vi điều khiển: Các ZR, ZED được xây dựng
với mạch Arduino Uno Revision 3 (Uno) là trung tâm
xử lý dữ liệu. Arduino là nền tảng điện tử nguồn mở,
tạo ra các mạch vi điều khiển dễ sử dụng. Arduino
thường là mạch vi điều khiển trong các nguyên mẫu thử
nghiệm WSN. Mạch Uno hoạt động dựa trên vi điều
khiển ATmega328. Uno có 14 chân vào/ra kỹ thuật số
trong đó 6 chân có thể được dùng làm chân ra PWM,
6 chân vào analog có nhãn A0-A5, chi tiết Uno thể
hiện trên Hình 2a. ATmega328 có điện áp hoạt động
5V, bộ nhớ Flash 32KB trong đó 0.5KB được cấp cho
Bootloader, SRAM 2KB, EEPROM 1KB, tốc độ xung
nhịp 16MHz. Bên cạnh Uno [2], một số công trình đã
sử dụng mạch Arduino Mega [4], bộ vi xử lý ARM [16].
ZC được thiết lập với mạch WeMos D1 Revision 2
(WeMos) làm nhiệm vụ xử lý và truyền dữ liệu về máy
chủ. WeMos D1 R2, với mô đun Wifi Soc ESP-8266EX
ở trung tâm, là mạch vi điều khiển, truyền thơng khơng
dây chuẩn IEEE 802.11. WeMos có 11 chân vào/ra kỹ
thuật số, trừ chân D0, đều có ngắt, PWM và I2C, 1 chân
vào analog có nhãn A0 với các chi tiết được mơ tả trên
Hình 2b. WeMos có vi xử lý 32 bits, tốc độ xung nhịp
80/160MHz, bộ nhớ Flash 4MB, điện áp hoạt động 3,3V,
tích hợp Wifi 2,4GHz, kích thước 68.6mm x 53.4mm,
trọng lượng 21.8g. WeMos được thiết kế với hình dáng
và bố cục tương tự Uno nên hoạt động như Uno.
Các mạch Uno, WeMos được lập trình nhờ vào cổng
USB. Chương trình trên Arduino đều chạy trên WeMos.
II. KIẾN TRÚC HỆ THỐNG
Các ứng dụng giám sát môi trường, trong các cơng
trình trước đây, được phát triển dưới dạng ứng dụng chạy
trên máy tính cá nhân (PC) hoặc là ứng dụng web chạy
trên máy chủ. Đối với dạng thứ nhất [2], Gateway giao
tiếp với PC qua cổng nối tiếp, ứng dụng mang tính cục
bộ chỉ chạy trên một PC. Đối với dạng thứ hai, Gateway
giao tiếp với máy chủ qua mạng internet khơng dây [9]
hay có dây [15], người dùng dễ dàng truy xuất từ xa
thông tin từ máy chủ bằng trình duyệt web trên PC. Hệ
thống này, Hình 1, thuộc dạng thứ hai, được thiết kế theo
kiến trúc đa tầng, có ba tầng bao gồm tầng biên là WSN
làm nhiệm vụ thu thập dữ liệu, tầng giữa là máy chủ
chứa ứng dụng web xử lý dữ liệu, lưu trữ dữ liệu, trình
bày thơng tin và tầng trình bày là giao diện người dùng.
A. Yêu cầu phần cứng của tầng biên
ZigBee là một giao thức truyền thông chuẩn cho các
ứng dụng mạng khơng dây (WPAN) tầm ngắn có băng
44
(a) Arduino Uno R3
Hình 3. Xbee S2C cùng sơ đồ chân và các mạch giao tiếp Xbee.
cấu hình, gán địa chỉ và truyền nhận dữ liệu thơng qua
USB. Adapter có tích hợp IC chuyển đổi nguồn 3.3V và
IC FT232RL chuyển USB sang UART kết nối máy tính.
3) Cảm biến DHT22 và mô đun rơ le 5V: Cảm biến
nhiệt độ, độ ẩm kỹ thuật số DHT22 là cảm biến kép có
đầu ra là một chân mang tín hiệu kỹ thuật số của nhiệt
độ và độ ẩm đã được hiệu chỉnh. DHT22 có kích thước
nhỏ, tiêu thụ điện năng thấp, độ tin cậy và độ ổn định
cao. DHT22 đo độ ẩm dạng điện trở, có bộ phận đo
nhiệt độ NTC, khi kết nối với vi điều khiển 8 bit sẽ xử
lý nhanh, chống nhiễu, cho kết quả chính xác. DHT22
có 4 chân, Hình 4a, điện áp hoạt động 3.3–5.5V, dịng
điện 2.5mA, đo độ ẩm 0%RH–99.9%RH sai số ±2%, đo
nhiệt độ -40–80◦ C sai số ±0.5◦ C, tần số lấy mẫu 0.5Hz.
Rơ le là công tắc được vận hành bằng điện. Từ trường
tạo ra bởi dòng điện chạy trong cuộn dây bật đòn bẩy để
thay đổi vị trí cơng tắc. Rơ le có hai chế độ ON/OFF tùy
thuộc vào dòng điện trong cuộn dây. Mơ đun rơ le 5V
đơn nhỏ gọn, có opto và transistor cách ly giúp đảm bảo
an toàn cho mạch vi điều khiển. Rơ le có ba tiếp điểm
đóng ngắt NC, NO và COM, Hình 4b, điện áp hoạt động
5V, dịng điện 80mA, điện áp đóng ngắt tối đa AC250V10A hoặc DC30V-10A.
(b) WeMos D1 R2
Hình 2. Sơ đồ chân mạch Arduino Uno R3 và WeMos D1 R2.
2) Mô đun Xbee S2C và các mạch giao tiếp Xbee: Mô
đun truyền thông trên các ZC, ZR, ZED là mạch thu phát
Xbee S2C RF, sản phẩm của Digi International, Hình 3a.
Xbee trao đổi dữ liệu thông qua giao thức mạng không
dây IEEE 802.15.4/ZigBee ở băng tần ISM 2.4GHz, kết
nối nhanh mạng đa điểm hay mạng ngang hàng. Xbee có
địa chỉ MAC 64 bits và địa chỉ mạng 16 bits, có khả năng
kết nối 255 thiết bị trên mỗi mạng, tự động định tuyến
để tạo đường truyền dữ liệu giữa các nút. Xbee truyền dữ
liệu RF lên đến 250 Kbps trong phạm vi 60m bên trong
nhà và 1200m ở ngoài trời. Xbee cung cấp tập lệnh AT
(Transparent) hay chế độ API (Application Programming
Interface) để người dùng tự cấu hình Xbee. Xbee có 20
chân như trên Hình 3b, được thiết kế lý tưởng cho các
ứng dụng tiết kiệm điện, ở nơi khó lắp đặt mạng có dây.
Mạch giao tiếp Arduino Xbee (Arduino Xbee shield),
Hình 3d, tương thích với Xbee Standard và Xbee Pro,
giúp dễ dàng kết nối Xbee với mạch Arduino. Mạch
tích hợp IC chuyển nguồn 3.3V, Led báo trạng thái
(ON/SLEEP, RSSI, ASS) và công tắc để chọn chế độ
kết nối của Xbee với Arduino hoặc USB máy tính.
Với đế mạch thu phát Xbee USB (Adapter), Hình 3c,
người dùng kết nối Xbee với phần mềm trên máy tính để
B. Mơ hình mạng ZigBee
Các mơ hình mạng ZigBee thường gặp phổ biến là
mạng hình sao, hình cây và lưới. Trong mạng hình sao,
có duy nhất một ZC chịu trách nhiệm khởi tạo, quản lý
các ZED. Các ZED giao tiếp trực tiếp với ZC. Mơ hình
mạng hình sao đơn giản, dễ triển khai.
Trong mơ hình dạng lưới, mạng ZigBee được mở rộng
với một số ZR được quản lý bởi ZC. Mạng lưới cho phép
một nút giao tiếp với một nút lân cận bất kỳ để truyền
dữ liệu. Nếu nút nào đó bị lỗi, dữ liệu sẽ tự động được
định tuyến đến nút khác nên khi một đường truyền bị lỗi,
nút sẽ tìm đường truyền thay thế. Mạng lưới, thuộc dạng
mạng ngang hàng, là mạng truyền dữ liệu đa chặng.
45
Hình 5. Kiến trúc phần cứng ZC và ZR/ZED của WSN.
Hình 4. Cảm biến đo nhiệt độ, độ ẩm DHT22 và mô đun rơ le 5V đơn.
các thông điệp giữa hai tầng này. Chúng tôi sử dụng
giao thức MQTT thay cho giao thức HTTP [4], [5], [15]
vì MQTT là giao thức truyền thơng điệp theo mơ hình
publish/subscribe, sử dụng băng thông thấp, độ tin cậy
cao, hoạt động trong môi trường có độ trễ cao và có
đường truyền khơng ổn định. MQTT, phù hợp với các
thiết bị IoT, là giao thức lý tưởng cho các ứng dụng
M2M (Machine-to-Machine). Để thử nghiệm nhanh trên
nguyên mẫu, tầng giữa được triển khai trên Beebotte, một
nền tảng đám mây kết nối các đối tượng theo thời gian
thực, đã được tích hợp WS, DBMS và giao thức MQTT.
Tầng trình bày là giao diện người dùng. Đó là giao
diện web dành cho trình duyệt web trên PC hay ứng
dụng di động trên smartphone. HTTP và MQTT là các
giao thức giao tiếp giữa tầng giữa và tầng trình bày.
Chức năng của nút ZR trong mạng hình cây là mở
rộng phạm vi của mạng. Các nút ZED kết nối với nút
ZC hoặc ZR được gọi là nút con. Chỉ có nút ZC, ZR
mới có nút con. Mỗi nút ZED chỉ giao tiếp được với nút
cha. Nhược điểm của mạng hình cây là nếu nút cha bị
lỗi thì các nút con của chúng sẽ không thể giao tiếp với
các nút khác trong mạng cho dù hai nút ở gần nhau.
Với nhiều ưu điểm, WSN ở tầng biên được thiết kế theo
mơ hình dạng lưới. Ngồi mạng lưới [5], mạng hình sao
cũng được chọn cho WSN trong nghiên cứu [4], [15].
C. Thiết kế hệ thống
Hình 1 thể hiện kiến trúc tổng thể hệ thống. Tầng biên
là WSN/ZigBee có mơ hình dạng lưới, bao gồm ba thành
phần ZED, ZR, ZC. ZED và ZR đảm nhận truyền, nhận
dữ liệu RF trong mạng. ZR có tính năng định tuyến các
gói dữ liệu truyền trong mạng nhưng ZED thì khơng. Pin
là nguồn cấp điện chính cho ZED nên ZED luôn được
tối ưu sao cho công suất tiêu thụ là nhỏ nhất nhờ vào chế
độ ngủ. Mạch vi điều khiển trên ZED, ZR là Uno kết nối
với mô đun truyền thông Xbee nhờ vào mạch Arduino
Xbee shield, Hình 5b. Nguồn điện từ Uno được cấp cho
Xbee, cảm biến DHT22, mô đun rơ le 5V. Chân dữ liệu
của DHT22 và chân tín hiệu của rơ le kết nối với các
chân vào/ra kỹ thuật số của Uno như trên Hình 5b.
ZC khởi tạo PAN (Personal Area Network) bằng cách
chọn kênh tín hiệu và PAN ID thích hợp. ZC cho phép
các ZR, ZED tham gia PAN, truyền, nhận dữ liệu RF,
định tuyến dữ liệu truyền trong mạng. ZC là duy nhất
trong mạng ZigBee, là Gateway truyền dữ liệu từ WSN về
máy chủ. ZC được cấu tạo bởi mạch WeMos và mô đun
Xbee kết nối với nhau qua mạch Arduino Xbee shield,
Hình 5a. Xbee được cấp điện từ nguồn điện trên WeMos.
Tầng giữa là máy chủ (AS) chứa hai thành phần: máy
chủ ứng dụng web (WS) và hệ quản trị cơ sở dữ liệu
(DBMS). WS chứa ứng dụng web làm nhiệm vụ xử lý
dữ liệu từ tầng biên gửi về, lưu dữ liệu vào DBMS,
chuyển dữ liệu thành thông tin giám sát, chuyển lệnh
điều khiển thiết bị từ người dùng xuống tầng biên. Quá
trình truyền dữ liệu giữa tầng biên và tầng giữa được
thực hiện dựa trên giao thức MQTT (Message Queuing
Telemetry Transport) thông qua MQTT Broker điều phối
III. CÁC PHẦN MỀM YÊU CẦU
Phần mềm phát triển hệ thống gồm có cơng cụ để
thiết kế, lập trình hệ thống và phần mềm cùng thư viện
hỗ trợ xây dựng hệ thống. Các công cụ, phần mềm, thư
viện đều là phần mềm miễn phí, mã nguồn mở.
A. Cơng cụ thiết kế và lập trình
1) Lập trình Arduino: Mạch Arduino được lập trình
bằng Arduino IDE, một ứng dụng nguồn mở được tải
miễn phí từ website Arduino. Arduino IDE được viết
bằng Java, làm việc trên các nền tảng Windows, MacOSX
và Linux. Ngôn ngữ lập trình Arduino dựa trên ngơn ngữ
C/C++. Arduino IDE giúp dễ dàng viết, tải chương trình
lên mạch và tương thích với tất cả mạch Arduino.
Một ứng dụng khác là PlatformIO, hệ sinh thái nguồn
mở để lập trình IoT. Được viết bằng Python, chạy trên đa
nền tảng, PlatformIO khơng những có đầy đủ tính năng
của Arduino IDE mà cịn là cơng cụ lập trình thơng minh.
2) Lập trình Xbee: XCTU là một ứng dụng đa nền
tảng tương thích với Windows, MacOSX và Linux.
XCTU được thiết kế cho những người phát triển hệ thống
tương tác dễ dàng với các mô đun Xbee RF thông qua
giao diện đồ họa đơn giản dễ sử dụng. Nó cung cấp
các cơng cụ để thiết lập, cấu hình, kiểm tra các mô đun
Xbee RF. XCTU được tải miễn phí từ website của Digi
International. Khơng chỉ XCTU, CoolTerm, TeraTerm và
ZTerm cũng có chức năng cấu hình Xbee.
46
B. Phần mềm và thư viện
1) Ứng dụng dành cho người dùng: Giám sát môi
trường và điều khiển thiết bị từ xa được thực hiện trên
PC với trình duyệt web hoặc ứng dụng MQTT Dash trên
máy tính bảng, smartphone chạy Android. Với MQTT
Dash, người dùng dễ dàng tạo bảng điều khiển cho các
thiết bị và ứng dụng IoT. MQTT Dash có sẵn trên cửa
hàng Google Play.
2) Thư viện lập trình ZC, ZR, ZED: Dữ liệu trao đổi
giữa tầng biên và tầng giữa trải qua hai giai đoạn: trên
tầng biên và giữa Gateway với máy chủ. Các nút của
WSN ở tầng biên truyền dữ liệu qua mô đun Xbee được
điều khiển bởi các thành phần của thư viện xbee-arduino.
Xbee-arduino cho phép cả Xbee S1 và Xbee S2 giao tiếp
với nhau trong chế độ API. Thư viện này hỗ trợ hầu hết
các loại gói tin bao gồm TX/RX, AT Command, Remote
AT, I/O Samples, Modem Status.
Gateway được lập trình dựa vào thư viện Adafruit
MQTT để truyền thông với máy chủ qua giao thức
MQTT. Adafruit MQTT, một thư viện MQTT client, chạy
được trên các nền tảng Adafruit FONA, Arduino Yun,
ESP8266 và cả Ethernet shield. <ESP8266WiFi.h> kết
nối Gateway với máy chủ qua Wifi.
Thư viện <binary.h> tạo và quản lý gói tin trong Xbee,
<DHT.h> đọc dữ liệu từ cảm biến kiểu DHT.
Hình 6. Sơ đồ bố trí ZC, ZR và ZED.
Bảng I
THAM SỐ CẤU HÌNH XBEE TRÊN CÁC NÚT
PAN ID
JV
CE
NI
API mode
ZC
1411
Enabled [1]
Enabled [1]
Coordinator
2
ZR
1411
Enabled [1]
ZED
1411
Enabled [1]
Router
2
End Device
2
ZC kết nối với WiFi; đọc giá trị nhiệt độ, độ
ẩm nhận được từ ZR, ZED; gửi giá trị nhiệt
độ, độ ẩm lên Beebotte.
(b) Điều khiển thiết bị điện từ Beebotte
• Bật/tắt thiết bị từ bảng điều khiển Beebotte.
• ZC nhận u cầu từ Beebotte; kiểm tra tên
phịng (ví dụ A201) trong yêu cầu; chuyển yêu
cầu đến ZR, ZED tương ứng.
• ZR, ZED kiểm tra lệnh trong yêu cầu từ ZC,
nếu là 0 thì tắt, nếu là 1 thì bật.
3) Bảng điều khiển Beebotte: Beebotte là một nền
tảng đám mây được thiết kế để vận hành các ứng dụng
IoT, giao tiếp theo thời gian thực có hỗ trợ REST,
WebSockets và MQTT. Chúng tôi xây dựng bảng điều
khiển trên Beebotte giám sát dữ liệu gởi về từ WSN.
Mỗi nút ZR, ZED được quản lý bởi một kênh trên bảng
điều khiển, mỗi tài nguyên trên một kênh đại diện cho
một kiểu dữ liệu được thu thập trên một nút. Như vậy,
kênh là tập hợp các tài nguyên được biểu diễn: kenh =
{(tai nguyen, du lieu)1 , . . . , (tai nguyen, du lieu)n }.
Các kênh có nhãn QA201-QA206 được tạo ra trên
bảng điều khiển tương ứng với các nút E, D, B, C, F,
G. Mỗi kênh có hai tài nguyên nhiệt độ và độ ẩm để
lưu trữ nhiệt độ, độ ẩm của môi trường, được thể hiện:
QA201 = {(T emperature, T ), (Humidity, RH)}.
Chức năng điều khiển các thiết bị điện được quản lý
bởi một kênh chứa sáu tài nguyên. Mỗi tài nguyên có
kiểu dữ liệu On/Off được tạo bởi Widget On/Off trên
bảng điều khiển. Kênh điều khiển có dạng: Control =
{(A201, On/Of f ), . . . , (A206, On/Of f )}.
•
IV. TRIỂN KHAI HỆ THỐNG VÀ KẾT QUẢ
A. Phát triển nguyên mẫu thử nghiệm
Chúng tôi triển khai nguyên mẫu thử nghiệm tại Cơ
sở Quang Trung 2, Đại học Hoa Sen. WSN có một ZC,
hai ZR và bốn ZED, lần lượt có ký hiệu A, B, C, D,
E, F, G, được đặt trong phòng lab A211 và sáu phòng
học A201-A206 ở tầng 2, tịa nhà A như trên Hình 6.
Mơ đun Xbee được cấu hình để có firmware phù hợp với
chức năng của từng nút [17]. Mỗi nút có firmware được
lập trình với sự hổ trợ của các thư viện mở rộng.
1) Cấu hình Xbee: Mơ đun Xbee trên ZC, ZR, ZED
lần lượt được lập trình là Coordinator, Router, End
Device. Chế độ truyền dữ liệu AT hoặc API của Xbee
cũng được thiết lập. Với chế độ AT, Xbee gửi, nhận dữ
liệu theo cơ chế truyền tuần tự, khơng có kiểm sốt lỗi,
dữ liệu được truyền không đồng bộ. Trong chế độ API,
dữ liệu được định dạng trong các frame có thơng tin
đích đến, khối lượng dữ liệu. Chế độ API có hai loại.
API mode 1 không gửi đi các ký tự đặc biệt nhưng API
mode 2 thì có nên dữ liệu được bảo mật hơn. Xbee
trong ứng dụng này cần được thiết lập tham số PAN ID,
JV (Channel Verification), CE (Coordinator Enabled), NI
(Node Identifier) và API mode bằng XCTU như Bảng I.
Các tham số cơ bản khác được gán giá trị mặc định.
Xbee trên ZED chuyển qua trạng thái ngủ để tiết kiệm
điện năng khi tham số Sleep Mode = Pin Hibernate[1].
2) Kịch bản lập trình ZC, ZR, ZED:
(a) Gửi dữ liệu lên Beebotte
• ZR, ZED gửi giá trị nhiệt độ, độ ẩm thu thập
từ DHT22 đến ZC mỗi 10s.
B. Kết quả thực nghiệm
Quá trình thử nghiệm nguyên mẫu được thực hiện tại
sáu phòng học liên tục trong mười ngày. Để đảm bảo tính
chính xác của dữ liệu, các ZED, ZR thu thập các chỉ số
nhiệt độ, độ ẩm mỗi 10 giây. Dữ liệu thu thập từ các
47
Định hướng khi xây dựng hệ thống thực tế, chúng tôi
sử dụng openHAB, MySQL và Mosquitto MQTT Broker
thay cho Beebotte để tích hợp thêm các đối tượng thơng
minh có khả năng phân tích dữ liệu, điều khiển các thiết
bị tùy theo sự thay đổi của môi trường. Chúng tôi cũng
quan tâm đến giảm chi phí xây dựng hệ thống bằng cách
sử dụng mơ đun truyền thơng RF có giá thành thấp hơn
Xbee như mạch RF NRF24L01+.
LỜI CẢM ƠN
Dự án nghiên cứu này, nằm trong khn khổ chương
trình nghiên cứu và ứng dụng công nghệ thông tin vào
môi trường giảng dạy và học tập tại đại học Hoa Sen,
được tài trợ bởi quỹ nghiên cứu và phát triển của đại học
Hoa Sen.
TÀI LIỆU THAM KHẢO
[1] R. Mittal and M. P. S. Bhatia, “Wireless sensor networks for monitoring the environmental activities,” in 2010 IEEE International
Conference on CI and CR, Dec 2010, pp. 1–5.
[2] V. S. Kale and R. D. Kulkarni, “Real time remote temperature
and humidity monitoring using arduino and xbee s2,” IJIREEICE,
vol. 4, no. 6, Jun. 2016.
[3] A. Panwar, A. Gaba, R. Singh, and A. Gehlot, “Soil and environment conditions based smart analysis system for plant growth
using iot,” in IC, Control and Devices, 2018, pp. 587–598.
[4] G. Marques and R. Pitarma, “An indoor monitoring system for
ambient assisted living based on internet of things architecture,”
in Int. J. Environ. Res. Public Health, 2016.
[5] M. Benammar, A. Abdaoui, S. H. M. Ahmad, F. Touati, and
A. Kadri, “A modular iot platform for real-time indoor air quality
monitoring,” in Sensors, 2018.
[6] H. Ali, J. K. Soe, and S. R. Weller, “A real-time ambient air
quality monitoring wireless sensor network for schools in smart
cities,” in 2015 IEEE First ISC2, Oct 2015, pp. 1–6.
[7] M. López, S. Martínez, J. Gómez, A. Herms, L. Tort, J. Bausells,
and A. Errachid, “Wireless monitoring of the ph, nh4+ and
temperature in a fish farm,” Procedia Chemistry, vol. 1, 2009.
[8] S. Gong, C. Zhang, L. Ma, J. Fang, and S. Wang, “Design
and implementation of a low-power zigbee wireless temperature
humidity sensor network,” in Computer and CT in Agriculture IV.
Springer Heidelberg, 2011, pp. 616–622.
[9] G. Marques and R. Pitarma, “Monitoring health factors in indoor
living environments using internet of things,” in Recent Advances
in IS and Technologies. Springer Publishing, 2017, pp. 785–794.
[10] N. P. T. Amol R. Kasar, Dnyandeo S. Khemnar, “Wsn based air
pollution monitoring system,” IJSEA, vol. 2, pp. 55 – 59, 2013.
[11] Y. K. Lee, Y. J. Jung, and K. H. Ryu, “Design and implementation
of a system for environmental monitoring sensor network,” in
Advances in Web and NT, and IM. Springer Heidelberg, 2007.
[12] X. Jiang, G. Zhou, Y. Liu, and Y. Wang, “Wireless sensor
networks for forest environmental monitoring,” in The 2nd InterConference on IS and Engineering, Dec 2010, pp. 2514–2517.
[13] O. A. Postolache, J. M. D. Pereira, and P. M. B. S. Girao, “Smart
sensors network for air quality monitoring applications,” IEEE
Transactions on I&M, vol. 58, no. 9, pp. 3253–3262, Sept 2009.
[14] M. F. M. Firdhous, B. H. Sudantha, and P. M. Karunaratne,
“Iot enabled proactive indoor air quality monitoring system for
sustainable health management,” in 2017 2nd ICCCT, Feb 2017.
[15] V. Boonsawat, J. Ekchamanonta, K. Bumrungkhet, and S. Kittipiyakul, “Xbee wireless sensor networks for temperature monitoring,” 05 2010.
[16] M. S. Chavan, M. G. Mehta, and R. K. Munde, “Wireless
temperature controlling and monitoring system using arm and
xbee,” IJASTR, vol. 2, no. 5, pp. 410–417, Mar. 2015.
[17] H. Kumbhar, “Wireless sensor network using xbee on arduino
platform: An experimental study,” in ICCUBEA, Aug 2016.
Hình 7. Biểu đồ nhiệt độ (trên), độ ẩm (dưới) trong sáu lớp học.
Hình 8. Giám sát và điều khiển hệ thống với MQTT Dash.
nút được Gateway chuyển về lưu trên Beebotte. Người
dùng giám sát các chỉ số môi trường trên bảng điều khiển
của Beebotte dưới dạng biểu đồ theo thời gian bằng trình
duyệt web trên PC như trên Hình 7 hay ứng dụng MQTT
Dash trên máy tính bảng, smartphone như trên Hình 8.
Từ kết quả thực nghiệm, có thể nói rằng chúng tơi hài
lịng với những kết quả mà hệ thống mang lại.
V. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Chúng tôi đã ứng dụng mạng cảm biến không dây
ZigBee dựa trên mạch Arduino/WeMos, mô đun Xbee
S2 cùng nền tảng đám mây để xây dựng hệ thống giám
sát môi trường sống theo thời gian thực và điều khiển
thiết bị điện từ xa. Sự kết hợp hai chức năng này trên một
hệ thống giúp mọi người vừa theo dõi được môi trường
sống, vừa chủ động sử dụng các thiết bị điện một cách
hợp lý. Tạo ra một môi trường học tập xanh, tiết kiệm
điện năng là điều mà đại học Hoa Sen đang thực hiện.
48