Giao thức HTTPS

Một phần của tài liệu thực hiện mạng cảm biến không dây thu thập dữ liệu về độ rung, nhiệt độ của các công trình xây dựng (Trang 28)

Khi truy cập vào tên miền của trang web, giao thức mà nó sử dụng sẽ là HTTPS thay vì HTTP như ở những trang web thông thường. Điều này là bởi, phiên bản nâng cấp HTTPS của HTTP được sử dụng nhằm tăng cường khả năng bảo mật thông tin sau mỗi lần truy cập.

HTTPS là tên viết tắt của “Hypertext Transfer Protocol Secure”. Đây là sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS. HTTPS giúp cho việc trao đổi thông tin một cách bảo mật trên nền Internet.

Khác với HTTP, HTTPS sẽ hỗ trợ việc xác thực tính chính danh của Website mà người dùng truy nhập thông qua việc kiểm tra xác thực bảo mật (security certificate).

Các xác thực bảo mật này được cung cấp và xác minh bởi các CA (Certidicate Authority) có uy tín. Với xác thực từ CA, người sử dụng có thể biết truy nhập đúng vào Website, không phải một Website giả danh bất kỳ nào khác.

19

GIỚI THIỆU CÁC LINH KIỆN SỬ DỤNG TRONG ĐỀ TÀI 2.7.1 Board Arduino mega 2560 R3

Arduino Mega 2560 R3 là một vi điều khiển dựa trên nền ATmega2560 tốc độ cao của Atmel, bộ nhớ chương trình 256KB trong đó có 8KB được sử dụng bởi bootloader. Với bộ nhớ chương trình lớn, bạn có thể viết nhiều chương trình phức tạp, điều khiển được nhiều thiết bị phức tạp hơn.

Tương thích với hầu hết các Shield dành cho Arduino Uno các Shield mở rộng tương thích với Arduino Uno có thể gắn lên Arduino Mega với thứ tự các chân không thay đổi. Việc cài đặt driver và sử dụng hoàn toàn tương tự như board Arduino Uno.

Chính nhờ vào bộ nhớ chương trình lớn, số cổng I/O nhiều và giá thành không quá cao nên board Arduino Mega 2560 rất được nhiều người chú ý khi biết nhiều về Matlab. Với việc sử dụng Matlab, bạn viết chương trình trên Matlab, các cổng nhập xuất trên Arduino giao tiếp với máy tính thông qua giao thức Serial.

Dưới đây là thông số kỹ thuật của Arduino mega 2560 R3:

 Vi điều khiển: ATmega2560

 Điện áp hoặt động: 5V

 Điện áp ngõ vào DC: 7-12V

 Số chân Digital: 54 (15 chân PWM)

 Số chân Analog: 16

 Bộ nhớ Flash: 256KB, 8KB sử dụng cho Bootloader

 SRAM: 8KB

 EEPROM: 4KB

 Xung clock: 16MHz

20

2.7.2 Board Arduino Ethernet Shield

IC vi điều khiển W5100 có thể thực hiện truyền dữ liệu thông qua 2 giao thức TCP và UDP. Số đường truyền dữ liệu song song tối đa là 4. Đây là điểm mạnh của W5100 so với Microchip ENC28J60. Khả năng truyền song song cùng lúc 4 dữ liệu giúp board có khả năng nhận dữ liệu từ internet với tỉ lệ lỗi thấp hơn (nguyên nhân thường là do mất dữ liệu trên đường truyền hoặc do thời gian vượt quá giới hạn).

Giao tiếp với khe cắm microSD thông qua các chân SPI và chân select chân số 4. Dưới đây là thông số kỹ thuật của Ethernet shield:

 Để sử dụng phải có board mạch Arduino đi kèm

 Hoạt động tại điện áp 5V (được cấp từ mach Arduino)

 Chip Ethernet: W5100 với buffer nội 16K

 Tốc độ kết nối: 10/100Mb

 Kết nối với mạch Arduino qua cổng SPI

 Thu viện và code mẩu có sẵn trong chương trình Arduino

2.7.3 Giới thiệu khái quát module NRF24L01

Module sử dụng chip truyền sóng NRF24L01+ mới nhất của hãng Nordic với nhiều cải tiến so với chip NRF24L01 cũ về tốc độ truyền, khoảng cách, độ nhạy cao. Module nRF24L01 là chip thu phát trên dải tần 2.4GHz, chip được nhúng giao thức baseband (Enhanced ShockBurstTM), được thiết kế cho các ứng dụng điện năng thấp. Các nRF24L01 được thiết kế để hoạt động trong băng tần ISM rộng 2.4 – 2.4835 GHz. Một MCU và rất ít các thành phần bên ngoài cần thiết để thiết kế hệ thống truyền sóng radio với nRF24L01.

21 Module nRF24L01 được cấu hình và điểu khiển thông qua chuẩn giao tiếp SPI, các thanh ghi cấu hình trong nRF24L01 có thể truy cập vào tất cả các hoạt động của chip.

Giao thức Baseband (Enhanced ShockBurst)

Giao thức được dựa trên truyền gói dữ liệu và hỗ trợ các chế độ khác nhau hoạt động trong giao thức baseband. FIFOs đảm bảo một luồng dữ liệu thông suốt giữa các

sóng radio kết thúc và hệ thống MCU. Enhanced Shock-BustTM làm giảm chi phí hệ

thống bằng cách xử lý tất cả các hoạt động của lớp liên kết tốc độ cao.

Đặt điểm của module nRF24L01

Module nRF24L01 hoạt động ở tần số sóng ngắn 2.4GHz nên module này có khả năng truyền dữ liệu tốc độ cao và truyền nhận dữ liệu trong môi trường có vật cản. Module nRF24L01 có 126 kênh truyền, điều này giúp ta có thể truyền nhận ở nhiều kênh khác nhau, module có khả năng thay đổi công suất phát bằng chương trình, điều này giúp nó có thể hoạt động trong độ tiết kiệm năng lượng.

 Radio

 Hoạt động ở giải tần 2.4GHz và có 126 kênh

 Truyền tốc độ cao 250Kbps, 1Mbps hoặc 2Mbps

 Công suất phát

 Có thể cài đặt được 4 công suất nguồn phát: 0, -6, -12, -18dBm.

 Công suất thu

 Có bộ lọc nhiễu tại đầu thu

 12.3mA ở 2Mbps

 -82dBm độ nhạy ở 2Mbps, -85dBm độ nhạy ở 1Mbps

 Kênh đại bị ảnh hưởng bởi nhiễu thấp(LNA)

 Enhanced ShockBurstTM

 Các gói tin được xử lý tự động

 6 dữ liệu MutiCeiverTM cho một mạng hình sao

 Nguồn cấp

 Hoạt động từ 1.9-3.6V

 Các chân I/O chạy được cả 3.3 lẫn 5V

 Giao tiếp

 Chân SPI, tốc độ tối đa 8Mbps

22

Chân Tên Chức năng từng chân Mô tả

1 GND Nguồn Mass (0V)

2 VCC Nguồn Nguồn (1.9V-3.6V DC)

3 CE Tín hiệu số ngõ vào Kích hoạt chế độ RX hoặc TX

4 CSN Tín hiệu số ngõ vào Chân chọn SPI

5 SCK Tín hiệu số ngõ vào Clock SPI

6 MOSI Tín hiệu số ngõ vào SPI Slave ở ngã vào

7 MISO Tính hiệu số ngõ ra SPI Slave ở ngã ra

8 IRQ Tín hiệu số ngõ vào Chân kích hoạt ngắt mức thấp

Trong đó, khung truyền của nRF24L01 từ 3-5 bytes dùng làm địa chỉ.

Bảng 2.1 Sơ đồ chức năng mỗi chân module nRF24L01

Hình 2.17 Module nRF24L01 và sơ đồ chân nRF24L01

23

2.7.4 Cảm biến độ rung động ADXL001

Cảm biến ADXL001 là một bước tiến lớn so với thế hệ trước. Gia tốc cung cấp hiệu suất cao và băng thông rộng, ứng dụng trong công nghiệp, y tế, và quân sự. ADXL001 là bộ cảm biến độ rung động tích hợp chính xác cao mà điện áp đầu ra của nó với tính chống nhiểu, độ nhạy của cảm biến rất cao. Sử dụng các thiết bị Analog,

độc quyền thế hệ thứ năm iMEMsR, ADXL001 cung cấp phạm vi hoạt động từ ±70g,

±250g và ±500g với băng thông là 22kHz.

Nguồn cung cấp điện áp hoạt động cho cảm biến 3.3V đến 5V.

Chân Tên Chức năng

1, 2, 5 DNC Không kết nối

3 COM Nối mass

4 ST Kiểm tra điều khiển (ngõ vào)

6 Xout Trục X ngõ ra gia tốc

7,8 Vdd, Vdd2 Nguồn 3.3 đến 6V

Tương ứng với nguồn điện thế 3.3V hay 5V mà cho ra mức điện thế ngõ ra khác nhau. Ở Vs=3.3V, zero-g là 1.65V, mức độ nhạy là 2.2mV/g. Ở Vs=5V, zero-g là 2.5V, mức độ nhạy là 3.3mV/g.

Bảng 2.2 Sơ đồ chân ADXL001

24

