lOMoARcPSD| 58737056
BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
MẠNG CẢM BIẾN
Đề tài: “HỆ THỐNG GIÁM SÁT AN NINH BAN ĐÊM VỚI CẢM BIẾN ÁNH
SÁNG VÀ PIR”
Giảng viên hướng dẫn
:
Họ và tên sinh viên
:
Phạm Ngọc Sơn – B21DCDT
195
Đinh Quốc Thái – B21DCDT203
Đỗ Dương Thanh – B21DCDT207
Lớp
:
D21DTVM
02
Nhóm
:
12
Hà Nội 202
5
lOMoARcPSD| 58737056
LỜI CAM ĐOAN
Chúng em xin cam đoan rằng đề tài này kết quả của quá trình tìm hiểu
nghiên cứu nghiêm túc do chúng em thực hiện. Nội dung trong đề tài được xây dựng
dựa trên các nguồn tài liệu, giáo trình đã học, cùng với sự tổng hợp từ những kiến
thức chúng em tích lũy được trong quá trình học tập nghiên cứu. Mọi tài liệu tham
khảo được sử dụng trong quá trình thực hiện đều được trích dẫn nguồn đầy đủ
chính xác theo quy định. Chúng em hoàn toàn chịu trách nhiệm về tính trung thực
và nội dung của đề tài này.
lOMoARcPSD| 58737056
LỜI CẢM ƠN
Trước tiên, chúng em muốn gửi lời tri ân sâu sắc đến Trần Thị Thanh Thủy, người
đã tận tâm truyền đạt kiến thức cho chúng em, từ những kiến thức bản nhất cho đến
những kiến thức chuyên sâu và phức tạp hơn. Nhờ sự dày công dạy dỗ, hướng dẫn tận tình
của cô, chúng em đã được nền tảng kiến thức vững chắc, đủ để tiến hành thực hiện
hoàn thành bài tập lớn một cách thuận lợi. Cô đã tạo mọi điều kiện thuận lợi để chúng em
có thể hoàn thành bài tập lớn một cách tốt nhất.
Chúng em cũng xin gửi lời cảm ơn chân thành tới các bạn cùng khoa. Trong suốt
quá trình học tiếp thu kiến thức, chúng em đã giúp đỡ lẫn nhau, hợp tác một cách hiệu
quả. Nhờ sự hỗ trợ quý báu từ các bạn, chúng em đã vượt qua được nhiều khó khăn, thử
thách và hoàn thành bài tập lớn đúng tiến độ cũng như đáp ứng được thời gian quy định.
Tuy nhiên, do kiến thức kinh nghiệm của nhóm em vẫn còn hạn chế, nên không
tránh khỏi bài tập lớn này vẫn còn nhiều thiếu sót, hạn chế về cả nội dung lẫn hình thức
trình bày. Nhóm em xin rất mong nhận được sự thông cảm từ quý thầy cô. Đồng thời, nhóm
em cũng kính mong quý thầy cô sẽ tận tình đóng góp ý kiến quý báu, chỉ ra những hạn chế
và gợi ý những điểm cần cải thiện để chúng em có thể hoàn thiện, nâng cao chất lượng các
mô hình nghiên cứu trong tương lai, đưa ra những sản phẩm hoàn chỉnh và toàn diện nhất.
Một lần nữa chúng em xin chân thành cảm ơn!
MỤC LỤC
LỜI CAM ĐOAN....................................................................................................2
LỜI CẢM ƠN..........................................................................................................3
MỤC LỤC................................................................................................................4
LỜI MỞ ĐẦU..........................................................................................................5
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG, CÁC THÀNH PHẦN PHẦN
CỨNG VÀ GIAO THỨC SỬ DỤNG.....................................................................6
1.1. Tổng quan về hệ thống giám sát..................................................................6
1.2. Các thành phần phần cứng trong hệ thống................................................8
1.2.1. ESP32 – CAM........................................................................................8
1.2.2. Cảm biến BH1750..................................................................................9
1.2.3. PIR HC SR501..................................................................................10
1.2.4. Buzzer...................................................................................................11
lOMoARcPSD| 58737056
1.3. Các giao thức sử dụng................................................................................12
1.3.1. Giao thức I2C.......................................................................................12
1.3.2. Giao thức HTTP..................................................................................17
CHƯƠNG 2: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG AN NINH TRÊN
ESP32 – CAM........................................................................................................23
2.1. Thiết kế phần cứng hệ thống.....................................................................23
2.2. Quá trình thực hiện của hệ thống.............................................................25
2.2.1. Đo cường độ ánh sáng từ BH1750......................................................25
2.2.2. Hoạt động cảm biến chuyển động của PIR HC – SR501.................26
2.2.3. Gửi kết quả và điều khiển thông qua Web........................................27
LỜI MỞ ĐẦU
Trong bối cảnh công nghệ hiện đại, việc tích hợp các cảm biến vào các hệ thống
giám sát thông minh, đặc biệt là trong lĩnh vực an ninh, ngày càng trở nên quan trọng nhờ
sự phát triển của Internet of Things (IoT). Với nhu cầu bảo vệ tài sản đảm bảo an toàn
ban đêm, việc xây dựng một hệ thống giám sát hiệu quả, chính xác khả năng điều
khiển từ xa là điều cấp thiết. Trong đồ án này, em tập trung thiết kế và hiện thực "Hệ thống
giám sát an ninh ban đêm với cảm biến ánh sáng và PIR" sử dụng ESP32-CAM làm trung
tâm, tích hợp cảm biến BH1750, PIR HC-SR501, và điều khiển qua giao diện web tựy
dựng.
Cảm biến BH1750 cung cấp dữ liệu ánh sáng với độ chính xác cao qua giao thức
I2C, trong khi PIR HC-SR501 phát hiện chuyển động, tạo điều kiện lý tưởng cho giám sát
ban đêm. ESP32-CAM, với khả năng xử hình ảnh kết nối Wi-Fi, không chỉ ghi hình
khi có sự kiện mà còn cho phép bật/tắt hệ thống từ xa qua web. Hệ thống được thiết kế để
tự động hóa: tắt ban ngày khi ánh sáng cao, bật ban đêm khi ánh sáng thấp, và hỗ trợ điều
khiển thủ công qua giao diện web. Khác với các giải pháp truyền thống, cách tiếp cận này
mang lại tính linh hoạt, giảm độ trễ và dễ dàng mở rộng.
Đề tài không chỉ có giá trị học thuật mà còn tiềm năng ứng dụng thực tiễn trong an
ninh gia đình, văn phòng nhà thông minh. Qua quá trình thực hiện, em mong muốn
chứng minh tính khả thi của hệ thống, tạo ra một giải pháp đơn giản, hiệu quả và đáng tin
cậy. Báo cáo sẽ được trình bày trong 3 chương:
Chương 1: Tổng quan về hệ thống, các thành phần phần cứng và giao thức sử dụng
lOMoARcPSD| 58737056
Chương 2: Thiết kế và xây dựng hệ thống giám sát trên ESP32-CAM
Chương 3: Kết quả thử nghiệm và phương hướng phát triển
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG, CÁC THÀNH PHẦN
PHẦN CỨNG VÀ GIAO THỨC SỬ DỤNG
Chương này cung cấp cái nhìn tổng quan về hệ thống giám sát an ninh ban đêm sử
dụng cảm biến ánh sáng PIR, đồng thời giới thiệu các thành phần phần cứng giao
thức liên quan. Trước tiên, chương 1 trình bày khái quát về ESP32-CAM trung tâm của
hệ thống – cùng các đặc điểm nổi bật như khả năng xử lý hình ảnh kết nối Wi-Fi, cũng
như các giao thức truyền thông phổ biến trong IoT như HTTP I2C. Tiếp theo, các phương
pháp phát hiện ánh sáng chuyển động được phân tích để làm nguyên lý hoạt động của
cảm biến BH1750 và PIR HC-SR501. Ngoài ra, chương này so sánh và đánh giá ưu nhược
điểm của các loại cảm biến ánh sáng và chuyển động thông dụng trên thị trường.
1.1. Tổng quan về hệ thống giám sát
Hệ thống giám sát là một trong những ứng dụng quan trọng của công nghệ hiện đại,
đặc biệt trong bối cảnh nhu cầu bảo vệ tài sản, đảm bảo an toàn quản môi trường ngày
càng gia tăng. Với sự phát triển mạnh mẽ của Internet of Things (IoT), trí tuệ nhân tạo (AI)
và các cảm biến thông minh, các hệ thống giám sát không chỉ dừng lại ở việc ghi lại hình
ảnh hay âm thanh còn tích hợp các tính năng tiên tiến như phân tích dữ liệu thời gian
thực, cảnh báo tự động và điều khiển từ xa. Trong lĩnh vực an ninh, hệ thống giám sát đóng
vai trò cốt lõi trong việc phát hiện các mối đe dọa tiềm ẩn, hỗ trợ quản rủi ro cung
cấp bằng chứng khi cần thiết, từ đó trở thành công cụ không thể thiếu trong gia đình, doanh
nghiệp, và các khu vực công cộng.
Hệ thống giám sát an ninh ban đêm, như đề i được đề cập, tập trung vào việc tận
dụng các cảm biến chuyên dụng để phát hiện sự kiện trong điều kiện ánh sáng yếu, một
thách thức lớn đối với các giải pháp truyền thống. Thông thường, một hệ thống giám sát
bao gồm các thành phần chính như thiết bị thu thập dữ liệu (camera, cảm biến), bộ xử
trung tâm, giao diện hiển thị hoặc lưu trữ, và cơ chế kết nối để truyền thông tin. Với sự kết
hợp của cảm biến ánh sáng (như BH1750) và cảm biến chuyển động (như PIR HCSR501),
hệ thống thể tự động kích hoạt khi điều kiện môi trường thay đổi, chẳng hạn như khi
ánh sáng giảm vào ban đêm, đồng thời giảm tiêu thụ năng lượng bằng cách tắt khi không
lOMoARcPSD| 58737056
cần thiết vào ban ngày. Điều này không chỉ nâng cao hiệu quả còn phù hợp với xu
hướng phát triển bền vững.
Trong bối cảnh công nghệ IoT, hệ thống giám sát hiện đại thường được tích hợp với
các nền tảng đám mây hoặc giao diện web, cho phép người dùng theo dõi và điều khiển từ
xa thông qua các thiết bị như điện thoại thông minh hoặc y tính. ESP32CAM, với khả
năng xử lý hình ảnh và kết nối Wi-Fi, là một lựa chọn lý tưởng cho các hệ thống như vậy,
cung cấp khả năng ghi hình khi chuyển động gửi thông báo hoặc hình ảnh trực tiếp
đến người dùng. Giao thức I2C được sử dụng để giao tiếp với cảm biến BH1750, đảm bảo
truyền dữ liệu ánh ng chính c ổn định, trong khi giao thức HTTP hoặc MQTT hỗ
trợ điều khiển từ xa qua web. Sự linh hoạt này cho phép hệ thống thích nghi với nhiều kịch
bản khác nhau, từ giám sát nhà ở, văn phòng đến các khu vực công cộng như bãi đậu xe
hoặc nhà kho.
Ngoài ra, hệ thống giám sát an ninh ban đêm còn thể tích hợp c tính năng bổ
sung như cảnh báo âm thanh (qua Buzzer) hoặc đèn báo (LED) để thu hút sự chú ý khi phát
hiện bất thường. Việc tđộng hóa quy trình dựa trên dữ liệu từ cảm biến không chỉ tăng
cường tính chủ động còn giảm thiểu sự can thiệp thủ công, phù hợp với xu hướng tự
động hóa trong các giải pháp thông minh. Tuy nhiên, để đạt được hiệu quả tối ưu, hệ thống
cần được tối ưu hóa về phần cứng, phần mềm và bảo mật, đặc biệt là trong việc bảo vệ dữ
liệu truyền tải tránh khỏi các cuộc tấn công mạng.
Tóm lại, hệ thống giám sát an ninh ban đêm với cảm biến ánh sáng PIR không
chỉ một giải pháp công nghệ còn phản ánh xu hướng hội tụ giữa phần cứng, phần
mềm và kết nối mạng. Với nền tảng này, việc thiết kếtriển khai một hệ thống đáng tin
cậy, hiệu quả và dễ sử dụng là hoàn toàn khả thi, đồng thời tạo tiền đề cho các nghiên cứu
sâu hơn về giám sát thông minh trong tương lai.
1.2. Các thành phần phần cứng trong hệ thống
Phần này trình bày chi tiết các thành phần phần cứng chủ đạo của hệ thống giám sát, bao
gồm ESP32 - CAM, cảm biến BH1750, cảm biến PIR HC SR501 Buzzer, cùng với
vai trò và đặc điểm kỹ thuật của từng linh kiện trong thiết kế tổng thể.
lOMoARcPSD| 58737056
1.2.1. ESP32 – CAM
Hình 1.1. ESP32 - CAM
ESP32-CAM một mô-đun phát triển tiên tiến dựa trên vi điều khiển ESP32 do
Espressif Systems thiết kế, tích hợp camera các tính năng kết nối không dây, trở thành
lựa chọn lý tưởng cho các dự án IoT và giám sát. Với hai lõi xử lý 32-bit LX6 hoạt động ở
tốc độ tối đa 240 MHz, cùng 520 KB SRAM nội bộ và 4 MB PSRAM ngoài, ESP32CAM
cung cấp khả năng xử mạnh mẽ, đặc biệt phù hợp cho các tác vụ như thu thập, nén
truyền dữ liệu hình ảnh từ cảm biến OV2640 có độ phân giải 2 megapixel. Môđun này hỗ
trợ kết nối Wi-Fi (chuẩn 802.11 b/g/n) Bluetooth 4.2 (bao gồm BLE), cho phép truyền
dữ liệu qua mạng hoặc giao tiếp với các thiết bị khác, đồng thời cung cấp 9 chân GPIO hỗ
trợ giao thức UART, SPI, I2C PWM để mrộng tính năng. Tuy nhiên, có hạn chế
như thiếu cổng USB trực tiếp (yêu cầu FTDI để lập trình), số lượng GPIO hạn chế do
camera khe microSD chiếm dụng, và chất lượng hình ảnh giảm trong điều kiện ánh sáng
yếu.
Ứng dụng thực tế của ESP32-CAM bao gồm giám sát an ninh, phát trực tiếp video,
nhận diện hình ảnh bản, tích hợp trong nhà thông minh, đặc biệt phù hợp với đề tài
hệ thống giám sát an ninh ban đêm khi kết hợp với cảm biến BH1750 PIR HCSR501.
Để sử dụng hiệu quả, cần cung cấp nguồn 5V ổn định, tối ưu code để tránh tràn bộ nhớ, và
đảm bảo kết nối Wi-Fi mạnh mẽ, làm nổi bật vai trò quan trọng của ESP32CAM trong việc
xây dựng các giải pháp giám sát thông minh kinh tế. Với thiết kế nhỏ gọn chi phí
lOMoARcPSD| 58737056
thấp (khoảng 7-10 USD), ESP32-CAM không chỉ hỗ trợ các dự án DIYcòn mở ra tiềm
năng ứng dụng rộng rãi trong các lĩnh vực đòi hỏi giám sát thời gian thực và điều khiển từ
xa.
1.2.2. Cảm biến BH1750
Hình 1.2. Cảm biến ánh sáng BH1750
Cảm biến BH1750 là một thiết bị đo ánh sáng kỹ thuật số tiên tiến, được thiết kế để
cung cấp dữ liệu cường độ ánh sáng chính xác trong các ứng dụng IoT và hệ thống nhúng,
trở thành lựa chọn tưởng cho các dự án giám sát như hệ thống an ninh ban đêm. Với giao
thức I2C, BH1750 hoạt động ở dải điện áp 3.3V đến 5V, cung cấp độ phân giải đo sáng lên
đến 1 lux phạm vi đo từ 1 đến 65.535 lux, đáp ứng tốt các điều kiện ánh sáng đa dạng
từ tối đến sáng. Cảm biến này tích hợp bộ lọc hồng ngoại, giúp giảm nhiễu tánh sáng
không mong muốn, đồng thời có thời gian phản hồi nhanh và mức tiêu thụ điện năng thấp
(khoảng 120µA khi hoạt động), phù hợp cho các hệ thống cần tiết kiệm năng lượng. Tuy
nhiên, BH1750 yêu cầu hiệu chỉnh ngưỡng sáng thể gặp hạn chế trong môi trường
ánh sáng cực mạnh hoặc biến đổi đột ngột.
Ứng dụng thực tế của BH1750 bao gồm điều chỉnh độ sáng n hình, tự động hóa
đèn trong nhà thông minh, và đặc biệt là tích hợp trong hệ thống giám sát an ninh ban đêm
khi kết hợp với ESP32-CAM PIR HC-SR501 để kích hoạt hoặc tắt hệ thống dựa trên
cường độ ánh sáng. Để sử dụng hiệu quả, cần kết nối chính xác các chân SDA và SCL với
vi điều khiển, lập trình ngưỡng sáng phù hợp, đảm bảo tránh nhiễu tín hiệu trong môi
trường điện từ phức tạp. Với thiết kế nhỏ gọn, chi phí thấp (khoảng 1-2 USD), và độ chính
xác cao, BH1750 đóng vai trò quan trọng trong việc cung cấp dữ liệu môi trường đáng tin
lOMoARcPSD| 58737056
cậy, góp phần nâng cao hiệu suất tính tự động hóa của các giải pháp giám sát thông
minh.
1.2.3. PIR HC – SR501
Hình 1.3. Cảm biến chuyển động PIR HC – SR501
Cảm biến chuyển động PIR HC-SR501 là một cảm biến hồng ngoại thụ động
(Passive Infrared) được thiết kế để phát hiện sự thay đổi nhiệt độ do chuyển động của người
hoặc động vật trong phạm vi quan sát, dựa trên nguyên nhận diện sự thay đổi bức xạ
hồng ngoại từ môi trường xung quanh. Thiết bị được trang bị phần tử cảm biến pyroelectric
nhạy với bức xạ hồng ngoại, kết hợp với ống kính Fresnel để tập trung tín hiệu và mở rộng
phạm vi quan sát, đồng thời tích hợp mạch xử lý khuếch đại và lọc nhiễu để kích hoạt ngõ
ra khi phát hiện sự thay đổi đáng kể. HC-SR501 cho phép điều chỉnh độ nhạy và thời gian
trễ thông qua c biến trở, mang lại tính linh hoạt trong sử dụng, với ứng dụng rộng rãi như
phát hiện đột nhập trong hệ thống an ninh, bật đèn tự động để tiết kiệm năng lượng, điều
khiển thiết bị dựa trên sự hiện diện, cũng như hỗ trợ các dự án điện tử sáng tạo.
Với ưu điểm nổi bật ngiá thành rẻ, dễ dàng tích hợp nhờ mạch xử sẵn có,
khả năng tùy chỉnh độ nhạy cùng thời gian trễ, cảm biến PIR HC-SR501 lựa chọn phổ
biến trong các hệ thống giám sát. Tuy nhiên, cũng những hạn chế như dễ bị ảnh
hưởng bởi biến đổi nhiệt độ môi trường dẫn đến báo động giả, phạm vi phát hiện bgiới
hạn bởi góc quét và độ nhạy, cũng như khả ng bỏ sót chuyển động nếu vật thể di chuyển
quá nhanh, quá chậm hoặc ở khoảng cách xa. Những đặc điểm này làm nổi bật vai trò quan
lOMoARcPSD| 58737056
trọng của HC-SR501 trong đề tài hệ thống giám sát an ninh ban đêm, đặc biệt khi kết hợp
với ESP32-CAM BH1750, đòi hỏi tối ưu hóa trong quá trình triển khai để đạt hiệu quả
cao nhất.
1.2.4. Buzzer
Hình 1.4. Còi cảnh báo (Buzzer)
Buzzer một thiết bị phát âm thanh điện tử nhỏ gọn, thường được sử dụng trong
các hệ thống nhúng và IoT để tạo tín hiệu cảnh báo hoặc thông báo. Nó hoạt động dựa trên
nguyên biến đổi tín hiệu điện thành âm thanh thông qua dao động của màng rung bên
trong, với hai loại chính buzzer chủ động (có mạch dao động ch hợp) buzzer thụ
động (cần điều khiển bằng tín hiệu PWM từ vi điều khiển). Trong các dự án như hệ thống
giám sát an ninh ban đêm, buzzer chủ động thường được ưa chuộng nhờ dễ sử dụng, chỉ
cần cấp nguồn 3.3V hoặc 5V để phát âm thanh tần số cố định (thường từ 2kHz đến 4kHz),
trong khi buzzer thụ động cho phép tùy chỉnh tần số độ dài âm thanh thông qua lập trình.
Ứng dụng của buzzer bao gồm phát tín hiệu báo động khi phát hiện chuyển động
(kết hợp với PIR HC-SR501), thông báo trạng thái hệ thống (như bật/tắt với BH1750), hoặc
xác nhận thao tác điều khiển từ xa qua ESP32-CAM. Ưu điểm của buzzer kích thước
nhỏ, chi phí thấp (khoảng 0.5-2 USD), và tiêu thụ điện năng thấp, phù hợp cho các thiết bị
di động hoặc pin. Tuy nhiên, nhược điểm như âm lượng hạn chế (thường dưới 85dB),
dễ bị nhiễu trong môi trường ồn ào, không thể điều chỉnh âm thanh chi tiết nếu dùng
loại chủ động. Trong đề tài, buzzer đóng vai trò quan trọng trong việc thu hút sự chú ý khi
sự kiện bất thường, đòi hỏi kết nối chính xác với GPIO của ESP32CAM tối ưu hóa
code để tránh tiêu hao năng lượng không cần thiết.
lOMoARcPSD| 58737056
1.3. Các giao thức sử dụng
1.3.1. Giao thức I2C
a. Khái niệm
I2C hay IIC (Inter Integrated Circuit) 1 giao thức giao tiếp nối tiếp đồng bộ
được phát triển bởi Philips Semiconductors, sử dụng để truyền nhận dữ liệu giữa các IC
với nhau chỉ sử dụng hai đường truyền tín hiệu.
I2C kết hợp các tính năng tốt nhất của SPI và UART. I2C có thể kết nối nhiều slave
với một master duy nhất (như SPI) thể nhiều master điều khiển một hoặc nhiều
slave. Điều này thực sự cần thiết khi muốn có nhiều hơn một vi điều khiển ghi dữ liệu vào
một thẻ nhớ duy nhất hoặc hiển thị văn bản trên một màn hình LCD.
Hình 1.5: Giao thức I2C sử dụng đường truyền 2 dây
Giống như giao tiếp UART, I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết
bị:
SDA (Serial Data) - đường truyền cho master slave để gửi nhận dữ liệu.
SCL (Serial Clock) - đường mang tín hiệu xung nhịp.
Các bit dữ liệu sẽ được truyền từng bit một dọc theo một đường duy nhất (SDA)
theo các khoảng thời gian đều đặn được thiết lập bởi 1 tín hiệu đồng hồ (SCL)
b. Cách thức hoạt động của I2C
lOMoARcPSD| 58737056
Giao tiếp I2C bao gồm quá trình truyền nhận dữ liệu giữa các thiết bị chủ tớ, hay
Master - Slave. Thiết bị Master 1 vi điều khiển, nhiệm vụ điều khiển đường tín
hiệu SCL gửi nhận dữ liệu hay lệnh thông qua đường SDA đến các thiết bị khác. Các
thiết bị nhận các dữ liệu lệnh tín hiệu từ thiết bị Master được gọi các thiết bị Slave.
Các thiết bị Slave thường các IC, hoặc thậm chí là vi điều khiển. Master và Slave được
kết nối với nhau bằng hai đường bus SCL SDA đều hoạt động chế độ Open Drain,
nghĩa là bất cứ thiết bị nào kết nối với mạng I2C này cũng chỉ có thể kéo 2 đường bus này
xuống mức thấp (LOW), nhưng lại không thể kéo được lên mức cao. để tránh trường
hợp bus vừa bị 1 thiết bị kéo lên mức cao vừa bị 1 thiết bị khác kéo xuống mức thấp gây
hiện tượng ngắn mạch. Do đó cần có 1 điện trờ (từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao.
Hình 1.6: Cách hoạt động của giao thức I2C
Với I2C, dữ liệu được truyền trong các tin nhắn. Tin nhắn được chia thành các khung
dữ liệu. Mỗi tin nhắn có một khung địa chỉ chứa địa chỉ nhị phân của địa chỉ slave và một
hoặc nhiều khung dữ liệu chứa dữ liệu đang được truyền. Thông điệp cũng bao gồm điều
kiện khởi động điều kiện dừng, các bit đọc / ghi c bit ACK / NACK giữa mỗi khung
dữ liệu:
Điều kiện khởi động: Đường SDA chuyển từ mức điện áp cao xuống mức điện
áp thấp trước khi đường SCL chuyển từ mức cao xuống mức thấp.
Điều kiện dừng: Đường SDA chuyển từ mức điện áp thấp sang mức điện áp cao
sau khi đường SCL chuyển từ mức thấp lên mức cao.
lOMoARcPSD| 58737056
Bit địa chỉ: Thông thường quá trình truyền nhận sẽ diễn ra với rất nhiều thiết bị,
IC với nhau. Do đó để phân biệt các thiết bị này, chúng sẽ được gắn 1 địa chỉ vật
lý 7 bit cố định.
Bit đọc / ghi: Bit này dùng để xác định quá trình truyền hay nhận dữ liệu từ
thiết bị Master. Nếu Master gửi dữ liệu đi thì ứng với bit này bằng ‘0’, và ngược
lại, nhận dữ liệu khi bit này bằng ‘1’.
Bit ACK / NACK: Viết tắt của Acknowledged / Not Acknowledged. Dùng để so
sánh bit địa chỉ vật của thiết bị so với địa chỉ được gửi tới. Nếu trùng thì Slave
sẽ được đặt bằng ‘0’ và ngược lại, nếu không thì mặc định bằng ‘1’.
Bit dữ liệu: Gồm 8 bit và được thiết lập bởi thiết bị gửi truyền đến thiết bị nhân.
Sau khi các bit này được gửi đi, lập tức 1 bit ACK/NACK được gửi ngay theo
sau để xác nhận rằng thiết bị nhận đã nhận được dữ liệu thành công hay chưa.
Nếu nhận thành công thì bit ACK/NACK được set bằng ‘0’ và ngược lại. c. Quá
trình truyền nhận
Khi bắt đầu Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường
SDA, SCL từ mức 1 xuống 0.
Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới các Slave cùng với bit Read/Write.
Slave sẽ so sánh địa chỉ vừa được gửi tới. Nếu trùng khớp, Slave sẽ xác nhận
bằng cách kéo đường SDA xuống 0 và set bit ACK/NACK bằng ‘0’. Nếu không
trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng ‘1’.
Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu. Nếu Master gửi đến Slave
thì bit Read/Write ở mức 0. Ngược lại nếu nhận thì bit này ở mức 1.
Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK được set
thành mức 0 để báo hiệu cho Master tiếp tục.
Sau khi tất cả dữ liệu đã được gửi đến Slave thành ng, Master sẽ phát 1 tín
hiệu Stop để báo cho các Slave biết quá trình truyền đã kết thúc bằng các chuyển
lần lượt SCL, SDA từ mức 0 lên mức 1.
d. Các chế độ hoạt động của I2C
Các dữ liệu trên I2C có tốc độ truyền phụ thuộc vào I2C bus:
- Bus hai chiều:
lOMoARcPSD| 58737056
Standard mode (SM): tốc độ bit tối đa 100kbit/s Fast
– mode (FM): tốc độ bit tối đa là 400kbit/s
Fast mode plus (FM+): tốc độ bit tối đa 1Mbit/s High
Speed – mode (HSM): tốc độ bit tối đa là 3.4 Mbit/s - Bus
một chiều:
Ultra Fast – mode (UFM): tốc độ bit tối đa là 5 Mbit/s
Khác với giao tiếp SPI chỉ có thể có 1 Master, giao tiếp I2C cho phép chế độ
truyền nhận dữ liệu giữa nhiều thiết bị Master khác nhau với thiết bị Slave. Tuy nhiên quá
trình này có hơi phức tạp vì thiết bị Slave có thể nhận 1 lúc nhiều khung dữ liệu từ các
thiết bị Master khác nhau, điều đó đôi khi dẫn đến xung đột hoặc sai sót dữ liệu nhận
được.
Để tránh điều đó, khi làm việc ở chế độ này, mỗi thiết bị Master cần phát hiện xem
đường SDA đang trạng thái nào. Nếu SDA mức 0, nghĩa đang 1 thiết bị Master
khác đang quyền điều khiển phải chờ đến khi truyền xong. Ngược lại nếu SDA
mức 1, nghĩa là đường truyền SDA đã an toàn và có sử dụng.
e. Ưu điểm và nhược điểm của I2C.
Giao thức I2C là phương thức giao tiếp nối tiếp được sử dụng rộng rãi trong các hệ
thống nhúng, mang đến những ưu điểm và nhược điểm sau:
Ưu điểm:
Chỉ sử dụng hai dây n hiệu (SCL SDA): giúp tiết kiệm chân I/O trên vi điều
khiển.
Hỗ trợ nhiều Master và Slave thông qua cơ chế địa chỉ hóa linh hoạt
Tích hợp bit ACK/NACK: giúp các nhận từng byte dữ liệu được truyền thành công,
đảm bảo độ tin cậy
Phần cứng ít phức tạp hơn so với UART do I2C không cần bộ truyền nhận
asynchronous
Giao thức phổ biến và được sử dụng rộng rãi như cảm biến, bộ nhớ EEPROM hay
màn hình OLED Nhược điểm:
lOMoARcPSD| 58737056
Tốc độ truyền dữ liệu chận hơn SPI: Tốc độ truyền của I2C thường trong khoảng
100kb/s đến 5Mb/s, còn SPI thể đạt tốc độ hành chục Mb/s, khiến kém hiệu
quả trong các ứng dụng yêu cầu băng thông cao
Kích thước khung dữ liệu bị giới hạn 8 bit: Mỗi lần truyền chỉ gửi được 8 bit dữ
liệu, đòi hỏi nhiều chu kỳ truyền hơn để xử lý khối lượng dữ liệu lớn, làm tăng thời
gian giao tiếp.
Cần phần cứng phức tạp hơn để triển khai so với SPI: Mặc dù đơn giản hơn UART,
I2C yêu cầu các mạch hỗ trợ pull-up resistor và logic điều khiển đồng bộ hóa, trong
khi SPI chỉ cần cấu hình cơ bản với các đường tín hiệu riêng biệt.
1.3.2. Giao thức HTTP
a. HTTP là gì?
HTTP (HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản) một trong
các giao thức chuẩn về mạng Internet, được dùng để liên hệ thông tin giữa Máy cung cấp
dịch vụ (Web server) Máy sử dụng dịch vụ (Web client), giao thức Client/Server dùng
cho World Wide Web – WWW.
HTTP một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng
cho Internet).
b. Sơ đồ hoạt động của HTTP
Hình 1.7: Sơ đồ hoạt động của HTTP
HTTP hoạt động dựa trên mô hình Client – Server. Trong mô hình này, các máy tính
của người dùng sẽ đóng vai trò làm máy khách (Client). Sau một thao tác nào đó của người
dùng, các máy khách sẽ gửi yêu cầu đến máy chủ (Server) và chờ đợi câu trả lời từ những
máy chủ này.
lOMoARcPSD| 58737056
HTTP một stateless protocol. Hay nói cách khác, request hiện tại không biết
những gì đã hoàn thành trong request trước đó.
HTTP cho phép tạo các yêu cầu gửi nhận các kiểu dữ liệu, do đó cho phép xây
dựng hệ thống độc lập với dữ liệu được truyển giao.
c. Uniform Resource Locator (URL)
Một URL (Uniform Resource Locator) được sdụng để xác định duy nhất một tài
nguyên trên Web. Một URL có cấu trúc như sau:
protocol://hostname:port/path-and-file-name
Trong một URL có 4 thành phần:
Protocol: giao thức tầng ứng dụng được sử dụng bởi client và server
Hostname: tên DNS domain
Port: Cổng TCP để server lắng nghe request từ client
Path-and-file-name: Tên và vị trí của tài nguyên yêu cầu.
d. Một số khái niệm liên quan
Hình 1.8: Bộ giao thức TCP/IP
Như đã nói, HTTP một giao thức ứng dụng của bộ giao thức TCP/IP (các giao
thức nền tảng cho Internet).
Bộ giao thức TCP/IP một bộ các giao thức truyền thông cài đặt chồng giao thức
mà internet và hầu hết các mạng máy tính thương mại đang chạy trên đó. Bộ giao thức này
được đặt tên theo hai giao thức chính của TCP (Transmission Control Protocol - Giao
thức điều khiển truyền vận) và IP (Internet Protocol - Giao thức Internet).
lOMoARcPSD| 58737056
*, Chú ý: BỘ GIAO THỨC là định nghĩa của các giao thức còn CHỒNG GIAO THỨC là
một hình thức xử lý bộ giao thức bằng phần mềm
Các giao thức được phân chia thành các tầng, Trong đó TCP/IP có 4 tầng mỗi tầng
lại sử dụng các giao thức ở tầng dưới để đạt đc mục đích của mình
Layer 1. Network Access Layer: Network Access Layer xác định chi tiết về về cách
thức dữ liệu được gửi qua mạng, bởi các thiết bị phần cứng trực tiếp giao tiếp với
môi trường mạng, chẳng hạn như cáp đồng trục, cáp quang hay dây đồng xoắn đôi.
Các giao thức bao gồm trong Network Access Layer Ethernet, Token Ring, FDDI,
X.25, Frame Relay ...vv
Layer 2. Internet Layer: Internet Layer đóng gói dữ liệu vào các gói dữ liệu được
biết đến dưới dạng các gói tin thông giao thức Internet Protocol, chứa địa chỉ nguồn
và đích (địa chỉ logic hoặc địa chỉ IP) được sử dụng để chuyển tiếp các gói tin giữa
các máy chủ và qua các mạng.
Layer 3. Transport Layer: Mục đích của Transport Layer cho phép các thiết bị
trên máy chủ nguồn đích đến trao đổi dữ liệu. Transport Layer sẽ xác định mức
độ service và trạng thái của kết nối được sử dụng khi vận chuyển dữ liệu. Trong đó
có giao thức chính trong lớp Transport là TCP (Transmission Control Protocol). Sử
dụng TCP, các ứng dụng trên các máy chủ được nối mạng thể tạo các "kết nối"
với nhau, qua đó chúng thể trao đổi dữ liệu hoặc các gói tin. Giao thức này
đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự.
Layer 4. Application Layer: Các thực thể của lớp Application cung cấp các ứng dụng
cho phép người dùng trao đổi dữ liệu ứng dụng qua mạng. Một số ứng dụng thường
gặp của chồng giao thức TCP/IP: FTP (File Transfer Protocol), DNS
e. Các thành phần chính của HTTP
HTTP - Requests
HTTP Request Method: phương thức để chỉ ra hành động mong muốn được thực
hiện trên tài nguyên đã xác định.
Cấu trúc của một HTTP Request:
lOMoARcPSD| 58737056
Một Request-line = Phương thức + URI–Request + Phiên bản HTTP. Giao thức
HTTP định nghĩa một tập các giao thức GET, POST, HEAD, PUT ... Client thể
sử dụng một trong các phương thức đó để gửi request lên server.
Có thể có hoặc không các trường header
Một dòng trống để đánh dấu sự kết thúc của các trường Header. Các trường header
cho phép client truyền thông tin bổ sung về yêu cầu, và về chính client, đến server.
Một số trường: Accept-Charset, Accept-Encoding, Accept-Language,
Authorization, Expect, From, Host, …
Tùy chọn một thông điệp
Khi request đến server, server thực hiện một trong 3 hành động sau:
Server phân tích request nhận được, maps yêu cầu với tập tin trong tập tài liệu của
server, và trả lại tập tin yêu cầu cho client.
Server phân tích request nhận được, maps yêu cầu vào một chương trình trên server,
thực thi chương trình và trả lại kết quả của chương trình đó.
Request từ client không thể đáp ứng, server trả lại thông báo lỗi.
Hình 1.8: Trả lại thông báo
Giao thức HTTP định nghĩa một tập các phương thức request, client có thể sử dụng
một trong các phương thức này đtạo request tới HTTP server, ới đây liệt một số
phương thức phổ biến.
lOMoARcPSD| 58737056
Hình 1.9: Một số HTTP Request method thường dùng
HTTP - Responses
Cấu trúc của một HTTP response:
Một Status-line = Phiên bản HTTP + Mã trạng thái + Trạng thái
Có thể có hoặc không có các trường header
Một dòng trống để đánh dấu sự kết thúc của các trường header
Tùy chọn một thông điệp
Mã trạng thái: Thông báo về kết quả khi nhận được yêu cầu và xử lí bên server cho
client.
Các kiểu mã trạng thái:
1xx: Thông tin (100 -> 101). VD: 100 (Continue), ….
2xx: Thành công (200 -> 206). VD: 200 (OK) , 201 (CREATED), …
3xx: Sự điều hướng lại (300 -> 307). VD: 305 (USE PROXY), …
4xx: Lỗi phía Client (400 -> 417). VD: 403 (FORBIDDEN), 404 (NOT FOUND),
lOMoARcPSD| 58737056
5xx: Lỗi phía Server (500 -> 505). VD: 500 (INTERNAL SERVER ERROR)

