Với việc công nghệ IoT phát triển mạnh mẽ cùng sự ra đời của nhiềumodule như Module Wifi, Bluetooth, các board điều khiển như Arduino, Raspberry,các trợ năng điều khiển từ ra bằng sóng R
Trang 1I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ NƯỚC ĐIỆN TỬ
GIÁM SÁT ĐƯỢC LƯỢNG NƯỚC TIÊU THỤ QUA MẠNG INTERNET VÀ LORA.
II NHIỆM VỤ
1 Các số liệu ban đầu:
- Kit Arduino UNO R3, LoRa E32 TTL-100, NodeMCU và ngôn ngữ lập trình
- Tài liệu nghiên cứu Arduino UNO R3, NodeMCU, LoRa E32 TTL-100
- Tài liệu nghiên cứu cảm biến lưu lượng FS400A – G1
2 Nội dung thực hiện:
- Kết nối các cảm biến, lora, màn hình TFT vào mạch Arduino
- Kết nối lora vào nodemcu
- Lập trình cho kit Arduino và nodemcu
- Thiết kế mô hình hộp chứa mạch điều khiển
- Xây dựng giao diện và lập trình trang web giám sát từ xa
- Cân chỉnh hệ thống
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 04/08/2020
i
Trang 2Tp HCM, ngày 04 tháng 08 năm 2020
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên 1: Nguyễn Thành Đạt
Lớp: 16141DT2B MSSV: 16141132
Họ tên sinh viên 2: Nguyễn Phú Thông
Lớp: 16141DT2B MSSV: 16141291 Tên đề tài: Thiết kế và thi công đồng hồ nước điện tử giám sát được lượng nước tiêu thụ qua mạng internet và lora
GVHD
Tuần 1 Gặp giảng viên hướng dẫn và trao đổi đề tài đồ
(9/3 – 14/3) án tốt nghiệp
Tuần 2 Viết đề cương và lịch trình thực hiện đồ án tốt
(16/3-21/3) nghiệp
Tuần 3 Tìm hiểu đề tài và lựa chọn thiết bị
(23/3 – 28/3)
Tuần 4 Tìm hiểu nguyên lý hoạt động của đề tài
(30/3 – 4/4)
Tuần 5 Thiết kế sơ đồ khối sơ đồ nguyên lý
(6/4 – 11/4)
(13/4 – 18/4)
(20/4 – 25/4)
ii
Trang 3Tuần 9 Thiết kế và lập trình web giám sát.
iii
Trang 4Đề tài này là chúng tôi tự thực hiện dựa vào một số tài liệu trước đó và khôngsao chép từ tài liệu hay công trình đã có trước đó Nếu có bất kỳ sự gian lận nàochúng tôi xin chịu trách nhiệm về nội dung đồ án của mình.
Người thực hiện đề tài
Nguyễn Thành Đạt – Nguyễn Phú Thông
Trang 5Chúng em chân thành cảm ơn đến các thầy, cô trường đại học Sư phạm Kỹthuật TP.HCM đã tận tình chỉ dạy, giúp đỡ trong suốt quá trình bốn năm học tậptích lũy kiến thức ở trường, đặc biệt là các thầy, cô của khoa Điện - Điện Tử.Hơn hết, chúng em muốn cảm ơn đến Thầy Phan Vân Hoàn – giảng viênkhoa điện – điện tử, đã tận tình giúp đỡ cũng như hỗ trợ chúng em trong suốt quátrình thực hiện đề tài Thầy đã tận tình góp ý, chỉ dẫn và đôn đốc sinh viên đểhoàn thành đề tài hoàn chỉnh và đúng hạn Một lần nữa em xin chân thành cảm ơnthầy.
Cuối cùng, nhóm cũng xin gửi thật nhiều lời cảm ơn đến gia đình, bạn bè đã khích lệ tinh thần, tạo động lực mạnh mẽ để giúp nhóm hoàn thành tốt đề tài
Người thực hiện đề tài
Nguyễn Thành Đạt – Nguyễn Phú Thông
v
Trang 6NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii
LỜI CAM ĐOAN iv
LỜI CẢM ƠN v
MỤC LỤC vi
LIỆT KÊ HÌNH VẼ ix
LIỆT KÊ BẢNG xi
TÓM TẮT xii
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 2
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 3
Chương 2 CƠ SỞ LÝ THUYẾT 4
2.1 TẦM QUAN TRỌNG CỦA VIỆC QUẢN LÝ LƯỢNG NƯỚC TIÊU THỤ 4
2.2 TÌM HIỂU VỀ CÔNG NGHỆ LORA 4
2.2.1 Công nghệ LoRa 4
2.2.2 Phạm vi hoạt động và mức tiêu thụ năng lượng của LoRa 5
2.2.3 Nguyên lý hoạt động của LoRa 5
2.2.4 Chế độ hoạt động của Module Lora 6
2.2.5 Phần mềm cấu hình Module LoRa E32-TTL-100 của nhà sản xuất 7
2.3 CÁC CHUẨN TRUYỀN DỮ LIỆU 8
2.3.1 Chuẩn truyền thông UART 8
2.3.2 Chuẩn truyền thông SPI 9
2.4 GIỚI THIỆU VỀ MYSQL 11
2.5 TỔNG QUAN VỀ PHP 12
Trang 72.5.3 Các chức năng của php 12
2.6 GIỚI THIỆU VỀ HTML 13
2.6.1 Khái niệm 13
2.6.2 Cấu trúc cây HTML cơ bản 13
2.7 GIỚI THIỆU VỀ CSS 14
2.7.1 Khái niệm 14
2.7.2 Tác dụng của CSS 14
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 15
3.1 GIỚI THIỆU 15
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 15
3.2.1 Thiết kế sơ đồ khối hệ thống 15
3.2.2 Tính toán và thiết kế mạch 16
a Khối xử lý tín hiệu ở đồng hồ nước 16
b Khối xử lý thu thập dữ liệu và gửi dữ liệu lên database 17
c Khối cảm biến 23
d Khối hiển thị 24
e Khối thu phát tín hiệu RF LoRa 26
f Khối nguồn và Pin dự phòng 27
g Sơ đồ nguyên lý hoạt động toàn mạch 29
Chương 4 THI CÔNG HỆ THỐNG 32
4.1 GIỚI THIỆU 32
4.2 THI CÔNG HỆ THỐNG 32
4.2.1 Thi công bo mạch 32
4.2.2 Lắp ráp và kiểm tra 34
4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 35
4.3.1 Đóng gói bộ điều khiển 35
4.3.2 Thi công mô hình 35
4.4 LẬP TRÌNH HỆ THỐNG 36
4.4.1 Lưu đồ giải thuật 36
vii
Trang 84.4.3 Phần mềm lập trình web 43
4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 43
Chương 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 44
5.1 GIỚI THIỆU 44
5.2 KẾT QUẢ ĐẠT ĐƯỢC 44
5.3 KẾT QUẢ CHẠY HỆ THỐNG 44
5.4 NHẬN XÉT_ĐÁNH GIÁ 50
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 52
6.1 KẾT LUẬN 52
6.2 HƯỚNG PHÁT TRIỂN 52
TÀI LIỆU THAM KHẢO
Trang 9Hình Trang
Hình 2 1: Chế độ fixed mode 6
Hình 2 2: Chế độ boadcast mode 7
Hình 2 3: Giao diện phần mềm cấu hình LoRa 7
Hình 2 4: Gói dữ liệu truyền của UART 8
Hình 2 5: Sóng truyền UART 9
Hình 2 6: Quá trình truyền UART 9
Hình 2 7: Quá trình nhận UART 9
Hình 2 8: Truyền dữ liệu SPI 11
Hình 3 1: Sơ đồ khối của hệ thống 15
Hình 3 2: Sơ đồ nguyên lý arduino UNO R3 17
Hình 3 3: Module ESP8266 NodeMCU 18
Hình 3 4: Sơ đồ nguyên lý module ESP8266 NodeMCU 19
Hình 3 5: Cấu trúc của chip ESP 12 được gắn trên module 20
Hình 3 6: Sơ đồ chân của chip ESP 12-E 20
Hình 3 7: Cấu trúc mạch nạp và mạch dao động trên module. 21
Hình 3 8: Mạch reset và mạch flash trên module. 22
Hình 3 9: Mạch nguồn trên module 22
Hình 3 10: Sơ đồ chân của module 23
Hình 3 11: Cảm biến lưu lượng FS400A-G1 23
Hình 3 12: Sơ đồ nguyên lý cảm biến gắn với vi điều khiển 24
Hình 3 13: Màn hình TFT 2.4inch 25
Hình 3 14: Sơ đồ nguyên lý màn hình TFT kết nối với vi điều khiển 26
Hình 3 15: Module LoRa E32-TTL-100 26
Hình 3 16: Sơ đồ nguyên lý module LoRa kết nối với vi điều khiển 27
Hình 3 17: Sơ đồ nguyên lý nguồn adapter 5VDC 28
Hình 3 18: Pin dự phòng và mạch sạc pin 28
Hình 3 19: Sơ đồ nguyên lý của đồng hồ trực tiếp đo lưu lượng 30
Hình 3 20: Sơ đồ nguyên lý của trạm thu và gởi tín hiệu giám sát 30
Hình 4 1: Mạch in của đồng hồ đo lượng nước 33
ix
Trang 10Hình 4 3: Hình ảnh thực tế của trạm thu dữ liệu .34
Hình 4 4: Hình ảnh thực tế của đồng hồ đo nước 35
Hình 4 5: Thiết kế hộp mica 16x13x10 35
Hình 4 6: Đồng hồ đo nước sau khi đã đóng hộp 36
Hình 4 7: Lưu đồ đồng hồ nước 36
Hình 4 8: Lưu đồ ở trạm thu dữ liệu .Error! Bookmark not defined. Hình 4 9: Giao diện tải Arduino IDE 39
Hình 4 10: Ủng hộ nhà phát triển Arduino IDE 40
Hình 4 11: Giao diện chính của IDE 40
Hình 4 12: Cài đặt driver cho NodeMCU (1) 41
Hình 4 13: Cài đặt driver cho NodeMCU (2) 41
Hình 4 14: Cài đặt driver cho NodeMCU (3) 42
Hình 4 15: Cài đặt driver cho NodeMCU (4) 42
Hình 4 16: Giao diện subline text 3 43
Hình 4 17: Hướng dẫn sử dụng và thao tác (1) 44
Hình 4 18: Hướng dẫn sử dụng và thao tác (2) 44
Hình 5 1: Hình ảnh thực tế đồng hồ nước điện tử 45
Hình 5 2: Màn hình hiển thị các thông số đo được 45
Hình 5 3: Giao diện đăng ký người dùng 46
Hình 5 4: Giao diện đăng nhập người dùng 47
Hình 5 5: Giao diện trang chủ người dùng sau khi đăng nhập 47
Hình 5 6: Giao diện nút thông tin sau khi đăng nhập 48
Hình 5 7: Giao diện nút biểu đồ người dùng sau khi đăng nhập 48
Hình 5 8: Giao diện đổi mật khẩu người dùng 49
Hình 5 9: Giao diện đăng nhập quản trị viên 49
Hình 5 10: Giao diện trang quản lý người dùng sau khi đăng nhập 50
Trang 11Bảng Trang
Bảng 3.1 Bảng chức năng từng chân của chip ESP – 12E 20
Bảng 3.2 Tính toán dòng điện các linh kiện sử dụng trong mạch 29
Bảng 4.1 Danh sách các linh kiện 31
xi
Trang 12Thuật ngữ Internet of Things (IoT) hay “Vạn vật kết nối internet” đã khôngcòn trở nên quá xa lạ với nhiều người, từ những bản tin thời sự - công nghệ trên tivi,trên các trang mạng điện tử hoặc cụ thể là những ứng dụng thiết thực trong đời sốngđâu đâu cũng thấy bóng dáng của cụm từ này Đúng như tên gọi, đây là một hệthống gồm các thiết bị công nghệ có liên quan đến nhau, mọi vật được kết nối vớinhau dựa trên giao thức chung, đó là mạng truyền thông – hay Internet Chỉ cần mộtthiết bị có kết nối mạng là bạn có thể hoàn toàn kiểm tra, điều khiển các thiết bị đãđược kết nối bất kể bạn đang ở đâu Công nghệ IoT đã và đang phát triển trong rấtnhiều lĩnh vực.
Nhu cầu quản lý, giám sát cũng như có thể kiểm soát các thiết bị trong nhà từ
xa nói chung và giám sát lượng nước tiêu thụ nói riêng là rất cần thiết trong bốicảnh internet phát triển như hiện nay Nhu cầu này hết sức chính đáng, hướng đến
sự tiện lợi, thuận tiện trong khâu quản lý, tiết kiệm chi phí, góp phần thúc đẩy xãhội hiện đại hơn, kinh tế ngày một đi lên
Xã hội ngày một hiện đại hơn, công nghệ đang đóng vai trò then chốt, thì việcứng dụng công nghệ IoT vào quản lý và giám sát lượng nước tiêu thụ từ xa trở nênthiết thực, dễ dàng hơn bao giờ hết Nắm bắt được nhu cầu của xã hội cùng với sựphát triển của công nghệ IoT nhóm em đã bắt tay vào thực hiện đề tài với tên gọi
“Thiết kế và thi công đồng hồ nước điện tử giám sát được lượng nước tiêu thụ qua
mạng internet và lora” Đề tài này cho phép người dùng giám sát được lượng nước
đã tiêu thụ bằng cách truy cập vào địa chỉ web và cho phép nhà cung cấp quản lý tất
cả người dùng Dữ liệu từ đồng hồ đo được sẽ được gởi qua LoRa về đến một trạmthu dữ liệu ở đó có kết nối internet Với việc gởi dữ liệu qua LoRa giúp việc quản lý
dễ dàng ở những khu vực không có internet và phạm vi quản lý được xa hơn nhờvào cách thức truyền nối tiếp giữa các hộ về đếm trạm thu thập
Trang 13Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Chúng ta đang sống trong thời đại của cuộc cách mạng công nghiệp 4.0 trong
đó công nghệ đóng vai trò then chốt Sự phát triển của công nghệ thông tin và đặcbiệt là công nghệ internet kết nối vạn vật hay còn gọi là Internet of Thing (IoT) đãđem đến rất nhiều tiện ích cho con người Với IoT chỉ cần một thiết bị có kết nốimạng là bạn có thể hoàn toàn kiểm tra, giám sát và điều khiển các thiết bị trong nhàhay cơ quan, xí nghiệp bất kể bạn ở nơi đâu [1] Một trong những ứng dụng củaIoT trong việc giám sát từ xa đó là nhu cầu quản lý, giám sát cũng như kiểm soátviệc đo đạc lượng nước tiêu thụ dùng trong sinh hoạt hàng ngày
Hiện nay, đồng hồ cơ đo lượng nước sinh hoạt đã không còn xa lạ với mọingười vì hầu hết mỗi hộ gia đình hay các cơ sở kinh doanh, nhà hàng, công ty, cácphòng trọ đều được trang bị một chiếc đồng hồ cơ như thế Vì là đồng hồ cơ nênviệc giám sát lượng nước tiêu thụ rất mất thời gian và công sức khi phải đến tận nơilắp ráp đồng hồ để mở ra xem số nước đã tiêu thụ là bao nhiêu Chưa kể đến việcđồng hồ cơ sử dụng lâu ngày dẫn đến hỏng hóc khiến lượng nước tiêu thụ bị đánhgiá sai gây bất lợi cho người dùng hay nhà cung cấp nước Thực tế, trên thị trường
đã có những thiết bị đo lượng nước với độ chính xác cao nhưng giá thành lại rất đắt
và không thể giám sát được từ xa [1]
Với việc công nghệ IoT phát triển mạnh mẽ cùng sự ra đời của nhiềumodule như Module Wifi, Bluetooth, các board điều khiển như Arduino, Raspberry,các trợ năng điều khiển từ ra bằng sóng RF, sóng hồng ngoại, google assistant,… thìviệc tạo ra một hệ thống có thể đo và giám sát thông số từ xa lượng nước tiêu thụtrở nên dễ dàng hơn
Nắm bắt được vấn đề, vận dụng các kiến thức đã học, nhóm em tiến hành
thực hiện đề tài “Thiết kế và thi công đồng hồ nước điện tử giám sát được lượng
nước tiêu thụ qua mạng Internet và LoRa”, thực hiện công việc đo và giám sát,
hiển thị cập nhật lên màn hình thiết bị và trên web, giúp cho người sử dụng có thể
dễ dàng quan sát cũng như thống kê được lượng nước mà họ đã và đang sử dụng
Trang 14Do có những hộ gia đình không có internet nên đồng hồ có tích hợp module LoRa
để truyền nhận dữ liệu không dây
1.2 MỤC TIÊU
Thiết kế và thi công được hệ thống có khả năng đo được lượng nước tiêu thụhiển thị lên màn hình TFT, giám sát các dữ liệu đã đo từ xa qua mạng lora vàinternet bằng cách gởi dữ liệu lên web thông qua module wifi ESP8266 để ngườidùng theo dõi cũng như nhà cung cấp quản lý
1.3 NỘI DUNG NGHIÊN CỨU
Trong quá trình thực hiện Đồ án tốt nghiệp với đề tài “Thiết kế và thi công
đồng hồ nước điện tử giám sát được lượng nước tiêu qua mạng Internet”,
nhóm chúng em đã tập trung giải quyết và hoàn thành được những nội dung sau:
NỘI DUNG 1: Tìm hiểu về vi điều khiển, cảm biến, module cần thiết, chuẩn giao tiếp được sử dụng
NỘI DUNG 2: Kết nối NodeMCU ESP8266 với Internet để cập nhật dữ liệu dùng cho việc hiển thị
NỘI DUNG 3: Nghiên cứu xây dựng cơ sở dữ liệu trên Webserver quản lý một cách dễ dàng
NỘI DUNG 4: Thi công phần cứng, chạy thử nghiệm và hiệu chỉnh hệ thống
NỘI DUNG 5: Đánh giá kết quả thực hiện
NỘI DUNG 6: Viết báo cáo thực hiện
NỘI DUNG 7: Bảo vệ luận văn
1.4 GIỚI HẠN
Đề tài có những giới hạn như sau:
- Khoảng cách từ đồng hồ nước đến trạm thu thập dữ liệu không quá 300 méttrong điều kiện lý tưởng
- Hệ thống chỉ hiển thị được thông tin lượng nước tiêu thụ tháng trước vàlượng nước hiện tại trên giao diện web
- Hệ thống chưa cho phép người dùng có thể cài đặt các thông số hay hiển thị địa chỉ của lora trên màn hình TFT 2.4inch
Trang 15- Cảm biến đo lưu lượng có độ chính xác tương đối, tốc độ xung có thể sai lệch tùy thuộc vào tốc độ dòng chảy, áp suất chất lỏng và định hướng cảm biến.
1.5. BỐ CỤC
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án
Chương này trình bày về các lý thuyết có liên quan đến các vấn đề mà đề tài
sẽ dùng để thực hiện thiết kế, thi công cho đề tài
Chương này sẽ tính toán và thiết kế hệ thống: nêu sơ đồ khối, sơ đồ nguyên
lý toàn mạch, và thiết kế mô hình
Giới thiệu phần thi công mạch, đóng gói bộ điều khiển, các bước thi công môhình hoàn chỉnh Viết hướng dẫn sử dụng
Chương này trình bày kết quả đã hoàn thành được, hình ảnh hoạt động của mạch, nhận xét và đánh giá
Chương này sẽ trình bày các công việc đã thực hiện được trong đề tài và hướng phát triển của đề tài
Trang 16Chương 2 CƠ SỞ LÝ THUYẾT
2.1 TẦM QUAN TRỌNG CỦA VIỆC QUẢN LÝ LƯỢNG NƯỚC TIÊU THỤ
Quản lý và giám sát lượng nước tiêu thụ đóng vai trò quan trọng trong việcquản lý và sử dụng tiết kiệm nước trong từng hộ gia đình, các công ty, trong ngànhcông nghiệp sản xuất nước và chính phủ…trong những năm gần đây các nhà quản
lý và công ty sản xuất nước sạch đang phải chịu những áp lực to lớn về việc giámsát và quản lý nước không chỉ ở những thành phố lớn mà cả ở nông thôn vì lượngnước sạch đang ngày càng cạn kiệt
Khi tiêu thụ nhiều nước sinh hoạt các hộ gia đình sẽ phải đối mặt với tìnhtrạng thiếu nguồn cung cấp nghiêm trọng kèm theo nguy cơ tăng giá nước sinh hoạt,chất lượng nước sinh hoạt sản xuất không đáp ứng được các chỉ tiêu cơ bản dẫn đếnảnh hưởng tới lợi ích của người sử dụng cũng như các công ty sản xuất nước…Bằng cách kiểm soát nhu cầu nước sinh hoạt chúng ta có thể dễ dàng tiết kiệm nướctại từng hộ gia đình sử dụng và có thể quản lý được lượng nước sạch cần thiết sảnxuất tại mỗi địa phương nhất định nhằm đánh giá đầy đủ về số lượng và chất lượnglượng nước sản xuất
Lợi ích của việc giám sát lượng nước sạch sử dụng:
Đối với hộ gia đình: giám sát được chi tiết lượng nước của gia đình tạimọi thời điểm mong muốn liên tục 24/24 Từ đó đưa ra giải pháp sửdụng nước một cách hợp lí, tiết kiệm tránh tình trạng lãng phí hay bị sự
cố rò rỉ ống nước
Đối với công ty, nhà máy sản xuất nước: Giảm chi phí nhân công nhậpliệu hàng tháng, tránh sai sót khi thu thập dữ liệu bằng tay, dễ dàng lên
kế hoạch sản xuất nước đáp ứng nhu cầu của địa bàn
2.2.1 Công nghệ LoRa
Trang 17Công nghệ LoRa, được phát triển bởi Semtech, là một giao thức không dâymới được thiết kế để truyền thông tầm xa, năng lượng thấp Giao thức cung cấp loạikhả năng liên lạc mà các thiết bị thông minh cần có và liên minh LoRa đang hoạtđộng để đảm bảo khả năng tương tác giữa nhiều mạng trên toàn quốc.
Một phần của phổ LoRa sử dụng thể hiện ít nhiễu điện từ, do đó tín hiệu có thểkéo dài một khoảng cách xa, thậm chí đi qua các tòa nhà, với rất ít năng lượng Điềunày phù hợp với các thiết bị IoT với dung lượng pin hạn chế Điều đó cũng có nghĩa
là các tinh thể chi phí thấp hơn có thể được sử dụng, do đó việc xây dựng LoRathành các thiết bị rẻ hơn
Mỗi gateway LoRa có thể xử lý hàng triệu node Điều đó, cộng với thực tế làcác tín hiệu có thể kéo dài khoảng cách đáng kể, có nghĩa là cần ít cơ sở hạ tầngmạng hơn, do đó làm cho việc xây dựng mạng LoRa rẻ hơn Các mạng LoRa có thểđược đặt cùng với các thiết bị liên lạc khác, như các tháp điện thoại di động, làmgiảm đáng kể các hạn chế xây dựng
Các tính năng khác của LoRa cũng khiến nó trở nên lý tưởng cho IoT LoRa
sử dụng thuật toán tốc độ dữ liệu thích ứng để giúp tối đa hóa tuổi thọ pin và dunglượng mạng của thiết bị Các giao thức của nó bao gồm nhiều lớp mã hóa, ở cấp độmạng, ứng dụng và thiết bị, cho phép liên lạc an toàn Tính hai chiều của giao thức
hỗ trợ các thông điệp quảng bá, cho phép chức năng cập nhật phần mềm
2.2.2 Phạm vi hoạt động và mức tiêu thụ năng lượng của LoRa
Kiến trúc mạng hình ngôi sao của LoRa sử dụng các dải tần số khu vực khácnhau trong băng tần ISM và băng tần SRD Ở châu Âu, chúng bao gồm dải tần từ433,05 MHz đến 434,79 MHz và dải tần từ 863 MHz đến 870 MHz
Tuy nhiên, ở Bắc Mỹ, dải tần từ 902 MHz đến 928 MHz được chấp thuận đểtruyền dữ liệu Các cảm biến có thể hoạt động trong nhiều năm mà không phải thaypin
2.2.3 Nguyên lý hoạt động của LoRa
LoRa sử dụng kỹ thuật điều chế gọi là Chirp Spread Spectrum Có thể hiểunguyên lý này là dữ liệu sẽ được băm bằng các xung cao tần để tạo ra tín hiệu códãy tần số cao hơn tần số của dữ liệu gốc (cái này gọi là chipped); sau đó tín hiệu
Trang 18cao tần này tiếp tục được mã hoá theo các chuỗi chirp signal (là các tín hiệu hình sin
có tần số thay đổi theo thời gian; có 2 loại chirp signal là up-chirp có tần số tăngtheo thời gian và down-chirp có tần số giảm theo thời gian; và việc mã hoá theonguyên tắc bit 1 sẽ sử dụng up-chirp, và bit 0 sẽ sử dụng down-chirp) trước khitruyền ra anten để gửi đi
Theo Semtech công bố thì nguyên lý này giúp giảm độ phức tạp và độ chínhxác cần thiết của mạch nhận để có thể giải mã và điều chế lại dữ liệu; hơn nữa LoRakhông cần công suất phát lớn mà vẫn có thể truyền xa vì tín hiệu Lora có thể đượcnhận ở khoảng cách xa ngay cả độ mạnh tín hiệu thấp hơn cả nhiễu môi trườngxung quanh
Băng tần làm việc của LoRa từ 430MHz đến 915MHz cho từng khu vực khácnhau trên thế giới:
2.2.4 Chế độ hoạt động của Module Lora
Module có thể được cấu hình truyền và nhận dữ liệu ở một trong hai chế độ:
Fixed mode: Module có thể giao tiếp với module khác ngay cả khi nókhác tần số phát với module truyền chỉ cần biết được địa chỉ và tần sốcủa nhau nhưng chỉ có hai module truyền nhận với nhau
Hình 2 1: Chế độ fixed mode
Trang 19 Broadcast mode: Chế độ này trái ngược hoàn toàn với fixed mode, mộtmodule truyền thì tất cả các module được cấu hình ở chế độ broadcastmode và có cùng tần số phát sẽ đều nhận được dữ liệu.
Hình 2 2: Chế độ boadcast mode
2.2.5 Phần mềm cấu hình Module LoRa E32-TTL-100 của nhà sản xuất
Sau khi đưa Module về Mode 3 (Sleep) ta kết nối Module với USB TTL vàbật phần mềm lên Nếu kết nối thành công ta sẽ thấy giao diện giống như hình phíadưới
Click chọn “GetParam” để đọc các thông số đang được cấu hình trên Module.Chọn các thông số cần cấu hình như: Address, Channel, tốc độ baudrate, parity,…
sau đó click vào tùy chọn “SetParam” để lưu cấu hình đã cài đặt vào bộ nhớEpprom
Hình 2 3: Giao diện phần mềm cấu hình LoRa
Trang 202.3 CÁC CHUẨN TRUYỀN DỮ LIỆU
2.3.1 Chuẩn truyền thông UART
UART là viết tắt của Universal Asynchronous Receiver – Transmitter là kiểutruyền thông tin nối tiếp không đồng bộ thường là một mạch tích hợp Mục đích củaUART là để truyền tín hiệu qua lại lẫn nhau (ví dụ truyền tín hiệu từ Laptop vàoModem hay ngược lại) hay truyền từ vi điều khiển tới vi điều khiển, từ laptop tới viđiều khiển
Các thông số trong chuẩn truyền UART:
Hình 2 4: Gói dữ liệu truyền của UART
Packet: Một gói dữ liệu được truyền đi, bao gồm bit Start, khung truyền dữ
liệu, bit parity, bit Stop
Bit Start: thường được giữ ở mức điện áp cao khi nó không truyền dữ liệu Để
bắt đầu truyền dữ liệu, UART truyền sẽ kéo bit này từ cao xuống thấp trong mộtchu kỳ xung nhịp Khi UART nhận phát hiện sự chuyển đổi điện áp cao sang thấp,
nó bắt đầu đọc các bit trong khung dữ liệu ở tần số của tốc độ truyền
Khung dữ liệu: chứa dữ liệu được truyền, nó có thể dài từ 5 đến 8 bit nếu sử
dụng một bit parity Nếu không có bit parity nào được sử dụng, khung dữ liệu có thểdài 9 bit Bit parity có tác dụng kiểm tra xem dữ liệu có bị thay đổi trong quá trìnhtruyền không bằng cách là kiểm tra tổng số bit 1 là chẵn hay lẻ rồi so sánh với dữliệu Nếu tổng số bit 1 là chẵn mà bit parity bằng 0 thì quá trình truyền không có lỗi
và nếu bằng 1 thì đường truyền bị lỗi khiến dữ liệu bị thay đổi
Bit Stop: để báo hiệu sự kết thúc của gói dữ liệu, UART gửi sẽ điều khiển
đường truyền dữ liệu từ điện áp thấp đến điện áp cao trong ít nhất hai bit
Nguyên lý hoạt động:
Trang 21UART truyền sẽ nhận dữ liệu từ một bus dữ liệu Dữ liệu được truyền từ bus
dữ liệu sang UART truyền ở dạng song song rồi thêm bit start, bit parity và bit stop
để tạo gói dữ liệu Sau đó, gói dữ liệu được xuất ra dạng nối tiếp tuần tự ở chân Txrồi truyền qua chân Rx của UART nhận UART nhận đọc các gói dữ liệu nhận đượcrồi loại bỏ bit start, bit parity và bit stop Sau đó chuyển đổi dữ liệu trở lại dạngsong song
Hình 2 5: Sóng truyền UART
Hình 2 6: Quá trình truyền UART
Hình 2 7: Quá trình nhận UART
2.3.2 Chuẩn truyền thông SPI
SPI (Serial Peripheral Bus): là một chuẩn truyền thông nối tiếp tốc độ cao do
hãng Motorola đề xuất Đây là kiểu truyền thông Master-Slave, trong đó có 1 chipMaster điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởiMaster vì thế truyền thông chỉ xảy ra giữa Master và Slave SPI là một cách truyềnsong công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận cóthể xảy ra đồng thời SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4
Trang 22đường giao tiếp trong chuẩn này đó là SC (Serial Clock), MISO (Master Input SlaveOutput), MOSI (Master Ouput Slave Input) và SS (Slave Select).
SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên
cần 1 đường giữ nhịp, mỗi nhịp trên chân SC báo 1bit dữ liệu đến hoặc đi Sự tồn tạicủa chân SC giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạtrất cao Xung nhịp chỉ được tạo ra bởi chip Master
MISO (Master Input /Slave Output): Nếu là chip Master thì đây là đường
Input còn nếu là chip Slave thì MISO lại là Output MISO của Master và các Slavesđược nối trực tiếp với nhau
MOSI (Master Output / Slave Input): Nếu là chip Master thì đây là đường
Output còn nếu là chip Slave thì MOSI là Input MOSI của Master và các Slavesđược nối trực tiếp với nhau
SS (Slave Select): SS là đường chọn Slave cần giap tiếp, trên các chip Slave
đường SS sẽ ở mức cao khi không làm việc Nếu chip Master kéo đường SS củamột Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave
đó Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SStrên Master, tùy thuộc vào thiết kế của người dùng
Nguyên lí hoạt động:
Mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bit Cứ mỗi xung nhịp
do Master tạo ra trên đường giữ nhịp SCK, 1bit trong thanh ghi của Master đượctruyền qua Slave trên đường MOSI, đồng thời 1bit trong thanh ghi của chip Slavecũng được truyền qua Master trên đường MISO Do 2 gói dữ liệu trên 2 chip đượcgởi qua lại đồng thời nên quá trình truyền dữ liệu này được gọi là “song công”.Hình dưới đây mô tả quá trình truyền 1 gói dữ liệu thực hiện bởi module SPI trongAVR, bên trái là chip Master và bên phải là Slave
Trang 23Hình 2 8: Truyền dữ liệu SPI
2.4 GIỚI THIỆU VỀ MYSQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trong nhómLAMP (Linux – Apache -MySQL – PHP) trái ngược với nhóm Microsoft(Windows, IIS, SQL Server, ASP/ASP.NET), vì MySQL được tích hợp sử dụngchung với apache, PHP nên nó phổ biến nhất thế giới Vì MySQL ổn định và dễ sửdụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thốnglớn các hàm tiện ích rất mạnh (vì được nhiều người hỗ trợ mã nguồn mở) và Mysqlcũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL chính vìthế nên MySQL được sử dụng và hỗ trợ của những lập trình viên yêu thích mãnguồn mở
Nhưng Mysql không bao quát toàn bộ những câu truy vấn cao cấp như SQLServer Vì vậy Mysql chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hànhcủa website, thích hợp cho các ứng dụng có truy cập CSDL trên internet và có thểgiải quyết hầu hết các bài toán trong PHP, Perl
Nó có nhiều phiên bản cho các hệ điều hành khác nhau: Windows, Linux, MacOSX, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, …
Một số đặc điểm của MySQL
MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương với SQL Server của Microsoft)
MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu
Trang 24 MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thểđược quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một têntruy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL.
Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩucủa tài khỏan có quyền sử dụng CSDL đó
2.5.1 Giới thiệu về php
PHP vay mượn một số cú pháp từ C, Pert, Shell và Java Nó là một ngôn ngữlai, lấy các tính năng tốt nhất từ ngôn ngữ khác và tạo ra một ngôn ngữ kịch bản(script language): dễ sử dụng và mạnh mẽ Mã nguồn (code) php được sử dụng vớinhiều mục đích trong đó: đặc biệt thích hợp cho phát triển web và có thể đượcnhúng vào các mã HTML
2.5.2 Các đặc điểm của php
PHP là một ngôn ngữ lập trình web rất được ưa chuộng, hiện là ngôn ngữ lậptrình web phổ biến nhất Nhờ vào một số đặc điểm sau:
PHP dễ học và linh động
Rất nhiều hàm hỗ trợ và nhiều phần mở rộng phong phú
Đặc biệt mã nguồn mở, thường xuyên nâng cấp, chạy được trên nhiều máy chủ web, nhiều hệ điều hành (đa nền tảng)
Cộng đồng sử dụng và hỗ trợ đông đảo
Ngoài phần code chính (thường gọi là code thuần), các phần mở rộng cũngrất phong phú mà lại miễn phí như nhiều frame work, nhiều CMS
Các mã nguồn chia sẻ trên mạng tìm được rất nhiều và dễ dàng
Được tích hợp và sử dụng ổn định trong một mô hình LAMP =
Linux+Apache+Mysql+Php, mã nguồn mở, chi phí thấp
Trang 25php sang mã HTML, CSS, XML, trả ra cho máy chủ web, máy chủ web trả lạithông tin (reponse) cho máy khách Dữ liệu nhận được từ máy khách là các đoạn mãdạng text như HTML, CSS, mà không thể thấy mã php (vì đã được thực thi thànhdạng text) - đảm bảo được tính bảo mật, đây cũng là chức năng cơ bản và quantrọng của một ngôn ngữ phía máy chủ.
Ngoài ra PHP còn có thể:
Cho phép và xử lý file upload (tải file lên server)
Thiếp lập và xử lý cookie, session
Thao tác tới cơ sở dữ liệu
Xử lý dữ liệu nhận được từ form nhập liệu
Thông qua php, một trang web tĩnh (static webpage), thường chỉ phần giaodiện tại máy khách - tương tác tới máy chủ web, trở thành một trang web động (nộidung thay đổi, tùy biến theo các sự kiện, yêu cầu) - hay được gọi là dynamicwebpage
2.6 GIỚI THIỆU VỀ HTML
2.6.1 Khái niệm
HTML ( viết tắt của HyperText Markup Language, hay là "Ngôn ngữ Đánhdấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trangweb với các mẩu thông tin được trình bày trên World Wide Web Có thể hiểu nôm
na HTML là bộ khung cốt lõi của một giao diện web HTML đã trở thành mộtchuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì HTMLkhông phải là ngôn ngữ lập trình, nó là ngôn ngữ trình bày
2.6.2 Cấu trúc cây HTML cơ bản
Cấu trúc của HTML rất đơn giản và logic, với bố cục từ trên xuống dưới, từtrái qua phải, với 2 phần chính là HEAD và BODY Các website viết bằng HTMLđều tuân theo cấu trúc cơ bản như sau:
Mọi trang HTML đều phải khai báo DOCTYPE (định nghĩa chuẩn văn bản) ngay từ dòng đầu tiên
Trang 26 Thẻ <html> cho trình duyệt biết mở đầu và kết thúc của trang HTML.
Thẻ <head> chứa tiêu đề và các thông tin khai báo, các thông tin ẩn khác
Thẻ <body> sẽ hiển thị nội dung của trang web Đây là phần thông tin mà người dùng sẽ nhìn thấy khi trình duyệt đọc các mã HTML
Mọi kí tự nằm giữa dấu <!– và –> sẽ được xem là thẻ comment và sẽ bị trình duyệt bỏ qua, không xử lý và không hiển thị
2.7 GIỚI THIỆU VỀ CSS
2.7.1 Khái niệm
CSS (Cascading Style Sheets) là một ngôn ngữ được sử dụng để tìm và địnhdạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML).Nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra cácđoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm một chút
“phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thayđổi cấu trúc…
2.7.2 Tác dụng của CSS
Việc sử dụng CSS sẽ giúp hạn chế tối thiểu việc làm rối mã HTML của trangweb bằng các thẻ quy định kiểu dáng (chữ đậm, chữ in nghiêng, chữ có gạch chân,chữ màu), khiến mã nguồn của trang web được gọn gàng hơn, tách nội dung củatrang web và định dạng hiển thị, dễ dàng cho việc cập nhật nội dung
Ngoài ra, CSS giúp tạo ra các kiểu dáng có thể áp dụng cho nhiều trang web,giúp tránh phải lặp lại việc định dạng cho các trang web giống nhau
Trang 27Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Trong chương này, trình bày về cách tính toán, sơ đồ khối, phân tích lựa chọnlinh kiện, moulde, thông số kỹ thuật cơ bản của thiết bị, sơ đồ nguyên lý của cácboard mạch của hệ thống, nguyên lý hoạt động
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
Hình 3 1: Sơ đồ khối của hệ thống
Chức năng của các khối:
- Khối nguồn và pin dự phòng: Khối này có nhiệm vụ chuyển đổi điện áp từ
220VAC về 5VDC/1A để cấp nguồn cho toàn board mạch hoạt động Khimất điện áp 220VAC thì khối này có chức năng tự chuyển sang dùng nguồn
từ pin dự phòng để duy trì hoạt động của board mạch thêm được một khoảngthời gian
- Khối xử lý tín hiệu ở đồng hồ nước: Là khối có chức năng thu thập dữ liệu
từ cảm biến, xử lý tín hiệu cảm biến và truyền dữ liệu cho các khối khác như khối hiển thị và khối thu phát sóng LoRa
Trang 28- Khối thu thập dữ liệu RF LoRa và gửi dữ liệu lên database: Khối này có
chức năng kết nối với mạng Wifi và giao tiếp với khối thu phát tín hiệu RFLoRa thông qua giao tiếp UART để truyền vào nhận dữ liệu sau đó sẽ gửi lên
cơ sở dữ liệu để lưu trữ
- Khối cảm biến: có chức năng đo lượng nước tiêu thụ và gửi dữ liệu đo được
về vi điều khiển để vi điều khiển xử lý tín hiệu
- Khối thu phát RF Lora: Khối này sử dụng module thu - phát sóng RF Lora
chuyên dụng, có chức năng nhận dữ liệu từ vi điều khiển sau đó chuyển đổithành sóng RF để truyền đi và ngược lại
- Khối hiển thị : Hiển thị các thông số về lượng nước đo được lên màn hình
LCD TFT 2,4 inch để người sử dụng giám sát
- Khối Database: Khối này có chức năng lưu trữ dữ liệu từ khối thu thập dữ
liệu gửi lên
- Websever: Là trang web để hộ gia đình sử dụng và nhà cung cấp nước có thể
giám sát được lượng nước tiêu thụ trên Internet
3.2.2 Tính toán và thiết kế mạch
a Khối xử lý tín hiệu ở đồng hồ nước
Chức năng khối xử lý tín hiệu ở đồng hồ: Là khối có chức năng thu thập
dữ liệu từ cảm biến, xử lý tín hiệu cảm biến và truyền dữ liệu cho các khối khác nhưkhối hiển thị và khối thu phát sóng LoRa
Phân tích lựa chọn thiết bị: Arduino UNO R3 có thể sử dung ̣ vi điều khiển
họ 8bit AVR là Atmega328 Bộ điều khiển này có thể điều khiển led đơn, điềukhiển động cơ, xử lí các tín hiệu, thu thập dữ liệu từ cảm biến để hiển thị lên mànhình LCD, TFT và còn rất nhiều ứng dung ̣ khác mà Arduino có thể xử lý, có thểgiao tiếp dễ dàng bằng các chuẩn giao tiếp như UART, SPI, I2C
Thông số kỹ thuật chính về linh kiện đã chọn
Sử dung ̣ vi điều khiển Atmega328 họ 8 bit
Có 14 chân I/O Digital Trong đó có 6 chân có thể được sử dung ̣ là ngõ ra cấp xung PWM
Có 6 ngõ ra Analog với độ phân giải 10 bit
Điện áp khuyên dùng là từ 7V đến 12V
Trang 29 Điện áp vào giới hạn từ 6V đến 20V.
Bộ nhớ Flash: 32kB với 0,5kB được dùng cho Bootloader
2KB cho SRAM: Giá trị các biến được khai báo khi lập trình sẽ lưu ởđây Trong chương trình khai báo càng nhiều biến thì càng cần nhiều
bộ nhớ RAM
1KB cho EEPROM: lànơi có thể đọc và ghi dữ liệu vào mà không lo
bị xóa khi mất điện giống như dữ liệu trên SRAM
Sơ đồ nguyên lý của arduino UNO
Hình 3 2: Sơ đồ nguyên lý arduino UNO R3
b Khối xử lý thu thập dữ liệu và gửi dữ liệu lên database
Chức năng của khối thu thập và gửi dữ liệu lên database: giao tiếp với
khối thu phát tín hiệu RF LoRa, xử lý dữ liệu và kết nối WiFi để gửi dữ liệu lên cơ
sở dữ liệu
Phân tích lựa chọn linh kiện: Để đáp ứng được chức năng trên, ta cần phải
sử dụng chip hoặc module có thể giao tiếp UART với khối thu phát tín hiệu LoRa
và có thể kết nối WiFi nên nhóm sử dụng module điều khiển ESP8266 ESP–12ENodeMCU Module này là module truyền nhận wifi sử dụng chip ESP–12E, với lõi
vi xử lý 32 bit hoạt động với tần số 80MHz và có thể đạt tới tốc độ tối đa 160MHz,
Trang 3064KB RAM và 512KB Flash Chip sử dụng ngõ giao thức nối tiếp với tốc độ Baud
9600 (mặc định), kết nối mạng không dây, giống như một máy chủ hoặc một cầunối trung gian
Hình 3 3: Module ESP8266 NodeMCU
Thông số kỹ thuật chính về linh kiện đã chọn
GPIO tương thích hoàn toàn với firmware Node MCU
Điện áp hoạt động: 3.3V
Tích hợp Led báo trạng thái, nút Reset, Flash
Tương thích hoàn toàn với trình biên dịch Arduino
Tích hợp MCU 32 bit có công suất thấp
Tích hợp chuẩn giao thức TCP/IP
Tích hợp TR switch, balun, LNA, khuếch đại công suất và kết hợp
Trang 31 Thời gian đánh thức đến khi truyền gói tin là < 2ms.
Công suất tiêu thụ ở chế độ (DTIM3) < 1.0mW
Nhiệt độ hoạt động -40C ~ 125C
Sơ đồ nguyên lý
Hình 3 4: Sơ đồ nguyên lý module ESP8266 NodeMCU
Giải thích sơ đồ nguyên lý
Module điều khiển ESP8266 ESP–12E NodeMCU sử dụng chip ESP–12E
Trang 32Hình 3 5: Cấu trúc của chip ESP 12 được gắn trên module
Sơ đồ chân của chip ESP-12E:
Chip ESP-12E có 22 chân gồm: 2 chân cấp nguồn, 3 chân ngõ vào và 17 chân ngõ vào ra cơ bản Dưới đây là sơ đồ chân của chip
Hình 3 6: Sơ đồ chân của chip ESP
12-E Tên và chức năng từng chân của chip 12-ESP-1212-E:
Bảng 3.1 Bảng chức năng từng chân của chip ESP – 12E.
Trang 336 GPIO12 I/O Ngõ vào ra12
Module có tích hợp sẵn mạch nạp Máy tính giao tiếp với Board mạchEsp8266 thông qua một IC trung gian là CH340 (thường được thấy trong các mạch
sử dụng chip dán) IC này có nhiệm vụ chuyển đổi chuẩn giao tiếp USB thànhchuẩn giao tiếp UART để nạp chương trình hoặc giao tiếp truyền nhận dữ liệu vớimáy tính (Serial)
Mạch sử dụng thạch anh 12Mhz làm nguồn dao động Mạch dao động tạo racác xung clock giúp cho vi điều khiển hoạt động, thực thi lệnh…
Hình 3 7: Cấu trúc mạch nạp và mạch dao động trên module.
Để vi điều khiển thực hiện khởi động lại thì chân Reset phải ở mức logicLOW (0V) trong 1 khoản thời gian đủ yêu cầu Mạch reset của phải đảm bảo được
02 việc: