1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Thiết kế mô hình tủ lạnh thông minh ứng dụng kỹ thuật máy học

58 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế mô hình tủ lạnh thông minh ứng dụng kỹ thuật máy học
Tác giả Nguyễn Hoàng Hiệp, Vũ Văn Dũng
Người hướng dẫn TS. Đoàn Duy
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Kỹ thuật máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 58
Dung lượng 30,21 MB

Nội dung

TÓM TẮT KHÓA LUẬNĐề tài mô hình tủ lạnh thông minh ứng dụng kỹ thuật máy học là một nghiên cứu dựa theo xu hướng mạng lưới van vật kết nối Internet of Things - IOT hiện nay, khi mọi thứ

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

Nguyễn Hoàng Hiệp Vũ

Văn Dũng

KHÓA LUẬN TOT NGHIỆP

THIẾT KE MO HÌNH TỦ LẠNH THONG MINH UNG

DUNG KY THUAT MAY HOC

DESIGNING A SMART REFRIGERATOR USING MACHINE

LEARNING TECHNIQUE

TP Hồ Chí Minh, Năm 2022

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

Nguyễn Hoàng Hiệp - 17520465

Vũ Văn Dũng - 17520380

KHÓA LUẬN TOT NGHIỆP

THIET KE MO HÌNH TỦ LẠNH THONG MINH UNG

DUNG KY THUAT MAY HOC

DESIGNING A SMART REFRIGERATOR USING MACHINE

LEARNING TECHNIQUE

GIẢNG VIÊN HƯỚNG DAN

TS Đoàn Duy

TP Hồ Chí Minh, Năm 2022

Trang 3

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 62/QD-DHCNTT

Ngày 14 tháng 02 năm 2022 của Hiệu trưởng Trường Dai học Công nghệ Thông tin.

Trang 4

LOI CAM ON

Lựa chon trở thành sinh viên khoa Kỹ thuật may tính, trường Dai hoc Công nghệ thông tin

— Đại học quốc gia Thành phố Hồ Chi Minh là một trong những lựa chọn đúng đắn nhấtcủa chúng em Nhớ những ngày đầu, khi còn là những cậu tân sinh viên vừa rời xa gia đìnhlên thành phố học tập, chúng em phải thích nghi với môi trường mới, một môi trường đầykhó khăn và khắc nghiệt cũng như rất nhiều thử thách đang chờ đợi chúng em May mắnthay, trên hành trình vượt qua những điều đó chúng em không một mình, chúng em luôn

có những người bạn kề bên, những lời động viên của gia đình, đặc biệt là sự giúp đỡ của

các thầy, cô Những người trực tiếp truyền tải kiến thức cho chúng em, không chỉ là về kiến

thức chuyên môn mà còn về kiến thức cuộc sống, từ những điều đơn giản nhất đến nhữngthứ phức tạp Mặc du có đôi lúc, thực ra là thường xuyên chúng em còn làm thay, cô thấtvọng nhưng các thay, các cô vẫn luôn kiên trì bảo ban, diu dat, mài đũa chúng em đề chúng

em ngày càng trưởng thành hơn Chúng em không biết nói gì hơn ngoài lời cám ơn cùng

với sự biết ơn sâu sắc đến thầy, cô Nếu không có những sự nghiêm khắc, ân cần, tận tình

của thay, cô thì sẽ không có chúng em của hôm nay Đặc biệt chúng em xin gửi lời cảm ơn

đến thầy Đoàn Duy, người đã trực tiếp hướng dẫn, chỉ bảo đồng hành cùng chúng em trong

quá trình thực hiện khóa luận Đồng thời chúng em cũng xin gửi lời cảm ơn đến nhà trường,

các khoa đã luôn tạo điều kiện tốt nhất cho chúng em trong quá trình học tập và rèn luyện

Một lân nữa, chúng em xin chân thành cảm ơn.

Tp.Hồ Chí Minh, năm 2022

Nhóm sinh viên

Nguyễn Hoàng Hiệp

Vũ Văn Dũng Khoa Kỹ Thuật Máy Tính, MTCT2017.2

Trang 5

13.1 7 Mobileapp ẶẶ Q Q Q0 Q eee ee eee 12

1.3.2 Giai pháp tương tác voitulanh 12

1.7 Kétquamongmuén 00 0000000 eee eee 13

2 GIỚI THIEU CÁC KY THUẬT ĐƯỢC SU DUNG

2.1 Phantichphanctng 2.0.0.0 00000 eee eee 14

2.1.1 Module ESP32 0.000000 cee eee eee 14

2.1.2 Cảm biến số nhiệt độ và độ âm DHT22 152.2 Các chế độ nguctaESP32 000.0000 eee ee 15

22.1 Khdiniém 000.000 ee ee 15

2.4 Giao thức HTTP và giao thtc HTTPS 20

Trang 6

2.6

2.7

2.8

2.4.1 GiaothúeHTIP 20

2.4.2 Giaothtc HTTPS 0 0.0002 eee 21 2.4.3 Sự khác nhau gitaHTTPvaHTTPS 22

Web API ee 23 DJango/Nginx/GuncornMySQL 25

2.6.1 DJango ee 25 2.6.2 Nginx 2 ee 26 2.6.3 GunICOTn HQ va 27 2.64 MySQL Qua 27 Thư viện Pandas Ặ.ẶẶẶ 20 IDEs và các phần mềm 30