Preview text:

lOMoAR cPSD| 58737056
BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG MẠNG CẢM BIẾN
Đề tài: “HỆ THỐNG GIÁM SÁT AN NINH BAN ĐÊM VỚI CẢM BIẾN ÁNH SÁNG VÀ PIR”
Giảng viên hướng dẫn
: TRẦN THỊ THANH THỦY
Họ và tên sinh viên
: Phạm Ngọc Sơn – B21DCDT 195
Đinh Quốc Thái – B21DCDT203
Đỗ Dương Thanh – B21DCDT207 Lớp
: D21DTVM 02 Nhóm : 12
Hà Nội – 202 5 lOMoAR cPSD| 58737056 LỜI CAM ĐOAN
Chúng em xin cam đoan rằng đề tài này là kết quả của quá trình tìm hiểu và
nghiên cứu nghiêm túc do chúng em thực hiện. Nội dung trong đề tài được xây dựng
dựa trên các nguồn tài liệu, giáo trình đã học, cùng với sự tổng hợp từ những kiến
thức chúng em tích lũy được trong quá trình học tập và nghiên cứu. Mọi tài liệu tham
khảo được sử dụng trong quá trình thực hiện đều được trích dẫn nguồn đầy đủ và
chính xác theo quy định. Chúng em hoàn toàn chịu trách nhiệm về tính trung thực
và nội dung của đề tài này. lOMoAR cPSD| 58737056 LỜI CẢM ƠN
Trước tiên, chúng em muốn gửi lời tri ân sâu sắc đến cô Trần Thị Thanh Thủy, người
đã tận tâm truyền đạt kiến thức cho chúng em, từ những kiến thức cơ bản nhất cho đến
những kiến thức chuyên sâu và phức tạp hơn. Nhờ sự dày công dạy dỗ, hướng dẫn tận tình
của cô, chúng em đã có được nền tảng kiến thức vững chắc, đủ để tiến hành thực hiện và
hoàn thành bài tập lớn một cách thuận lợi. Cô đã tạo mọi điều kiện thuận lợi để chúng em
có thể hoàn thành bài tập lớn một cách tốt nhất.
Chúng em cũng xin gửi lời cảm ơn chân thành tới các bạn cùng khoa. Trong suốt
quá trình học và tiếp thu kiến thức, chúng em đã giúp đỡ lẫn nhau, hợp tác một cách hiệu
quả. Nhờ sự hỗ trợ quý báu từ các bạn, chúng em đã vượt qua được nhiều khó khăn, thử
thách và hoàn thành bài tập lớn đúng tiến độ cũng như đáp ứng được thời gian quy định.
Tuy nhiên, do kiến thức và kinh nghiệm của nhóm em vẫn còn hạn chế, nên không
tránh khỏi bài tập lớn này vẫn còn nhiều thiếu sót, hạn chế về cả nội dung lẫn hình thức
trình bày. Nhóm em xin rất mong nhận được sự thông cảm từ quý thầy cô. Đồng thời, nhóm
em cũng kính mong quý thầy cô sẽ tận tình đóng góp ý kiến quý báu, chỉ ra những hạn chế
và gợi ý những điểm cần cải thiện để chúng em có thể hoàn thiện, nâng cao chất lượng các
mô hình nghiên cứu trong tương lai, đưa ra những sản phẩm hoàn chỉnh và toàn diện nhất.
Một lần nữa chúng em xin chân thành cảm ơn! MỤC LỤC
LỜI CAM ĐOAN....................................................................................................2
LỜI CẢM ƠN..........................................................................................................3
MỤC LỤC................................................................................................................4
LỜI MỞ ĐẦU..........................................................................................................5
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG, CÁC THÀNH PHẦN PHẦN
CỨNG VÀ GIAO THỨC SỬ DỤNG.....................................................................6
1.1. Tổng quan về hệ thống giám sát..................................................................6
1.2. Các thành phần phần cứng trong hệ thống................................................8
1.2.1. ESP32 – CAM........................................................................................8
1.2.2. Cảm biến BH1750..................................................................................9
1.2.3. PIR HC – SR501..................................................................................10
1.2.4. Buzzer...................................................................................................11 lOMoAR cPSD| 58737056
1.3. Các giao thức sử dụng................................................................................12
1.3.1. Giao thức I2C.......................................................................................12
1.3.2. Giao thức HTTP..................................................................................17
CHƯƠNG 2: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG AN NINH TRÊN
ESP32 – CAM........................................................................................................23
2.1. Thiết kế phần cứng hệ thống.....................................................................23
2.2. Quá trình thực hiện của hệ thống.............................................................25
2.2.1. Đo cường độ ánh sáng từ BH1750......................................................25
2.2.2. Hoạt động cảm biến chuyển động của PIR HC – SR501.................26
2.2.3. Gửi kết quả và điều khiển thông qua Web........................................27 LỜI MỞ ĐẦU
Trong bối cảnh công nghệ hiện đại, việc tích hợp các cảm biến vào các hệ thống
giám sát thông minh, đặc biệt là trong lĩnh vực an ninh, ngày càng trở nên quan trọng nhờ
sự phát triển của Internet of Things (IoT). Với nhu cầu bảo vệ tài sản và đảm bảo an toàn
ban đêm, việc xây dựng một hệ thống giám sát hiệu quả, chính xác và có khả năng điều
khiển từ xa là điều cấp thiết. Trong đồ án này, em tập trung thiết kế và hiện thực "Hệ thống
giám sát an ninh ban đêm với cảm biến ánh sáng và PIR" sử dụng ESP32-CAM làm trung
tâm, tích hợp cảm biến BH1750, PIR HC-SR501, và điều khiển qua giao diện web tự xây dựng.
Cảm biến BH1750 cung cấp dữ liệu ánh sáng với độ chính xác cao qua giao thức
I2C, trong khi PIR HC-SR501 phát hiện chuyển động, tạo điều kiện lý tưởng cho giám sát
ban đêm. ESP32-CAM, với khả năng xử lý hình ảnh và kết nối Wi-Fi, không chỉ ghi hình
khi có sự kiện mà còn cho phép bật/tắt hệ thống từ xa qua web. Hệ thống được thiết kế để
tự động hóa: tắt ban ngày khi ánh sáng cao, bật ban đêm khi ánh sáng thấp, và hỗ trợ điều
khiển thủ công qua giao diện web. Khác với các giải pháp truyền thống, cách tiếp cận này
mang lại tính linh hoạt, giảm độ trễ và dễ dàng mở rộng.
Đề tài không chỉ có giá trị học thuật mà còn tiềm năng ứng dụng thực tiễn trong an
ninh gia đình, văn phòng và nhà thông minh. Qua quá trình thực hiện, em mong muốn
chứng minh tính khả thi của hệ thống, tạo ra một giải pháp đơn giản, hiệu quả và đáng tin
cậy. Báo cáo sẽ được trình bày trong 3 chương:
Chương 1: Tổng quan về hệ thống, các thành phần phần cứng và giao thức sử dụng lOMoAR cPSD| 58737056
Chương 2: Thiết kế và xây dựng hệ thống giám sát trên ESP32-CAM
Chương 3: Kết quả thử nghiệm và phương hướng phát triển
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG, CÁC THÀNH PHẦN
PHẦN CỨNG VÀ GIAO THỨC SỬ DỤNG

Chương này cung cấp cái nhìn tổng quan về hệ thống giám sát an ninh ban đêm sử
dụng cảm biến ánh sáng và PIR, đồng thời giới thiệu các thành phần phần cứng và giao
thức liên quan. Trước tiên, chương 1 trình bày khái quát về ESP32-CAM – trung tâm của
hệ thống – cùng các đặc điểm nổi bật như khả năng xử lý hình ảnh và kết nối Wi-Fi, cũng
như các giao thức truyền thông phổ biến trong IoT như HTTP và I2C. Tiếp theo, các phương
pháp phát hiện ánh sáng và chuyển động được phân tích để làm rõ nguyên lý hoạt động của
cảm biến BH1750 và PIR HC-SR501. Ngoài ra, chương này so sánh và đánh giá ưu nhược
điểm của các loại cảm biến ánh sáng và chuyển động thông dụng trên thị trường.
1.1. Tổng quan về hệ thống giám sát
Hệ thống giám sát là một trong những ứng dụng quan trọng của công nghệ hiện đại,
đặc biệt trong bối cảnh nhu cầu bảo vệ tài sản, đảm bảo an toàn và quản lý môi trường ngày
càng gia tăng. Với sự phát triển mạnh mẽ của Internet of Things (IoT), trí tuệ nhân tạo (AI)
và các cảm biến thông minh, các hệ thống giám sát không chỉ dừng lại ở việc ghi lại hình
ảnh hay âm thanh mà còn tích hợp các tính năng tiên tiến như phân tích dữ liệu thời gian
thực, cảnh báo tự động và điều khiển từ xa. Trong lĩnh vực an ninh, hệ thống giám sát đóng
vai trò cốt lõi trong việc phát hiện các mối đe dọa tiềm ẩn, hỗ trợ quản lý rủi ro và cung
cấp bằng chứng khi cần thiết, từ đó trở thành công cụ không thể thiếu trong gia đình, doanh
nghiệp, và các khu vực công cộng.
Hệ thống giám sát an ninh ban đêm, như đề tài được đề cập, tập trung vào việc tận
dụng các cảm biến chuyên dụng để phát hiện sự kiện trong điều kiện ánh sáng yếu, một
thách thức lớn đối với các giải pháp truyền thống. Thông thường, một hệ thống giám sát
bao gồm các thành phần chính như thiết bị thu thập dữ liệu (camera, cảm biến), bộ xử lý
trung tâm, giao diện hiển thị hoặc lưu trữ, và cơ chế kết nối để truyền thông tin. Với sự kết
hợp của cảm biến ánh sáng (như BH1750) và cảm biến chuyển động (như PIR HCSR501),
hệ thống có thể tự động kích hoạt khi điều kiện môi trường thay đổi, chẳng hạn như khi
ánh sáng giảm vào ban đêm, đồng thời giảm tiêu thụ năng lượng bằng cách tắt khi không lOMoAR cPSD| 58737056
cần thiết vào ban ngày. Điều này không chỉ nâng cao hiệu quả mà còn phù hợp với xu
hướng phát triển bền vững.
Trong bối cảnh công nghệ IoT, hệ thống giám sát hiện đại thường được tích hợp với
các nền tảng đám mây hoặc giao diện web, cho phép người dùng theo dõi và điều khiển từ
xa thông qua các thiết bị như điện thoại thông minh hoặc máy tính. ESP32CAM, với khả
năng xử lý hình ảnh và kết nối Wi-Fi, là một lựa chọn lý tưởng cho các hệ thống như vậy,
cung cấp khả năng ghi hình khi có chuyển động và gửi thông báo hoặc hình ảnh trực tiếp
đến người dùng. Giao thức I2C được sử dụng để giao tiếp với cảm biến BH1750, đảm bảo
truyền dữ liệu ánh sáng chính xác và ổn định, trong khi giao thức HTTP hoặc MQTT hỗ
trợ điều khiển từ xa qua web. Sự linh hoạt này cho phép hệ thống thích nghi với nhiều kịch
bản khác nhau, từ giám sát nhà ở, văn phòng đến các khu vực công cộng như bãi đậu xe hoặc nhà kho.
Ngoài ra, hệ thống giám sát an ninh ban đêm còn có thể tích hợp các tính năng bổ
sung như cảnh báo âm thanh (qua Buzzer) hoặc đèn báo (LED) để thu hút sự chú ý khi phát
hiện bất thường. Việc tự động hóa quy trình dựa trên dữ liệu từ cảm biến không chỉ tăng
cường tính chủ động mà còn giảm thiểu sự can thiệp thủ công, phù hợp với xu hướng tự
động hóa trong các giải pháp thông minh. Tuy nhiên, để đạt được hiệu quả tối ưu, hệ thống
cần được tối ưu hóa về phần cứng, phần mềm và bảo mật, đặc biệt là trong việc bảo vệ dữ
liệu truyền tải tránh khỏi các cuộc tấn công mạng.
Tóm lại, hệ thống giám sát an ninh ban đêm với cảm biến ánh sáng và PIR không
chỉ là một giải pháp công nghệ mà còn phản ánh xu hướng hội tụ giữa phần cứng, phần
mềm và kết nối mạng. Với nền tảng này, việc thiết kế và triển khai một hệ thống đáng tin
cậy, hiệu quả và dễ sử dụng là hoàn toàn khả thi, đồng thời tạo tiền đề cho các nghiên cứu
sâu hơn về giám sát thông minh trong tương lai.
1.2. Các thành phần phần cứng trong hệ thống
Phần này trình bày chi tiết các thành phần phần cứng chủ đạo của hệ thống giám sát, bao
gồm ESP32 - CAM, cảm biến BH1750, cảm biến PIR HC – SR501 và Buzzer, cùng với
vai trò và đặc điểm kỹ thuật của từng linh kiện trong thiết kế tổng thể. lOMoAR cPSD| 58737056 1.2.1. ESP32 – CAM
Hình 1.1. ESP32 - CAM
ESP32-CAM là một mô-đun phát triển tiên tiến dựa trên vi điều khiển ESP32 do
Espressif Systems thiết kế, tích hợp camera và các tính năng kết nối không dây, trở thành
lựa chọn lý tưởng cho các dự án IoT và giám sát. Với hai lõi xử lý 32-bit LX6 hoạt động ở
tốc độ tối đa 240 MHz, cùng 520 KB SRAM nội bộ và 4 MB PSRAM ngoài, ESP32CAM
cung cấp khả năng xử lý mạnh mẽ, đặc biệt phù hợp cho các tác vụ như thu thập, nén và
truyền dữ liệu hình ảnh từ cảm biến OV2640 có độ phân giải 2 megapixel. Môđun này hỗ
trợ kết nối Wi-Fi (chuẩn 802.11 b/g/n) và Bluetooth 4.2 (bao gồm BLE), cho phép truyền
dữ liệu qua mạng hoặc giao tiếp với các thiết bị khác, đồng thời cung cấp 9 chân GPIO hỗ
trợ giao thức UART, SPI, I2C và PWM để mở rộng tính năng. Tuy nhiên, nó có hạn chế
như thiếu cổng USB trực tiếp (yêu cầu FTDI để lập trình), số lượng GPIO hạn chế do
camera và khe microSD chiếm dụng, và chất lượng hình ảnh giảm trong điều kiện ánh sáng yếu.
Ứng dụng thực tế của ESP32-CAM bao gồm giám sát an ninh, phát trực tiếp video,
nhận diện hình ảnh cơ bản, và tích hợp trong nhà thông minh, đặc biệt phù hợp với đề tài
hệ thống giám sát an ninh ban đêm khi kết hợp với cảm biến BH1750 và PIR HCSR501.
Để sử dụng hiệu quả, cần cung cấp nguồn 5V ổn định, tối ưu code để tránh tràn bộ nhớ, và
đảm bảo kết nối Wi-Fi mạnh mẽ, làm nổi bật vai trò quan trọng của ESP32CAM trong việc
xây dựng các giải pháp giám sát thông minh và kinh tế. Với thiết kế nhỏ gọn và chi phí lOMoAR cPSD| 58737056
thấp (khoảng 7-10 USD), ESP32-CAM không chỉ hỗ trợ các dự án DIY mà còn mở ra tiềm
năng ứng dụng rộng rãi trong các lĩnh vực đòi hỏi giám sát thời gian thực và điều khiển từ xa.
1.2.2. Cảm biến BH1750
Hình 1.2. Cảm biến ánh sáng BH1750
Cảm biến BH1750 là một thiết bị đo ánh sáng kỹ thuật số tiên tiến, được thiết kế để
cung cấp dữ liệu cường độ ánh sáng chính xác trong các ứng dụng IoT và hệ thống nhúng,
trở thành lựa chọn lý tưởng cho các dự án giám sát như hệ thống an ninh ban đêm. Với giao
thức I2C, BH1750 hoạt động ở dải điện áp 3.3V đến 5V, cung cấp độ phân giải đo sáng lên
đến 1 lux và phạm vi đo từ 1 đến 65.535 lux, đáp ứng tốt các điều kiện ánh sáng đa dạng
từ tối đến sáng. Cảm biến này tích hợp bộ lọc hồng ngoại, giúp giảm nhiễu từ ánh sáng
không mong muốn, đồng thời có thời gian phản hồi nhanh và mức tiêu thụ điện năng thấp
(khoảng 120µA khi hoạt động), phù hợp cho các hệ thống cần tiết kiệm năng lượng. Tuy
nhiên, BH1750 yêu cầu hiệu chỉnh ngưỡng sáng và có thể gặp hạn chế trong môi trường
ánh sáng cực mạnh hoặc biến đổi đột ngột.
Ứng dụng thực tế của BH1750 bao gồm điều chỉnh độ sáng màn hình, tự động hóa
đèn trong nhà thông minh, và đặc biệt là tích hợp trong hệ thống giám sát an ninh ban đêm
khi kết hợp với ESP32-CAM và PIR HC-SR501 để kích hoạt hoặc tắt hệ thống dựa trên
cường độ ánh sáng. Để sử dụng hiệu quả, cần kết nối chính xác các chân SDA và SCL với
vi điều khiển, lập trình ngưỡng sáng phù hợp, và đảm bảo tránh nhiễu tín hiệu trong môi
trường điện từ phức tạp. Với thiết kế nhỏ gọn, chi phí thấp (khoảng 1-2 USD), và độ chính
xác cao, BH1750 đóng vai trò quan trọng trong việc cung cấp dữ liệu môi trường đáng tin lOMoAR cPSD| 58737056
cậy, góp phần nâng cao hiệu suất và tính tự động hóa của các giải pháp giám sát thông minh.
1.2.3. PIR HC – SR501
Hình 1.3. Cảm biến chuyển động PIR HC – SR501
Cảm biến chuyển động PIR HC-SR501 là một cảm biến hồng ngoại thụ động
(Passive Infrared) được thiết kế để phát hiện sự thay đổi nhiệt độ do chuyển động của người
hoặc động vật trong phạm vi quan sát, dựa trên nguyên lý nhận diện sự thay đổi bức xạ
hồng ngoại từ môi trường xung quanh. Thiết bị được trang bị phần tử cảm biến pyroelectric
nhạy với bức xạ hồng ngoại, kết hợp với ống kính Fresnel để tập trung tín hiệu và mở rộng
phạm vi quan sát, đồng thời tích hợp mạch xử lý khuếch đại và lọc nhiễu để kích hoạt ngõ
ra khi phát hiện sự thay đổi đáng kể. HC-SR501 cho phép điều chỉnh độ nhạy và thời gian
trễ thông qua các biến trở, mang lại tính linh hoạt trong sử dụng, với ứng dụng rộng rãi như
phát hiện đột nhập trong hệ thống an ninh, bật đèn tự động để tiết kiệm năng lượng, điều
khiển thiết bị dựa trên sự hiện diện, cũng như hỗ trợ các dự án điện tử sáng tạo.
Với ưu điểm nổi bật như giá thành rẻ, dễ dàng tích hợp nhờ mạch xử lý sẵn có, và
khả năng tùy chỉnh độ nhạy cùng thời gian trễ, cảm biến PIR HC-SR501 là lựa chọn phổ
biến trong các hệ thống giám sát. Tuy nhiên, nó cũng có những hạn chế như dễ bị ảnh
hưởng bởi biến đổi nhiệt độ môi trường dẫn đến báo động giả, phạm vi phát hiện bị giới
hạn bởi góc quét và độ nhạy, cũng như khả năng bỏ sót chuyển động nếu vật thể di chuyển
quá nhanh, quá chậm hoặc ở khoảng cách xa. Những đặc điểm này làm nổi bật vai trò quan lOMoAR cPSD| 58737056
trọng của HC-SR501 trong đề tài hệ thống giám sát an ninh ban đêm, đặc biệt khi kết hợp
với ESP32-CAM và BH1750, đòi hỏi tối ưu hóa trong quá trình triển khai để đạt hiệu quả cao nhất. 1.2.4. Buzzer
Hình 1.4. Còi cảnh báo (Buzzer)
Buzzer là một thiết bị phát âm thanh điện tử nhỏ gọn, thường được sử dụng trong
các hệ thống nhúng và IoT để tạo tín hiệu cảnh báo hoặc thông báo. Nó hoạt động dựa trên
nguyên lý biến đổi tín hiệu điện thành âm thanh thông qua dao động của màng rung bên
trong, với hai loại chính là buzzer chủ động (có mạch dao động tích hợp) và buzzer thụ
động (cần điều khiển bằng tín hiệu PWM từ vi điều khiển). Trong các dự án như hệ thống
giám sát an ninh ban đêm, buzzer chủ động thường được ưa chuộng nhờ dễ sử dụng, chỉ
cần cấp nguồn 3.3V hoặc 5V để phát âm thanh ở tần số cố định (thường từ 2kHz đến 4kHz),
trong khi buzzer thụ động cho phép tùy chỉnh tần số và độ dài âm thanh thông qua lập trình.
Ứng dụng của buzzer bao gồm phát tín hiệu báo động khi phát hiện chuyển động
(kết hợp với PIR HC-SR501), thông báo trạng thái hệ thống (như bật/tắt với BH1750), hoặc
xác nhận thao tác điều khiển từ xa qua ESP32-CAM. Ưu điểm của buzzer là kích thước
nhỏ, chi phí thấp (khoảng 0.5-2 USD), và tiêu thụ điện năng thấp, phù hợp cho các thiết bị
di động hoặc pin. Tuy nhiên, nó có nhược điểm như âm lượng hạn chế (thường dưới 85dB),
dễ bị nhiễu trong môi trường ồn ào, và không thể điều chỉnh âm thanh chi tiết nếu dùng
loại chủ động. Trong đề tài, buzzer đóng vai trò quan trọng trong việc thu hút sự chú ý khi
có sự kiện bất thường, đòi hỏi kết nối chính xác với GPIO của ESP32CAM và tối ưu hóa
code để tránh tiêu hao năng lượng không cần thiết. lOMoAR cPSD| 58737056
1.3. Các giao thức sử dụng 1.3.1. Giao thức I2C a. Khái niệm
I2C hay IIC (Inter – Integrated Circuit) là 1 giao thức giao tiếp nối tiếp đồng bộ
được phát triển bởi Philips Semiconductors, sử dụng để truyền nhận dữ liệu giữa các IC
với nhau chỉ sử dụng hai đường truyền tín hiệu.
I2C kết hợp các tính năng tốt nhất của SPI và UART. I2C có thể kết nối nhiều slave
với một master duy nhất (như SPI) và có thể có nhiều master điều khiển một hoặc nhiều
slave. Điều này thực sự cần thiết khi muốn có nhiều hơn một vi điều khiển ghi dữ liệu vào
một thẻ nhớ duy nhất hoặc hiển thị văn bản trên một màn hình LCD.
Hình 1.5: Giao thức I2C sử dụng đường truyền 2 dây
Giống như giao tiếp UART, I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị:
SDA (Serial Data) - đường truyền cho master và slave để gửi và nhận dữ liệu.
SCL (Serial Clock) - đường mang tín hiệu xung nhịp.
Các bit dữ liệu sẽ được truyền từng bit một dọc theo một đường duy nhất (SDA)
theo các khoảng thời gian đều đặn được thiết lập bởi 1 tín hiệu đồng hồ (SCL)
b. Cách thức hoạt động của I2C lOMoAR cPSD| 58737056
Giao tiếp I2C bao gồm quá trình truyền nhận dữ liệu giữa các thiết bị chủ tớ, hay
Master - Slave. Thiết bị Master là 1 vi điều khiển, nó có nhiệm vụ điều khiển đường tín
hiệu SCL và gửi nhận dữ liệu hay lệnh thông qua đường SDA đến các thiết bị khác. Các
thiết bị nhận các dữ liệu lệnh và tín hiệu từ thiết bị Master được gọi là các thiết bị Slave.
Các thiết bị Slave thường là các IC, hoặc thậm chí là vi điều khiển. Master và Slave được
kết nối với nhau bằng hai đường bus SCL và SDA đều hoạt động ở chế độ Open Drain,
nghĩa là bất cứ thiết bị nào kết nối với mạng I2C này cũng chỉ có thể kéo 2 đường bus này
xuống mức thấp (LOW), nhưng lại không thể kéo được lên mức cao. Vì để tránh trường
hợp bus vừa bị 1 thiết bị kéo lên mức cao vừa bị 1 thiết bị khác kéo xuống mức thấp gây
hiện tượng ngắn mạch. Do đó cần có 1 điện trờ (từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao.
Hình 1.6: Cách hoạt động của giao thức I2C
Với I2C, dữ liệu được truyền trong các tin nhắn. Tin nhắn được chia thành các khung
dữ liệu. Mỗi tin nhắn có một khung địa chỉ chứa địa chỉ nhị phân của địa chỉ slave và một
hoặc nhiều khung dữ liệu chứa dữ liệu đang được truyền. Thông điệp cũng bao gồm điều
kiện khởi động và điều kiện dừng, các bit đọc / ghi và các bit ACK / NACK giữa mỗi khung dữ liệu:
• Điều kiện khởi động: Đường SDA chuyển từ mức điện áp cao xuống mức điện
áp thấp trước khi đường SCL chuyển từ mức cao xuống mức thấp.
• Điều kiện dừng: Đường SDA chuyển từ mức điện áp thấp sang mức điện áp cao
sau khi đường SCL chuyển từ mức thấp lên mức cao. lOMoAR cPSD| 58737056
• Bit địa chỉ: Thông thường quá trình truyền nhận sẽ diễn ra với rất nhiều thiết bị,
IC với nhau. Do đó để phân biệt các thiết bị này, chúng sẽ được gắn 1 địa chỉ vật lý 7 bit cố định.
• Bit đọc / ghi: Bit này dùng để xác định quá trình là truyền hay nhận dữ liệu từ
thiết bị Master. Nếu Master gửi dữ liệu đi thì ứng với bit này bằng ‘0’, và ngược
lại, nhận dữ liệu khi bit này bằng ‘1’.
• Bit ACK / NACK: Viết tắt của Acknowledged / Not Acknowledged. Dùng để so
sánh bit địa chỉ vật lý của thiết bị so với địa chỉ được gửi tới. Nếu trùng thì Slave
sẽ được đặt bằng ‘0’ và ngược lại, nếu không thì mặc định bằng ‘1’.
• Bit dữ liệu: Gồm 8 bit và được thiết lập bởi thiết bị gửi truyền đến thiết bị nhân.
Sau khi các bit này được gửi đi, lập tức 1 bit ACK/NACK được gửi ngay theo
sau để xác nhận rằng thiết bị nhận đã nhận được dữ liệu thành công hay chưa.
Nếu nhận thành công thì bit ACK/NACK được set bằng ‘0’ và ngược lại. c. Quá
trình truyền nhận
• Khi bắt đầu Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường
SDA, SCL từ mức 1 xuống 0.
• Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới các Slave cùng với bit Read/Write.
• Slave sẽ so sánh địa chỉ vừa được gửi tới. Nếu trùng khớp, Slave sẽ xác nhận
bằng cách kéo đường SDA xuống 0 và set bit ACK/NACK bằng ‘0’. Nếu không
trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng ‘1’.
• Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu. Nếu Master gửi đến Slave
thì bit Read/Write ở mức 0. Ngược lại nếu nhận thì bit này ở mức 1.
• Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK được set
thành mức 0 để báo hiệu cho Master tiếp tục.
• Sau khi tất cả dữ liệu đã được gửi đến Slave thành công, Master sẽ phát 1 tín
hiệu Stop để báo cho các Slave biết quá trình truyền đã kết thúc bằng các chuyển
lần lượt SCL, SDA từ mức 0 lên mức 1.
d. Các chế độ hoạt động của I2C
Các dữ liệu trên I2C có tốc độ truyền phụ thuộc vào I2C bus: - Bus hai chiều: lOMoAR cPSD| 58737056
Standard – mode (SM): tốc độ bit tối đa là 100kbit/s Fast
– mode (FM): tốc độ bit tối đa là 400kbit/s
Fast – mode plus (FM+): tốc độ bit tối đa là 1Mbit/s High
Speed – mode (HSM): tốc độ bit tối đa là 3.4 Mbit/s - Bus một chiều:
Ultra Fast – mode (UFM): tốc độ bit tối đa là 5 Mbit/s
Khác với giao tiếp SPI chỉ có thể có 1 Master, giao tiếp I2C cho phép chế độ
truyền nhận dữ liệu giữa nhiều thiết bị Master khác nhau với thiết bị Slave. Tuy nhiên quá
trình này có hơi phức tạp vì thiết bị Slave có thể nhận 1 lúc nhiều khung dữ liệu từ các
thiết bị Master khác nhau, điều đó đôi khi dẫn đến xung đột hoặc sai sót dữ liệu nhận được.
Để tránh điều đó, khi làm việc ở chế độ này, mỗi thiết bị Master cần phát hiện xem
đường SDA đang ở trạng thái nào. Nếu SDA ở mức 0, nghĩa là đang có 1 thiết bị Master
khác đang có quyền điều khiển và phải chờ đến khi truyền xong. Ngược lại nếu SDA ở
mức 1, nghĩa là đường truyền SDA đã an toàn và có sử dụng.
e. Ưu điểm và nhược điểm của I2C.
Giao thức I2C là phương thức giao tiếp nối tiếp được sử dụng rộng rãi trong các hệ
thống nhúng, mang đến những ưu điểm và nhược điểm sau: Ưu điểm:
• Chỉ sử dụng hai dây tín hiệu (SCL và SDA): giúp tiết kiệm chân I/O trên vi điều khiển.
• Hỗ trợ nhiều Master và Slave thông qua cơ chế địa chỉ hóa linh hoạt
• Tích hợp bit ACK/NACK: giúp các nhận từng byte dữ liệu được truyền thành công, đảm bảo độ tin cậy
• Phần cứng ít phức tạp hơn so với UART do I2C không cần bộ truyền nhận asynchronous
• Giao thức phổ biến và được sử dụng rộng rãi như cảm biến, bộ nhớ EEPROM hay
màn hình OLED Nhược điểm: lOMoAR cPSD| 58737056
• Tốc độ truyền dữ liệu chận hơn SPI: Tốc độ truyền của I2C thường trong khoảng
100kb/s đến 5Mb/s, còn SPI có thể đạt tốc độ hành chục Mb/s, khiến nó kém hiệu
quả trong các ứng dụng yêu cầu băng thông cao
• Kích thước khung dữ liệu bị giới hạn ở 8 bit: Mỗi lần truyền chỉ gửi được 8 bit dữ
liệu, đòi hỏi nhiều chu kỳ truyền hơn để xử lý khối lượng dữ liệu lớn, làm tăng thời gian giao tiếp.
• Cần phần cứng phức tạp hơn để triển khai so với SPI: Mặc dù đơn giản hơn UART,
I2C yêu cầu các mạch hỗ trợ pull-up resistor và logic điều khiển đồng bộ hóa, trong
khi SPI chỉ cần cấu hình cơ bản với các đường tín hiệu riêng biệt.
1.3.2. Giao thức HTTP a. HTTP là gì?
HTTP (HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản) là một trong
các giao thức chuẩn về mạng Internet, được dùng để liên hệ thông tin giữa Máy cung cấp
dịch vụ (Web server) và Máy sử dụng dịch vụ (Web client), là giao thức Client/Server dùng cho World Wide Web – WWW.
HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet).
b. Sơ đồ hoạt động của HTTP
Hình 1.7: Sơ đồ hoạt động của HTTP
HTTP hoạt động dựa trên mô hình Client – Server. Trong mô hình này, các máy tính
của người dùng sẽ đóng vai trò làm máy khách (Client). Sau một thao tác nào đó của người
dùng, các máy khách sẽ gửi yêu cầu đến máy chủ (Server) và chờ đợi câu trả lời từ những máy chủ này. lOMoAR cPSD| 58737056
HTTP là một stateless protocol. Hay nói cách khác, request hiện tại không biết
những gì đã hoàn thành trong request trước đó.
HTTP cho phép tạo các yêu cầu gửi và nhận các kiểu dữ liệu, do đó cho phép xây
dựng hệ thống độc lập với dữ liệu được truyển giao.
c. Uniform Resource Locator (URL)
Một URL (Uniform Resource Locator) được sử dụng để xác định duy nhất một tài
nguyên trên Web. Một URL có cấu trúc như sau:
protocol://hostname:port/path-and-file-name
Trong một URL có 4 thành phần:
• Protocol: giao thức tầng ứng dụng được sử dụng bởi client và server • Hostname: tên DNS domain
• Port: Cổng TCP để server lắng nghe request từ client
• Path-and-file-name: Tên và vị trí của tài nguyên yêu cầu.
d. Một số khái niệm liên quan
Hình 1.8: Bộ giao thức TCP/IP
Như đã nói, HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao
thức nền tảng cho Internet).
Bộ giao thức TCP/IP là một bộ các giao thức truyền thông cài đặt chồng giao thức
mà internet và hầu hết các mạng máy tính thương mại đang chạy trên đó. Bộ giao thức này
được đặt tên theo hai giao thức chính của nó là TCP (Transmission Control Protocol - Giao
thức điều khiển truyền vận) và IP (Internet Protocol - Giao thức Internet). lOMoAR cPSD| 58737056
*, Chú ý: BỘ GIAO THỨC là định nghĩa của các giao thức còn CHỒNG GIAO THỨC là
một hình thức xử lý bộ giao thức bằng phần mềm
Các giao thức được phân chia thành các tầng, Trong đó TCP/IP có 4 tầng mỗi tầng
lại sử dụng các giao thức ở tầng dưới để đạt đc mục đích của mình
• Layer 1. Network Access Layer: Network Access Layer xác định chi tiết về về cách
thức dữ liệu được gửi qua mạng, bởi các thiết bị phần cứng trực tiếp giao tiếp với
môi trường mạng, chẳng hạn như cáp đồng trục, cáp quang hay dây đồng xoắn đôi.
Các giao thức bao gồm trong Network Access Layer là Ethernet, Token Ring, FDDI, X.25, Frame Relay ...vv
• Layer 2. Internet Layer: Internet Layer đóng gói dữ liệu vào các gói dữ liệu được
biết đến dưới dạng các gói tin thông giao thức Internet Protocol, chứa địa chỉ nguồn
và đích (địa chỉ logic hoặc địa chỉ IP) được sử dụng để chuyển tiếp các gói tin giữa
các máy chủ và qua các mạng.
• Layer 3. Transport Layer: Mục đích của Transport Layer là cho phép các thiết bị
trên máy chủ nguồn và đích đến trao đổi dữ liệu. Transport Layer sẽ xác định mức
độ service và trạng thái của kết nối được sử dụng khi vận chuyển dữ liệu. Trong đó
có giao thức chính trong lớp Transport là TCP (Transmission Control Protocol). Sử
dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối"
với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. Giao thức này
đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự.
• Layer 4. Application Layer: Các thực thể của lớp Application cung cấp các ứng dụng
cho phép người dùng trao đổi dữ liệu ứng dụng qua mạng. Một số ứng dụng thường
gặp của chồng giao thức TCP/IP: FTP (File Transfer Protocol), DNS
e. Các thành phần chính của HTTP HTTP - Requests
HTTP Request Method: Là phương thức để chỉ ra hành động mong muốn được thực
hiện trên tài nguyên đã xác định.
Cấu trúc của một HTTP Request: lOMoAR cPSD| 58737056
• Một Request-line = Phương thức + URI–Request + Phiên bản HTTP. Giao thức
HTTP định nghĩa một tập các giao thức GET, POST, HEAD, PUT ... Client có thể
sử dụng một trong các phương thức đó để gửi request lên server.
• Có thể có hoặc không các trường header
• Một dòng trống để đánh dấu sự kết thúc của các trường Header. Các trường header
cho phép client truyền thông tin bổ sung về yêu cầu, và về chính client, đến server. Một số
trường: Accept-Charset, Accept-Encoding, Accept-Language,
Authorization, Expect, From, Host, …
• Tùy chọn một thông điệp
Khi request đến server, server thực hiện một trong 3 hành động sau:
• Server phân tích request nhận được, maps yêu cầu với tập tin trong tập tài liệu của
server, và trả lại tập tin yêu cầu cho client.
• Server phân tích request nhận được, maps yêu cầu vào một chương trình trên server,
thực thi chương trình và trả lại kết quả của chương trình đó.
• Request từ client không thể đáp ứng, server trả lại thông báo lỗi.
Hình 1.8: Trả lại thông báo
Giao thức HTTP định nghĩa một tập các phương thức request, client có thể sử dụng
một trong các phương thức này để tạo request tới HTTP server, dưới đây liệt kê một số phương thức phổ biến. lOMoAR cPSD| 58737056
Hình 1.9: Một số HTTP Request method thường dùng HTTP - Responses
Cấu trúc của một HTTP response:
• Một Status-line = Phiên bản HTTP + Mã trạng thái + Trạng thái
• Có thể có hoặc không có các trường header
• Một dòng trống để đánh dấu sự kết thúc của các trường header
• Tùy chọn một thông điệp
Mã trạng thái: Thông báo về kết quả khi nhận được yêu cầu và xử lí bên server cho client.
Các kiểu mã trạng thái:
• 1xx: Thông tin (100 -> 101). VD: 100 (Continue), ….
• 2xx: Thành công (200 -> 206). VD: 200 (OK) , 201 (CREATED), …
• 3xx: Sự điều hướng lại (300 -> 307). VD: 305 (USE PROXY), …
• 4xx: Lỗi phía Client (400 -> 417). VD: 403 (FORBIDDEN), 404 (NOT FOUND), … lOMoAR cPSD| 58737056
• 5xx: Lỗi phía Server (500 -> 505). VD: 500 (INTERNAL SERVER ERROR)