Tải bản đầy đủ (.pdf) (37 trang)

Đề tài WSN: Thiết kế mạng cảm biến không dây giám sát môi trường trong một khu vườn sử dụng nrF24L01

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.36 MB, 37 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN

BÁO CÁO MÔN HỌC MẠNG CẢM BIẾN KHÔNG DÂY
Thiết kế mạng cảm biến khơng dây giám sát
mơi trường trong một khu vườn
Nhóm 21
Sinh viên: Nguyễn Quang Trung - 20181797
Lê Văn Nam - 20181664
Khổng Đức Mạnh - 20181642
Đào Trọng Nhân - 20181679

HÀ NỘI, 2/2022

1


Lời mở đầu
Ngày nay với sự phát triển của khoa học công nghệ, mạng cảm biến không
dây (Wireless Sensor Network - WSN) đang được áp dụng rộng rãi không chỉ
trong nghiên cứu mà còn trong đời sống tại nhiều nước trên thế giới. Ưu điểm
của mạng cảm biến không dây là tính di động cao, nhỏ gọn và số lượng node cảm
biến lớn tạo nên vùng phủ sóng rộng đáp ứng nhu cầu ngày càng cao của con
người cũng như phục vụ ngày một tốt hơn cho lợi ích của con người, làm cho con
người không mất quá nhiều sức lực, nhân công nhưng hiệu quả công việc vẫn
cao.
WSN cung cấp rất nhiều ứng dụng hữu ích ở nhiều lĩnh vực trong đời
sống:
- Ứng dụng trong quá trình sản xuất và giám sát trong nông nghiệp.
- Ứng dụng trong an ninh quân sự
- Ứng dụng trong giám sát xe cộ và các thông tin liên quan.


- Ứng dụng cho việc điều khiển các thiêt bị trong nhà, toà nhà.
- Ứng dụng trong q trình quản lý tự động trong cơng nghiệp.
- Ứng dụng trong y sinh học…
Với những gì đã học được trong mơn WSN, nhóm chúng em quyết định
chọn đề tài “Thiết kế mạng cảm biến không dây giám sát môi trường trong
một khu vườn” để làm báo cáo môn học.
Chúng em xin cảm ơn thầy PGS.TS Nguyễn Quốc Cường đã có những chỉ
dẫn và truyền đạt kiến thức đến chúng em để nhóm có thể hồn thành báo cáo.
Tuy nhiên trong quá trình thực hiện đề tài, do kiến thức và kinh nghiệm cịn hạn
chế nên khơng tránh khỏi những sai sót nhóm em mong nhận được sự đóng góp ý
kiến từ thầy để có thể rút ra kinh nghiệm quý báu cho các đề tài sau.
Hà Nội, ngày tháng năm

2


Mục lục
Lời mở đầu......................................................................................................... 2
Mục lục............................................................................................................... 3
Danh mục hình vẽ .............................................................................................. 4
Danh mục bảng biểu .......................................................................................... 5
CHƯƠNG 1. Mục tiêu thiết kế ......................................................................... 6
1.1

Đặt vấn đề................................................................................................ 6

1.2

Yêu cầu.................................................................................................... 6


1.3

Mục tiêu ..................................................................................................6

1.4

Kết quả cần đạt được ............................................................................... 6

CHƯƠNG 2. Kết quả thực hiện ........................................................................ 8
2.1

Phân công công việc ................................................................................ 8

2.2

Kết quả đạt được ...................................................................................... 9

CHƯƠNG 3. Phân tích và thiết kế ................................................................. 14
3.1

Phân tích ................................................................................................ 14

3.2

Thiết kế kiến trúc ................................................................................... 14

3.3

Thiết kế module ..................................................................................... 15


3.4

3.3.1

Arduino Uno R3 ...................................................................... 15

3.3.2

Module cảm biến ..................................................................... 17

3.3.3

Module truyền, nhận ............................................................... 18

3.3.4

Module truyền dữ liệu lên web ................................................ 22

3.3.5

Module hiển thị ....................................................................... 24

Triển khai .............................................................................................. 24

CHƯƠNG 4. Đánh giá kiểm tra ..................................................................... 31
CHƯƠNG 5. Kết luận và hướng phát triển ................................................... 36
5.1

Kết luận ................................................................................................. 36


5.2

Hướng phát triển .................................................................................... 36

Tài liệu tham khảo ........................................................................................... 37

3


Danh mục hình vẽ
Hình 1-1 Sơ đồ khu vườn .................................................................................... 7
Hình 2-1 Trích 1 phần trong file tổng hợp ........................................................... 9
Hình 2-2 Phần thiết kế trên fritzing.................................................................... 10
Hình 2-3 Một số thông số hoạt động của các linh kiện ....................................... 10
Hình 2-4 Kết quả 1 phần code bên truyền .......................................................... 11
Hình 2-5 Kết quả 1 phần code bên nhận ............................................................ 11
Hình 2-6 Kết quả tuần 16................................................................................... 12
Hình 2-7 Kết quả tuần 17................................................................................... 12
Hình 2-8 Báo cáo WSN ..................................................................................... 13
Hình 3-1 Sơ đồ khối các node end device .......................................................... 14
Hình 3-2 Sơ đồ khối node coordinator ............................................................... 14
Hình 3-3 Board Arduino Uno R3 ....................................................................... 15
Hình 3-4 Sơ đồ các chân của Arduino Uno R3 .................................................. 16
Hình 3-5 Sơ đồ kết nối module DHT11 ............................................................. 17
Hình 3-6 Cảm biến DHT11 ............................................................................... 17
Hình 3-7 Sơ đồ kết nối module truyền, nhận ...................................................... 18
Hình 3-8 Sơ đồ các chân của module nRF24L01 ............................................... 19
Hình 3-9 Sơ đồ kênh của nRF24L01.................................................................. 20
Hình 3-10 Ví dụ về nRF24L01 truyền phát đa điểm .......................................... 21
Hình 3-11 Cấu trúc gói Enhanced ShockBurst ................................................... 21

Hình 3-12 Sơ đồ kết nối module esp32 .............................................................. 22
Hình 3-13 Module Esp32................................................................................... 23
Hình 3-14 Sơ đồ kết nối module hiển thị ........................................................... 24
Hình 3-15 LCD 16x2 ......................................................................................... 24
Hình 3-16 Sơ đồ mạch nguyên lý các node end device ...................................... 25
Hình 3-17 Sơ đồ mạch nguyên lý node coordinator ........................................... 25
Hình 3-18 Lưu đồ thuật tốn của node end device ............................................. 26
Hình 3-19 Lưu đồ thuật tốn của node coordinator ............................................ 26
Hình 4-1 Triển khai 1 end device và coordinator ............................................... 32
Hình 4-2 Cảm biến DHT11 với nhiệt độ phịng thay đổi .................................... 32
Hình 4-3 Truyền nhận dữ liệu giữa 2 node......................................................... 33
Hình 4-4 Truyền nhận khi dữ liệu thay đổi ........................................................ 34
Hình 4-5 Triển khai 2 node end device và node coordinator .............................. 34
Hình 4-6 Kết quả thu được trên cửa sổ UART ................................................... 35
Hình 4-7 Dữ liệu được hiển thị trên ThingSpeak ............................................... 35

4


Danh mục bảng biểu
Bảng 2-1 Bảng phân công công việc cho các thành viên ...................................... 8
Bảng 3-1 Thông số chi tiết của Arduino Uno R3 ............................................... 16
Bảng 3-2 Thông số kỹ thuật của nRF24L01 ....................................................... 19
Bảng 4-1 Thông số năng lượng của node end device ......................................... 31

5


CHƯƠNG 1. Mục tiêu thiết kế
1.1 Đặt vấn đề

Trong bối cảnh ngày nay, với sự phát triển vượt bậc của công nghệ điện
tử, công nghệ thông tin và truyền thông, xu thế IoT (Internet of Things) đã tạo
động lực thúc đẩy mạnh mẽ cho việc chế tạo nhiều nền tảng phần cứng cho phép
phát triển hệ thống mạng cảm biến không dây vào hầu hết các lĩnh vực của xã hội
trong đó có nơng nghiệp. Các khu nơng nghiệp cơng nghệ cao áp dụng các công
nghệ tiên tiến nhằm mục đích cải thiện chất lượng, năng suất nơng sản đã ra đời.
Tuy nhiên không phải tất cả tất cả nông dân ở các vùng nơng thơn nước ta
có thể tiếp cận với các khu nông nghiệp công nghệ cao, với các khu vườn trồng
rau hay cây ăn quả vừa và nhỏ được chuyển đổi từ đất trồng lúa họ chỉ cần nắm
bắt được các thông số liên quan đến sinh trưởng phát triển của cây như ánh sáng,
nhiệt độ, độ ẩm.... Từ đó người nơng dân có thể tự điều chỉnh thời gian, lượng
nước tưới, cường độ ánh sáng phù hợp với sự phát triển của cây trồng.
Vì vậy với mạng cảm biến không dây giám sát môi trường trong báo cáo
mơn học của nhóm em sẽ giúp phần nào được người nơng dân trong q trình sản
xuất.
1.2 u cầu
u cầu của giáo viên với các nhóm là thiết kế một mạng cảm biến không
dây.
1.3 Mục tiêu
Mạng cảm biến sẽ đo thông số môi trường (cụ thể là nhiệt độ và độ ẩm )
trong một khu vườn vừa và nhỏ ở nơng thơn, sau đó gửi dữ liệu về trung tâm hiện
thị tại chỗ và gửi lên web để người chủ có thể theo dõi được.
1.4

Kết quả cần đạt được
Các kết quả cần đạt được khi hoàn thành mạng cảm biến:

- Truyền thơng sử dụng module nRF24L01
- Mơ hình mạng: Star.
- Số node dự kiến trong mạng: 1 coordinator và 3 end device.

- Sử dụng cảm biến đo nhiệt độ và độ ẩm ( do điều kiện dịch bệnh thiếu khuyết
linh kiện nên mạng cảm biến trong báo cáo môn học này chỉ ứng dụng đo 2
thông số môi trường là nhiệt độ và độ ẩm)
- Mơ hình khu vườn:

6


Hình 1-1 Sơ đồ khu vườn

7


CHƯƠNG 2. Kết quả thực hiện
2.1 Phân công công việc
Để thuận tiện cho trong q trình làm đề tài, nhóm em đã phân chia công
việc cụ thể cho từng cá nhân theo từng tuần trong suất q trình mơn học. Việc
phân cơng như vậy giúp các thành viên trong nhóm hiểu rõ hơn về những gì
mình phải làm và giảm bớt được công việc cho mỗi thành viên.
Bảng 2-1 Bảng phân cơng cơng việc cho các thành viên

Thành
Tuần
viên

10

11

Mức độ

hồn
thành

Nhiệm vụ

Trung

Tìm hiểu về Arduino Uno, NRF24L01

90%

Nam

Tìm hiểu esp32

90%

Nhân

Tìm hiểu về cảm biến DHT11

100%

Mạnh

Tìm hiểu về nguồn cho các node cảm
biến, tìm hiểu tổng quan WSN

80%


Trung

Tiếp tục công việc tuần 10 và thiết kế
node coordinator

100%

Nam

Tiếp tục công việc tuần 10 và thiết kế
node coordinator

100%

Nhân

Thiết kế node end device

100%

Mạnh

Tiếp tục công việc tuần 10 và thiết kế
end device

100%

Trung

Xác định các thông số chế độ nghỉ, hoạt

động của Arduino Uno, NRF24L01

100%

Nam

Xác định các thông số chế độ nghỉ, hoạt
động của esp32, tính tốn cơng suất dự
kiến các q trình.

100%

Nhân

Xác định các thơng số chế độ nghỉ, hoạt
động của DHT11, tính tốn cơng suất
dự kiến các q trình.

100%

12

Ghi chú

Do bạn Mạnh quyết
định khơng theo
WSN để chuyển sang
các mơn bên tự động
hố cơng nghiệp, nên
cơng việc được phân

chia lại

Mạnh
Trung
13

Nam

Đặt mua và chuyển các linh kiện cần để
làm mạch

100%

Tìm hiểu và thực hiện code cho phần
nhận

80%

Nhân
14

Trung

8

Do dịch bệnh nên 1
số linh kiện bị hết,
quá trình đặt mua và
vận chuyển kéo dài
sang tuần 14



Nam

Tìm hiểu và thực hiện code phần esp32.

90%

Nhân

Tìm hiểu và thực hiện code cho truyền

80%

Trung
15

Nam

Tiếp tục công việc tuần 14 và sửa lỗi
code

Nhân
Trung
16

17

Nam


100%
Cả nhóm tập trung thực hiện lắp mạch
và thử code trên cả mạch

Nhân

100%

Trung

100%

Nam

Tiếp tục kiểm tra mạch và sửa lỗi

Nhân

23

100%

100%

Mạch hoạt động với 1
node end device và 1
coordinator hoạt động
tốt

Nhóm tiếp tục thực

hiện thêm node.

100%

Trung

Viết báo cáo

100%

Nam

Quay video

100%

Nhân

Làm slide

100%

* Để vừa với kích thước bảng nên nhóm em chỉ để tên thành viên và phần kết
quả đạt được minh chứng thông qua ảnh ở mục dưới.
2.2 Kết quả đạt được
- Tuần 10: các phần tìm hiểu của các thành viên đã hoàn thành và được tổng hợp
lại 1 file

Hình 2-1 Trích 1 phần trong file tổng hợp


9


- Tuần 11: nhóm sử dụng phần altium và fritzing để thiết kế mạch cho các phần
của mạng cảm biến

Hình 2-2 Phần thiết kế trên fritzing

- Tuần 12: nhóm đã tìm hiểu thơng qua datasheet và tìm hiểu trên mạng để tìm
các thơng số của các thành phần trong mạng

Hình 2-3 Một số thông số hoạt động của các linh kiện

10


-Tuần 14,15: nhóm đã hồn thành xong cơ bản code phần bên truyền và bên nhận
trong mạng cảm biến.

Hình 2-4 Kết quả 1 phần code bên truyền

Hình 2-5 Kết quả 1 phần code bên nhận

11


- Tuần 16: nhóm đã hồn thành xong với 1 node coordinator và 1 end device.

Hình 2-6 Kết quả tuần 16


- Tuần 17: do nhóm chỉ mới có 2 con arduino nên khi thực hiện với 2 node end
device thì 2 nút này phải dùng 2 cảm biến khác nhau và chung 1 con MCU.

Hình 2-7 Kết quả tuần 17

12


- Tuần 23:

Hình 2-8 Báo cáo WSN

13


CHƯƠNG 3. Phân tích và thiết kế
3.1 Phân tích
Đề tài của nhóm là Thiết kế mạng cảm biến khơng dây giám sát môi
trường trong một khu vườn. Với một khu vườn vừa và nhỏ ở nơng thơn thì diện
tích khơng quá rộng nên mạng cảm biến có 4 node có thể đủ để giám sát cả khu
vườn, sử dụng mô hình mạng hình sao để thuận tiện cho việc thiết kế và triển
khai.
Các thông số môi trường cần đo là nhiệt độ và độ ẩm, đối với một khu
vườn ở nơng thơn thì các thơng số này khơng u cầu độ chính xác q cao, nên
có thể sử dụng cảm biến tích hợp như DHT11 để đo cả 2 thơng số này, giúp các
node nhỏ gọn và giảm giá thành. Tại node trung tâm có màn hình hiển thị để
người chủ có thể giám sát tại chỗ. Trong trường hợp ở xa khơng thể quan sát trên
màn hình thì người chủ có thể giám sát thơng qua web.
3.2 Thiết kế kiến trúc
Hệ thống mạng cảm biến gồm 1 node coordinator làm khối thu sóng RF

và 3 node end device làm khối truyền sóng RF.

Hình 3-1 Sơ đồ khối các node end device

Hình 3-2 Sơ đồ khối node coordinator

14


- Khối cảm biến: có nhiệm vụ nhận tín hiệu nhiệt độ, độ ẩm từ mơi trường bên
ngồi, chuyển đổi tín hiệu tương tự (là sự thay đổi của nhiệt độ và độ ẩm ) thành
tín hiệu số sau đó gửi tín hiệu sang khối điều khiển.
- Khối điều khiển:
+ Tại node end device: khối điều khiển có chức năng xử lý tín hiệu nhận
được từ cảm biến. Sau đó, gửi dữ liệu nhiệt độ, độ ẩm thông qua khối phát sóng
RF đến coordinator.
+ Tại node coordinator: khối điều khiển có chức năng xử lý các gói dữ
liệu được gửi tới từ end device. Sau đo tính tốn và gửi giá trị nhiệt độ và độ ẩm
lên mạng thông qua khối wifi.
- Khối nguồn: có chức năng cung cấp nguồn nuôi cho các thiết bị.
- Khối thu phát vô tuyến: được cấu hình làm khối phát sóng RF tại node end
device để truyền dữ liệu và làm khối thu sóng RF tại node coordinator để nhận
các gói dữ liệu.
- Khối Wifi: nhận dữ liệu đã xử lý từ khối điều khiển và đưa lên ThingSpeak.
3.3 Thiết kế module
3.3.1

Arduino Uno R3

Hình 3-3 Board Arduino Uno R3


Cấu tạo của Arduino Uno gồm các thành phần chính sau:
- Cổng USB: đây là loại cổng giao tiếp để ta upload code từ máy tính lên vi điều
khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển
và máy tính. Ta cũng có thể sử dụng nó làm cổng cấp nguồn với điện áp là 5V.
- Jack nguồn: đây cũng là một cổng cấp nguồn khác cho Arduino Uno với nguồn
vào thường từ 7V đến 12V.
- Có 14 chân digital đánh số từ 0 đến 13 dùng để đọc hoặc xuất tín hiệu. Chúng
có mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Có 6
chân analog (từ A0 đến A5) cung cấp độ phân giải tín hiệu 10 bit (0 đến 210 -1)
để đọc điện áp trong khoảng 0V đến 5V. Ngồi ra cịn có các chân khác như 5V,
3.3V, Vin, RESET, IOREF, GND.
15


Hình 3-4 Sơ đồ các chân của Arduino Uno R3

- Vi điều khiển AVR ATmega328P đây là bộ xử lý trung tâm của tồn board
mạch. Ngồi ra cịn có thêm con chip Atmega16U2 (phiên bản chip dán sử dụng
CH340).
Bảng 3-1 Thông số chi tiết của Arduino Uno R3

Vi điều khiển

ATmega328P (8bit)

Điện áp hoạt động

5V – DC (chỉ được cấp qua cổng USB)


Tần số hoạt động

16 MHz

Dòng tiêu thụ

30mA

Điện áp vào khuyên dùng

7-12V – DC

Điện áp vào giới hạn

6-20V – DC

Số chân Digital I/O

14 (6 chân PWM)

Số chân Analog

6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O

30 mA

Dòng ra tối đa (5V)


500 mA

Dòng ra tối đa (3.3V)

50 mA

Bộ nhớ flash

32 KB (ATmega328) với 0.5KB dùng
bởi bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

16


3.3.2 Module cảm biến
Lựa chọn cảm biến DHT11 để đo nhiệt độ và độ ẩm trong mạng cảm biến.

Hình 3-5 Sơ đồ kết nối module DHT11

Hình 3-6 Cảm biến DHT11

Thơng số kỹ thuật

- Điện áp hoạt động : 3V - 5V (DC)
- Chuẩn giao tiếp: TTL, 1 wire.
- Dải độ ẩm hoạt động : 20% - 90% RH, sai số ±5%RH
- Dải nhiệt độ hoạt động : 0°C ~ 50°C, sai số ±2°C
- Tần số lấy mẫu tối đa: 1 Hz
- Dòng sử dụng: 2.5mA max (khi truyền dữ liệu).
- Kích thước 15mm x 12mm x 5.5mm.
Bên trong cảm biến DHT11 đã tích hợp sẵn ADC. Dữ truyền về khối điều
khiển của DHT11 gồm 40 bit dữ liệu (5 byte). Trong đó:
- Byte 1: giá trị phần nguyên của độ ẩm.
- Byte 2: giá trị phần thập phân của độ ẩm.
- Byte 3: giá trị phần nguyên của nhiệt độ.
17


- Byte 4: giá trị phần thập phân của nhiệt độ.
- Byte 5 : kiểm tra tổng.
- Nếu byte 5 = (byte 1 + byte 2 + byte 3 + byte 4) thì giá trị nhiệt độ và độ ẩm là
chính xác, nếu sai thì kết quả đo khơng có nghĩa.
Ví dụ: vi xử lý nhận 40 bit dữ liệu từ DHT22
0011 0101 0000 0000 0001 1000 0000 0000 0100 1101
Tính tốn:
8 bit checksum: 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101
- Độ ẩm: 0011 0101 = 35H = 53%
- Nhiệt độ: 0001 1000 = 18H = 24°C
Khi bit nhiệt độ cao nhất là 1, có nghĩa là nhiệt độ dưới 0°C.
3.3.3 Module truyền, nhận
Sử dụng module nRF24L01 để truyền thông không dây. Module thu phát
sóng RF nRF24L01 được thiết kế để hoạt động trong vùng tần số 2.4GHz và sử
dụng kỹ thuật điều chế GFSK cho việc truyền dữ liệu không dây. Dữ liệu truyền

có thể đạt với các tốc độ 250kbps, 1Mbps và 2Mbps. khoảng cách thu phát
khoảng 100m (với điều khiện trống trải), khoảng 30-50m(trong nhà).
* Băng tần 2,4 GHz là một trong các băng tần Công nghiệp, Khoa học và Y tế
(ISM) được quốc tế dành riêng cho việc sử dụng các thiết bị công suất thấp chưa
được cấp phép. Ví dụ như điện thoại khơng dây, thiết bị Bluetooth, thiết bị giao
tiếp trường gần (NFC) và mạng máy tính khơng dây (WiFi) đều sử dụng tần số
ISM.

Hình 3-7 Sơ đồ kết nối module truyền, nhận

18


Bảng 3-2 Thông số kỹ thuật của nRF24L01

Vùng tần số

Băng tần 2,4 GHz ISM

Tốc độ dữ liệu tối trong không khí

2 Mbp/s

Kiểu điều chế

GFSK

Cơng suất ngõ ra max

0 dBm


Điện áp nguồn cung cấp

1,9V đến 3,6V

Dòng tiêu thụ

13,5mA

Dòng điện khi chế độ chờ

26μA

Dịng điện đầu vào logic

5V

* Khi cơng suất phát là 0 dBm, nó dùng dịng điện 11,3 mA, trong khi ở chế độ
nhận, nó sử dụng dịng điện 13,5 mA. Ngồi ra ở chế độ chờ nó tiêu thụ 26 𝜇A
và 900 nA ở chế độ tắt nguồn. Đây chính lý do module này là thiết bị khơng dây
phù hợp cho các ứng dụng tiêu thụ điện năng thấp.

Hình 3-8 Sơ đồ các chân của module nRF24L01

 Tần số kênh RF
Module nRF24L01 truyền và nhận dữ liệu trên một tần số trung tâm được
gọi là kênh. Để 2 hay nhiều module thu phát giao tiếp với nhau thì chúng cần ở
cùng 1 kênh. Kênh này có thể là bất kỳ tần số nào trong vùng băng tần 2,4 GHz.
Chính xác nó có thể nằm trong khoảng từ 2.400 đến 2.525 GHz (2400 đến 2525
MHz).

Mỗi kênh chiếm băng thông thấp hơn 1 MHz. Điều này cho phép lên đến
125 kênh với khoảng cách 1 MHz. Vì vậy, module có thể sử dụng tới 125 kênh
khác nhau và có khả năng thiết lập 1 mạng gồm 125 module hoạt động độc lập.

19


Hình 3-9 Sơ đồ kênh của nRF24L01

Kênh có băng thơng dưới 1MHz cho tốc độ truyền dữ liệu trong không khí
là 1Mbps. Khi băng thơng lên 2MHz, tốc độ có thể cải thiện lên 2Mbps nhưng
băng thông lại rộng hơn độ phân giải của cài đặt tần số kênh RF. Vì vậy, để đảm
bảo các kênh khơng bị chồng chéo và có thể kết nối, giao tiếp với nhau ở chế độ
2Mbps thì cần phải giữ độ chia 2MHz giữa hai kênh.
Tần số kênh RF được tính theo cơng thức:
Freg = 2400 + Kênh
 Truyền nhận dữ liệu đa điểm
nRF24L01 cung cấp một tính năng gọi là Multiceiver, viết tắt của
Multiple Transmitters Single Receiver tức là nhiều điểm truyền và 1 điểm nhận .
Trong đó mỗi kênh RF được phân chia thành 6 kênh dữ liệu song song được gọi
là đường ống dữ liệu (Data Pipes), ống dữ liệu là kênh logic trong kênh RF vật
lý. Mỗi ống dữ liệu được định địa chỉ vật lý riêng (Data Pipe Address).

20


Hình 3-10 Ví dụ về nRF24L01 truyền phát đa điểm

Hình vẽ 3-7 cho thấy bộ thu chính đóng vai trị làm hub trung tâm lựa
chọn thu thập thông tin từ 6 nút truyền khác nhau cùng một lúc. Bộ thu trung tâm

có thể ngừng nhận dữ liệu bất cứ lúc nào và hoạt động như một máy phát. Nhưng
điều này chỉ có thể được thực hiện một ống/nút tại một thời điểm.
 Cấu trúc gói tin

Hình 3-11 Cấu trúc gói Enhanced ShockBurst

Module thu phát nRF24L01 sử dụng cấu trúc gói tin được gọi là Enhanced
ShockBurst. Cấu trúc gói đơn giản này được chia thành 5 trường khác nhau.
Cấu trúc ShockBurst ban đầu chỉ bao gồm: Mở đầu, địa chỉ, dữ liệu và
CRC (Kiểm tra dự phòng). ShockBurst cải tiến mang lại tính đa năng tốt hơn cho
truyền thơng nâng cao hơn bằng cách sử dụng Trường điều khiển gói (PFC). Cấu
trúc mới này cho phép dữ liệu có độ dài thay đổi với “Độ dài dữ liệu”, nghĩa là
dữ liệu có độ dài linh hoạt từ 1 đến 32 byte. Nó cũng cung cấp cho mỗi gói tin
21


được gửi kèm theo một mã gói, cho phép thiết bị nhận xác định xem tin nhắn có
phải là mới khơng là nó được truyền lại (do thiết bị truyền khơng nhận được tín
hiệu xác thực ACK).
 Giao tiếp bắt tay giữa các module nRF24L01
Có 3 hình thức về cách các module nRF24L01 giao tiếp với nhau:
- Trường hợp hoàn hảo truyền thông với ACK và ngắt. Khi máy phát bắt đầu
truyền thơng bằng cách gửi gói dữ liệu đến máy thu. Khi tồn bộ gói được truyền
đi, nó sẽ chờ (khoảng 130µs) để nhận gói tin xác nhận (gói ACK). Khi máy thu
nhận được gói data, nó sẽ gửi gói ACK đến máy phát. Khi nhận được gói ACK,
máy phát xác nhận tín hiệu ngắt (IRQ) để cho biết dữ liệu mới sẽ bắt đầu.
- Giao tiếp với gói dữ liệu bị mất: Đây là một trường hợp xấu khi mà bị mất gói
tin cần truyền. Sau khi gói tin được truyền đi, thiết bị truyền chờ tín hiệu xác
nhận ACK. Nếu thiết bị truyền khơng nhận được tín hiệu xác nhận này trong thời
gian trễ cho phép (ARD) thì gói tin sẽ được truyền lại. Khi nhận được gói tin