2.8.1 Visual Studio Code 2 00.0002 ee 30 2.8.2 Androidstudio 2 2 ee 30 HIỆN THỰC THIET KE DE TÀI 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Mô tả tông quát hệ thống 31

3.1.1 Hệ thống thu thập dữ liệu 32

3.12 Ung dụng điều khiển trên smartphone 33

Thiết kế Node cảm biến nhiệt độ, độâm 33

Thiết kế mô hình Gateway giao tiếp với Node cảm biến nhiệt độ, độ 4m va server <a @ Vamp eV 7 ˆ 35

Cơ sở dữ li@u 2 en 35 Server lưu trữ và xử lýdữ liệu 40

Nguyên lý, cách thức hoạt động của hệ thống 41

3.6.1 Cách thức truy xuất và cập nhật thông tin thực phẩm Al 3.6.2 Cách thức quanlythucpham - 41

3.6.3 Cách thức hiển thị nhiệt độ, độâm 42

3.6.4 Cách lấy đềxuấtmónăn 43

Mô hình gợi ý mónăn Ặ 43 3.71 Trọng số về hạn sử dụng co c 43 3.7.2 Trọng số về nguyên liệu - 45

KET QUA CUA NGHIEN CUU 4.1 4.2 Năng lượng tiêu thụ của cảm biến 46

Kết quả thu được trên app ee 48 4.2.1 Đăngnhập 0 ee es 48 4.2.2 Hiến thị danh sách thực phẩm 48

Trang 7

5.2 Hướng phát triỂn ¿52 £ + SESEEEEEEEEEE1211211212111111111 1.1.1 xe 52

Trang 8

Danh sách hình vẽ

21

2.2 2.3

2.4 2.5

2.6 2.7

2.8 2.9

3.1 3.2

3.3 3.4

3.5

3.6

3.7 3.8

3.9

3.10 3.11 3.12

3.13

3.14 3.15 3.16

3.17

4.1

ESP32 Active Mode Gà ệt 16

ESP32 Modem SÏeep 6 6 1v HH nh nh nh ng nh 17 IS) 6⁄8 ĐT+4i0 110118 - 4 17 ESP32 Deep Sleep - - Là HH HH HH HH HH HH 18

ESP32 Hibernation Mode - - «cà 1191191111111 HH ng ngư 19

Sơ đồ hoạt động của HTTP - - G1111 S91 S1 HH HH ng 21

Sơ đồ hoạt động của HTTPS - 2-2 £+SSE9EE#EE2EEEEE2EEEEEEEEEEEkerkrrkrree 22

Sơ đồ hoạt động của Web APÏ - - t1 c1 1211121111111 1111111111111 11 tre 24

Sơ đồ hoạt Ong cla /119002217277 aaaa 28

Mô hình hệ thống tủ lạnh thông minh - 2-2 2 2+ +x+£x2£+£++£+2£2£2 31

Mô hình thu nhập cảm biến 2-22 2£ ©522S22EE2EEEEEEEEESEEtSrxrrrrerkesred 32

Mô tả thu thập thông tin thực phẩm 2-2 2 £+£2+£E+£xerEezxezrserxeee 33Lưu đồ node ESP32 hoạt động - 2-22 ++22x2E++EE++EEt+zxerrxerxesred 34

Kiểu dữ liệu dùng trong bảng User 2- ¿2+2 ©++£x++£x+2zxvzxeerxesred 36

Mô tả kiểu dif liệu trong table box -¿£222Vv+z++ttvvvvversrrrrrrseed 36

Mô tả kiểu dit liệu dùng trong bang Ingredient -. ¿-5+55s5cs+5c+2 37

Mô tả kiểu dữ liệu dùng trong bảng Dish_Ingredient 5- 5-55: 37

Mô tả kiểu dữ liệu trong bảng Dish 2-5252 S22S£2E‡ESEEeEEeEEerxrrerreee 37

Mô tả kiểu dữ liệu trong bảng Fridges 2- 2-52 2 S2+Ee£Ee£EeEEeEerszseee 38

Mô tả cách các bảng liên kết với nhau - 2-5: ©5++2+222xt2z+vzxeerxesred 39

Mô hình triển khai Web API c2¿252t222xvt2EExvttrkrtrtrtrrrrrtrrrrrrreg 40

Mô tả cách người dùng truy xuất va cập nhập thông tinthực phâm 41

Mô tả cách người dùng quản lý thực phaM.o c.ccccccecsescsessseessesseesseesseestesseens 42

Mô tả cách hiền thị nhiệt độ và độ âm -ccccccvcsrrvrrrrrrrrerrrkee 42

Mô tả cách dé xuất món ăn - ¿5c 2vttE tt 43Hình ảnh minh họa về đề xuất món ăn - ¿2 + t+E+E+EeEEzE+Eerezxsxers 44Năng lượng tiêu thụ ở chế độ bình thường 2-2-5 5s s+czEzez 46

Trang 9

4.2 _ Năng lượng tiêu thu ở chế độ LOW POW€r s-+ee+vExtevtEEvetrrrrersrrveee 474.3 _ Điền thông số vào trang tính - ¿- 2 £+x++k+EE+EE+EE2E£EEEEEEeEEerkrrxrrkrree 474.4 Kết quả tính toán thời gian tiêu thụ pin -2- 2 2+s++x+zxerxsrxsrszrszsee 47

