You are on page 1of 70

LỜI CẢM ƠN

Để hoàn thành đề tài cùng sản phẩm này, em xin gửi lời cảm ơn đến quý
Thầy Cô trong Trường Đại học Công nghệ thông tin và Truyền thông đã đã tận
tình giảng dạy, trang bị cho em những kiến thức quí báu trong những năm học vừa
qua.
Em xin gửi lời cảm ơn sâu sắc nhất đến thầy Đào Tô Hiệu, thầy đã trực
tiếp hướng dẫn em hoàn thành đồ án này với sự nhiệt tình và ân cần chỉ bảo,
đồng thời cung cấp cho em những kiến thức chuyên môn để em có thể hoàn thiện
đồ án tốt nghiệp này.
Mặc dù em đã cố gắng hoàn thành quyển đồ án trong phạm vi và khả năng
cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm
thông và tận tình chỉ bảo của quý Thầy Cô và các bạn.
Sinh viên thực hiện

NGUYỄN VĂN ĐỨC


LỜI CAM ĐOAN
Tôi xin cam đoan Đồ án với đề tài “Thiết kế hệ thống safe deposit box” là
đề tài nghiên cứu của cá nhân tôi, không sao chép của bất cứ ai.
Tôi xin chịu mọi trách nhiệm về đề tài nghiên cứu của riêng mình !
Người cam đoan

NGUYỄN VĂN ĐỨC

1
MỤC LỤC
LỜI CẢM ƠN.............................................................................................................0
LỜI CAM ĐOAN.......................................................................................................1
DANH MỤC HÌNH ẢNH..........................................................................................4
PHẦN MỞ ĐẦU.........................................................................................................6
CHƯƠNG I: CƠ SỞ LÝ THUYẾT............................................................................7
1.1. Tổng quan về công nghệ GSM.............................................................................7
1.1.1. Giới thiệu về công nghệ GSM.......................................................................7
1.1.2. Đặc điểm của công nghệ GSM......................................................................8
1.1.3. Cấu trúc của mạng GSM................................................................................8
1.1.4. Các thành phần của công nghệ mạng GSM...................................................9
1.1.5. Xử lý tín hiệu trong GSM............................................................................11
1.1.6. Các thủ tục trong hệ thống GSM.................................................................11
1.1.7. Trạm thu phát BTS.......................................................................................12
1.1.8. Băng tần.......................................................................................................15
1.1.9. SIM...............................................................................................................16
1.1.10. Điện thoại di động.....................................................................................18
1.2. Tổng quan về tin nhắn SMS...............................................................................20
1.2.1. Cấu trúc của một tin nhắn SMS...................................................................20
1.2.2. Sự tiện lợi của việc sử dụng SMS................................................................20
1.3. Giới thiệu về hệ thống GPS................................................................................20
1.3.1. Lịch sử hình thành và phát triển hệ thống GPS...........................................21
1.3.2. Cấu trúc, thành phần cấu tạo hệ thống GPS.................................................22
1.3.3. Nguyên lý hoạt động và tình hình ứng dụng hệ thống GPS........................25
1.4. Giới thiệu về OTP (One Time Password)...........................................................26
1.4.1. Khái niệm.....................................................................................................26
1.4.2. Cách tạo ra OTP...........................................................................................26
1.4.3. Phương thức phân phối OTP........................................................................29
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.......................................32
2.1. Đặc tả hệ thống...................................................................................................32
2.1.1. Đặc tả hệ thống............................................................................................32

2
2.1.2. Yêu cầu........................................................................................................32
2.2. Sơ đồ khối hệ thống............................................................................................33
2.3. Phân tích hệ thống..............................................................................................34
2.3.1. Khối xử lý trung tâm....................................................................................34
2.3.2. Khối nguồn...................................................................................................37
2.3.3. Khối GSM....................................................................................................39
2.3.4. Khối GPS.....................................................................................................43
2.3.5. Khối bàn phím..............................................................................................44
2.3.6. Khối cảnh báo..............................................................................................44
2.3.7. Khối chấp hành............................................................................................45
2.3.8. Khối hiển thị.................................................................................................46
2.3.9. Thiết kế phần cứng.......................................................................................48
2.3.10. Xây dựng phần mềm..................................................................................51
CHƯƠNG III: KẾT QUẢ THỰC NGHIỆM CỦA HỆ THỐNG.............................54
3.1. Hình ảnh thực tế của hệ thống............................................................................54
3.2. Hình ảnh thực nghiệm của hệ thống...................................................................54
3.3. Khó khăn khi thực hiện......................................................................................54
TÀI LIỆU THAM KHẢO.........................................................................................55
PHỤ LỤC..................................................................................................................56
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN......................................................60

3
DANH MỤC HÌNH ẢNH
Hình 1.1 Tổng quan mạng GSM.................................................................................9
Hình 1.2 Cấu trúc mạng GSM..................................................................................10
Hình 1.3 Các thành phần của mạng GSM................................................................11
Hình 1.5 Trạm BTS...................................................................................................14
Hình 1.6 Tủ nguồn AC..............................................................................................15
Hình 1.7 Tủ nguồn DC..............................................................................................16
Hình 1.8 Tủ BTS........................................................................................................17
Hình 1.9 GSM 900....................................................................................................17
Hình 1.10 GSM 1800................................................................................................18
Hình 1.11 SIM...........................................................................................................19
Hình 1.12 Cấu tạo SIM.............................................................................................19
Hình 1.13 Sơ đồ khối của SIM..................................................................................20
Hình 1.14 Điện thoại di dộng...................................................................................21
Hình 1.15 Cấu trúc của một tin nhắn SMS...............................................................22
Hình 1.16 Hệ thống đinh vị toàn cầu........................................................................23
Hình 1.17 Hệ thống GPS..........................................................................................23
Hình 1.18 Cấu tạo hệ thống GPS..............................................................................25
Hình 1.19 Vệ tinh NAVSTAR....................................................................................26
Hình 1.20 Mã thông báo bảo mật RSA SecurID.......................................................32
Hình 2.1 Sơ đồ khối hệ thống....................................................................................35
Hình 2.2 Board Arduino Uno R3..............................................................................36
Hình 2.3 Sơ đồ nguyên lý Arduino Uno R3...............................................................36
Hình 2.4 Sơ đồ chân của Arduino Uno R3...............................................................38
Hình 2.5 Khối nguồn.................................................................................................39
Hình 2.6 Module LM2596.........................................................................................40
Hình 2.7 Mạch sạc pin cell 18650............................................................................40
Hình 2.8 Cách đấu dây.............................................................................................41
Hình 2.9 Module hạ áp 3.3V.....................................................................................41
Hình 2.10 Adapter 12,6VDC – 2A............................................................................42
Hình 2.11 Module SIM900a mini..............................................................................43

4
Hình 2.12 Module GPS Neo-6M...............................................................................46
Hình 2.13 Bàn phím ma trận 3x4..............................................................................47
Hình 2.14 Module cảm biến rung SW-420................................................................47
Hình 2.15 Động cơ Servo SG90................................................................................48
Hình 2.16 Còi chip....................................................................................................48
Hình 2.17 LCD text 1602..........................................................................................49
Hình 2.18 Module PCF8574.....................................................................................50
Hình 2.19 Phần mềm mô phỏng Proteus..................................................................52
Hình 2.20 Sơ đồ nguyên lý hệ thống.........................................................................52
Hình 2.22 Sơ đồ mạch in hệ thống............................................................................54
Hình 2.23 Sơ đồ 3D hệ thống....................................................................................54
Hình 2.24 Giao diện phần mềm lập trình trên nền tảng Arduino.............................55
Hình 2.25 Arduino Toolbar.......................................................................................55
Hình 2.27 Lưu đồ thuật toán chương trình phát hiện ngoại lực...............................57
Hình 2.28 Lưu đồ chương trình thu thập tọa độ.......................................................57
Hình 3.1 Hình ảnh tủ................................................................................................58
Hình 3.2 Hình ảnh OTP............................................................................................58

5
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt Tiếng Anh Tiếng Việt
Global System for Mobile Hệ thống thông tin di
GSM
Communications động toàn cầu
NSS Network Switching Subsystem Phân hệ chuyển mạng
BSS Base Station Subsystem Phân hệ trạm gốc
Phân hệ bảo dưỡng và
OSS Operation Subsystem
khai thác
MS Mobile Station Trạm di động
International Mobile station Mã số nhận dạng thiết
IMEI
Equipment Identification bị di động quốc tế
BTS Base Transceiver Station Trạm thu phát sóng
BSC Base Station Controller Bộ điều khiển trạm gốc
Trung tâm chuyển mạch
MSC Main Switching Center
chính
Đăng ký nhận dạng
EIR Equipment Identity Register
thiết bị
Bộ đăng ký vị trí
HLR Home Location Register
thường trú
Bộ đăng ký vị trí tạm
VLR Visiting Location Register
trú
AuC Authentication Center Trung tâm xác thực
Trung tâm dịch vụ tin
SMSC Short Message Service Center
nhắn ngắn
Trung tâm vận hành và
OMC Operation & Maintain Center
bảo trì
Time Division Multiple Acces Phân chia các truy cập
TDMA
s theo thời gian
Code Division Multiple Acces Phân chia các truy cập
CDMA
s theo mã
SIM Subscriber Identity Module Module nhận dạng thuê

6
bao
International Mobile Nhận dạng thuê bao di
IMSI
Subscriber Identity động quốc tế
ĐTDĐ Điện thoại di động
SMS Short Message Service Dịch vụ tin nhắn ngắn
Hệ thống định vị toàn
GPS Global Positioning System
cầu
Mật khẩu sử dụng một
OTP One Time Password
lần
Mật khẩu một lần dựa
TOTP Time-base One-time Password
trên thời gian
GND Ground Tiếp đất
Giao diện ngoại vi nối
SPI Serial Peripheral Interface
tiếp
PWM Pulse Width Modulation Điều chế độ rộng xung
MT Mobile Terminal Thiết bị đầu cuối mạng
TE Terminal Equipment Thiết bị đầu cuối
AT Attention Lệnh điều khiển
LCD Liquid Crystal Display Màn hình tinh thể lỏng

7
PHẦN MỞ ĐẦU
Ngày nay, xã hội càng hiện đại, khoa học kỹ thuật càng phát triển thì cuộc
sống của con người càng có nhu cầu sử dụng đầy đủ các thiết bị thông minh để phục
vụ cho sinh hoạt và công việc của mình. Một thực tế rất gần với con người là trong
chính căn nhà của mình, mong muốn được áp dụng công nghệ tự động hóa càng
được rộng rãi, tất cả đồ dùng trong nhà từ phòng ngủ, phòng khách đến toilet đều
gắn các bộ điều khiển điện tử có thể kết nối với Internet và điện thoại di động, cho
phép chủ nhân điều khiển, giám sát vật dụng từ xa.
Nhu cầu về kiểm soát hệ thống thiết bị điện và điều khiển thiết bị thông qua
điêṇ thoaị di động ngày càng phổ biến như kiểm tra trạng thái của đèn, quạt, máy
lạnh, các thiết bị khác, và có thể mở hay tắt và có thể giám sát các thiết bi ̣điện trong
nhà từ xa bằng thiết bị điện thoại di động, thiết bị máy tính thông qua mạng internet.
Các bộ giám sát và điều khiển hiện nay do nước ngoài sản xuất có giá thành rất cao
và thường xây dựng trên nền nhà thông minh hiện đại, có mức đầu tư lớn, giá thành
thiết bị cao và phức tạp do đó không phù hợp các nhu cầu điều khiển đơn lẻ, linh
hoạt và mức độ tương tác thấp ở Việt Nam.
Vì vậy, em đã tìm hiểu, nghiên cứu và chọn đề tài: “THIẾT KẾ HỆ
THỐNG SAFE DEPOSIT BOX” nhằm đáp ứng được nhu cầu giám sát điều khiển
từ xa bằng điện thoại di động và góp phần vào sự tiến bộ, văn minh, hiện đại của gia
đình và toàn xã hội.
Từ đó đề tài được em thực hiện và chia thành 3 chương chính. Nội dung của
3 chương là:
CHƯƠNG I : CƠ SỞ LÝ THUYẾT
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
CHƯƠNG III: KẾT QUẢ THỰC NGHIỆM CỦA HỆ THỐNG

8
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về công nghệ GSM
1.1.1. Giới thiệu về công nghệ GSM
Hệ thống thông tin di động toàn cầu (tiếng Anh: Global System for Mobile
Communications, viết tắt: GSM) là một công nghệ dùng cho mạng thông tin di
động. Dịch vụ GSM được sử dụng bởi hơn 2 tỷ người trên 212 quốc gia và vùng
lãnh thổ. Các mạng thông tin di động GSM cho phép có thể chuyển vùng với nhau
do đó những máy điện thoại di động GSM của các mạng GSM khác nhau ở có thể
sử dụng được nhiều nơi trên thế giới.
GSM là chuẩn phổ biến nhất cho điện thoại di động (ĐTDĐ) trên thế giới.
Khả năng phú sóng rộng khắp nơi của chuẩn GSM làm cho nó trở nên phổ biến trên
thế giới, cho phép người sử dụng có thể sử dụng ĐTDĐ của họ ở nhiều vùng trên
thế giới. GSM khác với các chuẩn tiền thân của nó về cả tín hiệu và tốc độ, chất
lượng cuộc gọi. Nó được xem như là một hệ thống ĐTDĐ thế hệ thứ hai (second
generation, 2G). GSM là một chuẩn mở, hiện tại nó được phát triển bởi 3rd
Generation Partnership Project (3GPP).[1]

Hình 1.1 Tổng quan mạng GSM

9
1.1.2. Đặc điểm của công nghệ GSM
- GSM cho phép gửi và nhận tin nhắn văn bản bàng ký tự với độ dài lên đến
126 kí tự.
- Chuyển giao và nhận dữ liệu, fax giữa các mạng GSM với tốc độ 9600bps.
- Tính phủ sóng cao: Công nghệ GSM cho phép chuyển giao dữ liệu không
những trong một mạng mà còn chuyển giao giữa các mạng với nhau trên toàn cầu
mà không cần điều chỉnh thông số nào.
- Sử dụng công nghệ phân chia theo thời gian TDM chia ra thành 8 kênh full
rate va 16 kênh half rate.
- Công suất phát của điện thoại tối đa 2W ở băng tần 850/900MHz và 1W ở
băn tần 1800/1900MHz.
- Sử dụng hai kiểu mã hóa âm thanh để nén tín hiệu âm thanh 3.1KHz la mã
hóa 6 và mã hóa full rate (12kbps) hay half rate (6kbps).
1.1.3. Cấu trúc của mạng GSM

Hình 1.2 Cấu trúc mạng GSM


Hệ thống GSM được chia thành các hệ thống con sau :
- 2 phân hệ chuyển mạng NSS (Network Switching Subsystem)
- 1 phân hệ trạm gốc BSS (Base Station Subsystem)
- 1 phân hệ bảo dưỡng và khai thác OSS (Operation Subsystem)
- Trạm di động MS (Mobile Station)

10
1.1.4. Các thành phần của công nghệ mạng GSM

Hình 1.3 Các thành phần của mạng GSM


- MS (Mobile Station):
+ Thiết bị cầm tay trong mạng di động GSM, thực hiện chức năng thu và
phát tín hiệu vô tuyến với một BTS (trong vùng phủ sóng). Nó có chứa một số IMEI
(International Mobile station Equipment Identification) dùng để nhận dạng thiết bị.
+ Số IMEI là duy nhất cho tất cả các MS trên toàn thế giới. Mỗi MS muốn
hoạt động phải có SIM (Subscriber Identify Mobile) dùng để lưu trữ thông tin của
thuê bao và thông tin của nhà cung cấp
- BTS (Base Transceiver Station):
+ BTS thực hiện chức năng thu và phát tín hiệu với các MS nằm trong vùng
phủ sóng của nó (gọi là tế bào).
+ BTS làm việc thụ động, mọi hoạt động của nó được điều khiển bởi BSC.
- BSC (Base Station Controller):
+ Điều khiển các hoạt động của BTS. Mỗi BSC điều khiển được nhiều BTS.
+ Điều khiển công suất phát cho các MS: tiết kiệm pin và tránh lấn áp tín
hiệu.
+ Cấp phát kênh tần số cho các BTS và MS.
+ Điều khiển nhảy tần số giữa các MS để giảm nhiễu.
+ Điều khiển nhảy tần số giữa các MS để giảm nhiễu.

11
- MSC (Main Switching Center):
+ Thực hiện chức năng chuyển mạch các cuộc gọi giữa các MS.
+ Đây là nơi duy nhất trong hệ thống di động thực hiện chức năng này.
+ Một MSC quản lý được nhiều BSC trong một vùng.
+ Các MSC ở các vùng sẽ đấu nối với nhau để cho phép thực hiện cuộc gọi
liên vùng. Ngoài ra MSC còn nối với mạng PSTN để thực hiện gọi đến điện thoại
cố định.
- EIR (Equipment Identity Register):
+ Chứa thông tin về IMEI của các MS trong phạm vi quản lý của một MSC.
- HLR (Home Location Register):
+ Chứa thông tin về các thuê bao (SIM) đăng ký trong một MSC.
+ Thông tin trong HLR là ổn định, nhưng nó không chứa vị trí hiện tại mà
thuê bao đang hiện hữu.
- VLR (Visiting Location Register):
+ Chứa thông tin của các thuê bao không có trong HLR nhưng tạm thời có
mặt trong vùng quản lý của MSC.
+ Thông tin của thuê bao trong VLR bị xóa khi thuê bao tắt máy.
- AuC (Authentication Center):
+ Chứa các thông tin dùng để chứng thực thuê bao như: quyền được gọi,
quyền được nghe.
- Billing:
+ Thực hiện tính năng tính cước cho các cuộc gọi.
- SMSC (Short Message Service Center):
+ Thực hiện chức năng cung cấp dịch vụ SMS cho các MS.
+ Lưu trữ tạm thời các bản tin SMS.
- OMC (Operation & Maintain Center):
+ Quản lý, khai báo và cho phép SIM hoạt động.
+ Giám sát các phần tử trong hệ thống mạng.

12
1.1.5. Xử lý tín hiệu trong GSM

Hình 1.4 Xử lý tín hiệu trong GSM


- Mã nguồn: số hóa thông tin.
- Nén: giảm kích thước thông tin.
- Mã kênh: mã dùng để phát hiện lỗi và sữa lỗi.
- Ghép xen: phân bố đều lỗi ở tất cả các bit.
- Tổ chức cụm: chia luồng bit thông tin thành từng cụm có kích thước bằng
nhau để truyền.
- Mật mã: nhằm bảo mật thông tin.
- Điều chế: đưa tín hiệu vào một sóng mang để đưa đến anten truyền đi.
1.1.6. Các thủ tục trong hệ thống GSM
- Thủ tục cập nhật vị trí: Là thủ tục để MS báo cho hệ thống biết vị trí hiện
tại của nó. Được thực hiện khi MS chuyển từ tắt máy sang mở máy, khi di chuyển
từ vùng này sang vùng khác, hoặc cập nhật theo chu kỳ thời gian. MSC mà đang
chứa MS sẽ cập nhật thông tin vàoVLR, đồng thời báo về cho MSC mà đang quản
lý MS biết.
- Thủ tục khởi tạo cuộc gọi: Thực hiện khi MS bắt đầu thực hiện cuộc gọi đi.
MSC sẽ xác thực thông tin thuê bao để cho phép MS thực hiện cuộc gọi hay không
- Thủ tục tìm gọi: Thực hiện khi MSC tìm thuê bao bị gọi. MSC có VLR
đang chứa MS bị gọi sẽ xác thực thuê bao MS để cho phép MS nhận cuộc gọi hay
không
- Thủ tục chuyển giao: Thực hiện khi MS di chuyển từ BTS này sang BTS
khác khi đang đàm thoại. Quá trình này do BSC điều khiển nầy 2 BTS cùng BSC,
hoặc do MSC điều khiển nếu hai BTS ở hai BSC khác nhau.

13
1.1.7. Trạm thu phát BTS
1.1.7.1. Khái niệm
BTS là một cơ sở hạ tầng viễn thông được sử dụng nhằm tạo thông tin liên
lạc không dây giữa các thiết bị thuê bao viễn thông và nhà điều hành mạng. Các
thiết bị thuê bao có thể là điện thoại di động, thiết bị internet không dây trong khi
các nhà điều hành mạng có thể là mạng di động GSM, CDMA hay hệ thống TDMA
cơ bản.
• TDMA (Time Division Multiple Access): Phân chia các truy cập theo thời
gian. Đây là công nghệ cho phép 8 máy di động có thể sử dụng chung 1 kênh để
đàm thoại , mỗi máy sẽ sử dụng 1/8 khe thời gian để truyền và nhận thông tin.
• CDMA (Code Division Multiple Access): Phân chia các truy cập theo mã.
Công nghệ CDMA sử dụng mã số cho mỗi cuộc gọi, và nó không sử dụng một kênh
để đàm thoại như công nghệ TDMA mà sử dụng cả một phổ tần (nhiều kênh một
lúc) vì vậy công nghệ này có tốc độ truyền dẫn tín hiệu cao hơn công nghệ TDMA.

Hình 1.5 Trạm BTS


Một BTS điển hình bao gồm: một trạm thu phát (TRX) nhằm xử lý việc
truyền và nhận tín hiệu, gửi và nhận các tín hiệu từ các phần tử mạng cao hơn; một
bộ tổ hợp sẽ kết hợp nguồn cấp dữ liệu từ một số trạm thu phát để được gửi đi thông
qua một ăng-ten duy nhất do đó làm giảm số lượng ăng-ten cần cài đặt; một bộ
khuếch đại công suất giúp khuếch đại tín hiệu từ trạm thu phát để truyền thông tin

14
qua ăng-ten; một bộ song công được sử dụng để tách việc gửi và nhận tín hiệu từ
các ăng-ten hoặc từ một ăng-ten là một phần bên ngoài của BTS.
Các thiết bị BTS thường được đặt trong một nơi trú ẩn để bảo vệ các thiết bị
viễn thông tránh khỏi các tác nhân bên ngoài như bụi, ăn mòn, rỉ sét, trộm cắp, …
Một nhà trạm bao gồm các thiết bị BTS như đã đề cập ở trên, một máy điều
hòa không khí được sử dụng để làm mát không gian trong trạm do nhiệt sinh ra bởi
các thiết bị, một bình điện để cung cấp điện và đèn an ninh cho các thiết bị.
Nhiệt độ của trạm viễn thông trong thời gian hoạt động vượt quá 55°C là một
tình trạng hoạt động tốt cho các thiết bị điện tử BTS. Điều này đòi hỏi sự cần thiết
của máy điều hòa không khí, đặc biệt là tại nơi có khí hậu nhiệt đới để duy trì nhiệt
độ của nhà trạm giữ ở mức 25°C nhằm kéo dài tuổi thọ của thiết bị BTS và pin.
Độ ẩm tương đối cũng là mối quan tâm hàng đầu và nó cần được được duy
trì ở mức dưới 60% để tránh sự ngưng tụ của chất lỏng trên thiết bị. Trong hầu hết
các trường hợp, điều hòa không khí thường thực hiện cả 2 chức năng là làm mát và
hút ẩm nhằm mục đích duy trì độ ẩm chấp nhận được.[2]
1.1.7.2. Cấu tạo
Một trạm BTS bao gồm các thiết bị chính là: tủ nguồn AC, tủ nguồn DC, tủ
BTS, các thiết bị truyền dẫn.[3]
 Tủ nguồn AC

Hình 1.6 Tủ nguồn AC


Chức năng chính là nhận diện điện từ điện lưới hoặc từ máy phát điện (trong
trường hợp mất điện) cấp nguồn xoay chiều cho: đèn và công tắc, máy điều hòa, tủ
nguồn DC…
Những ưu điểm của tủ nguồn AC: tích hợp bộ cắt điện áp cao, chuyển đổi tự
động giữa điện máy nổ và điện lưới, bộ làm chế khi sử dụng điện máy nổ…

15
 Tủ nguồn DC

Hình 1.7 Tủ nguồn DC


Nhận điện áp AC từ tủ nguồn AC, sau đó chỉnh lưu và ổn áp để cấp nguồn
DC (-48V) cho các thiếu bị viễn thông khác trong trạm ( tủ BTS, các thiết bị truyền
dẫn…). Tủ nguồn DC có thiết kế rất đơn giản ( theo các module nên dễ dàng thay
thế và khắc phục sự cố) bao gồm: tủ, acquy, MCU, rectifier.
- Tủ: có các hộc để cắm các Rectifier, MCU và các ngăn để chứa acquy( mỗi
ngăn chứa được 4 acquy, mỗi acquy 12v)
- Rectifier: là một module nhận điện áp xoay chiều từ tủ, chỉnh lưu và ổn áp
thành một chiều.
- MCU: Là một module điều khiển hoặt động của tủ, khi mất điện chuyển
sang dùng nguồn từ acquy, đưa ra các cảnh báo khi hỏng rectifier, mất điện hoặc
cạn nguồn.
Thông thường trong một tủ nguồn DC có ít nhất 2 Rectifier nhằm dự phòng
khi hỏng một Rectifier ( Số lượng rectifier phụ thuộc vào tải mình dùng, mỗi
rectifier chịu dòng tải tối đa khoảng 30A). Khi mất điện, tủ nguồn DC đưa ra cảnh
báo mất điện, tín hiệu này cung cấp cho tủ BTS, tủ BTS sẽ đưa về trung tâm điều
khiển , nhờ vậy mà họ biết trạm nào đang mất điện để triển khai máy phát điện.
Trong thời gian mất điện, tủ nguồn DC sử dụng điện từ acquy, khi điện của
acquy giảm xuống mức quy định thì cảnh báo cạn nguồn được đưa về trung tâm kỹ
thuât. Nếu lúc này không triển khai máy phát điện thì acquy cạn và trạm sẽ không
hoạt động được.

16
 Tủ BTS

Hình 1.8 Tủ BTS


Tủ BTS có nhiều loại như BTS Alcatel, BTS Ericsson, BTS Huawei, mỗi
loại lại có cấu hình khác nhau.
1.1.8. Băng tần
Băng tần là tần số của sóng điện từ dùng để thu phát tín hiệu liên lạc giữa các
thiết bị sử dụng công nghệ không dây. Trên thế giới hiện nay có 4 loại băng tần
được hệ thống GSM sử dụng, đó là:
- 850MHz: mạng GSM 850 thường được sử dụng ở Bắc Mỹ
- 900MHz: mạng GSM 900 thường được sử dụng ở Châu Âu và Châu Á
- 1800MHz: mạng DCS 1800 thường được sử dụng ở Châu Âu và Châu Á
- 1900MHz: mạng PCS 1900 thường được sử dụng ở Bắc Mỹ
Ở đây em sẽ trình bày về 2 loại băng tần phổ biến xuất hiện ở Châu Á là
GSM 900 và GSM 1800.
 GSM 900:[4]

Hình 1.9 GSM 900

17
- Sử dụng ở Châu Âu và Châu Á
- Thu ở dải sóng 935MHz đến 960MHz và phát ở dải sóng 890MHz đến
915MHz
- Khi điện thoại thu từ đài phát trên một tần số nào đó (trong giải 935MHz
đến 960MHz) nó sẽ trừ đi 45MHz để lấy ra tần số phát, khoảng cách giữa tần số thu
và phát là 45MHz.
- Độ rộng kênh tần: 200kHz
- Số kênh tần: 124 kênh
 GSM 1800

Hình 1.10 GSM 1800


- Sử dụng ở Châu Âu và Châu Á
- Thu ở dải sóng 1805MHz đến 1880MHz và phát ở dải sóng 1710MHz đến
1785MHz
- Khi điện thoại dd thu từ đài phát trên một tần số nào đó (trong giải
1805MHz đến 1880MHz) nó sẽ trừ đi 95MHz để lấy ra tần số phát, khoảng cách
giữa tần số thu và phát là 95MHz
- Độ rộng kênh tần: 200kHz
- Số kênh tần: 374 kênh
1.1.9. SIM
SIM là viết tắt của Subscriber Identity Module, là thẻ nhớ thông minh sử
dụng trên điện thoại di động dùng để lưu trữ như: số điện thoại, mã số mạng di
động, số PIN , cung cấp các dịch vụ ứng dụng thêm như dịch vụ phi thoại (SIM
Service), danh bạ và các thông tin cần thiết khác khi sử dụng điện thoại di động.[5]

18
Hình 1.11 SIM
 Đặc điểm chính: SIM Card là một bộ xử lý siêu nhỏ và có bộ nhớ không
bị mất thông tin ngay cả khi mất nguồn cung cấp. Đã được chuẩn hóa về kích thước
và một số chức năng tiêu chuẩn trong mạng GSM, có thể cắm vào máy và rút ra khi
không cần thiết, đồng thời có thể lập trình được để sử dụng với các mục đích khác.
 Cấu tạo:

Hình 1.12 Cấu tạo SIM


Lớp kim loại kết nối:
- Vcc: Nguồn cho chip trên SIM
- RST: Reset
- CLK: Clock
- Vpp: Kết nối với thẻ thông minh
- I/O: Các cổng vào ra Input / Output
 Sơ đồ khối:

19
Hình 1.13 Sơ đồ khối của SIM
- RAM nằm trong khoảng từ 1KB đến 8KB
- EEPROM có kích thước ở vào khoảng 16KB đến 512KB
- Loại ROM điển hình có kích thước khoảng 64KB đến 512KB
 Phân loại: SIM được phân chia làm 3 loại theo kích thước:
- Mini SIM : 15 x 25 mm
- Micro SIM: 15 x 12 mm
- Nano SIM: 12.3 x 8.8 mm
 Các thông tin lưu trữ trong SIM
- Số se-ri: Xác định nhà sản xuất, phiên bản hệ điều hành, số của SIM ...
- Thông tin về trạng thái của SIM: SIM bị chặn hay không bị chặn.
- Mã dịch vụ (cho mạng GSM)
- Các thuật toán nhận thực và bảo mật A3, A8, A5
- Số nhận diện thuê bao di động quốc tế ISMI.
- Số điện thoại di động quốc tế MSISDN
- Các khoá cho quá trinh cá nhân hoá SIM
Ngoài chức năng chính là nhận dạng thuê bao di động (đặc trưng bởi số IMSI
– International Mobile Subscriber Identity), SIM còn chứa các dữ liệu khác của thuê
bao như các mã số PIN, PIN2, PUK, PUK2, số của trung tâm dịch vụ nhắn tin SMS,
danh bạ điện thoại… Các loại SIM đời cũ lưu được 125 số điện thoại, SIM đời mới
cho phép lưu đến 250 số điện thoại, có loại Super SIM lưu được đến 750 số điện
thoại.

20
1.1.10. Điện thoại di động
Điện thoại di động (ĐTDĐ), còn gọi là điện thoại cầm tay, là loại điện thoại
kết nối dựa trên sóng điện từ vào mạng viễn thông. Nhờ có kết nối sóng (kết nối
không dây), ĐTDĐ thực hiện trao đổi thông tin khi đang di chuyển.
Phạm vi di chuyển mà vẫn giữ trao đổi thông suốt phụ thuộc vào vùng phủ
sóng của nhà cung cấp dịch vụ (nhà mạng). Nhà cung cấp dịch vụ lắp đặt mạng lưới
các trạm thu phát, mỗi trạm đảm bảo kết nối trong phạm vi 8 đến 13 km. Chất lượng
sóng phụ thuộc vào thiết bị mạng và phần nào địa hình nơi sử dụng máy chứ ít khi
bị giới hạn về không gian. Vào thế kỷ 20, ĐTDĐ được chế tạo chủ yếu phục vụ liên
lạc lời nói. Ngày nay ĐTDĐ vẫn được chế tạo với kích cỡ bỏ túi, có thêm phần
nghe nhạc, chụp ảnh,...

Hình 1.14 Điện thoại di dộng


Ngày 10 tháng 3 năm 1876 được coi là mốc son đánh dấu sự ra đời của điện
thoại. Cha đẻ của chiếc điện thoại đầu tiên là Alexander Graham Bell. Chiếc máy
thô sơ có thể truyền được giọng nói này đã mở ra một kỷ nguyên phát triển mới
trong lịch sử thông tin liên lạc, thay thế cho điện tín.
Năm 1967, chiếc điện thoại được coi là "di động" đầu tiên trình làng với tên
gọi Carry Phone, rất cồng kềnh cho việc di chuyển vì nó nặng đến 4,5 kg.
Điện thoại di động chính thức ra đời vào ngày 3 tháng 4 năm 1973, mang tên
Motorola Dyna Tac, phát minh bởi nhà sáng chế John F. Mitchell và Martin
Cooper. Motorola Dyna Tac mang hình dáng gần giống điện thoại di động ngày nay
mặc dù vẫn còn khá cồng kềnh (nặng khoảng 1 kg) và không phổ biến. Từ đó đến

21
nay, chiếc điện thoại di động phát triển không ngừng phát triển theo hướng nhỏ gọn
hơn rất nhiều tổ tiên của nó và ngày càng được tích hợp nhiều chức năng hơn chứ
không còn đơn thuần là nghe và gọi.
1.2. Tổng quan về tin nhắn SMS
SMS viết tắt của Short Message Service dịch là dịch vụ tin nhắn ngắn. Là
một giao thức viễn thông cho phép gửi các thông điệp dạng text ngắn (không quá
160 ký tự trên một tin nhắn). Giao thức này có trên hầu hết các điện thoại di động
với 160 kí tự nếu sử dụng như mã hóa kí tự 7 bit hoặc 70 kí tự nếu sử dụng như mã
hóa kí tự 16 bit Unicode UCS2. Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ
khác nhau.
1.2.1. Cấu trúc của một tin nhắn SMS

Hình 1.15 Cấu trúc của một tin nhắn SMS


- Instructions to air interface: Dữ liệu kết nối với giao diện không khí
- Instructions to SMSC: Dữ liệu kết nối với trung tâm tin nhắn SMSC
- Instructions to handset: Dữ liệu kết nối bắt tay
- Instructions to SIM : Dữ liệu kết nối và nhận biết có SIM
- Instructions body: Nội dung tin nhắn SMS
1.2.2. Sự tiện lợi của việc sử dụng SMS
Ưu điểm :
- SMS gửi và đọc tin nhắn bất cứ lúc nào
- SMS có thể gửi khi máy tắt và hệ thống di động sẽ lưu tin nhắn SMS và gửi
lại khi máy người đó bật lại
- SMS hỗ trợ với tất cả thiết bị di động
- SMS chi phí thấp
1.3. Giới thiệu về hệ thống GPS
Hệ thống Định vị Toàn cầu (tiếng anh: Global Positioning System – GPS) là
hệ thống xác định vị trí dựa trên vị trí của các vệ tinh nhân tạo, do Bộ Quốc phòng
Hoa Kỳ thiết kế, xây dựng, vận hành và quản lý. Trong cùng một thời điểm, tọa độ

22
của một điểm trên mặt đất sẽ được xác định nếu xác định được khoảng cách từ điểm
đó đến ít nhất ba vệ tinh.

Hình 1.16 Hệ thống đinh vị toàn cầu


1.3.1. Lịch sử hình thành và phát triển hệ thống GPS

Hình 1.17 Hệ thống GPS


Từ thời xa xưa, con người đã sử dụng thiên văn, la bàn và bản đồ để xác định
vị trí và tìm đường trong các chuyến thám hiểm khai phá các miền đất lạ. Tuy nhiên
phải đến năm 1995, khi các hệ thống vệ tinh định vị toàn cầu GPS của Mỹ và
GLONASS của Nga chính thức đi vào hoạt động, nhu cầu định vị dẫn đường mới
được giải quyết một cách cơ bản.
Ngoài mục tiêu quân sự như ý tưởng thiết kế ban đầu, các hệ thống vệ tinh
định vị đã được ứng dụng rộng rãi và hiệu quả trong nhiều lĩnh vực dân sự. Ngày
nay, công nghệ định vị toàn cầu đã trở thành một ngành công nghiệp có doanh số
hàng chục tỷ USD/năm và đang được phát triển mạnh mẽ.
Quá trình phát triển:

23
- Vệ tinh GPS đầu tiên được phóng năm 1978.
- 26/4/1980: phóng vệ tinh GPS đầu tiên thực hiện những bộ cảm ứng Hệ
thống phát hiện tiếng nổ hạt nhân hoạt động tổng hợp (Integrated Operational
Nucluear Detonation Detection System (IONDS) sensors).
- 14/7/1983: phóng vệ tinh GPS đầu tiên thực hiện hệ thống dò tìm tiếng nổ
hạt nhân (NDS) mới hơn.
- 1990-1991: GPS được các lực lượng liên minh dùng lần đầu tiên trong điều
kiện chiến tranh trong Chiến tranh Vịnh Ba Tư. Sử dụng GPS cho Bão Sa Mạc Hoạt
Động (Operation Desert Storm) chúng minh là cách sử dụng chiến thuật thành công
đầu tiên của công nghệ không gian trong giới hạn thiết trí hoạt động.
* Hoàn chỉnh đầy đủ 24 vệ tinh vào năm 1994.
* Mỗi vệ tinh được làm để hoạt động tối đa là 10 năm.
* Vệ tinh GPS có trọng lượng khoảng 1500 kg và dài khoảng 5m với các tấm
năng lượng Mặt Trời mở rộng 7 m²
* Công suất phát bằng hoặc dưới 50 watts.
- Các nước trong Liên minh châu Âu cũng đang xây dựng Hệ thống định vị
Galileo, có tính năng giống như GPS của Hoa Kỳ.
1.3.2. Cấu trúc, thành phần cấu tạo hệ thống GPS
Hệ thống định vị toàn cầu GPS được cấu tạo thành ba phần:
- Phần không gian – space segment
- Phần điều khiển – control segment
- Phần người sử dụng – use segment

24
Hình 1.18 Cấu tạo hệ thống GPS
a. Phần không gian (space segment)
Phần không gian của GPS bao gồm 24 vệ tinh nhân tạo (được gọi là satellite
vehicle, tính đến thời điểm 1995). Quỹ đạo chuyển động của vệ tinh nhân tạo xung
quanh trái đất là quỹ đạo tròn, 24 vệ tinh nhân tạo chuyển động trong 6 mặt phẳng
quỹ đạo. Mặt phẳng quỹ đạo vệ tinh GPS nghiêng so với mặt phẳng xích đạo một
góc 55 độ.
Từ khi phóng vệ tinh GPS đầu tiên được phóng vào năm 1978, đến nay đã có
bốn thế hệ vệ tinh khác nhau. Thế hệ đầu tiên là vệ tinh Block I, thế hệ thứ hai là
Block II, thế hệ thứ ba là Block IIA và thế hệ gần đây nhất là Block IIR. Thế hệ
cuối của vệ tinh Block IIR được gọi là Block IIR-M. Những vệ tinh thế hệ sau được
trang bị thiết bị hiện đại hơn, có độ tin cậy cao hơn, thời gian hoạt động lâu hơn. Vệ
tinh thế hệ đầu Block I. Vệ tinh đầu tiên của thế hệ mới Block IIR-M1 (mới được
phóng vào tháng 12 năm 2005).

25
Hình 1.19 Vệ tinh NAVSTAR
Một số thông số vệ tinh thế hệ GPS Block I:
Vệ tinh GPS chạy bằng năng lượng mặt trời. Vệ tinh được trang bị pin mặt
trời để chạy cả khi không có năng lượng mặt trời. Mỗi vệ tinh có bộ nâng đỡ loại
tên lửa để duy trì vệ tinh trong quỹ đạo chính xác. Mỗi vệ tinh được xây dựng có
thể tồn tại và hoạt động trong khoảng 10 năm. Việc thay thế và phóng vệ tinh lên
quỹ đạo được duy trì thường xuyên. Một vệ tinh GPS nặng khoảng 2000 pounds
(909 kg) và cao 17 feet (khoảng 5 mét) có bảng nhận năng lượng mặt trời trải rộng.
Năng lượng phát sóng chỉ khoảng 50 watts hoặc nhỏ hơn.
Một số thông số vệ tinh thế hệ GPS IIR-M1 (thế hệ mới)
Vệ tinh thế hệ mới nhất GPS IIR-M1 có khối lượng 1132.75 kg. Vệ tinh GPS
IIR-M1có khả năng thực hiện tín hiệu quân sự mới (M-code trên L1M và L2M) và
tín hiệu dân dụng thứ 2 (L2C). Vệ tinh GPS IIR-M1 trị giá 75 triệu đô la Mỹ đã
được phóng thành công vào 3:36 sáng ngày 26/9/2005
b. Phần điều khiển (control segment)
Phần điều khiển là để duy trì hoạt động của toàn bộ hệ thống GPS cũng như
hiệu chỉnh tín hiệu thông tin của vệ tinh hệ thống GPS. Phần điều khiển có 5 trạm
quan sát có nhiệm vụ như sau
- Giám sát và điều khiển hệ thống vệ tinh liên tục
- Quy định thời gian hệ thống GPS
- Dự đoán dữ liệu lịch thiên văn và hoạt động của đồng hồ trên vệ tinh
- Cập nhật định kỳ thông tin dẫn đường cho từng vệ tinh cụ thể.

26
Có một trạm điều khiển chính (Master Control Station) ở Colorado Springs
bang Colarado của Mỹ và 4 trạm giám sát (monitor stations) và ba trạm ăng ten mặt
đất dùng để cung cấp dữ liệu cho các vệ tinh GPS. Gần đây có thêm một trạm phụ ở
Cape Cañaveral (bang Florida, Mỹ) và một mạng quân sự phụ (NIMA) được sử
dụng để đánh giá đặt tính và dữ liệu thời gian thực.
c. Phần người sử dụng (user segment)
Phần người sử dụng là khu vực có phủ sóng mà người sử dụng dùng ăng ten
và máy thu thu tín hiệu từ vệ tinh và có được thông tin vị trí, thời gian và vận tốc di
chuyển. Để có thể thu được vị trí, ở phần người sử dụng cần có ăng ten và máy thu
GPS (GPS receivers)
1.3.3. Nguyên lý hoạt động và tình hình ứng dụng hệ thống GPS
 Nguyên lý hoạt động của GPS
Các vệ tinh GPS bay vòng quanh Trái Đất hai lần trong một ngày theo một
quỹ đạo rất chính xác và phát tín hiệu có thông tin xuống Trái Đất. Các máy thu
GPS nhận thông tin này và bằng phép tính lượng giác tính được chính xác vị trí của
người dùng. Về bản chất máy thu GPS so sánh thời gian tín hiệu được phát đi từ vệ
tinh với thời gian nhận được chúng. Sai lệch về thời gian cho biết máy thu GPS ở
cách vệ tinh bao xa. Rồi với nhiều quãng cách đo được tới nhiều vệ tinh máy thu có
thể tính được vị trí của người dùng và hiển thị lên bản đồ điện tử của máy.
Máy thu phải nhận được tín hiệu của ít nhất ba vệ tinh để tính ra vị trí hai
chiều (kinh độ và vĩ độ) và để theo dõi được chuyển động. Khi nhận được tín hiệu
của ít nhất 4 vệ tinh thì máy thu có thể tính được vị trí ba chiều (kinh độ, vĩ độ
và độ cao). Một khi vị trí người dùng đã tính được thì máy thu GPS có thể tính các
thông tin khác, như tốc độ, hướng chuyển động, bám sát di chuyển, khoảng hành
trình, quãng cách tới điểm đến, thời gian Mặt Trời mọc, lặn và nhiều thứ khác nữa.
 Ứng dụng hệ thống GPS
- Mục đích sử dụng ban đầu của GPS dùng trong lĩnh vực quân sự (chế tạo ra
các loại tên lửa thông minh), nhưng ngày nay hệ thống GPS ngày càng được ứng
dụng rộng rãi
- Dựa vào tính năng chính xác của GPS để thiết lập các bản đồ, khảo sát các
công trình, tuyến kênh, tuyến đường, xác định vị trí chính xác của các trụ điện,

27
đường dây tải điện, quản lí các tuyến xe… các xe hơi hiện nay đều có xu hướng cài
đặt hệ thống dẫn đường (Navigation)
- Qua đó các thông tin về vị trí, tọa độ củ xe sẽ được hiển thị ngay trên màn
hình, người lái có thể chủ động tìm kiếm và thay đổi lộ trình phù hợp trong thời
gian ngắn nhất. Một ứng dụng nữa của gps chính là việc quản lí thú hoang dã bằng
cách gắn lên chúng những con chip đã tích hợp GPS.
- Ứng dụng phổ biến của GPS được các bạn trẻ quan tâm nhất hiện nay chính
là việc sử dụng các thiết bị tích hợp GPS cho việc du lịch, thám hiểm. Tọa độ và
hướng di chuyển sẽ hiển thị rõ trên màn hình. Trong trường hợp khẩn cấp, người sử
dụng có thể bắn tín hiệu về trung tâm để báo vị trí của mình và chờ giúp đỡ.
1.4. Giới thiệu về OTP (One Time Password)
1.4.1. Khái niệm
Mã OTP là một từ viết tắt của One Time Password. Điều này có ý nghĩa là
mật khẩu sử dụng một lần. Đây là một dãy số, một dãy ký tự hoặc kết hợp cả số và
ký tự chữ được tạo ngẫu nhiên. OTP tránh một số thiếu sót có liên quan đến xác
thực dựa trên mật khẩu (tĩnh) truyền thống, một số triển khai cũng kết hợp xác thực
hai yếu tố bằng cách đảm bảo rằng mật khẩu một lần yêu cầu quyền truy cập vào
một thứ mà một người có (chẳng hạn như một thiết bị khóa nhỏ với máy tính OTP
được tích hợp trong đó, hoặc thẻ thông minh hoặc điện thoại di động cụ thể) như
một cái gì đó mà một người biết (chẳng hạn như mã PIN).
Ưu điểm quan trọng nhất được OTP giải quyết là, trái ngược với mật khẩu
tĩnh, chúng không dễ bị tấn công. Điều này có nghĩa là một kẻ xâm nhập quản lý để
ghi lại một OTP đã được sử dụng để đăng nhập vào dịch vụ hoặc thực hiện giao
dịch sẽ không thể lạm dụng nó, vì nó sẽ không còn hiệu lực.
1.4.2. Cách tạo ra OTP
Các thuật toán tạo OTP thường sử dụng giả ngẫu nhiên hoặc ngẫu nhiên ,
khiến cho việc dự đoán OTP kế tiếp trở nên khó khăn và cũng có thể sử dụng các
hàm băm, có thể được sử dụng để lấy ra một giá trị nhưng khó có thể đảo ngược và
do đó kẻ tấn công khó có được dữ liệu. đã được sử dụng cho hàm băm. Điều này là
cần thiết bởi vì nếu không, sẽ dễ dàng dự đoán các OTP tương lai bằng cách quan

28
sát các OTP trước đó. Các thuật toán OTP cụ thể rất khác nhau trong các chi tiết của
chúng. Các cách tiếp cận khác nhau để tạo OTP được liệt kê dưới đây:
+ Dựa trên đồng bộ hóa thời gian giữa máy chủ xác thực và máy khách cung
cấp mật khẩu (OTP chỉ có hiệu lực trong một khoảng thời gian ngắn)
+ Sử dụng thuật toán toán học để tạo mật khẩu mới dựa trên mật khẩu trước
đó (OTP thực sự là một chuỗi và phải được sử dụng theo thứ tự được xác định
trước).
+ Sử dụng thuật toán toán học trong đó mật khẩu mới dựa trên một thách
thức (ví dụ: số ngẫu nhiên được chọn bởi máy chủ xác thực hoặc chi tiết giao dịch)
hoặc bộ đếm.
Cũng có nhiều cách khác nhau để làm cho người dùng biết về OTP tiếp theo
sẽ sử dụng. Một số hệ thống sử dụng mã thông báo bảo mật điện tử đặc biệt mà
người dùng mang theo và tạo OTP và hiển thị chúng bằng màn hình nhỏ. Các hệ
thống khác bao gồm phần mềm chạy trên điện thoại di động của người dùng. Tuy
nhiên, các hệ thống khác tạo OTP ở phía máy chủ và gửi chúng cho người dùng
bằng cách sử dụng kênh ngoài băng tần như nhắn tin SMS.
 Đồng bộ hóa thời gian
Một OTP được đồng bộ hóa thời gian thường liên quan đến một phần cứng
được gọi là mã thông báo bảo mật, ví dụ: mỗi người dùng được cấp một mã thông
báo cá nhân tạo mật khẩu một lần. Mã được hiển thị lên màn hình LCD và thỉnh
thoảng thay đổi. Bên trong mã thông báo là một đồng hồ chính xác đã được đồng bộ
hóa với đồng hồ trên máy chủ xác thực độc quyền. Trên các hệ thống OTP này, thời
gian là một phần quan trọng của thuật toán mật khẩu, vì việc tạo mật khẩu mới dựa
trên thời gian hiện tại thay vì, hoặc ngoài mật khẩu trước đó hoặc khóa bí mật . Mã
thông báo này có thể là một thiết bị độc quyền hoặc điện thoại di động hoặc thiết bị
di động tương tự chạy phần mềm là độc quyền, phần mềm miễn phí hoặc nguồn mở.
Một ví dụ về tiêu chuẩn OTP được đồng bộ hóa thời gian là Thuật toán mật khẩu
một lần dựa trên thời gian (TOTP).

29
 Thuật toán toán học
Mỗi OTP mới có thể được tạo từ các OTP trước đây được sử dụng. Một ví
dụ về loại thuật toán này, được ghi có vào Leslie Lamport , sử dụng hàm một chiều
(gọi nó là f ). Hệ thống mật khẩu một lần này hoạt động như sau:
- Một giá trị bắt đầu s được chọn.
- Hàm băm f (s) được áp dụng lặp đi lặp lại (ví dụ 1000 lần) cho hạt giống,
cho giá trị là: f(f(f(...f(s)...))). Giá trị này, mà chúng ta sẽ gọi f1000(s) được lưu trữ
trên hệ thống đích.
- Đăng nhập đầu tiên của người dùng sử dụng mật khẩu p có được bằng cách
áp dụng f 999 lần cho hạt giống, nghĩa là, f999( s ). Hệ thống đích có thể xác thực
rằng đây là mật khẩu chính xác, vì f (p) là f1000(s), là giá trị được lưu trữ. Giá trị
được lưu trữ sau đó được thay thế bằng p và người dùng được phép đăng nhập.
- Lần đăng nhập tiếp theo, phải kèm theo f998(s). Một lần nữa, điều này có thể
được xác nhận bởi vì băm nó cho f999(s) là p, giá trị được lưu trữ sau lần đăng nhập
trước. Một lần nữa, giá trị mới thay thế p và người dùng được xác thực.
- Điều này có thể được lặp lại 997 lần nữa, mỗi lần mật khẩu sẽ được áp dụng
ít hơn một lần và được xác thực bằng cách kiểm tra xem khi băm, nó sẽ cho giá trị
được lưu trong lần đăng nhập trước. Các hàm băm được thiết kế cực kỳ khó đảo
ngược, do đó kẻ tấn công sẽ cần biết các hạt giống ban đầu để tính mật khẩu có thể,
trong khi hệ thống máy tính có thể xác nhận mật khẩu trong bất kỳ trường hợp cụ
thể nào là hợp lệ bằng cách kiểm tra xem, khi băm, nó đưa ra giá trị được sử dụng
trước đây để đăng nhập. Nếu muốn có một loạt mật khẩu không xác định, giá trị hạt
giống mới có thể được chọn sau khi bộ cho s hết.
Để có được mật khẩu tiếp theo trong chuỗi từ các mật khẩu trước đó, người
ta cần tìm cách tính hàm nghịch đảo f1 . Vì f được chọn là một chiều, điều này cực
kỳ khó thực hiện. Nếu f là một hàm băm mật mã , thường là trường hợp này, thì nó
(cho đến nay được biết) là một nhiệm vụ không thể tính toán được. Kẻ xâm nhập
tình cờ nhìn thấy mật khẩu một lần có thể có quyền truy cập trong một khoảng thời
gian hoặc đăng nhập, nhưng nó sẽ trở nên vô dụng khi thời hạn đó hết hạn. Hệ
thống mật khẩu một lần S/KEY và OTP phái sinh của nó dựa trên sơ đồ của
Lamport.

30
Trong một số sơ đồ thuật toán toán học, người dùng có thể cung cấp cho máy
chủ một khóa tĩnh để sử dụng làm khóa mã hóa, chỉ bằng cách gửi mật khẩu một
lần. Việc sử dụng mật khẩu một lần thử thách đáp ứng yêu cầu người dùng cung cấp
phản hồi cho thử thách. Ví dụ: điều này có thể được thực hiện bằng cách nhập giá
trị mà mã thông báo đã tạo vào chính mã thông báo. Để tránh trùng lặp, một bộ đếm
bổ sung thường được tham gia, vì vậy nếu một lần xảy ra cùng một thách thức hai
lần, điều này vẫn dẫn đến các mật khẩu một lần khác nhau. Tuy nhiên, việc tính
toán thường không liên quan đến mật khẩu một lần trước đó; nghĩa là, thông thường
thuật toán này hoặc thuật toán khác được sử dụng, thay vì sử dụng cả hai thuật toán.
Các phương thức phân phối OTP dựa trên mã thông báo có thể sử dụng một
trong hai loại thuật toán này thay vì đồng bộ hóa thời gian.
1.4.3. Phương thức phân phối OTP
 Điện thoại
Một công nghệ phổ biến được sử dụng để phân phối OTP là nhắn tin văn
bản. Vì nhắn tin văn bản là kênh liên lạc phổ biến, có sẵn trực tiếp trong hầu hết các
thiết bị cầm tay và thông qua chuyển đổi văn bản thành giọng nói cho bất kỳ điện
thoại di động hoặc điện thoại cố định nào, nhắn tin văn bản có tiềm năng lớn để tiếp
cận tất cả người tiêu dùng với tổng chi phí thấp triển khai thực hiện. Tuy nhiên, chi
phí nhắn tin văn bản cho mỗi OTP có thể không được chấp nhận đối với một số
người dùng. OTP qua tin nhắn văn bản có thể được mã hóa bằng tiêu chuẩn A5/x.
Ngoài ra, các lỗi bảo mật trong giao thức định tuyến SS7 có thể và đã được sử dụng
để chuyển hướng các tin nhắn văn bản liên quan đến kẻ tấn công; trong năm 2017,
một số khách hàng của O2 tại Đức đã bị vi phạm theo cách này để có quyền truy
cập vào tài khoản ngân hàng di động của họ. Vào tháng 7 năm 2016, NIST Hoa Kỳ
đã ban hành một bản thảo của một ấn phẩm đặc biệt với hướng dẫn về thực hành
xác thực, không khuyến khích sử dụng SMS như một phương thức thực hiện xác
thực hai yếu tố ngoài băng, do khả năng SMS bị chặn ở quy mô.
Trên điện thoại thông minh, mật khẩu một lần cũng có thể được gửi trực tiếp
qua các ứng dụng di động, bao gồm các ứng dụng xác thực chuyên dụng như Authy,
Duo và Google Authenticator hoặc trong ứng dụng hiện có của dịch vụ, như trong
trường hợp của Steam. Các hệ thống này không chia sẻ các lỗ hổng bảo mật giống

31
như SMS và không nhất thiết phải có kết nối với mạng di động để sử dụng, vì
chúng không dựa trên internet.
 Mã thông báo độc quyền
SecurID của RSA Security là một ví dụ về loại mã thông báo đồng bộ hóa
thời gian, cùng với các giải pháp của HID Global. Giống như tất cả các mã thông
báo, chúng có thể bị mất, bị hư hỏng hoặc bị đánh cắp; ngoài ra, có một sự bất tiện
khi pin chết, đặc biệt là đối với các mã thông báo không có thiết bị sạc hoặc với pin
không thể thay thế. Một biến thể của mã thông báo độc quyền đã được RSA đề xuất
vào năm 2006 và được mô tả là "xác thực có mặt khắp nơi", trong đó RSA sẽ hợp
tác với các nhà sản xuất để thêm chip SecurID vật lý vào các thiết bị như điện thoại
di động.
Gần đây, có thể lấy các thành phần điện tử được liên kết với mã thông báo
OTP keyfob thông thường và nhúng chúng vào một yếu tố hình thức thẻ tín dụng.
Tuy nhiên, độ mỏng của thẻ, dày 0,79mm đến 0,84mm, ngăn không cho các thành
phần tiêu chuẩn hoặc pin được sử dụng. Pin dựa trên polymer đặc biệt phải được sử
dụng có tuổi thọ pin thấp hơn nhiều so với pin (nút). Các thành phần bán dẫn không
chỉ phải rất phẳng mà còn phải giảm thiểu công suất sử dụng ở chế độ chờ và khi
vận hành.
Yubico cung cấp mã thông báo USB nhỏ với chip nhúng tạo OTP khi nhấn
phím và mô phỏng bàn phím để dễ dàng nhập mật khẩu dài. Vì là thiết bị USB nên
nó tránh được sự bất tiện khi thay pin.
Một phiên bản mới của công nghệ này đã được phát triển để nhúng bàn phím
vào thẻ thanh toán có kích thước và độ dày tiêu chuẩn. Thẻ có bàn phím nhúng,
màn hình hiển thị, bộ vi xử lý và chip lân cận.

Hình 1.20 Mã thông báo bảo mật RSA SecurID

32
 Phương pháp dựa trên web
Các nhà cung cấp dịch vụ xác thực cung cấp các phương thức dựa trên web
khác nhau để cung cấp mật khẩu một lần mà không cần mã thông báo. Một phương
pháp như vậy phụ thuộc vào khả năng của người dùng để nhận ra các danh mục
được chọn trước từ lưới hình ảnh được tạo ngẫu nhiên. Khi đăng ký lần đầu trên
một trang web, người dùng chọn một số loại bí mật; chẳng hạn như chó, xe hơi,
thuyền và hoa. Mỗi lần người dùng đăng nhập vào trang web, họ sẽ thấy một lưới
ký tự picalphanumeric được tạo ngẫu nhiên trên đó. Người dùng tìm kiếm các hình
ảnh phù hợp với các danh mục đã chọn trước của họ và nhập các ký tự chữ và số
được liên kết để tạo thành mã truy cập một lần.

33
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1. Đặc tả hệ thống
2.1.1. Đặc tả hệ thống
Trên thị trường hiện nay các hệ thống do nước ngoài sản xuất có giá thành
rất cao, có mức đầu tư lớn, giá thành thiết bị cao và phức tạp do đó không phù hợp
các nhu cầu ở Việt Nam. Bằng cách sử dụng module sim, module gps kết hợp với vi
điều khiển giúp cho việc thiết kế, hoàn thiện sản phẩm trở nên dễ dàng, tiết kiệm chi
phí hơn rất nhiều.
2.1.2. Yêu cầu
- Nghiên cứu và thiết kế tủ chứa tài liệu quan trọng có tính năng bảo mật cao.
- Bảo vệ tài sản và tài liệu cá nhân.
- Linh hoạt, tiện lợi và an toàn trong quá trình sử dụng.
- Khi tủ có dấu hiệu bị tác động với một lực đủ đạt đến ngưỡng đã đặt ra thì
hệ thống phát ra âm thanh báo động đồng thời gửi tin nhắn /cuộc goi cảnh báo cho
người dùng.
- Khi nhập mã sai 3 lần thì loa sẽ kêu đồng thời gửi tin nhắn cảnh báo cho
người dùng
- Sử dụng định vị GPS để biết được vị trí hiện tại của két sắt.
- Khi muốn mở két sắt ta phải nhập mật khẩu từ trên bàn phím, mật khẩu này
được hệ thống gửi cho chủ nhân thông qua tin nhắn SMS.
- Mật khẩu chỉ tồn tại trong một thời gian nhất định và không lặp lại.
- Mỗi khi két sắt mở/đóng thì sẽ thông báo cho người dung qua SMS.

34
2.2. Sơ đồ khối hệ thống

Hình 2.1 Sơ đồ khối hệ thống


- Khối nguồn: có chức năng cung cấp nguồn điện cho tất các các khối trong
hệ thống
- Khối GSM: kết nối hệ thống thông tin di động toàn cầu, thu phát tín hiệu
sóng vô tuyến ở bằng tần 900 MHZ/1800MHZ.
- Khối GPS: kết nối hệ thống vệ tinh toàn cầu, thu thập tín hiệu gửi về khối
xử lý trung tâm
- Khối xử lý trung tâm: có chức năng thu nhận tín hiệu từ khối GSM, khối
GPS truyền về. Sau đó làm nhiệm vụ phân tích và gửi các tín hiệu điều khiển đến
khối chấp hành, khối hiển thị hoặc gửi lại đến khối GSM.
- Khối cảnh báo: phát hiện sự tác động xấu lên hệ thống, gửi tín hiệu điều
khiển về khối xử lý trung tâm.
- Khối bàn phím: nhập dữ liệu từ bàn phím gửi đến khối xử lý trung tâm.
- Khối chấp hành: tiếp nhận thông tin từ khối xử lý trung tâm, thực hiện chấp
hành theo tín hiệu điều khiển từ khối xử lý trung tâm.
- Khối hiển thị: hiển thị mã OTP.

35
2.3. Phân tích hệ thống
2.3.1. Khối xử lý trung tâm
Board Arduino Uno R3
a) Cấu trúc chung

Hình 2.2 Board Arduino Uno R3


Arduino Uno là một bo mạch vi điều khiển dựa trên chip Atmega328p - AU.
Có 14 chân vào ra bằng tín hiệu số, trong đó có 6 chân có thể sử dụng để điều chế
đô rộng xung (PWM). Có 6 chân đầu vào tín hiệu tương tự cho phép chúng ta kết
nối với các bộ cảm biến bên ngoài để thu thập số liệu, sử dụng một dao động thạch
anh tần số dao động 16MHz. Trên board còn có 1 nút reset, 1 ngõ kết nối với máy
tính qua cổng USB và 1 ngõ cấp nguồn sử dụng jack 2.1mm lấy năng lượng trực
tiếp từ AC-DC adapter hay thông qua ắc-quy nguồn.

Hình 2.3 Sơ đồ nguyên lý Arduino Uno R3


b) Năng lượng
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp
nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường

36
thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ
cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino
UNO.
Các chân năng lượng:
- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn
dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được
nối với nhau.
- 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
- 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
- Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực
dương của nguồn với chân này và cực âm của nguồn với chân GND.
- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được
đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn
5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
- RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương
với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
c) Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
- 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ
nhớ Flash của vi điều khiển.
- 2KB cho SRAM: giá trị các biến khai báo khi lập trình sẽ lưu ở đây. Khai
báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Khi mất điện, dữ liệu trên
SRAM sẽ bị mất.
- 1KB cho EEPROM: đây giống như một chiếc ổ cứng mini – nơi bạn có thể
đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống
như dữ liệu trên SRAM.

37
Hình 2.4 Sơ đồ chân của Arduino Uno R3
d) Thông số kỹ thuật
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ
có 2 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. Ở mỗi
chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển
ATmega328 (mặc định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận
(receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác
thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối
Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân
này nếu không cần thiết
- Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với
độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm
analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân
này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các
chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức
SPI với các thiết bị khác.

38
- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm
nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13.
Khi chân này được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu
10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF
trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog.
Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog
để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit. Đặc biệt,
Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các
thiết bị khác.
2.3.2. Khối nguồn

Hình 2.5 Khối nguồn


Khối nguồn bao gồm:
- 3 pin cell 3.7VDC
- Mạch giảm áp DC LM2596 3A:

39
Hình 2.6 Module LM2596
Điện áp đầu vào: Từ 3V đến 30V.
Điện áp đầu ra: Điều chỉnh được trong khoảng 1.5V đến 30V.
Dòng đáp ứng tối đa là 3A.
Hiệu suất : 92%
Công suất : 15W
Kích thước: 45 (dài) * 20 (rộng) * 14 (cao) mm
- Mạch sạc pin cell:

Hình 2.7 Mạch sạc pin cell 18650


Mạch sạc bảo vệ nối tiếp 3 cell 18650 có chức năng sạc và bảo vệ 3 cell pin
mắc nối tiếp. Ngoài ra mạch còn có chức năng tự ngắt khi sạc đầy, bảo vệ ngắn
mạch, quá áp hoặc dưới áp.
Thông số kỹ thuật:
Điện áp sử dụng: 12.6-13V
Điện áp khi sạc đầy mỗi cell: 4.25-4.35V ±0.05V
Điện áp ngắt khi pin yếu mỗi cell: 2.3-3.0V ±0.05V
Dòng điện khi sạc: 5A-6A
Dòng điện khi nghĩ: <30uA
Nhiệt độ hoạt động: -40~+50°C
Có chế độ ngắt mạch để bảo vệ.

40
Hình 2.8 Cách đấu dây
- 1 jack nguồn cái: Lõi 2.1mm, Đầu cắm nguồn cái DC-005 đường kính lỗ
5.5mm
- Module hạ áp 3.3V

Hình 2.9 Module hạ áp 3.3V


 Đầu vào: DC 4.5V - 7V (điện áp đầu vào phải cao hơn điện áp đầu ra để
1V ở trên.)
 Đầu ra: 3.3V, 800mA (tải trọng hiện tại không thể vượt quá 800mA)
 thiết kế 3 kép phẳng, bố trí, đẹp;
 Được thiết kế đặc biệt 2 pin sửa chữa lỗ, nó có thể được cố định trực tiếp
tới tấm đường hầm để kéo dài thử nghiệm;
 Đầu vào và đầu ra sử dụng 2P pin hàng duy nhất cho kết nối dễ dàng,
 PCB board kích thước:. 2.5cm * 1.1cm
 Đèn chỉ báo nguồn (màu đỏ)
 1 tablet trọng lượng khoảng: 1.6g
- 1 công tắc
Để nạp nguồn cho hệ thống thì ta cần sử dụng một adapter 12,6VDC – 2A:

41
Hình 2.10 Adapter 12,6VDC – 2A
Điện áp đầu vào: 110v ~ 245V
Điện áp đầu ra: 12.6V
Dòng sạc: 2A
Jack đầu ra: 5,5 * 2,5mm
Chế độ sạc: dòng điện không đổi và điện áp không đổi
Chức năng sạc: bảo vệ ngắn mạch, bảo vệ quá dòng, bảo vệ quá điện áp,
bảo vệ quá nhiệt, tự dừng hoàn toàn
2.3.3. Khối GSM
2.3.3.1. Giới thiệu về module SIM900a mini
Sim900a mini là một module GSM/GPRS cực kỳ nhỏ gọn, được thiết kế cho
thị trường toàn cầu. Module hoạt động được ở 4 băng tần GSM 850MHz, EGSM
900MHz, DCS 1800MHz và PCS 1900MHz như là một loại thiết bị đầu cuối với
một chip xử lý đơn nhân đầy sức mạnh, tăng cường các tính năng quan trọng dựa
trên nền vi xử lý ARM926EJ-S, mang lại nhiều lợi ích từ kích thước nhỏ gọn
(24x24 mm), đáp ứng những yêu cầu về không gian trong các ứng dụng M2M.
Giống như một điện thoại di động GSM , module GSM yêu cầu 1 thẻ sim với
một mạng wireless để hoạt động.

42
Hình 2.11 Module SIM900a mini
Thông số kỹ thuật:
- Nguồn cung cấp: 5 – 12VDC
- Băng tần: EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz
- Phù hợp với GSM pha 2/2+
- Kết nối GPRS: có nhiều rãnh loại 8 (lựa chọn), có nhiều rãnh loại 10 (tự
động)
- Giới hạn nhiêt độ:
+ Bình thường: -90˚C tới +70˚C
+ Hạn chế : - 35˚C tới -90˚C và +70˚C tới +80˚C
+ Nhiệt độ bảo quản: -45˚C tới +85˚C
- Dữ liệu GPRS:
+ GPRS dữ liệu tải xuống: Max 85.6 kbps
+ GPRS dữ liệu tải lên: Max 42.8 kbps
+ Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4
+ Sim900 hổ trợ giao thức PAP, kiểu sử dụng kết nối PPP
+ Sim900 tích hợp giao thức TCP/IP
+ Chấp nhận thông tin được điều chỉnh rộng rãi
- CSD:
+ Tốc độ truyền dẫn CSD: 2; 4; 8; 9; 6; 14 KPPS
+ Hỗ trợ USSD
- SMS:

43
+ MT, MO, CB, Text and PDU mode
+ Bộ nhớ SMS: Sim, card
+ FAX: Nhóm 3 loại 1
+ Sim card: Hỗ trợ sim card: 1,8v; 3v
- Anten ngoài: Kết nối thông qua anten ngoài 500km hoặc đế anten
- Âm thanh:
+ Dạng mã hòa âm thanh
+ Mức chế độ (ETS 06.20)
+ Toàn bộ chế độ (ETS 06.10)
+ Toàn bộ chế độ tăng cường (ETS 06.50/ 06.06/ 06.80)
+ Loại bỏ tiếng dội
- Giao tiếp nối tiếp và sự ghép nối:
+ Cổng nối tiếp: 7 Cổng nối tiếp (ghép nối)
+ Cổng kết nối có thể sử dụng với CSD Fax, GPRS và gửi lệnh
ATCommand tới mudule điều khiển
+ Hỗ trợ tốc độ truyền 1200 BPS tới 115200 BPS
+ Cổng hiệu chỉnh lỗi: 2 cổng nối tiếp TXD và RXD
+ Cổng hiệu chỉnh lỗi chỉ sử dụng sửa lỗi
- Quản lý danh sách: Hỗ trợ mẫu danh sách: SM, FD, LD, RC, ON, MC
- Times function: Lập trình thông qua AT Command.
2.3.3.2. Giới thiệu về tập lệnh AT
Tập lệnh AT (Attention) là các hướng dẫn được sử dụng để điều khiển một
modem. Mỗi dòng lệnh của nó bắt đầu với “AT” hay “at”. Đó là lý do tại sao các
lệnh điều khiển modem được gọi là các lệnh AT. Với các lệnh AT mở rộng này,
chúng ta có thể thực hiện một số thao tác sau:
- Đọc, viết, xóa tin nhắn.
- Gửi tin nhắn SMS.
- Kiểm tra chiều dài tín hiệu.
Số lượng tin nhắn SMS có thể được thực thi bởi một modem SMS trên một
phút thì rất thấp, nó chỉ khoảng từ 6 đến 10 tin nhắn SMS trên 1 phút. Trong khuôn
khổ của đề tài em chỉ tìm hiểu 1 số tập lệnh cơ bản phục vụ cho công việc của mình.

44
Sau đây em xin giới thiệu 1 số tập lệnh cơ bản để thao tác dùng cho dịch vụ SMS,
bao gồm:
- Nhận cuộc gọi.
- Thiết lập cuộc gọi.
- Nhận tin nhắn.
- Gửi tin nhắn.
 Các thuật ngữ
<CR>: Carriage Return (Mã ASCII 0x0D).
<LF>: Line Feed (Mã ASCII 0x0A).
MT : Mobile Terminal – Thiết bị đầu cuối mạng.
TE : Terminal Equipment – Thiết bị đầu cuối.
 Một số lệnh AT thường dùng
Các lệnh chung:
- AT<CR><LF>: Kiểm tra đáp ứng của Module Sim 900A, nếu trả về OK thì
Module hoạt động.
- AT+IPR = [baud rate]<CR><LF>: cài đặt tốc độ giao tiếp dữ liệu, chỉ cài
được các tốc độ sau: 0 (auto), 1200, 2400, 4800, 9600, 19200, 38400, 57600,
115200.
- AT&W<CR><LF>: lưu lại các lệnh đã cài đặt.
Các lệnh điều khiển cuộc gọi:
- AT+CLIP=1<CR><LF>: Hiển thị thông tin cuộc gọi đến
- ATD[Số_điện_thoại]<CR><LF>: Lệnh thực hiện cuộc gọi
- ATH<CR><LF>: Lệnh thực hiện kết thúc cuộc gọi , hoặc cúp máy khi có
cuộc gọi đến
- ATA<CR><LF>: Lệnh thực hiện chấp nhận khi có cuộc gọi đến

Các lệnh điều khiển tin nhắn:


- AT+CMGF=1<CR><LF>: Lệnh đưa SMS về chế độ Text , phải có lệnh
này mới gửi nhận tin nhắn dạng Text

45
- AT+CMGS=”Số_điện _thoại”<CR><LF>: Lệnh gửi tin nhắn. Đợi đến khi
có ký tự ‘>’ được gửi về thì đánh nối dung tin nhắn, gửi mã Ctrl+Z hay 0x1A để kết
thúc nội dung và gửi tin nhắn.
- AT+CMGR=x<CR><LF>: Đọc một nhắn vừa gửi đến, lệnh được trả về nội
dung tin nhắn, thông tin người gửi, thời gian gửi với x là địa chỉ tin nhắn cần đọc.
- AT+CMGDA="DEL ALL"<CR><LF>: Xóa toàn bộ tin nhắn trong các hộp
thư.
- AT+CNMI=2,2<CR><LF>: Hiển thị nội dung tin nhắn ngay khi có tin
nhắn đến.[7]
2.3.4. Khối GPS

Hình 2.12 Module GPS Neo-6M


Module NEO-6M GPS là module định vị toàn cầu sử dụng hệ thống vệ tinh
GPS của Mỹ. Module GPS NEO-6M cho tốc độ xác định vị trí nhanh và chính xác,
có nhiều mức năng lượng hoạt động, phù hợp với các ứng dụng chạy pin.
Đặc điểm kĩ thuật:
Nguồn hoạt động: 3.3-5.5V (Nên sử dụng ở mức 3.3V)
Dòng hoạt động bình thường: 50 mA
Dòng hoạt động ở trạng thái tiết kiệm: 30 mA
Giao tiếp UART/TTL (Để sử dụng giao tiếp UART bạn có thể sử dụng
module UART TTL CP2102)
Baud rate: Gồm nhiều mức khác nhau 1200, 2400, 4800, 19200, 38400,
9600 (mặc định), 57600, 115200,…
Kích cỡ module : 39*25.5mm

46
Các chân:
VCC: 3.3V - 5.5V
GND: Ground
TX: Pin truyền dữ liệu
RX: Pin nhận dữ liệu
2.3.5. Khối bàn phím

Hình 2.13 Bàn phím ma trận 3x4


Module bàn phím ma trận 3x4 loại phím mềm.
Độ dài cáp: 88mm.
Nhiệt độ hoạt động 0 ~ 700C
Đầu nối ra 7 chân.
Kích thước bàn phím 76.9 x 69.2 mm
2.3.6. Khối cảnh báo

Hình 2.14 Module cảm biến rung SW-420


Điện áp: 3,3 – 5V
Dòng tiêu thụ: 15mA
Biến trở điều chỉnh ngưỡng so sánh

47
Kích thước: 32x14mm
Chân sử dụng: VCC (3,3 – 5V), GND, DO (tín hiệu).
2.3.7. Khối chấp hành
a) Động cơ Servo SG90

Hình 2.15 Động cơ Servo SG90


Động cơ RC Servo 9G là động phổ biến dùng trong các mô hình điều khiển
nhỏ và đơn giản như cánh tay robot. Động cơ có tốc độ phản ứng nhanh, được tích
hợp sẵn driver điều khiển động cơ, dễ dàng điều khiển góc quay bằng phương pháp
điều độ rộng xung PWM.
Đặc điểm:
Kích thước: 23mmX12.2mmX29mm
Trọng lượng: 9 gram
Điện áp hoạt động: 4.2-6V
Nhiệt độ: 0 – 550C
Tốc độ: 0.3 giây / 60 độ
b) Còi chip

Hình 2.16 Còi chip


Điện áp hoạt động: 3.5V – 5.5V
Dòng hoạt động: <25mA
Tần số âm thanh: 2500Hz

48
2.3.8. Khối hiển thị
a) LCD text 1602
LCD text 1602 một sản phẩm quen thuộc với những người mới học và muốn
thực hiện các dự án về điện tử, lập trình. Với khả hiển thị 2 dòng với mỗi dòng 16
ký tự, đồng thời có rất nhiều ví dụ mẫu được cộng đồng Arduino xây dựng sẵn sẽ
giúp người mới sử dụng làm quen nhanh hơn cũng như tiết kiệm được thời gian
trong việc phát triển ứng dụng của mình.
Thông số kỹ thuật
Điện áp hoạt động: 5V
Kích thước: 80 x 36 x 12.5 mm
Chữ trắng, nền xanh
Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với
Breadboard
Đèn led nền có thể dùng biến trở hoặc PWM điều chình độ sáng thích hợp
Có thể được điều khiển với 6 dây tín hiệu

Hình 2.17 LCD text 1602


VSS: cực âm nguồn cho LCD - GND: 0V
VDD: cực dương nguồn LCD - 5V
Constrast Voltage (Vo): điều khiển độ sáng màn hình
Register Select (RS): lựa chọn thanh ghi
- RS=0 chọn thanh ghi lệnh

49
- RS=1 chọn thanh ghi dữ liệu
Read/Write (R/W)
- R/W=0 ghi dữ liệu
- R/W=1 đọc dữ liệu.
Enable: Cho phép ghi vào LCD
D0 - D7: 8 chân trao đổi dữ liệu với các vi điều khiển, với 2 chế độ sử dụng
- Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
- Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB
là DB7.
Backlight (Backlight Anode (+) và Backlight Cathode (-)): Tắt bật đèn màn
hình LCD.
b) Module PCF8574 – mạch chuyển đổi I2C

Hình 2.18 Module PCF8574


LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm dụng
nhiều chân của vi điều khiển? Module chuyển đổi I2C cho LCD sẽ giải quyết vấn
đề này, thay vì sử dụng tối thiểu 6 chân của vi điều khiển để kết nối với LCD (RS,
EN, D7, D6, D5 và D4) thì với module chuyển đổi chỉ cần sử dụng 2 chân (SCL,
SDA) để kết nối. Module chuyển đổi I2C hỗ trợ các loại LCD sử dụng driver
HD44780(LCD 1602, LCD 2004, … ), kết nối với vi điều khiển thông qua giao tiếp
I2C, tương thích với hầu hết các vi điều khiển hiện nay.

Ưu điểm:
- Tiết kiệm chân cho vi điều khiển
- Dễ dàng kết nối với LCD

50
Thông số kĩ thuật:
- Điện áp hoạt động: 2.5-6V DC
- Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780)
- Giao tiếp: I2C
- Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân
A0/A1/A2)
- Kích thước: 41.5mm(L)x19mm(W)x15.3mm(H)
- Trọng lượng: 5g
- Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt
- Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD
2.3.9. Thiết kế phần cứng
 Giới thiệu chung về phần mềm mô phỏng Proteus
Phần mềm Proteus là phần mềm cho phép mô phỏng hoạt động của mạch
điện tử bao gồm phần mềm thiết kế mạch và viết chương trình điều khiển cho các
họ vi điều khiển như MCS–51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch
điện từ của lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông
dụng, đặc biệt hỗ trợ cho các MCU như PIC, 8051, AVR.
Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng mạch và
ARES dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại vi điều khiển
khá tốt, nó hỗ trợ các dòng vi điều khiển PIC, 8051, AVR, … các giao tiếp I2C,
SPI, CAN, USB,… ngoài ra còn mô phỏng các mạch số, mạch tương tự một cách
hiệu quả.

51
Hình 2.19 Phần mềm mô phỏng Proteus
 Sơ đồ nguyên lý:

Hình 2.20 Sơ đồ nguyên lý hệ thống

52
Nguồn 5V cấp cho toàn hệ thống. Bộ thu phát GSM kết nối với bộ xử lý
trung tâm thông qua truyền thông UART tại 2 chân D2, D3. Các chân D10, D11
dùng để thu thập tín hiệu từ module GPS. Các chân D4, D5, D6, D7, D8, D12, D13
dùng để kết nối với bàn phím 3x4. Các chân tương tự A4, A5 nối với 2 chân SDA
và SCL của module PCF8574. Chân D9 dùng để điều khiển động cơ servo, chân A2
điều khiển còi chip, chân A3 nối với module cảm biến rung SW-420.
Mã OTP sẽ được bộ xử lý trung tâm gửi đến điện thoại thông qua module
sim, khi đó người dùng muốn mở được tủ phải nhập đúng mã OTP nhận được. Mã
OTP chỉ tồn tại trong khoảng thời gian nhất định. Nếu nhập sai quá 3 lần thì còi sẽ
kêu lên và module sim sẽ gửi tin nhắn cảnh báo đến người dùng. Module cảm biến
rung sẽ phát hiện ngoại lực tác động lên tủ, nếu đủ lớn còi sẽ kêu, bộ xử lý trung
tâm gửi tin nhắn cảnh báo đến cho người dùng thông qua module sim. Mỗi khi
servo thay đổi trạng thái (tức tủ đóng/mở) thì cũng gửi tin nhắn đến cho người
dùng. Module GPS phát hiện vị trí hiện tại của hệ thống.

Hình 2.21 Mạch nguyên lý mạch pin 3.3V

53
 Sơ đồ mạch in

Hình 2.22 Sơ đồ mạch in hệ thống


 Sơ đồ 3D hệ thống

Hình 2.23 Sơ đồ 3D hệ thống

54
2.3.10. Xây dựng phần mềm
 Lựa chọn môi trường lập trình [7]
Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất
hiện nay là Windows, Macintosh OSX và Linux. Do có tính chất nguồn mở nên môi
trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có
kinh nghiệm.

Hình 2.24 Giao diện phần mềm lập trình trên nền tảng Arduino
 Arduino Toolbar có một số Button và chức năng của chúng như sau:

Hình 2.25 Arduino Toolbar

55
 Cấu trúc chương trình, câu lệnh
Một chương trình Arduino gồm 2 phần chính gồm:
void setup() { // Khởi tạo hoặc thiết lập chức năng}
void loop() {// Chương trình chính xử lý}
Một số câu lệnh thường dùng:
- Vào ra số: pinMode(pin, mode), digitalWrite(pin,value), digitalRead(pin).
- Vào ra tương tự: analogWrite(pin,value), analogRead(pin).
Trong đó pin là số chân muốn sử dụng; mode là các chế độ INPUT hoặc
OUTPUT; value đối với vào ra số có 2 mức là HIGH hoặc LOW, còn đối với vào ra
tương tự thì nó nằm trong khoảng từ 0 – 255.
- Truyền thông nối tiếp: Serial.begin(y)//cấu hình cổng nối tiếp có tốc độ đọc
dữ liệu là y. Serial.print(x)//in x lên trên Serial Moniter của máy tính.
Lưu đồ thuật toán chương trình:

 Chương trình chính:

Hình 2.26 Lưu đồ thuật toán chương trình chính

56
 Chương trình phát hiện ngoại lực

Hình 2.27 Lưu đồ thuật toán chương trình phát hiện ngoại lực
 Chương trình thu thập tọa độ

Hình 2.28 Lưu đồ chương trình thu thập tọa độ

57
CHƯƠNG III: KẾT QUẢ THỰC NGHIỆM CỦA HỆ THỐNG
3.1. Hình ảnh thực tế của hệ thống

Hình 3.1 Hình ảnh tủ


3.2. Hình ảnh thực nghiệm của hệ thống

Hình 3.2 Hình ảnh OTP

58
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Việc thực hiện thành công đề tài “Thiết kế hệ thống safe deposit box” đã cơ
bản giải quyết những vấn đề đặt ra. Ý tưởng về một hệ thống bảo mật có thể được
tương tác từ xa mà không bị giới hạn bởi khoảng cách và được giám sát bới chiếc
điện thoại. Việc áp dụng công nghệ mạng di động GSM góp phần giải quyết những
hạn chế cơ bản hiện nay trong đo lường, điều khiển giám sát không dây như giới
hạn về khoảng cách hay thao tác phức tạp, cài đặt kết nối khó khăn. Ở bất cứ nơi
đâu có phủ sóng mạng di động, người dùng chỉ với chiếc điện thoại có chức năng cơ
bản là có thể giám sát được trạng thái hoạt động của tủ. Chi phí duy trì thiết bị rất
thấp, khoảng cách sử dụng không giới hạn, hiệu suất hoạt động cao. Chi phí đầu tư
hệ thống thấp giúp tăng khả năng thương mại hoá và phát triển hệ thống.
Bên cạnh những lợi ích đáng kể, hệ thống còn tồn tại một số hạn chế về độ
trễ khi đo lường hay điều khiển qua mạng di động, đồng thời khi mạng di động bị
nghẽn thì độ trễ tăng lên cao gây ảnh hưởng đến thời gian tương tác hệ thống. Trong
thời gian tới, em tập trung vào khắc phục những hạn chế đã nêu bằng cách cải thiện
vật liệu thiết kế tủ, kết hợp công nghệ internet, tiếp tục cuộc cách mạng công nghiệp
4.0 và giải quyết các bài toán cụ thể do khách hàng đặt ra.

59
TÀI LIỆU THAM KHẢO
[1] http://www.athlsolutions.com/web/ho-tro/kien-thuc-co-ban/gsm-la-gi-tim-hieu-
ve-gsm
[2] https://www.linkedin.com/pulse/hi%E1%BB%83u-ngay-c%E1%BA%A5u-t
%E1%BA%A1o-chi-ti%E1%BA%BFt-c%E1%BB%A7a-1-tr%E1%BA%A1m-bts-
trong-5-ph%C3%BAt-thanh-h
[3] https://www.linkedin.com/pulse/p2-c%E1%BA%A5u-t%E1%BA%A1o-chi-ti
%E1%BA%BFt-c%E1%BB%A7a-tr%E1%BA%A1m-bts-hi%E1%BB%83u-ngay-
sau-5p-thanh-h
[4] http://tamthien.byethost7.com/noi_dung/DTDD/ch-1/ch-1.htm
[5] https://simthanglong.vn/bai-viet/1975/cau-tao-sim-dien-thoai-di-dong.html
[6] http://mlab.vn/bai-viet-ki-thuat/huong-dan-su-dung-module-gsm-gps-gprs/
huong-dan-su-dung-module-sim900.html
[7] http://arduino.vn/bai-viet/68-cai-dat-driver-va-arduino-ide

60
PHỤ LỤC
#include <SoftwareSerial.h>
#include <Servo.h>
#include <Keypad.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "sha1.h"
#include "TOTP.h"
#include "swRTC.h"
#define SERVO_PIN 9
#include <TinyGPS.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);


SoftwareSerial ss(11, 10); //RX = 11, TX = 10
SoftwareSerial sim(2, 3);

TinyGPS gps;
int loa = A2;
int vibr_Pin = A3;
uint8_t hmacKey[] = {0x4d, 0x79, 0x4c, 0x65, 0x67, 0x6f, 0x44, 0x6f, 0x6f,
0x72};

TOTP totp = TOTP(hmacKey, 10, 20);


swRTC rtc;
char code[7];
char a[1];
char b[1];
char c[1];
char d[1];
char e[1];
char f[1];

61
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};

byte rowPins[ROWS] = { 13, 12, 8, 7 };


byte colPins[COLS] = { 6, 5, 4 };

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);


Servo myservo;
char str[5] = {' ', ' ', ' ', ' ', ' '};
int i = 0;
int j = 0;
int count = 0;
void setup() {

Serial.begin(9600);
sim.begin(19200);
ss.begin(9600);

pinMode(loa, OUTPUT);
digitalWrite(loa, LOW);
pinMode(vibr_Pin, INPUT);
myservo.attach(SERVO_PIN);
myservo.write(0);

62
rtc.stopRTC();
rtc.setDate(06, 06, 2019);
rtc.setTime(16, 31, 00);
rtc.startRTC();

lcd.begin();
lcd.backlight();
lcd.clear();
lcd.print(" Enter OTP: ");
}
void loop() {
/////////// GPS ////////////
bool newData = false;
unsigned long chars;
unsigned short sentences, failed;

// For one second we parse GPS data and report some key values
for (unsigned long start = millis(); millis() - start < 1000;)
{
while (ss.available())
{
char c = ss.read();
// Serial.write(c); // uncomment this line if you want to see the GPS data flowing
if (gps.encode(c)) // Did a new valid sentence come in?
newData = true;
}
}

if (newData)

63
{
float flat, flon;
unsigned long age;
gps.f_get_position(&flat, &flon, &age);
Serial.print("LAT=");
Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
Serial.print(" LON=");
Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
Serial.print(" SAT=");
Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 :
gps.satellites());
Serial.print(" PREC=");
Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
}

gps.stats(&chars, &sentences, &failed);


Serial.print(" CHARS=");
Serial.print(chars);
Serial.print(" SENTENCES=");
Serial.print(sentences);
Serial.print(" CSUM ERR=");
Serial.println(failed);
if (chars == 0)
Serial.println("** No characters received from GPS: check wiring **");
long measurement =TP_init();
delay(50);
if (measurement > 20000){
digitalWrite(loa, HIGH);
delay(5000);
digitalWrite(loa, LOW);
}

64
////////// Ban phim ///////////
char key = keypad.getKey(); // Ký tự nhập vào sẽ gán cho biến Key
if (key) // Nhập mật khẩu
{
if (i == 0) {
str[0] = key;
lcd.setCursor(3, 1);
lcd.print(str[0]);
// delay(1000); // Ký tự hiển thị trên màn hình LCD trong 1s
// lcd.setCursor(6, 1);
// lcd.print("*"); // Ký tự được che bởi dấu *
}
if (i == 1) {
str[1] = key;
lcd.setCursor(4, 1);
lcd.print(str[1]);
// delay(1000);
// lcd.setCursor(7, 1);
// lcd.print("*");
}
if (i == 2) {
str[2] = key;
lcd.setCursor(5, 1);
lcd.print(str[2]);
// delay(1000);
// lcd.setCursor(8, 1);
// lcd.print("*");
}
if (i == 3) {
str[3] = key;
lcd.setCursor(6, 1);

65
lcd.print(str[3]);
// delay(1000);
// lcd.setCursor(9, 1);
// lcd.print("*");
}
if (i == 4) {
str[4] = key;
lcd.setCursor(7, 1);
lcd.print(str[4]);
// delay(1000);
// lcd.setCursor(10, 1);
// lcd.print("*");
}
if (i == 5) {
str[5] = key;
lcd.setCursor(8, 1);
lcd.print(str[5]);
// delay(1000);
// lcd.setCursor(11, 1);
// lcd.print("*");
count = 1;
}
i = i + 1;
}
/////////// OTP /////////////
long GMT = rtc.getTimestamp();
char* newCode = totp.getCode(GMT);
if (strcmp(code, newCode) != 0) {
strcpy(code, newCode);
Serial.println(code);
switch (key) {

66
case '#':

sim.print("AT+CMGF=1\r");
delay(1000);
sim.println("AT+CMGS=\"+84336532296\"");
delay(1000);
sim.println(code);
delay(100);
sim.println((char)26);
delay(100);
sim.println();
delay(1000);
lcd.setCursor(0, 1);
lcd.print(" Message sent ");
delay(3000);
lcd.clear();
lcd.print(" Enter OTP: ");
break;
case '*':
lcd.clear();
delay(1000);
lcd.print(" Enter OTP: ");
break;}

strncpy(a, code + 0, 1);


a[1] = '\0';
strncpy(b, code + 1, 1);
b[1] = '\0';
strncpy(c, code + 2, 1);
c[1] = '\0';

67
strncpy(d, code + 3, 1);
d[1] = '\0';
strncpy(e, code + 4, 1);
e[1] = '\0';
strncpy(f, code + 5, 1);
f[1] = '\0';

if (count == 1) {
if (str[0] == a[1] && str[1] == b[1] && str[2] == c[1] && str[3] == d[1] &&
str[4] == e[1] && str[5] == f[1]) {
lcd.clear();
lcd.print(" Correct!");
delay(3000);
myservo.write(70); // Mở cửa
i = 0;
count = 0;
}
}}}

long TP_init(){
delay(10);
long measurement=pulseIn (vibr_Pin, HIGH); //wait for the pin to get HIGH and
returns measurement
return measurement;
}

68
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
Thái Nguyên, ngày tháng năm 2019
GIÁO VIÊN HƯỚNG DẪN

ĐÀO TÔ HIỆU

69

You might also like