truyền lại này, thiết bị nhận sẽ trả về tín hiệu xác nhận ACK và ngắt xảy ra tại
thiết bị truyền.
- Giao tiếp với xác nhận ACK bị mất: Đây là trường hợp mất mát cần truyền lại
do mất tín hiệu xác thực ACK. Khi thiết bị nhận nhận được gói tin trong lần thử
đầu tiên, do mất tín hiệu ACK nên thiết bị truyền cho rằng thiết bị nhận chưa
nhận được gói tin nào cả. Vì vậy, sau thời gian trễ (ARD), thiết bị truyền sẽ
truyền lại gói tin đó. Nếu lúc này truyền thành cơng và thiết bị truyền nhận được
tín hiệu xác nhận ACK, thiết bị nhận nhận được gói tin trùng với mã của gói tin
trước thì thiết bị nhận bỏ gói tin đó và gửi lại tín hiệu xác nhận ACK.
Việc xử lí các gói tin như ở trên hồn tồn do chính module thực hiện mà
không cần phải qua vi điều khiển.
3.3.4 Module truyền dữ liệu lên web
Để truyền dữ liệu lên web ThingSpeak thì module này sử dụng esp32.

Hình 3-12 Sơ đồ kết nối module esp32

22


Hình 3-13 Module Esp32

ESP32 là một vi điều khiển giá rẻ, năng lượng thấp có hỗ trợ WiFi và
Bluetooth. Dịng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6.
CPU:
- CPU: Xtensa Dual-Core LX6 microprocessor.
- Chạy hệ 32 bit
- Tốc độ xử lý 160MHZ up to 240 MHz
- Tốc độ xung nhịp đọc flash chip 40mhz --> 80mhz (tùy chỉnh khi lập trình)
- RAM: 520 KByte SRAM
- 520 KB SRAM liền chip – (trong đó 8 KB RAM RTC tốc độ cao – 8 KB RAM

RTC tốc độ thấp (dùng ở chế độ DeepSleep).
Hỗ trợ 2 giao tiếp không dây:
- Wi-Fi: 802.11 b/g/n/e/i
- Bluetooth: v4.2 BR/EDR and BLE
34 GPIO Hỗ trợ tất cả các loại giao tiếp:
- 8-bit DACs( digital to analog) 2 cổng, Analog(ADC) 12-bit 16 cổng.
- I²C – 2 cổng
- UART – 3 cổng,
- SPI – 3 cổng (1 cổng cho chip FLASH )
- SD card /SDIO/MMC host
- Slave (SDIO/SPI)
- Ethernet MAC interface with dedicated DMA and IEEE 1588 support
- CAN bus 2.0
- Bộ điều khiển hồng ngoại từ xa IR (TX/RX)
- Băm xung PWM (tất cả các chân )
- Bộ tiền khuếch đại analog công suất cực thấp (Ultra low power analog preamplifier)
Nguồn điện hoạt động
- Nhiệt độ hoạt động -40 + 85C
23


- Điện áp hoạt động: 2.2-3.6V
3.3.5 Module hiển thị
Sử dụng LCD 16x2 để hiển thị thông tin về nhiệt độ và độ ẩm nhận được.

Hình 3-14 Sơ đồ kết nối module hiển thị

Thông số kĩ thuật LCD 16x2:
- Hoạt động ổn định : 2.7-5.5V
- Dòng điện cấp nguồn : 350uA - 600uA

- Nhiệt độ hoạt động : - 30 - 75 độ C

Hình 3-15 LCD 16x2

3.4 Triển khai
Dựa vào sơ đồ khối và thiết kế module nhóm đưa ra sơ đồ nguyên lý cho
các node trong mạng cảm biến như sau:
24


Hình 3-16 Sơ đồ mạch nguyên lý các node end device

Hình 3-17 Sơ đồ mạch nguyên lý node coordinator

Lưu đồ thuật toán của các node end device và node coordinator được biểu
diễn trong hình vẽ 3-18, 3-19.

25


×