45 Kết quả mạch tiêu thụ trong một tUẪN, St T SE EE E1 E11 txrkrrrrke 484.6 Giao diện đăng nhập vào ứng dụng -. - - s3 vn re 484.7 _ Giao diện hiển thị thông tin thực phẩm -2- 22 ©2+s+£x+zxezx++zxsrxeree 49

Trang 10

Danh sách bảng

3.1 Gói tin Node gửi qua Gateway thông qua BLE

Trang 11

Danh sách từ viết tắt

IOT Internet of Things

BLE Bluetooth Low Engerny

MCU Multpoint Control Unit

HTTP Hypertext Transfer Protocol

HTTPS Hypertext Transfer Protocol Secure

SSL Secure Sockets Layer

TLS Transport Layer Security

CPU Central Processing Unite

ULP Ultra Low Power

Trang 12

TÓM TẮT KHÓA LUẬN

Đề tài mô hình tủ lạnh thông minh ứng dụng kỹ thuật máy học là một nghiên cứu dựa theo

xu hướng mạng lưới van vật kết nối (Internet of Things - IOT) hiện nay, khi mọi thứ đã vàđang dần được kết nối với nhau Trong đề tài này, nhóm có ứng dụng thuật toán máy học,

công nghệ Bluetooth cũng như các kiến thức về lập trình ứng dụng và xử lý dit liệu dé tạo

ra một mô hình tủ lạnh thông minh hỗ trợ tư vẫn thực đơn hằng ngày, giúp người dùng dễ

dàng hơn trong việc lựa chọn thực đơn cho mỗi bữa ăn.

Hiện nay nhiều hàng công nghệ (LG, Samsung) đang giới thiệu ra thị trường nhiều sảnphẩm tủ lạnh thông minh, nhưng những sản phâm này chủ yếu tập trung về các tính năngnhư đo nhiệt độ, khử mùi, tăng dung lượng lưu trữ Các chức năng về quản lý thực phẩm

cũng như gợi ý món ăn còn hạn chế Nhóm nhận thay tính năng quản lý thực pham và gợi

ý món ăn là vô cùng cần thiết vì những tính năng này có thể hỗ trợ người dùng có nhữngbữa ăn ngon miệng, đảm bảo dinh dưỡng Nên nhóm quyết định nghiên cứu tập trung pháttriển những tính năng này dé tạo nên một mô hình tủ lạnh thông minh

Nhóm mong muốn mô hình này có thể được phát triển và ứng dụng trong tương lai Trongquá trình nghiên cứu và phát triển nhóm cũng đã đạt được một số kết quả và từ các kết qua

đó tiến hành phân tích dé chỉ ra những thiếu sót cũng như cách khắc phục, dé mô hình có

thê được phát triển và hoàn thiện hơn

Kết quả khóa luận xây dựng tủ lạnh thông minh các tính năng:

s Quản lý thực pham

s Theo dõi nhiệt độ, độ âm

e Đề xuất món ăn dựa vào nguyên liệu, thời gian, sở thích

Hệ thống hỗ trợ xây dựng công thức món ăn khoảng 100 món ăn

Trang 13

Chương 1

GIỚI THIỆU TÔNG QUAN

1.1 Đặt van đề

Trong thời kỳ công nghệ phát triển, các thiết bị, đồ dùng ngày càng được cải thiện cũng như

đổi mới đề có thê đáp ứng được nhu cầu cũng như nâng cao trải nghiệm của người dùng

Các thiết bị, đồ dùng được cải tiễn theo hướng thông minh hơn, xử lý được những van déphức tap hơn Chúng dần thay thế cho các thiết bị đời cũ Việc thay thế đó tạo ra hai vấn đềcần giải quyết, thứ nhất đó là chi phí cho một thiết bi thông minh cao hơn nhiều so với mộtthiết bị bình thường và thứ hai là khi thay thế, thiết bị đời cũ sẽ bị loại bỏ, gây ra lãng phítài nguyên cũng như ô nhiễm môi trường Nhằm giải quyết hai vấn đề đó, nhóm đã lên ýtưởng dé biến một thiết bị đời cũ thành thiết bị thông minh, như vậy sẽ giảm được chi phi,không gây lãng phí và 6 nhiễm môi trường Cụ thé thiết bị được nhóm chon dé cải tiến là

tủ lạnh, một thiết bị gần gũi với tất cả các hộ gia đình, đặc biệt là trong tình hình dịch bệnhhiện nay, nhu cầu dự trữ đồ ăn dé hạn chế ra ngoài của các gia đình là rất lớn, nên việc sởhữu một chiếc tủ lạnh tốt là vô cùng cần thiết

1.2 Thực trạng

Qua khảo sát, nhóm nhận thấy tủ lạnh thông minh đã và đang được đầu tư, phát triển trongthời gian qua bởi nhiều công ty lớn như GE, LG, Samsung, Nhiều tính năng thông minhđược tích hợp vào trong tủ lạnh như: màn hình cảm ứng, cho phép chơi nhạc, hiển thị công

thức món ăn, quản lý từ xa thông qua điện thoại, có trợ lý ảo hỗ tro, Tuy nhiên những

thiết bị thông minh như trên có giá thành rất cao, có thê gấp chục lần so với thiết bị thông

thường.

11

Trang 14

1.3 Nội dung nghiên cứu

Mô hình giải pháp cho tủ lạnh thông minh, nhóm nghiên cứu tạo ra một mô hình tích hợp

hỗ trợ giúp tủ lạnh bình thường trở nên thông minh.

Xây dựng ứng dụng trên thiết bị di động giúp người dùng tương tác với tủ lạnh

1.3.1 Mobile app

se Nhập thông tin thực phâm (Tên, giá, han sử dung) bang QR code

s Tra cứu thông tin thực phẩm bang QR code

« Hiển thị đề xuất món ăn

se Hién thị nhiệt độ, độ âm

1.3.2 Giải pháp tương tac với tủ lạnh

s Thu thập thông tin về điều kiện môi trường

s Xây dựng giải pháp quản lý thực phẩm thông qua dùng mã QR

e Cơ chế lưu trữ thực pham cho tu lanh

1.3.3 Server

s Lưu trữ, cập nhật cơ sở dữ liệu.

s Xử lý các thông tin bằng thuật toán máy học dé đưa ra đề xuất món ăn phù hợp

13.4 Cơ sở dữ liệu

e Xây dựng cơ sở dữ liệu lưu trữ thông tin về nhiệt độ, độ âm, thực phẩm và món ăn

1.4 Mục tiêu

e Biến một chiếc tủ lạnh bình thường thành tủ lạnh thông minh, cho phép người sử dụng

có thé sử dụng điện thoại thông minh để kiểm tra các loại thực phẩm có trong tủ lạnh,

từ những thông tin đó sẽ gợi ý cho người sử dụng các món ăn có thé nấu, cung cấpthông tin vê nguyên liệu có săn cũng như các nguyên liệu còn thiêu đê chê biên Đông

12

Trang 15

thời cũng cho phép người sử dụng theo dõi tình trạng của tủ (nhiệt độ, độ ẩm) dé cóthể tùy chỉnh sao cho phủ hợp.

¢ Thực hiện được các tính năng đã đề ra, tạo ra một sản phẩm có chất lượng, nâng cao

trải nghiệm người dùng.

đoạn trong quá trình thực hiện:

Hoàn chỉnh giải pháp tích hợp cho tủ lạnh thông minh Mở rộng tính năng lựa chọn món

ăn theo nhiều yếu tố khác nhau (sở thích, sức khỏe, chế độ dinh dưỡng )

1.7 Két quả mong muôn

s Có tiềm năng dé cải tiến, phát triển trong tương lai

¢ Các tính năng hoạt động ôn định, thé hiện được tính khoa học của khóa luận tốt nghiệp

13

Trang 16

cả hai biến thé lõi kép và lõi đơn, và bao gồm các công tắc, antenna tích hợp, RF balun, bộ

khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng.

ESP32 được chế tạo và phát triển bởi Espressif Systems, một công ty Trung Quốc cótrụ sở tại Thượng Hải, và được sản xuất bởi TSMC bằng cách sử dụng công nghệ 40 nm.ESP32 là sản phẩm kế thừa từ vi điều khiên ESP8266

Các thông số kỹ thuật chính:

se CPU: Xtensa Dual-Core LX6 microprocessor

¢ Chạy hệ 32 bit

© Tốc độ xử lý 160 MHZ up to 240 MHz

s Tốc độ xung nhịp đọc flash chip 40 MHz —> 80 MHz (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 - 8KB RAM RTC tốc

độ thấp (dùng ở chế độ DeepSleep)

14

Trang 17

s WiFi: 802.11 b/g/n/e/i

s Bluetooth: v4.2 BR/EDR va BLE

e 18 kênh bộ chuyền đôi Analog-to-Digital (ADC), 3xSPI, 3xUART, 2xI2C, 16 kênh

đầu ra PWM, 2 bộ chuyền đổi Digital-to-Analog (DAC), 2xI2S, 10 GPIO cảm biến

dién dung

se Điện ap hoạt động: 2.2-3.6V

2.1.2 Cảm biến số nhiệt độ và độ âm DHT22

Cảm biến độ âm và nhiệt độ DHT22 là cảm biến rất thông dụng hiện nay vì chỉ phí rẻ và rất

dé lay dir 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)

Các thông sô kỹ thuật chính:

s Điện áp đầu vào: 3.3-5V DC

s Chuẩn giao tiếp: TTL, 1 wire

s Tầm đo nhiệt độ: -40 80°C

s Độ phân giải: 0.1°C/ Sai số nhiệt độ <+0.5°C

s Tam đo độ âm: 0-100% RH

s Tầm đo độ âm: 0.1%RH / sai số +2%RH

15

Trang 18

2.2.2 Các chế độ

1.ESP32 Active Mode

Chế độ hoạt động bình thường là Active Mode Trong chế độ nay, tat cả các chức năngcủa chip đều được bật Vì Active Mode bật mọi chức năng (đặc biệt là module WIFI,Bluetooth và nhân xử lý), nên chip yêu cầu dòng điện hơn 240mA dé hoạt động Ngoài

ra, nếu sử dụng cả hai chức năng WiFi và Bluetooth cùng lúc, các xung công suất cao

có thể xuất hiện (lớn nhất là 790mA) Đây là chế độ tiêu tốn năng lượng nhiều nhất

Vì vậy, muốn đảm bảo năng lượng, chúng ta phải tận dụng một trong các chế độ ngủ

của ESP32 khi không sử dụng.

& ULP Coprocessor

Peripherals ` IÑ Peripherals

& Memory @ Ric

Power Consumption:

ATC Peripherals 1 60~260 mA

Hinh 2.1: ESP32 Active Mode

2.ESP32 Modem Sleep

Trong Modem Sleep, moi thir déu hoat déng, chi cd WiFi, Bluetooth va Radio bi tat.CPU vẫn hoạt động va RTC có thé được sử dung Tại chế độ này, chip tiêu thụ khoảng

3mA ở tốc độ chậm và 20mA ở tốc độ cao

Đề duy trì kết nối WiFi / Bluetooth, CPU, WiFi, Bluetooth và Radio được đánh thứctheo các khoảng thời gian được xác định trước đó.

Trong kiểu ngủ này, ESP32 sẽ chuyên đổi giữa chế độ Active Mode va Modem Sleep.ESP32 chỉ có thé chuyển sang Modem Sleep khi kết nối với Access Point ở chế độStation (trạm) ESP32 vẫn kết nói với bộ định tuyến thông qua cơ chế DTIM Beacon

Dé tiết kiệm năng lượng, ESP32 vô hiệu hóa module WiFi giữa hai khoảng thời gianDTIM Beacon và tự động thức dậy trước khi đến Beacon tiếp theo Thời gian ngủ đượcquyết định bởi khoảng thời gian DTIM Beacon của Access Point thường là 100ms đến

1000ms.

16

Trang 19

Hinh 2.2: ESP32 Modem Sleep

3 ESP32 Light Sleep

Hinh 2.3: ESP32 Light Sleep

Chế độ làm việc của Light Sleep tương tự như Modem Sleep Sự khác biệt là RAM,

CPU và ngoại vi đều bị tắt clock (clock-gated) Trong Light Sleep, CPU bị tạm dừng

bằng cách tắt nguồn xung clock, nhưng RTC và ULP vẫn được duy trì hoạt động Điều

nay dẫn đến mức tiêu thụ điện năng ít hơn so với Modem Sleep, chỉ khoảng 0,8mA

Khi chuyền sang Light Sleep, ESP32 duy trì trạng thái bên trong của nó và tiếp tục hoạt

động khi thoát khỏi chế độ ngủ Toàn bộ RAM vẫn được giữ nguyên esp_light_sleep_start()

hàm này được sử dụng dé chuyền sang Light Sleep sau khi nguồn đánh thức được cau

hình.

17

Trang 20

4.ESP32 Deep Sleep

Ở Deep Sleep, CPU, RAM và tất cả các ngoại vi đều bị tắt Các bộ phận duy nhấtcủa chip vẫn được cấp nguồn là: bộ RTC, ngoại vi RTC (bao gồm bộ ULP) và bộ nhớRTC Chip tiêu thụ từ 10uA đến 0.15mA

Hinh 2.4: ESP32 Deep Sleep

Trong Deep Sleep, CPU chính bị tắt nguồn còn bộ ULP thực hiện các phép do cảmbiến và đánh thức hệ thong chính dựa trên dữ liệu do được Cùng với CPU, bộ nhớ

chính của chip cũng bị tắt Vì vậy, mọi thứ được lưu trữ trong bộ nhớ đó bị xóa sạch và

không thé truy cập được Tuy nhiên, bộ nhớ RTC vẫn được bat Vì vậy, nội dung của

nó được bảo quản trong Deep Sleep và có thé được lấy ra sau khi chip được đánh thức

Đó là lý do mà chip lưu trữ dữ liệu kết nối WiFi và Bluetooth trong bộ nhớ RTC trướcđó.

Vậy nếu muốn sử dụng đữ liệu khi khởi động lại, hãy lưu trữ nó vào bộ nhớ RTC

bang cách xác định một biến toàn cục với thuộc tính RTC _DATA_ ATTR Ví dụ:

RTC_DATA_ ATTR int bootCount = 0;

Ở Deep Sleep, toàn bộ chip được tắt nguồn ngoại trừ module RTC Vi vay, bat ky dit

liệu nào không có trong bộ nhớ phục hồi RTC đều bị mat và chip sẽ khởi động lại với

thiết lập mặc định Tương tự như thực hiện chương trình lại từ đầu

5.ESP32 Hibernation mode

Không giống như Deep Sleep, ở Hibernation Mode, chip vô hiệu hóa bộ tao dao động8MHz bên trong và bộ ULP Bộ nhớ phục hồi RTC cũng bị tắt nguồn, có nghĩa làkhông có cách nào dé lưu trữ dữ liệu trong chế độ ngủ đông Mọi thứ khác đều bị tắtngoại trừ bộ đếm thời gian RTC slow clock và một số GPIO RTC đang hoạt động

18

Trang 21

Chúng có trách nhiệm đánh thức chip ra khỏi Hibernation Mode Trong chế độ

Hiber-nation Mode, chip chỉ tiêu thụ khoảng 2.5ÙA.

Hinh 2.5: ESP32 Hibernation mode

2.3 Giới thiệu về BLE

Bluetooth Low Energy (BLE/Bluetooth LE/Bluetooth Smart) là một công nghệ mạng khôngdây tiêu thụ rất ít năng lượng dùng dé kết nói các thiết bị với nhau Ban đầu công nghệ nàyđược phát minh bởi Nokia vào năm 2006 với tên gọi Wibree, trước khi được Bluetooth Special Interest Group (Bluetooth SIG) tích hợp vào Bluetooth 4.0 có tên BLE vào năm

2010.

Ưu điểm:

s Khả năng truyền dit liệu cũng như thiết lập kết nối rất nhanh chỉ vào khoảng 3ms

s Bluetooth Low Energy không bị nhiễu sóng như khi sử dụng Bluetooth thông thường

hay thiết bi WiFi do hoạt động ở tần số 2.4 Ghz ISM band

* Bluetooth Low Energy có ưu diém đáng chú ý là kha năng tiêu thụ năng lượng rat thấp.Khi sử dụng Bluetooth Low Energy, thiết bị có thê hoạt động nhiều năm liền

se Bluetooth Low Energy mang đến nhiều lợi ích khi được tích hợp trong hau hết các loại

điện thoại di động thông minh hiện nay.

s Bluetooth Low Energy có tính năng tắt khi không có dữ liệu đến và bật tự động khi có

dữ liệu Nhờ đó, giúp tiết kiệm đáng ké năng lượng trong quá trình sử dụng

19

Trang 22

e Giá thành dé sản xuất Bluetooth Low Energy không cao nên mức giá dé sở hữu công

nghệ này tương đôi thâp.

Nhược điểm:

se Khoảng cách truyền dữ liệu bị giới hạn trong khoảng 100m Thậm chí, có những trườnghợp chỉ truyền được trong bán kính 30m với chiều cao từ 2 — 5m sẽ cho hiệu quả cao

e Có nhiều yếu tô ảnh hưởng đến chất lượng đường truyền như: Hướng thiết bị, vat can,

thiệt kê anten, môi trường hoạt động

e Bluetooth Low Energy có tần số điều chế là IMbps Thông lượng dit liệu rất nhỏ nênkhông thé truyền tải đối với nội dung có dung lượng lớn

2.4 Giao thức HTTP và giao thức HTTPS

2.41 Giao thức HTTP

HTTP (Hypertext Transfer Protocol) là giao thức truyền tải siêu văn bản Đây là giao thứctiêu chuẩn cho World Wide Web (www) đề truyền tải dit liệu đưới dang văn bản, âm thanh,

hình ảnh, video từ Web Server tới trình duyệt web của người dùng và ngược lạ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ứcnày được đặt theo tên hai giao thức chính là TCP (Transmission Control Protocol — Giao

thức điều khiển truyền vận) và IP (Internet Protocol — Giao thức Internet).

Đặc trưng co bản của HTTP:

e Kết nối không liên tục: Kết nối của HTTP không liên tục Quy trình xử lý, phản hồiyêu cầu thông thường của HTTP là Client tạo yêu cầu -> dừng kết nối với Server đểđợi phản hồi -> Server tiến hành xử lý yêu cầu -> thiết lập kết nối tới Client và gửiphản hồi

¢ Độc lập: Đặc trưng co ban thứ hai của HTTP là tính độc lập Có thê gửi mọi loại dữ

liệu qua HTTP miễn sao Server va Client có biện pháp kiểm soát các nội dung của dit

liệu Client và Server cần xác định nội dung gửi đi thuộc kiểu gì để lựa chọn MIME

phù hợp.

¢ HTTP là giao thức phi trang thái (stateless protocol): Server va Client không có mốiliên hệ nào giữa hai yêu câu được gửi di, dù nó là thực hiện trên cùng một kê nôi - dén

20

Trang 23

cùng một server Ngoài ra, Client và Server đều có thể lưu lại thông tin về những yêucâu g1ữ các website.

Sơ đồ hoạt động của HTTP:

Thông điệp trả về

(HTTP response)

Trình duyệt web Máy chủ web

Hình 2.6: Sơ đồ hoạt động của HTTP

HTTP hoạt động theo mô hình Client (máy khách) — Server (máy chủ) Tại mô hình này,

mọi thiết bị tìm kiếm hay trình duyệt web sẽ đóng vai trò như máy khách, còn máy chủ web

có vai trò như Server.

* Client: Client gửi yêu cầu cụ thé đến Server theo mẫu phương thức yêu cầu -> Cácphiên bản giao thức cùng với URI gửi thông báo MIME (gồm thông tin máy khách,nội dung của đối tượng, bộ chỉnh sửa) đến server qua kết nối TCP/IP

e Server: Server nhận được yêu cầu -> Phản hồi lai bang một dòng trang thái qua thông

báo MIME có chứa thông tin máy chủ, thông tin về nội dung của đối tượng và thực thểcủa đa phương tiện.

Sơ đồ hoạt động của HTTPS:

HTTPS hoạt động tương tự như HTTP, tuy nhiên được bồ sung thêm chứng chỉ SSL(Secure Sockets Layer — tang 6 bảo mật) hoặc TLS (Transport Layer Security — bảo mật

21

Trang 24

A password: 123 | e

User Website Web Server

$

Hình 2.7: Sơ đồ hoạt động của HTTPS

tang truyền tải) Cả SSL và TLS đều sử dụng hệ thống PKI (Public Key Infrastructure -hạ

tầng khóa công khai) không đối xứng Hệ thống này sử dụng hai “khóa” để mã hóa thôngtin liên lạc, “khóa công khai” (public key) và “khóa riêng” (private key) Bat cứ thứ gì được

mã hóa băng khóa công khai chỉ có thê được giải mã bởi khóa riêng và ngược lại Các tiêuchuân này đảm bảo các nội dung sẽ được mã hóa trước khi truyền di, và giải mã khi nhận.

2.4.3 Sự khác nhau giữa HTTP va HTTPS

e Mã hóa trên HTTP va HTTPS

— HTTPS được mã hóa thông tin, sử dụng SSL/TLS tiêu chuẩn công nghệ bảo mật,

truyền thông mã hóa giữa máy chủ Web server và trình duyệt Với HTTP thìhoàn

toàn không.

¢ Port trên HTTP va HTTPS

— Port là công xác định thông tin trên máy khách, sau đó phân loại để gửi đến máy

chủ Mỗi Port mang một số hiệu riêng với chức năng riêng biệt Giao thức HTTP

sử dung Port 80, trong khi đó HTTPS sử dụng Port 443 — đây chính là công hỗ trợ

mã hóa kết nối từ máy tính client đến server, nhằm bảo vệ gói dữ liệu đang được

truyền đi

¢ Mức độ bao mật của HTTP và HTTPS

- HTTPS hỗ trợ việc xác thực tính đích danh của website mà máy khách truy cậ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 bao

22

Trang 25

mật này được cung cấp và xác minh bởi các CA (Certificate Authority) uy tín.Khi được xác thực từ CA người dùng sẽ biết được mình đang truy cập vào đúngwebsite cần tìm thay vì một web mạo danh nào đó Việc bảo mật HTTPS khôngphải là 100% an toàn nhưng tốt hơn HTTP rất nhiều Tất nhiên với HTTP khôngđược mã hóa thông tin nên rất dé bi Hacker tan công.

2.5 Web API

API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác Nó là viết tắtcủa Application Programming Interface — giao diện lập trình ứng dụng API cung cấp khảnăng cung cap khả năng truy xuất đến một tập các hàm hay dùng Và từ đó có thé trao đổi

dữ liệu giữa các ứng dụng.

Web API là một phương thức dùng dé cho phép các ứng dụng khác nhau có thé giao tiếp,trao đôi di liệu qua lại Dữ liệu được Web API tra lại thường ở dạng JSON hoặc XMLthông qua giao thức HTTP hoặc HTTPS.

Mô hình Web API có một số tính năng nôi bật như:

e Cung cấp dịch vụ trên nhiều thiết bị internet khác nhau như trình duyệt web, ứng dụng

di động

e Có thé làm việc trên các dịch vụ web RESTful

¢ Giúp phát triển các dịch vụ web có trọng lượng nhẹ và có thể bảo trì

e Trả lại dữ liệu ở định dạng cu thể như JSON, XML hoặc bắt kỳ định dạng nào khác

¢ Hỗ trợ các tính năng của HTTP như: versioning, caching, HttpResponseMessage,

HttpRequestMessage

Cách thức hoạt động cua Web API:

1 Đầu tiên là xây dựng URL API dé bên thứ ba có thé gửi request dir liệu đến máy chủ

cung cấp nội dung, dich vụ thông qua giao thức HTTP hoặc HTTPS

2 Tại web server cung cap nội dung, các ứng dụng nguồn sẽ thực hiện kiêm tra xác thực

nếu có và tìm đến tài nguyên thích hop dé tạo nội dung trả về kết quả

3 Server trả về kết quả theo định dạng JSON hoặc XML thông qua giao thức HTTP/HTTPS

4 Tại nơi yêu cầu ban đầu là ứng dụng web hoặc ứng dụng di động, sau khi lay được kết

quả theo định dạng JSON/XML sẽ được phân tích dé lay dir liệu mong muốn Sau khi

có được đữ liệu thì thực hiện tiếp các hoạt động như lưu dữ liệu xuống cơ sở dữ liệu,

hiển thị dữ liệu

23

Trang 26

Ưu và nhược điểm của Web API:

se Nhanh chóng xây dựng dịch vụ HTTP: URL, request/response headers, caching,

versioning, content formats và có thê tô chức trong ứng dụng hoặc trén IIS.

se Mã nguồn mở, hỗ trợ chức năng RESTful đầy đủ, sử dụng bởi bat ki client nào hỗ

trợ XML, Json.

s Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter,

model binder, IoC container, dependency injection, unit test.

e Giao tiêp hai chiêu được xác nhận trong các giao dịch, đảm bảo độ tin cậy cao.

2.Nhược diém

s Dé sử dụng hiệu quả cân có kiên thức chuyên sâu, có kinh nghiệm backend tot

s Tôn thời gian và chi phí cho việc phát triên, nâng cap và vận hành

e Có thé gặp van đề về bảo mật khi hệ thống bị tan công nếu không giới hạn điều

kiện kỹ.

Application Functionality

Trang 27

2.6 Django/Nginx/Gunicorn/MySQL

2.6.1 Django

Django là một trong số những web framework bậc cao miễn phí, là mã nguồn mở được tao

ra bởi ngôn ngữ Python dựa trên mô hình mô hình MTV (gồm Model-Template-Views).Hiện framework này được phát triển, quản lý bởi Django Software Foundation

Django ra đời với mục tiêu hỗ trợ thiết kế các website phức tạp dựa trên những CSDL cósin Nó hoạt động dựa theo nguyên ly ‘cam’ các thành phan và và tái sử dụng dé tạo nêncác website với ít code, ít khớp nối, có khả năng phát triển và không bị trùng lặp

Ưu điểm của Django: Lợi thế hàng đầu của Django là khả năng thiết kế, tao lập website

và các ứng dụng nhanh chóng Ngoài ra còn có:

se Bao mật: Django giúp các lập trình viên tránh các lỗi bảo mat thông thường bang cáchcung cấp framework rằng có những kĩ thuật "phải làm như vậy" để bảo vệ website Vídụ: Django cung cấp bao mật quan lý tên tài khoản và mật khâu, tránh các lỗi cơ bảnnhư đề thông tin session lên cookie, mã hóa mật khâu thay vì lưu thăng

¢ Hoan thiện: Django phát triển theo tư tưởng "Batteries included" (có thé hiểu ý nghĩa

là tích hợp toàn bộ, chỉ cần gọi ra mà dùng) Nó cung cấp mọi thứ cho lập trình viênkhông cần phải nghĩ phải ding cái ngoài Chỉ cần tập trung vào sản phẩm, tat cả đềuhoạt động liền mạch với nhau

e Da năng: Django có thê được dùng dé xây dựng hau hết các loại website, từ hệ thốngquan lý nội dung, cho đến các trang mạng xã hội hay web tin tức Django có thé làmviệc với framework client-side, và chuyên nội dung hau hết các loại định dạng (HTML,

RESS, JSON, XML, )

e Dễ học: Có nhiều tài liệu hỗ trợ việc hoc Django, bao gồm cả tài liệu miễn phi trênmạng và sách in Cộng đồng sử dung Django hiện nay đang phát triển mạnh mẽ, người

mới có thé tìm kiếm sự giúp đỡ trên các trang facebook, diễn đàn, blog

Nhược điểm của Django:

s Có thể xảy ra một vài van đề khi phát triển các ứng dụng/website quy mô nhỏ

s Định tuyến tương đối khó

¢ Không đưa ra các cảnh báo khi xuât hiện lỗi trong mâu.

25

Trang 28

2.6.2 Nginx

NGINX là một web server mạnh mẽ mã nguồn mở Nginx sử dụng kiến trúc đơn luồng,hướng sự kiện Nó cũng có thé làm những thứ quan trọng khác, chang hạn như load balanc-

ing, HTTP caching, hay sử dụng như một reverse proxy.

Nginx được Igor Sysoev phát triển năm 2002, và công bố lần đầu vào năm 2004 Tháng

7 năm 2011, công ty Nginx Inc được thành lập với trụ sở đầu tiên tại San Francisco,

Cali-fornia, USA.

Những tính năng của máy chủ HTTP Nginx:

se Có khả năng xử lý hơn 10.000 kết nối cùng lúc với bộ nhớ thấp

¢ Phục vụ tập tin tinh (static files) và lập chỉ mục tập tin.

e Tăng tốc reverse proxy bằng bộ nhớ đệm (cache), cân bằng tải đơn giản và kha năngchịu lỗi.

s Hỗ trợ tăng tốc với bộ nhớ đệm của FastCGI, uwsgi, SCGI, và các máy chủ

mem-cached.

s Kiến trúc modular, tăng tốc độ nạp trang bằng nén gzip tự động

e Hỗ trợ mã hoá SSL và TLS.

s Cấu hình linh hoạt; lưu lại nhật ký truy van

« Chuyên hướng lỗi 3XX-5XX

e Rewrite URL (URL rewriting) dùng regular expressions

s Han chế ty lệ đáp ứng truy van

« Giới hạn số kết nối đồng thời hoặc truy van từ 1 địa chỉ

e Khả năng nhúng mã PERL

s Hỗ trợ và tương thích với IPv6

¢ Hỗ trợ WebSockets

s Hỗ trợ truyền tải file FLV và MP4

Những tính năng máy chủ mail proxy của Nginx:

* Hỗ trợ TLS/SSL

* Hỗ trợ STARTTLS

26

Trang 29

® SMTP, POP3, va IMAP proxy

e Yêu cầu xác thực bang máy chu HTTP bên ngoài hoặc bằng các tập lệnh xác thực

2.6.3 Gunicorn

Gunicorn là một trong những python web server theo chuẩn WSGI (Web Server GatewayInterface) Gunicorn rat dé sử dụng và hỗ trợ tốt cho nhiều web framework khác nhau như

Django, Flask

Các đặc điểm của Gunicorn:

s Có thể chạy bat kỳ ứng dung và framework Python web nào theo chuẩn WSGI

e Dễ dàng thay thé các web server trong môi trường phát triển sản phẩm (môi trường

dành cho lập trình viên để kiểm tra hoạt động của các ứng dụng) mà không cần thayđối mã nguồn ứng dụng

se Hỗ trợ rất nhiều loại worker và các cau hình cho từng loại worker

cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL

Lich sử hình thành và phát triển của MySQL:

s Công ty Thụy Điền MySQL AB phát trién MySQL vào năm 1994.

s Phiên bản đầu tiên của MySQL phát hành năm 1995

¢ Công ty Sun Microsystems mua lai MySQL AB trong năm 2008

s® Năm 2010 tập doan Oracle thâu tom Sun Microsystems Ngay lúc đó, đội ngũ phattriển của MySQL tách MySQL ra thành 1 nhánh riêng gọi là MariaDB Oracle tiếp tụcphát triển MySQL lên phiên bản 5.5

se 2013 MySQL phát hành phiên bản 5.6

27

Ngày đăng: 03/11/2024, 17:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN