Bài báo 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 toá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ời các bạn cùng tham khảo!
Trang 1Ứng dụng mạng cảm biến không dây và điện toá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: duc.huynhminh@hoasen.edu.vn
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 toá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 toá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
[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 ngoà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, NO2củ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
Trang 2Hì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
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
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
Trang 3(a) Arduino Uno R3
(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 để
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 AC250V-10A hoặc DC30V-AC250V-10A
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
Trang 4Hình 4 Cảm biến đo nhiệt độ, độ ẩm DHT22 và mô đun rơ le 5V đơn.
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 Ngoà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
Hình 5 Kiến trúc phần cứng ZC và ZR/ZED của WSN.
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
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
Trang 5B 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
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 soá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
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
JV Enabled [1] Enabled [1] Enabled [1]
CE Enabled [1]
NI Coordinator Router End Device
• 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 yê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 )}
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
Trang 6Hì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
Đị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 khuôn 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
mon-itoring 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 envi-ronment 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 Inter-Conference 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 Kit-tipiyakul, “Xbee wireless sensor networks for temperature moni-toring,” 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.