Tải bản đầy đủ (.docx) (83 trang)

Thiết lập cấu hình phần cứng từ xa cho các hệ thống giám sát và điều khiển

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

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ

LUẬN VĂN TỐT NGHIỆP

THIẾT LẬP CẤU HÌNH PHẦN CỨNG TỪ XA
CHO CÁC HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN
Sinh viên thực hiện:

Cán bộ hướng dẫn:
TS.Trần Nhựt Khải Hồn

Lớp: Kỹ thuật điện tử, truyền thơng A1 K42

Cần Thơ, Tháng 01 /2021.


TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ

LUẬN VĂN TỐT NGHIỆP

THIẾT LẬP CẤU HÌNH PHẦN CỨNG TỪ XA
CHO CÁC HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN
Sinh viên thực hiện:

Cán bộ hướng dẫn:
TS.Trần Nhựt Khải Hoàn

Thành viên Hội đồng:
TS. Trần Nhựt Khải Hoàn


TS. GVCC. Lương Vinh Quốc Danh
TS. GVC. Trương Phong Tuyên


Luận văn tốt nghiệp

CBHD: TS. Trần Nhựt Khải Hoàn

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG
CHẤP THUẬN CỦA HỘI ĐỒNG
Luận văn này, với đề tài là “Thiết lập cấu hình phần cứng từ xa cho các hệ thống
giám sát và điều khiển”, do sinh viên Huỳnh Văn Biên và Nguyễn Nhật Linh thực
hiện theo sự hướng dẫn của giảng viên TS. Trần Nhựt Khải Hoàn. Luận văn đã báo
cáo và được hội đồng chấm luận văn thông qua ngày 12 tháng 01 năm 2021
Kết quả đánh giá:

Chữ ký của các thành viên Hội đồng:
Giảng viên phản biện 1

Giảng viên hướng dẫn

TS. GVCC Lương Vinh Quốc Danh

TS.Trần Nhựt Khải Hoàn

Giảng viên phản biện 2

TS. GVC Trương Phong Tuyên


Trang i i i


LỜI CẢM ƠN
Đầu tiên, chúng em xin gửi lời cảm ơn đến Ban giám hiệu trường Đại học Cần
Thơ vì trong suốt quá trình học chúng em đã nhận được sự hỗ trợ, quan tâm, tạo
mọi điều kiện thuận lợi về mặt học tập, trao dồi kiến thức cho bản thân cũng như
trong sinh hoạt, vui chơi, giải trí về mặt tinh thần. Bên cạnh đó chúng em rất cảm
ơn Khoa Cơng Nghệ nói chung và các thầy cơ giảng viên thuộc Bộ mơn Điện Tử
Viễn Thơng đã nhiệt tình chỉ dạy, truyền đạt nhiều kiến thức, bài học cho chúng em
trong suốt quá trình học tập, tạo mọi điều kiện tốt nhất để chúng em có cơ hội học
tập, nghiên cứu, tiếp cận với những kiến thức mới, cũng như trong các hoạt động
sinh hoạt tại trường. Với những kiến thức mà các thầy, cô đã truyền dạy và những
kinh nghiệm trong q trình thực nghiệm, nghiên cứu có được khi học tập tại
trường, chúng em sẽ có được một hành trang vững chắc để bước vào đời, lập thân,
lập nghiệp, đóng góp sức mình vào cơng cuộc xây dựng quê hương, đất nước.
Đặc biệt, chúng em muốn gửi lời cảm ơn đến cán bộ hướng dẫn của chúng em
là thầy Trần Nhựt Khải Hoàn – Giảng viên bộ môn Điện tử viễn thông, Khoa Công
Nghệ, Trường Đại học Cần Thơ vì sự hướng dẫn nhiệt tình của thầy dành cho chúng
em để có được những định hướng, giải pháp khắc phục những vấn đề phát sinh
trong suốt thời gian nghiên cứu và thực hiện đề tài, những đóng góp ý kiến và chỉ
dạy của thầy là những yếu rất quan trọng và then chốt để chúng em có thể hoàn
thiện được đề tài.
Cuối cùng, chúng em xin bày tỏ lịng biết ơn đến với gia đình, bạn bè đã luôn
bên cạnh tin tưởng và ủng hộ chúng em để vượt qua khó khăn mà hồn thành đề tài.
Cảm ơn mọi người đã ln ln quan tâm và khích lệ tinh thần để nhóm có một
nghị lực cao, ý chí quyết tâm, một tinh thần thép để thực hiện và hoàn thành đề tài.
Chúng em xin chân thành cảm ơn!
Cần Thơ, ngày 12 tháng 01 năm 2021

Sinh viên thực hiện


LỜI CAM ĐOAN
Đề tài “Thiết lập cấu hình phần cứng từ xa cho các hệ thống giám sát và điều
khiển”, được thực hiện bởi hai sinh viên Huỳnh Văn Biên và Nguyễn Nhật Linh,
cùng là sinh viên ngành Kỹ thuật điện tử, truyền thơng khóa 42, Khoa Cơng Nghệ,
Trường Đại Học Cần Thơ.
Trong quá trình thực hiện đề tài, tuy sản phẩm cịn nhiều thiếu sót do kiến thức
hạn chế, nhưng những nội dung trình bày trong quyển báo cáo này là những hiểu
biết, tìm kiếm, học hỏi và thành quả của chúng em đạt được dưới sự hướng dẫn tận
tình của thầy Trần Nhựt Khải Hồn, cũng như sự giúp đỡ của các thầy cô trong bộ
môn Điện Tử Viễn Thông.
Chúng em xin cam đoan rằng: những nội dung trình bày trong quyển báo cáo
luận văn tốt nghiệp này không phải là bản sao chép từ bất kỳ công trình nào trước
đó. Nếu khơng đúng sự thật, chúng em xin chịu mọi trách nhiệm trước nhà trường.
Cần Thơ, ngày 12 tháng 01 năm 2021
Sinh viên thực hiện


MỤC LỤC

CHƯƠNG 1: TỔNG QUAN..................................................................................................1
1.1. Đặt vấn đề....................................................................................................................1
1.2. Lịch sử giải quyết vấn đề............................................................................................ 1
1.3. Mục tiêu đề tài.............................................................................................................2
1.4. Phương pháp thực hiện................................................................................................3
1.5. Bố cục bài báo cáo.......................................................................................................3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...................................................................................... 4
2.1. Chuẩn giao tiếp LoRa..................................................................................................4

2.2. Giới thiệu về Google Sheets (Trang tính)................................................................... 4
2.3. Giao thức HTTP – HTTPS..........................................................................................5
2.4. Giới thiệu về JSON..................................................................................................... 6
2.5. Giới thiệu về GSX2JSON - Dịch vụ Google Spreadsheet sang JSON API...............6
2.5.1. API – WEB API................................................................................................... 6
2.5.2. Giới thiệu về GSX2JSON................................................................................... 6
2.6. Module Arduino Mega 2560 R3................................................................................. 7
2.7. MSP430G2553............................................................................................................8
2.8. Mạch Thu Phát RF UART LoRa SX1278 433Mhz 3000m........................................ 9
2.9. Kit RF thu phát wifi ESP8266 NodeMCU Lua CP2102...........................................10
2.10. Các loại cảm biến được sử dụng............................................................................. 11
2.10.1. Module Cảm biến nhiệt độ - độ ẩm DHT11.......................................................11
2.10.2. Cảm Biến Vật Cản Hồng Ngoại IR Infrared Obstacle Avoidance..................... 12
2.10.3. Cảm Biến Siêu Âm Ultrasonic US-015............................................................. 12
2.10.4. Cảm Biến Nhiệt Độ LM35.................................................................................13
2.10.5. Mạch RFID NFC 13.56Mhz RC522.................................................................. 14
2.10.6. Mạch Đọc Thẻ RFID 125Khz Giao Tiếp UART RDM6300............................. 15
2.10.7. Màn Hình Oled 0.96 Inch Giao Tiếp I2C...........................................................15
CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG............................................................................. 17
3.1. Tổng quan hệ thống...................................................................................................17
3.2. Khối xử lí trung tâm – Master Node......................................................................... 18
3.2.1. Sơ đồ khối tổng quan......................................................................................... 18
3.2.2. Các thao tác trên Khối Button............................................................................19
3.2.3. Sơ đồ ngun lí.................................................................................................. 20
3.2.4. Khối Master hồn chỉnh.....................................................................................20
3.3. Các khối nút cảm biến – Slave..................................................................................22
3.3.1. Sơ đồ khối tổng quan......................................................................................... 22
3.3.2. Vi xử lí trung tâm............................................................................................... 23



3.3.3. Thiết kế chi tiết các Port.....................................................................................23
3.3.4. Sơ đồ nguyên lí.................................................................................................. 26
3.3.5. Khối Slave hồn chỉnh....................................................................................... 26
3.4. Chi tiết hoạt động của các Port................................................................................. 28
CHƯƠNG 4: THIẾT KẾ PHẦN MỀM............................................................................... 30
4.1. Giải thuật chạy trên bộ xử lí trung tâm..................................................................... 30
4.1.1. Chức năng.......................................................................................................... 30
4.1.2. Bố trí vùng nhớ...................................................................................................31
4.1.3. Bảng mã lệnh và chú thích................................................................................. 31
4.1.4. Lưu đồ chương trình và chi tiết hoạt động.........................................................33
4.1.5. Chương trình con nhận lệnh cài đặt từ ESP gửi về............................................ 35
4.1.6. Website điều khiển – Google Sheets (Gsheet)................................................... 36
4.1.7. Lưu đồ giải thuật cho khối điều khiển các Slave trên MENU (Interrupt)..........38
4.2. Giải thuật trên các nút cảm biến và điều khiển (Slave).............................................40
4.2.1. Chức năng...........................................................................................................40
4.2.2. Bố trí vùng nhớ cho Slave..................................................................................40
4.2.3. Bảng mã lệnh và chú thích.................................................................................41
4.2.4. Lưu đồ chương trình và chi tiết hoạt động.........................................................42
4.2.5. Các chương trình con của Slave khi nhận lệnh..................................................43
4.2.6. Vì sao cần xây dựng thư viện chuẩn giao tiếp UART........................................45
4.2.7. Cơ sở lý thuyết chuẩn giao tiếp UART.............................................................. 45
4.2.8. Xây dựng chân truyền TX.................................................................................. 47
4.2.9. Xây dựng chân nhận RX.................................................................................... 49
4.3. Mơ hình truyền nhận giữa Slave – Master................................................................50
4.4. Chi tiết tiến trình truyền dữ liệu - cách thức xử lý khung dữ liệu.............................51
CHƯƠNG 5: HƯỚNG DẪN SỬ DỤNG............................................................................ 58
5.1. Thiết lập điều khiển tại Master..................................................................................58
5.1.1. Thiết lập điều khiển bằng Menu ở Master......................................................... 58
5.1.2. Thiết lập điều khiển bằng Google Sheets...........................................................61
5.2. Thiết lập cảm biến tại từng nút Slave........................................................................64

5.3. Kết quả hiển thị trên Google Sheets..........................................................................65
CHƯƠNG 6: KẾT LUẬN VÀ KIẾN NGHỊ....................................................................... 68
6.1. Kết luận..................................................................................................................... 68
6.2. Kiến nghị...................................................................................................................69
TÀI LIỆU THAM KHẢO....................................................................................................70


KÝ HIỆU VÀ VIẾT TẮT
SPI

Serial Peripheral Interface

ADC

Analog-to-digital converter

UART

Universal Asynchronous Receiver/Transmitter

I2C

Inter-Integrated Circuit

MCU

Micro Controller Unit

TTL


Transistor-Transistor Logic

AT

Attention Command

RF

Radio Frequency

CSS

Chirp Spread Spectrum

WOR

Wake On Radio

ID

Identification

PWM

Pulse-Width Modulation

RFID

Radio Frequency Identification


NFC

Near-Field Communications

GPIO

General-purpose input/output

HTTP

Hypertext Transfer Protocol

HTTPS

Hypertext Transfer Protocol Secure

TCP

Transmission Control Protocol

IP

Internet Protocol

API

Application Programming Interface

HTML


Hyper Text Markup Language

SRAM

Static Random Access Memory

EPPROM

Electrically Erasable Programmable Read-Only Memory

Wi-Fi

Wireless Fidelity

JSON

JavaScript Object Notation

BSC

Block Sum Check


TÓM TẮT
Nội dung nghiên cứu của đề tài “Thiết lập cấu hình phần cứng từ xa cho các
hệ thống giám sát và điều khiển” bao gồm một trạm xử lý trung tâm (Master) giao
tiếp không dây với các nút cảm biến (Slave) bằng công nghệ LoRa. Tại các Slave,
các cổng giao tiếp (Port) để gắn các cảm biến được thiết kế đa năng sao cho mỗi
Port có khả năng tương thích với nhiều chuẩn giao tiếp khác nhau như: Analog,
Digital, I2C, ADC, UART, SPI. Xây dựng các thư viện cho từng loại cảm biến

tương ứng với các chuẩn giao tiếp. Các cảm biến sẽ được gắn vào các Port của mỗi
Slave, các dữ liệu cảm biến sẽ được thu thập và cập nhật định kì lên Google Sheets
qua kết nối Wifi – Internet với Master. Tất cả các công việc của hệ thống như: gắn
hay thay đổi cảm biến mới, xóa Slave, xóa Port,... sẽ được điều khiển qua Menu nút
nhấn hoặc Google Sheets bằng cách thiết lập lại trạng thái của hệ thống cho mỗi
Slave tương ứng mà không cần nạp lại chương trình cho cả hệ thống. Đặc biệt,
ngoài việc sử dụng các chuẩn giao tiếp đã được xây dựng sẵn trên chip xử lí, chúng
em đã tự xây dựng thư viện mới cho chuẩn giao tiếp UART trên chân chân GPIO
của chip xử lí.
Từ khóa: hệ thống giám sát và điều khiển, cấu hình phần cứng từ xa, LoRa.

Abstract
The research content of topic “Setting up remote hardware configuration for
monitoring and control systems” includes a central processing unit (Master)
communicating wirelessly with some Slave nodes (Slave) via LoRa technogogy. At
the Slave, the communication ports (Port) to attach sensors are designed to be
versatile so that each Port is compatible with many different communication
standards such as Analog, Digital, I2C, ADC, UART, SPI. Build labraries for each
type of sensor corresponding to communication standards. The sensors will be
attached to Port of each Slave, the sensor data will be collected and periodcally
updated to Google Sheets over Wifi – Internet. All system operation such as
attaching or changing new sensors, deleteing Slave, deleteing Port,... will be
controlled via Menu buttons or Google Sheets by resetting the system state for each
Slave corresponding without reloading the program for the system. In particular, in
addition to using the built communication standards on the processor chip, we have
built a new library for UART on GPIO pin of the prcessor chip.
Key words: monitoring and control system, hardware configuration, LoRa.


LỜI MỞ ĐẦU

Ngày nay, với nhịp độ phát triển ngày càng nhanh chóng của khoa học, kỹ thuật,
cơng nghệ; nhiều tiến bộ khoa học, kỹ thuật, công nghệ đã được áp dụng vào thực
tiễn, từ đó chất lượng cuộc sống của con người ngày càng được nâng cao, đất nước
ngày càng phát triển. Các khối ngành Điện tử nói chung hay ngành Kỹ thuật điện tử,
truyền thơng nói riêng là ngành có đóng góp đặc biệt quan trọng, đóng vai trò nền
tảng cho sự phát triển bền vững của nước ta trong thời kỳ đối mới, xu thế hội nhập
quốc tế hiện nay để hướng tới trở thành một nước cơng nghiệp hóa, hiện đại hóa.
Ngành Kỹ thuật điện tử, truyền thông là ngành sử dụng các công nghệ, kỹ
thuật tiên tiến để tạo ra các thiêt bị điện tử hữu ích cho việc xây dựng hệ thống
thơng tin liên lạc, trao đổi thông tin nhằm đáp ứng nhu cầu ngày càng cao trong đời
sống sinh hoạt thường nhật, cũng như trong lao động sản xuất, phát triển và bảo vệ
đất nước trong giai đoạn hiện nay.
Trong suốt thời gian theo học ngành Kỹ thuật điện tử, truyền thông thuộc
Khoa Công nghệ, trường Đại học Cần Thơ, với sự hướng dẫn, chỉ dạy tận tình của
các thầy cơ chúng em đã tích lũy cho bản thân được nhiều kiến thức, kinh nghiệm
trong học tập tập lý thuyết, cũng như thực hành. Với những kiến thức, kinh nghiệm
có được cùng với sự hướng dẫn tận tâm của thầy Trần Nhựt Khải Hoàn đã giúp
chúng em thực hiện và hoàn thành đề tài “Thiết lập cấu hình phần cứng từ xa cho
các hệ thống giám sát và điều khiển”.
Do kiến thức còn hạn chế và chưa có nhiều kinh nghiệm trong thực hiện, nên
có thể dẫn tới đề tài cịn nhiều thiếu xót, nhưng đó là tất cả kiến thức, sự cố gắng
trong học tập và nghiên cứu của chúng em, chúng em rất mong nhận được sự đóng
góp ý kiến từ thầy cơ để đề tài được hồn thiện hơn.


Luận văn tốt nghiệp

CBHD: TS. Trần Nhựt Khải Hoàn

CHƯƠNG 1: TỔNG QUAN

1.1. Đặt vấn đề
Hiện nay, có rất nhiều thiết bị thông minh đã được ứng dụng vào thực tiễn sản
xuất, nuôi trồng nhằm thay thế cho các hoạt động thủ cơng, chân tay. Tiêu biểu có
thể kể như: hệ thống giám sát và quản lí các thơng số mơi trường của nhà kín, hệ
thống tưới nước tự động, hệ thống phân loại độ chín của trái cây, hệ thống kiểm sốt
nhiệt độ lị ấp trứng, máy sấy trái cây, máy làm giá đỗ tự động,... Tuy nhiên các hệ
thống hiện tại chỉ đáp ứng được cho từng nhu cầu riêng rẽ khác nhau, mà chưa thỏa
mãn được cùng một lúc nhiều yêu cầu, khi chuyển mục đích sử dụng thì cần có sự
thay đổi về cấu trúc phần cứng hoặc cập nhật phần mềm, từ đó dẫn đến sự thiếu linh
hoạt, bất tiện cho các hệ thống đã được thiết lập, cụ thể như sau:
-

Tại các nút điều khiển (Slave): các cổng giao tiếp (Port) thường được lập
trình cố định đề giao tiếp với một loại cảm biến, khi có sự cập nhật thay đổi
một cảm biến khác, chuẩn giao tiếp khác thì cần phải nạp lại chương trình,
hoặc thay đổi một số chi tiết phần cứng

-

Tại nút xử lí trung tâm (Master): từ sự thay đổi ở các nút điều khiển (Slave),
Master cũng phải có sự thay đổi để tương thích với tồn thể thống bằng cách
nạp lại chương trình, hoặc thay đổi một số chi tiết phần cứng.

-

Hơn thế nữa, các loại cảm biến sẽ được nâng cấp và cải tiến để có thể thu
thập được các thông số từ môi trường nhiều hơn, mà việc hệ thống muốn cập
nhật một cảm biến biến mới nào đó, hoặc một chuẩn giao tiếp mới thì cần
xây dựng lại hệ thống thì sẽ rất tốn kém, chưa được xem là giải pháp tối ưu.


Yêu cầu đặt ra là cần một hệ thống với tính tự động cao, thu thập được nhiều dữ
liệu cảm biến cùng lúc. Đặc biệt, khi chuyển mục đích sử dụng hay thay đổi cảm
biển mới mà khơng cần nạp lại chương trình cho tồn hệ thống.
Từ thực trạng và yêu cầu đặt ra cho việc xây dựng các hệ thống giám sát, điều
khiển, quản lí dữ liệu hiện nay trong sản xuất nông nghiệp, chúng em đã thực hiện
đề tài “Thiết lập cấu hình phần cứng từ xa cho các hệ thống giám sát và điều khiển”.
1.2. Lịch sử giải quyết vấn đề
Đã có nhiều đề tài nghiên cứu khoa học, luận văn tốt nghiệp trong và ngoài
trường được thực hiện như: hệ thống giám sát và quản lí các thơng số mơi trường
của nhà kín, hệ thống tưới nước tự động, hệ thống phân loại độ chín của trái cây, hệ
thống kiểm sốt nhiệt độ lò ấp trứng, máy sấy trái cây, máy làm giá đỗ tự động,... Tuy
nhiên, vẫn tồn tại nhiều hạn chế đã được nêu ra ở trên.
Gần đây nhất là đề tài luận văn tốt nghiệp “Hệ thống giám sát và điều khiển
thiết bị không dây” của chị Nguyễn Huỳnh Mẫn Nhi và anh Trần Tuấn Kha đã xây
Trang 1 1


dựng được hệ thống hoàn chỉnh trên các kit Arduino. Đề tài đã thu thập được các
thông số từ cảm biến để cập nhật lên Google Sheets và điều khiển các thiết bị ngoại
vi. Tuy nhiên, các cảm biến được đọc từ các thư viện có sẵn trong Arduino, sử dụng
các thư viện chuẩn giao tiếp được xây dựng sẵn hồn tồn trên các chân của chip vi
xử lí, hệ thống cập nhật từ Google Sheet tốc độ còn chậm, cịn lỗi.
Từ những hạn chế trước đó, chúng em sẽ xây dựng đề tài của chúng em bằng
cách tự xây dựng thư viện cho các cảm biến hoàn toàn, xây dựng thư viện mới cho
các chuẩn giao tiếp trên các chân GPIO của chip xử lí, cải thiện tốt độ cập nhật và
xử lí lỗi cho hệ thống. Một sự khác biệt quan trọng nữa là chúng em xây dựng hệ
thống dựa trên sự kết hợp giữa chip Arduino (Master) và chip MSP430G2553 (các
Slave) giao tiếp không dây với nhau qua chuẩn giao tiếp LoRa.
1.3. Mục tiêu đề tài
Trong đề tài này, chúng em sẽ tập trung giải quyết các vấn đề trọng tâm sau:

-

Xây dựng được hệ thống gồm một nút xử lí trung tâm (Master) và ba nút
điều khiển (Slave).

-

Thiết kế các cổng giao tiếp với cảm biến (PORT) tại các Slave có khả năng
tương thích với nhiều chuẩn giao tiếp để có thể gắn được nhiều loại cảm biến
khác nhau. Khi gắn hay thay cảm biến mới, chuẩn giao tiếp thì hệ thống vẫn
hoạt động bình thường, khơng cần nạp lại chương trình hay thay đổi phần cứng
hệ thống.

-

Tự xây dựng thư viện cho nhiều loại cảm biến khác nhau.

-