2.7.5 Cảm biến nhiệt độ và độ ẩm

Cảm biến độ ẩm và nhiệt độ 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 1 wire (giao tiếp digital 1 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 bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào. Cảm biến nhiệt độ và độ ẩm được tích hợp trong 1 mạch duy nhất. Sử dụng cảm biến DHT11 có sẵn thư viện giành cho Arduino.

Thông số kỹ thuật của DHT11:

 Nguồn: 3-5 VDC.

 Dòng sử dụng: 2.5mA max (khi truyền dữ liệu)

 Đo tốt ở độ ẩm 20-80%RH với sai số ±5%

 Đo tốt ở nhiệt độ 0 to 50°C với sai số ±2°C

 Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)

25

CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

Chương này trình bày các vấn đề:

 Tổng quan hệ thống

 Kiến trúc của hệ thống

 Thiết kế phần cứng

 Thiết kế phần mềm

 Kết quả nghiên cứu

TỔNG QUAN HỆ THỐNG

Mô hình tổng quan của hệ thống được mô tả như hình bên dưới:

Hệ thống bao gồm 2 phần chính:

 Phần cứng bao gồm 2 nút cảm biến và 1 nút quản lý, sử dụng module

nRF24L01, board Arduino, một số cảm biến và bộ nguồn năng lượng mặt trời cấp nguồn cho nút cảm biến.

 Các dịch vụ và ứng dụng web trên nền tảng điện toán đám mây của Google

Drive.

Hình 3.1 Mô hình tổng quan của hệ thống

Google Spreadsheet Google Maps Google charts Ethernet shield Modem

Nguồn năng lượng mặt trời Nút

quản lý User

26

KIẾN TRÚC HỆ THỐNG

Trong mô hình mạng cảm biến không dây (WSN) sử dụng hai nút cảm biến, ở hai điểm khác nhau của cây cầu, hai nút cảm biến này đều được xử lý dữ liệu và đưa dữ liệu đó về nút quản lý trung tâm. Nút quản lý trung tâm này có nhiệm vụ thu và xử lý dữ liệu rồi gửi lên Websever. Người dùng có thể xem số liệu đó bằng bất kì thiết bị nào điện tử nào (laptop, máy tính bảng, smartphone…) nếu nó được kết nối với mạng Internet. Dưới đây là mô hình kiến trúc của hệ thống:

THIẾT KẾ PHẦN CỨNG

Phần mạng cảm biến không dây trong hệ thống bao gồm 2 nút cảm biến và 1 nút quản lý trung tâm. Sử dụng board Arduino làm bộ xử lý tại các nút cảm biến và nút quản lý, module nRF24L01 được dung để truyền nhận dữ liệu.

Tại mỗi nút cảm biến, nhóm gắn vào các cảm biến đo độ rung động để phục vụ cho việc thu thập dữ liệu về độ rung lắc có thể ảnh hưởng đến sức khỏe công trình cầu.

3.3.1 Khối nút cảm biến

Mỗi nút cảm biến bao gồm một vi điều khiển (Arduino Mega), một module truyền nhận (nRF24l01), cảm biến (độ rung, nhiệt độ…) như trong hình bên dưới:

Cảm biến Arduino Mega ADC

Module nRF24L01

SPI

Hình 3.3 Mô hình của nút cảm biến

Nút cảm biến ở vị trí 1 Nút quản lý trung tâm nRF24L01 GET/POST Webserver nRF24L01 Nút cảm biến ở vị trí 2 Hình 3.2 Kiến trúc của hệ thống

27 Nút cảm biến sẽ chờ nhận yêu cầu lấy dữ liệu từ nút quản lý trung tâm, khi có yêu cầu nút cảm biến sẽ đọc giá trị từ các cảm biến và xử lý số liệu nhận rồi truyền dữ liệu đó về cho nút quản lý trung tâm.

Ngoài ra, vì tính thực tế là trên công trình cầu rất khó có thể lắp đặt nguồn điện để làm nguồn cung cấp cho nút cảm biến hoạt động. Vì thế, nhóm đã thiết kế bộ nguồn dựa vào năng lượng mặt trời để làm nguồn cung cấp cho nút cảm biến.

Hình 3.5 Mô hình sử dụng năng lượng mặt trời Hình 3.4 Nút cảm biến thực tế Cảm biến rung ADXL001 Cảm biến DHT11 ADC SPI 1-wire

Board Arduino Mega

28

3.3.2 Khối nút quản lý trung tâm

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

Một phần của tài liệu thực hiện mạng cảm biến không dây thu thập dữ liệu về độ rung, nhiệt độ của các công trình xây dựng (Trang 28)

Tải bản đầy đủ (PDF)

(47 trang)