Vì hệ thống này cần làm rất nhiều công việc nên nhóm chọn lựa phần cứng có bộ nhớ lớn, xử lý nhanh là board Arduino mega 2560 làm bộ xử lý trung tâm, sử dụng module nRF24L01 để truyền nhận dữ liệu và board Arduino Ethernet Shield dùng để gửi dữ liệu lên webserver của Google.
Khi hệ thống bắt đầu hoạt động nút quản lý trung tâm gửi tín hiệu yêu cầu dữ liệu đến nút cảm biến. Khi nhận được dữ liệu từ nút cảm biến, nút quản lý trung tâm xử lý dữ liệu rồi thông qua board Ethernet Shield gửi dữ liệu lên bảng tính trên nền tảng điện toán đám mây của Google Drive.
Mọi công việc của nút quản lý trung tâm khá quan trọng, nếu có một lỗi sự cố nào đó xãy ra, hệ thống sẽ ngưng hoạt động.
THIẾT KẾ PHẦN MỀM 3.4.1 Đặt vấn đề
Google phát triển một giao thức mới đó là HTTPS, giao thức này giúp cho các ứng dụng và dịch vụ web với thông tin bảo mật cao khi sử dụng trên internet. Vì vậy, để chuyển giao thức HTTP lên server của HTTPS là không thể thực hiện được. Điều đó cần một dịch vụ trung gian để chuyển các giao thức đó. Hiện nay có một số dịch vụ làm
Hình 3.6 Sơ đồ khối nút quản lý trung tâm
Moudle nRF24L01 Board Arduino mega 2560 Board Arduino Ethernet Shield SPI SPI
Hình 3.7 Sơ đồ khối nút xử lý trung tâm thực tế
SPI SPI
Ethernet Shield Arduino mega 2560
Module nRF24L01
29 công việc trên như: Tembo, Pushingbox. Các dịch vụ này cũng có một số hạn chế về số lượng gửi dữ liệu, tốc độ gửi, hạn chế về thời gian và các dịch này có tính phí.
Để khắc phục những khó khăn, hạn chế trên. Nhóm nghiên cứu và thiết kế một dịch vụ trung gian đó là Bridge Server. Dịch vụ này cần viết một ngôn ngữ PHP, gói dữ liệu gửi lên được lưu trong biến cục bộ PHP. Dịch vụ trung này được sử dụng server chạy miễn phí, đáp ứng việc gửi các gói dữ liệu lên GoogleSpreadsheet.
3.4.2 Phương thức hoạt động
Chương trình tại nút cảm biến
Chương trình tại nút cảm biến được thực hiện đơn giản hơn nút quản lý trung tâm.
Thiết lập và cấu hình cho module truyền nhận nRF24L01.
Nút cảm biến đợi yêu cầu từ nút quản lý trung tâm.
Đọc dữ liệu từ cảm biến sau đó gửi dữ liệu đến nút quản lý trung tâm thông
qua module nRF24L01.
Lưu đồ giải thuật của nút cảm biến như hình 3.9:
Hình 3.8 Lưu đồ giải thuật của chương trình tại nút cảm biến
S
Bắt đầu
Khởi tạo giá trị các biến
Thiết lập thông số kênh truyền
Module quản lý yêu cầu dữ liệu
Đọc giá trị các cảm biến
Truyền dữ liệu đến module quản lý Đ
30
Chương trình tại nút quản lí trung tâm
Nút xử lý trung tâm đóng vai trò là trung tâm xử lý dữ liệu các giá trị nhận được tại nút cảm biến và nó còn có nhiệm vụ tải dữ liệu lên web. Vì vậy, chương trình tại nút xử lý trung tâm cũng khá phức tạp, đòi hỏi lập trình cấu hình giữa các bộ xử lý trung tâm với các nút cảm biến có độ chính xác cao.
Cấu hình cho board Ethernet Shield.
Thiết lập và cấu hình cho module truyền nhận nRF24L01.
Nhận dữ liệu từ nút cảm biến và xử lý dữ liệu nhận được.
Lấy dữ liệu đã được xử lý gửi lên webserver.
Hình 3.9 Lưu đồ giải thuật của chương trình tại nút quản lý trung tâm
Đ S
Bắt đầu
Khởi tạo địa chỉ và giá trị các biến
Nhận được dữ liệu từ module cảm biến Thiết lập thông số
kênh truyền
Đưa dữ liệu đã được xử lý upload lên webserver Lấy và xử lý
31
3.4.3 Mô hình upload dữ liệu lên Web
Google Apps Script và các ứng dụng web trên Google
Google Apps Script là ngôn ngữ dựa trên nên tảng JavaScript điện toán đám mây được Google phát triển vào năm 2010. Nhằm tích hợp các sản phẩm yêu thích hiện nay như: Gmail, YouTube, Google Drive, Google Chart...
Phương pháp nhập dữ liệu
Qua quá trình tìm hiểu về phương pháp nhập dữ liệu lên bảng tính của Google nhóm chúng tôi tìm ra ba phương pháp:
Nhập dữ liệu do người dụng tự nhập
Nhập dữ liệu qua Google Form
Nhập dữ liệu qua Google Apps Script
Hình 3.10 Google Apps Script và các ứng dụng web trên Google
Data
User
Google Apps
Google Form
Google Spreadsheet
32 Ngoài các phần mềm chạy trên máy tính, nhóm còn thiết kế các ứng dụng chạy trên nền web để giám sát dữ liệu và lưu trữ. Bởi vì các ứng dụng chạy trên nền web người dùng có thể xem dữ liệu ở bất cứ nơi đâu khi có mạng internet và không phụ thuộc vào máy tính.
Như đã giới thiệu ở trên, nhóm viết chương trình xử lý dữ liệu từ các nút cảm biến lưu trữ trên Google Spreadsheet. Sử dụng Google Chart để hiện thị dữ liệu dưới dạng biểu đồ. Sử dụng Google map để xem vị trí của các nút cảm biến.
Mô hình tổng quát cách đưa dữ từ mạng cảm biến đưa dữ liệu lên web được thể hiện như hình:
Đưa dữ liệu từ mạng cảm biến lên Google Drive được thực hiện như sau: Các nút mạng cảm biên sau khi xử lý dữ liệu trên kit phát triển Arduino đưa dữ liệu lên Bridge Server thông qua phương thức GET của giao thức HTTP. Bridge Server sau khi nhận được dữ liệu lưu trong một biến toàn cục PHP được tạo ra phương thức GET, sau đó chuyển lên server của Google bằng các lệnh PHP. Các lệnh PHP trên Bridge Server sẽ gọi và thực thi lệnh GAS sau đó truy vấn dữ liệu vào hàng và cột trên Google Spreadsheet.
Enthernet Shied Arduino Mega
Modem
33
KẾT QUẢ NGHIÊN CỨU
Để kiểm chứng hoạt động của hệ thống mạng cảm biến không dây nhóm đã tiến hành thử nghiệm khảo sát hoạt động của mạng cảm biến gồm hai nút cảm biến. Mỗi nút cảm biến được gắn cảm biến độ rung để theo dõi độ rung lắc của công trình cầu.
Thiết kế và lắp đặt cho các nút cảm biến và nút quản lý trung tâm. Các thành phần phần cứng của các nút cảm biến và nút quản lý trung tâm được lắp đặt như trong hình:
Kết quả lưu trữ dữ liệu từ mạng cảm biến được lưu trữ trên Google Spreadsheet:
Hình 3.14 Dữ liệu từ mạng cảm biến được lưu trên Google Spreadsheet
Hình 3.13 Phần cứng tại nút cảm biến và nút quản lý trung tâm
34 Mặt khác chúng ta có thể xem dữ liệu dưới dạng biểu đồ như hình:
Bảng 2.3 Bảng đánh giá mức độ nghiêm trọng của độ rung động Hình 3.15 Biểu đồ thể hiện tại các nút cảm biến
35 Kết quả đạt được:
Về lý thuyết:
Học được cách lập trình trên dòng vi điều khiển Arduino.
Có hiểu biết về chuẩn truyền thông không dây nRF24L01.
Phương pháp truyền dữ liệu thông qua mạng internet.
Xây dựng được các ứng dụng web trên host.
Về thực nghiệm:
Thiết kế phần cứng cho mạng cảm biến đáp ứng yêu cầu đặt ra.
Hệ thống mạng cảm biến hoạt động tương đối ổn định.
Phát triển các ứng dụng web, ứng dụng vào nền tảng điện toán đám mây
36
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết luận
Sau quá trình nghiên cứu cho thấy hệ thống đáp ứng được các yêu cầu thiết kế đặt ra ban đầu. Hệ thống có thể giám sát được các đại lượng vật lý của công trình cầu. Dữ liệu thu được từ mạng cảm biến được lưu trữ trên Google Drive.
Ưu điểm và nhược điểm của hệ thống:
Ưu điểm:
Hệ thống nhỏ gọn, dễ sử dụng.
Dữ liệu được lưu trữ trên Google Drive giúp cho việc giám sát công trình
cầu dễ dàng hơn và giảm được chi phí khi bảo trì, bảo dưỡng công trình.
Nhược điểm:
Hệ thống chưa tối ưu được chi phí.
Khoảng cách giữa các nút cảm biến còn gần.
Các ứng dụng trên web còn hạn chế.
Hướng phát triển
Do thời gian có hạn và chi phí hạn chế nên nhóm chưa thể tối ưu hóa được hệ thống. Nhóm đề nghị hướng phát triển như sau:
Khảo sát thêm nhiều cảm biến khác có liên quan đến sức khỏe công trình
cầu. Có thể tích hợp thêm hệ thống giám sát bằng camera.
Gắn thêm nhiều nút cảm biến để có thể giám sát một cách tốt nhất.
37
TÀI LIỆU THAM KHẢO
[1] http://arduino.cc/en/ [2] http://www.analog.com/en/products/mems/ [3] https://developers.google.com/apps-script/articles/ [4] http://www.alldatasheet.com/ [5] http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo [6] http://www.w3schools.com/php/default.asp