Ngoài việc sử dụng các chuẩn giao tiếp đã được xây dựng sẵn trên chip xử lí,
cần xây dựng thêm các chuẩn giao tiếp trên các chân GPIO.

-

Dữ liệu sẽ được cập nhật theo chu kì từ các Slave đến Master và đưa lên
Google Sheets.

-

Việc thiết lập thiết bị tại các Port thì hồn tồn có thể cài đặt trên Google

Sheets dễ dàng, thuận tiện, không cần nạp chương trình lại cho Master.
Người dùng chỉ cần nhập các thông tin cài đặt trên Google Sheets điều khiển.

-

Các Slave sẽ được Master tự cập nhật (xóa Slave khơng dùng, cấp địa chỉ
cho Slave vừa tìm được).

 Giới hạn đề tài: Vì vấn đề thời gian và kinh phí, nhóm đã quyết định giới
hạn đề tài như sau:
- Hệ thống gồm 1 Master có khả năng thiết lập cấu hình và điều khiển các Slave và 3
Slave có khả năng thu thập dữ liệu từ các cảm biến.


- Google Sheets là nơi lưu trữ dữ liệu và người dùng có thể thực hiện các thao tác
điều khiển các Slave giống với giao diện người dùng tại Master.
- Ở mỗi Slave đều được thiết kế 3 Port mà mỗi Port đều có khả năng tương thích với
nhiều chuẩn giao tiếp như Analog, UART, I2C, Digital, SPI.
1.4. Phương pháp thực hiện
- Xác định mục tiêu và yêu cầu của đề tài. Lập kế hoạch và phân công công việc cho
từng thành viên trong nhóm tiến hành thực hiện và đảm bảo đúng tiến độ.
 Về Lý thuyết:
- Vận dụng kiến thức đã học cùng với các tài liệu tham khảo để tiến hành thực hiện
đề tài.
- Tích lũy vốn kiến thức ngơn ngữ lập trình chính.
- Hiểu rõ đặc tính, cách sử dụng của các thiết bị, linh kiện sử dụng cho đề tài.
- Tìm hiểu cách ESP8266 lấy dữ liệu từ Google Sheets để phục vụ cho nhu cầu khảo
sát và điều kiển qua Internet.
 Về thực nghiệm:
- Hình dung giải pháp cho từng phần của hệ thống.

- Tiến hành thiết kế phần cứng phù hợp với mục tiêu đặt ra, tối giản, tiện nghi và
đáp ứng được đa dạng nhu cầu sử dụng.
- Về phần mềm, nghiên cứu, hình dung được giải thuật tối ưu cho hệ thống. Tiến
hành lập trình, chạy thử và điều chỉnh.
- Tạo trang Google Sheets riêng cho hệ thống thuận mắt, đơn giản, dễ nắm bắt cách
sử dụng và điều khiển.
- Kiểm tra và đánh giá kết quả.
1.5. Bố cục bài báo cáo
Nội dung bài báo cáo gồm có 05 chương:
Chương 1: Tổng quan
Chương 2: Cơ sở lý thuyết
Chương 3: Thiết kế phần cứng
Chương 4: Thiết kế phần mềm
Chương 5: Hướng dẫn sử dụng
Chương 6: Kết luận và kiến nghị


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1.1 . Chuẩn giao tiếp LoRa
LoRa là viết tắt của Long Range Radio được nghiên cứu và phát triển bởi
Cycleo và sau này được mua lại bởi công ty Semtech năm 2012. Với công nghệ này,
chúng ta có thể truyền dữ liệu với khoảng cách lên hàng km mà không cần các
mạch khuếch đại công suất; từ đó giúp tiết kiệm năng lượng tiêu thụ khi
truyền/nhận dữ liệu. Do đó, LoRa có thể được áp dụng rộng rãi trong các ứng dụng
thu thập dữ liệu như sensor network trong đó các sensor node có thể gửi giá trị đo
đạc về trung tâm cách xa hàng km và có thể hoạt động với battery trong thời gian
dài trước khi cần thay pin.
Hình 2.1 bên dưới nêu những tính năng chính của cơng nghệ LoRa:

Hình 2.1: Các tính năng chính của cơng nghệ LoRa (Nguồn: Semtech)


Băng tần, khoảng cách truyền: Băng tần làm việc của LoRa từ 430 MHz đến
915 MHz cho từng khu vực khác nhau trên thế giới:
• 430MHz cho châu Á
• 780MHz cho Trung Quốc
• 433MHz hoặc 866MHz cho châu Âu
• 915MHz cho USA
2.2. Giới thiệu về Google Sheets (Trang tính)
Google Sheets (Google SpreadSheet) là một chương trình bảng tính được
bao gồm như một phần của bộ phần mềm văn phòng dựa trên web miễn phí được
cung cấp bởi Google trong dịch vụ Google Drive của mình. Google Sheets có tính
năng vượt trội đối với những người có u cầu bảng tính đơn giản, làm việc từ xa từ
nhiều thiết bị hoặc cộng tác chỉnh sửa cùng với nhiều người khác.


Ứng dụng này tương thích với các định dạng file Microsoft Excel. Ứng dụng
cho phép người dùng tạo và chỉnh sửa các file trực tuyến trong khi cộng tác với
những người dùng khác trong thời gian thực. Chỉnh sửa được theo dõi bởi người
dùng với lịch sử sửa đổi trình bày các thay đổi. Vị trí của biên tập viên được tô sáng
bằng màu sắc và con trỏ dành riêng cho biên tập viên và hệ thống quyền điều chỉnh
những gì người dùng có thể làm.
 Lý do nhóm lựa chọn Google Sheets:
- Là một dịch vụ hoàn toàn miễn phí và có tính bảo mật cao.
- Giao diện thân thiện và gần gũi với người dùng.
- Có sẵn dưới dạng một ứng dụng web, có thể truy cập thơng qua Chrome,
Firefox, Microsoft Edge ….
- Hỗ trợ danh sách các định dạng bảng tính và loại tệp phổ biến: .xlsx .xls .xlsm
.xlt .xltx .xltxm .od .csv .txt .tsv .tab
- Người dùng có thể mở / nhập, chỉnh sửa và lưu / xuất bảng tính (bao gồm Microsoft
Excel) và các tài liệu bằng Google Sheets. Các tệp Excel có thể dễ dàng được

chuyển đổi sang Google Sheets và ngược lại.
- Là một dịch vụ hồn tồn miễn phí và có tính bảo mật cao.
- Giao diện thân thiện và gần gũi với người dùng.
- Có thể dễ dàng chỉnh sửa, thiết lập và chia sẻ.
- Có khả năng liên kết và kết hợp các tiện ích bổ sung khác như: Google API, Google
Chart, biểu đồ 2D & 3D, Google Form, …
2.3. Giao thức HTTP – HTTPS
HTTP (HyperText Transfer Protocol) là giao thức truyền tải siêu văn bản
được sử dụng trong www dùng để truyền tải dữ liệu giữa Web server đến các trình
duyệt Web và ngược lại. Giao thức này sử dụng cổng 80 (port 80) là chủ yếu, hoạt
động ở tầng ứng dụng và không yêu cầu bất cứ chứng chỉ nào.
HTTPS (HyperText Transfer Protocol Secure) hoạt động như giao thức HTTP
nhưng được bổ sung thêm giao thức bảo mật SSL và giao thức TLS cho phép trao
đổi thông tin một cách bảo mật trên Internet. Giao thức HTTPS thường được dùng
trong các giao dịch nhạy cảm cần tính bảo mật cao.
Giao thức HTTPS sử dụng port 443, có yêu cầu chứng chỉ để đảm bảo thông
tin.


2.4. Giới thiệu về JSON
JSON là viết tắt của JavaScript Object Notation, là một kiểu định dạng dữ
liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay
đều có thể đọc được. JSON là một tiêu chuẩn mở để trao đổi dữ liệu trên web.
Định dạng JSON sử dụng các cặp Key-Value để dữ liệu sử dụng.
Giá trị key trong JSON có thể là chuỗi (string), số (numner), rỗng (null), mảng
(array), hoặc đối tượng (object).
Object trong Json được thể hiện bằng dấu ngoặc nhọn {}. Khái niệm Object
trong Json cũng khá tương đồng với Object trong Javascript. Tuy nhiên, Object
trong Json vẫn có những giới hạn như:




Key: phải ln nằm trong dấu ngoặc kép, không được phép là biến số.

Value: Chỉ cho phép các kiểu dữ liệu cơ bản: numbers, String, Booleans,
arrays, objects, null. Khơng cho phép function, date, undefined.


Khơng cho phép dấy phẩy cuối cùng như Object trong Javascript.

2.5. Giới thiệu về GSX2JSON - Dịch vụ Google Spreadsheet sang JSON API.
2.5.1 API – WEB API
API là viết tắt của Application Programming Interface – phương thức trung
gian kết nối các ứng dụng và thư viện khác nhau. Nó cung cấp khả năng truy xuất
đến một tập các hàm hay dùng, 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 để cho phép các ứng dụng khác nhau có
thể giao tiếp, trao đổi dữ liệu qua lại. Dữ liệu được Web API trả lại thường ở
dạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS.
2.5.2. Giới thiệu về GSX2JSON
Một tính năng hữu ích của Google Spreadsheets là khả năng truy cập dữ liệu
dưới dạng JSON bằng cách sử dụng một URL nguồn cấp dữ liệu cụ thể. Tuy nhiên,
điều này hơi khó thực hiện và kết quả là JSON khá khó đọc, với dữ liệu có thể sử
dụng được chơn sâu bên trong các đối tượng.
GSX2JSON này giải quyết vấ đề trên cung cấp JSON đơn giản, dễ đọc, chấp
nhận các truy vấn để sử dụng trong ứng dụng.
 Cách sử dụng:
- Trước tiên, bảng tính phải được xuất bảng lên web, sử dụng File Publish To
Web trong Bảng tính Google.



- Sau đó, truy cập API JSON để có thể đọc được bằng cách sử dụng /api điểm cuối.
/>Điều này sẽ cập nhật trực tiếp với các thay đổi đối với bảng tính.
Trong đó, SPREADSHEET_ID là id của trang tính được sử dụng để đọc
JSON, và SHEET_NUM là số trang tính riêng lẻ lấy dữ liệu. Trang tính đầu tiên là
1, trang tính thứ hai là 2, ... Nếu khơng có trang tính nào được nhập thì 1 là trang
mặc định.
2.6. Module Arduino Mega 2560 R3
Arduino Mega 2560 R3 là phiên bản nâng cấp của Arduino Uno R3 với số
chân giao tiếp, ngoại vi và bộ nhớ nhiều hơn. Sử dụng Mega 2560 R3 làm kit vi xử
lý cho Master của hệ thống vì có bộ nhớ EEPROM lớn, khả năng xử lý mạnh mẽ,
phù hợp với những hoạt động điều khiển của Master.
Hình 2.2 là sơ đồ chân của Mega 2560 R3:

Hình 2.2: Sơ đồ chân của Mega 2560 R3 (Nguồn: TheEngineeringProjects)

 Thơng số kỹ thuật:
• Vi điều khiển chính: ATmega2560
• IC nạp và giao tiếp UART: ATmega16U2.
• Nguồn ni mạch: 9VDC
• Số chân Digital: 54 (15 chân PWM)
• Số chân Analog: 16
• Giao tiếp UART : 4 bộ UART
• Giao tiếp SPI : 1 bộ ( chân 50 -> 53 ) dùng với thư viện SPI của Arduino
• Giao tiếp I2C : 1 bộ
• Ngắt ngồi : 6 chân
• Bộ nhớ Flash: 256 KB, 8KB sử dụng cho Bootloader
• SRAM: 8 KB


• EEPROM: 4 KB

• Xung clock: 16 MHz
2.7. MSP430G2553
- MSP430 là họ vi điều khiển cấu trấu RISC 16-bit được sản xuất bởi công ty
Texas Instruments (Mỹ). MSP là viết tắt của “MIXED SIGNAL
MICROCONTROLLER”. Là dòng vi điều khiển siêu tiết kiệm năng lượng, sử dụng
nguồn thấp, khoảng điện áp nguồn cấp từ 1.8V-3.6V. Chip MSP430 là giải pháp
thích hợp cho những ứng dụng u cầu trộn tín hiệu.
• Tiêu thụ năng lượng thấp, nguồn ni RAM 0.1-mA, 0.8-mA.
• Bộ so sánh điện áp thấp, có khả năng kết nối với thiết bị ngoại vi cực kỳ thơng minh.
• Tiêu chuẩn Analog cho phép đo chính xác.
• Trong lập trình cho bộ nhớ Flash cho phép thay đổi Code một cách linh hoạt, phạm
vi rộng….
-Sử dụng Chip MSP43G2553 làm vi xử lý cho Slave
Hình 2.3 là sơ đồ chân của MSP43G2553:

Hình 2.3: Sơ đồ chân của MSP430G2553 (Nguồn: />
Hình 2.4: KIT nạp và chip MSP430G2553 (Nguồn: Shopee)


 Thơng số kỹ thuật:
• Vi điều khiển chính: MSP430G2553
• Nguồn ni mạch: 1.8 ~3.6 VDC
• Số chân GPIO : 16
• Giao tiếp UART : 1 bộ UART
• Giao tiếp SPI : 1 bộ SPI
• Giao tiếp I2C : 1 bộ
• RAM: 512 B
• Flash: 16 KB
• Xung clock: 16 MHz
2.8. Mạch Thu Phát RF UART LoRa SX1278 433Mhz 3000m

Mạch thu phát RF UART LoRa SX1278 433Mhz 3000m như hình 2.5 sử
dụng chip SX1278 của nhà sản xuất SEMTECH chuẩn giao tiếp LoRa (Long
Range), tiết kiệm năng lượng và khoảng cách phát siêu xa (Ultimate long range
wireless solution), ngoài ra nó cịn có khả năng cấu hình để tạo thành mạng nên hiện
tại được phát triển và sử dụng rất nhiều trong các nghiên cứu về IoT.
Sử dụng thêm Anten 433Mhz 2dBi SMA đực như hình 2.6 để khuếch đại khoảng
cách và công suất thu phát với thông số gain 2dbi, anten có chất lượng tốt, độ bền
cao.
Hình 2.5 là Kit RF UART LoRa SX1278 433Mhz 3000m và Anten 433Mhz 2dBi
SMA đực :

Hình 2.5: Kit RF UART Lora SX1278
433Mhz 3000m (Nguồn: Hshop)

 Thơng số kỹ thuật:
 IC chính: SX1278 từ SEMTECH.
 Điện áp hoạt đông: 2.3 - 5.5

VDC
 Điện áp giao tiếp: TTL-3.3V

Hình 2.6: Anten 433Mhz 2dBi SMA đực
(Nguồn: Hshop)


Giao tiếp UART Data bits 8, Stop bits 1, Parity none, tốc độ từ 1200 115200.



 Tần số: 410 - 441Mhz

 Công suất: 20dbm (100mW)
 Khoảng cách truyền tối đa trong điều kiện lý tưởng: 3000m
 Tốc độ truyền: 0.3 - 19.2 Kbps ( mặc định 2.4 Kbps)
 512bytes bộ đệm.
 Hỗ trợ 65536 địa chỉ cấu hình.

 Anten 433Mhz 2dBi SMA đực:


Dải tần: 433 Mhz



Trở kháng: 50Ω



Gain: 2dBi



Khớp nối: SMA đực

2.9. Kit RF thu phát wifi ESP8266 NodeMCU Lua CP2102
Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP2102 là kit phát triển dựa
trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử
dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, được dùng cho
các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là
các ứng dụng liên quan đến IoT.
Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP2102 sử dụng chip nạp và giao

tiếp UART mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả
các hệ điều hành Window và Linux, đây là phiên bản nâng cấp từ các phiên bản sử
dụng IC nạp giá rẻ CH340.
Hình 2.7 là Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP2102:

Hình 2.7: Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP2102 (Nguồn: Hshop)


 Thơng số kỹ thuật:


IC chính: ESP8266 Wifi SoC.



Phiên bản firmware: NodeMCU Lua



Chip nạp và giao tiếp UART: CP2102.



GPIO tương thích hồn tồn với firmware Node MCU.



Cấp nguồn: 5VDC MicroUSB hoặc Vin.




GIPO giao tiếp mức 3.3VDC.



Tích hợp Led báo trạng thái, nút Reset, Flash.

2.10. Các loại cảm biến được sử dụng
2.10.1. Module Cảm biến nhiệt độ - độ ẩm DHT11
Module Cảm biến nhiệt độ - độ ẩm DHT11 (Grove - Temperature & Humidity
Sensor DHT11) được sử dụng để xác định nhiệt độ và độ ẩm của khơng khí trong
các ứng dụng: trồng cây, theo dõi thời tiết,..., cảm biến được tích hợp bộ tiền xử lý
bên trong giúp trả ra giá trị nhiệt độ và độ ẩm chính xác mà khơng cần qua các bước
tính tốn phức tạp.
Hình 2.8 là module cảm biến nhiệt độ đã ra chân, gồm các chân được định nghĩa
chức năng.



STT

Tên

Chức năng

1

GND

Nối mass


2

VCC

Nối nguồn 5V

3

NC

-

4

SIG

Data

Hình 2.8: Module Cảm biến nhiệt độ - độ ẩm DHT11 và
bảng chức năng (Nguồn: Hshop)

Thơng số kỹ thuật:

• Cảm biến chính: DHT11
• Điện áp sử dụng: 3.3~5VDC


• Tín hiệu ngõ ra: Digital TTL chuẩn giao tiếp 1-Wire
• Khoảng nhiệt độ đo được: 0~50 độ C sai số 2 độ C

• Khoảng độ ẩm đo được: 20~70%RH sai số 5%RH
• Tần số đo: 2s/1 lần


2.10.2. Cảm Biến Vật Cản Hồng Ngoại IR Infrared Obstacle Avoidance
Cảm biến vật cản hồng ngoại IR Infrared Obstacle Avoidance được sử dụng để
nhận biết vật cản bằng ánh sáng hồng ngoại, cảm biến có cách sử dụng đơn giản
với biến trở chỉnh khoảng cách nhận biết vật cản, ngõ ra dạng Digital dễ dàng giao
tiếp và lập trình với Vi điều khiển, thích hợp để làm các ứng dụng Robot tránh vật
cản, báo trộm, mơ hình cửa tự động,...
Hình 2.9 là cảm biến vật cản hồng ngoại IR Infrared Obstacle Avoidance, gồm các
chân được định nghĩa chức năng.

STT

Tên

Chức năng

1

VCC

Nối nguồn 5V

2

GND

Nối mass


3

OUT

DATA

Hình 2.9: Cảm biến vật cản hồng ngoại (Nguồn: Hshop)

 Thơng số kỹ thuật:
• Điện áp sử dụng: 3.3~5VDC.
• Nhận biết vật cản bằng ánh sáng hồng ngoại.
• Ngõ ra: Digital TTL.
• Tích hợp biến trở chỉnh khoảng cách nhận biết vật cản.
2.10.3. Cảm Biến Siêu Âm Ultrasonic US-015
Cảm biến siêu âm Ultrasonic US-015 được sử dụng để nhận biết khoảng cách từ vật
thể đến cảm biến nhờ sóng siêu âm, cảm biến có thời gian phản hồi nhanh, độ chính
xác cao, phù hợp cho các ứng dụng phát hiện vật cản, đo khoảng cách bằng sóng
siêu âm.
Hình 2.10 là Cảm biến siêu âm Ultrasonic US-015, gồm các chân được định nghĩa
chức năng.
STT Tên

Chức năng

1

VCC

Nguồn 5V


2

Trig

Chân Digital output

3

Echo

Chân Digital input

4

GND

Nối đất

Hình 2.10: Cảm biến siêu âm Ultrasonic US-015 và bảng chức năng (Nguồn: Hshop)


 Thơng số kỹ thuật:
•Điện áp hoạt động: 5VDC
•Dịng tiêu thụ: 10~40mA
•Tín hiệu giao tiếp: TTL
•Chân tín hiệu: Echo, Trigger.
•Góc qt:<15 độ
•Tần số phát sóng: 40Khz
• Khoảng cách đo được: 2~700cm (khoảng cách xa nhất đạt được ở điều

khiện lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong
điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng cách
<100cm).
• Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số
càng nhỏ).
2.10.4. Cảm Biến Nhiệt Độ LM35
Cảm biến nhiệt độ LM35 có điện áp Analog đầu ra tuyến tính theo nhiệt độ
thường được sử dụng để đo nhiệt độ của môi trường hoặc theo dõi nhiệt độ của thiết
bị,..., cảm biến chỉ 3 chân rất dễ giao tiếp và sử dụng.
Hình 2.11 là Cảm nhiệt độ LM35, gồm các chân được định nghĩa chức năng.
STT

Tên

Chức năng

1

VCC

Nối nguồn 35.5V

2

OUT

DATA

3


GND Nối mass

Hình 2.11: Cảm biến nhiệt độ LM35 và bảng chức năng
(Nguồn: Hshop)

 Thơng số kỹ thuật:
• Điện áp hoạt động: 4~20VDC
• Cơng suất tiêu thụ: khoảng 60uA
• Khoảng đo: -55°C đến 150°C
• Điện áp tuyến tính theo nhiệt độ: 10mV/°C
• Sai số: 0.25°C


2.10.5. Mạch RFID NFC 13.56Mhz RC522
Mạch RFID NFC 13.56MHZ RC522 sử dụng IC MFRC522 của NXP được sử
dụng để đọc và ghi dữ liệu cho thẻ RFID NFC tần số 13.56Mhz, mạch có thiết kế
nhỏ gọn được sử dụng rất phổ biến hiện nay với Arduino hoặc các loại Vi điều
khiển khác trong các ứng dụng cần ghi, đọc thẻ RFID NFC.
Hình 2.12 là mạch RFID NFC 13.56MHZ RC522, gồm các chân được định nghĩa
chức năng

No

Chân

1

(SDA) SS

Chức năng

Chân lựa chọn chip khi giao tiếp SPI
( Kích hoạt ở mức thấp)

2
3

SCK

Chân xung trong chế độ SPI

MOSI (SDI) Master Data Out-Slave In trong chế độ giao tiếp
SPI

4

MISO
(SDO)

Master Data In -Slave Out trong chế độ giao tiếp
SPI

5

IRQ

Ngắt

6

GND


Chân nối đất

7

RST

Chân reset

8

VCC

Nguồn 3.3V

Hình 2.12: Mạch RFID NFC 13.56MHZ RC522 và bảng chức năng (Nguồn: Hshop)

 Thơng số kỹ thuật:
• Nguồn sử dụng: 3.3VDC
• Dịng điện:13~26mA
• Tần số hoạt động: 13.56Mhz


×