Đạt 2/4 các yêu cầu Nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu; nhận xét.rõ ràng; nhưng chưa đánh giá rõ ràng kết quả có tính ứng dụng thực tế.. Đạt 3/4 cá
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP -
SVTH2: Phan Tấn Kha MSSV2: 13141133
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC
PHIẾU ĐÁNH GIÁ ĐỒ ÁN TỐT NGHIỆP CỦA GIẢNG VIÊN HƯỚNG DẪN
Họ tên sinh viên: Trương Minh Châu MSSV:13141018
Tên đề tài: Thiết kế đồng hồ hiển trị trên ma trận led RGB sử dụng vi điều khiển
Tổng quan Không đúng mẫu
(Đạt 1/4 các yêu cầu)
Theo đúng mẫu; nhưng đặt vấn đề và mục tiêu chưa rõ ràng
(Đạt 2/4 các yêu cầu)
Theo đúng mẫu; đặt vấn đề và mục tiêu rõ ràng, nhưng nội dung, giới hạn
và bố cục chưa rõ ràng
(Đạt 3/4 các yêu cầu)
Theo đúng mẫu; đặt vấn đề và mục tiêu rõ ràng; nội dung thực hiện, giới hạn và bố cục rõ ràng
(Không đạt các yêu
cầu)
Trích dẫn nguồn tài liệu tham khảo theo đúng mẫu; nhưng chưa lựa chọn, khảo sát linh kiện hay dụng cụ
(Đạt 1/3 các yêu cầu)
Trích dẫn nguồn tài liệu tham khảo theo đúng mẫu; lựa chọn, khảo sát linh kiện hay dụng cụ đầy đủ; nhưng
cơ sở các lý thuyết liên quan đến đề tài chưa đầy đủ
(Đạt 2/3 các yêu cầu)
Trích dẫn nguồn tài liệu tham khảo theo đúng mẫu; lựa chọn, khảo sát linh kiện hay dụng cụ đầy đủ; cơ
sở các lý thuyết liên quan đến đề tài đầy đủ
và giải thích; nhưng thiếu
sơ đồ chi tiết cho từng khối và cả hệ thống
Có lưu đồ giải thuật đúng chuẩn và giải thích;
nhưng chưa mô tả rõ vấn
Có lưu đồ giải thuật đúng chuẩn và giải thích; mô tả rõ vấn đề thi công mạch/mô phỏng; nhưng không viết tài liệu hướng dẫn sử dụng thao tác
Có lưu đồ giải thuật đúng chuẩn và giải thích; mô tả rõ vấn đề thi công mạch/mô phỏng; viết tài liệu hướng dẫn sử dụng thao tác cho
Trang 3Kết
quả_Nhận
xét_
Đánh
giá
Chưa nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu,
(Đạt 1/4 các yêu cầu)
Nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu; nhưng thiếu nhận xét
(Đạt 2/4 các yêu cầu)
Nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu;
nhận xét.rõ ràng; nhưng chưa đánh giá rõ ràng kết quả có tính ứng dụng thực tế
(Đạt 3/4 các yêu cầu)
Nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu; nhận xét.rõ ràng; đánh giá rõ ràng kết quả có tính ứng dụng thực tế
(Đạt tất cả các yêu cầu)
Kết
luận_
Hướng phát
triển
Chưa nêu rõ những kết quả đạt được một cách
rõ ràng dựa vào mục tiêu
(Đạt 1/4 các yêu cầu)
Nêu rõ những kết quả đạt được một cách rõ ràng dựa vào mục tiêu; nhưng phương pháp và những nội dung đã đề ra chưa rõ
ràng
(Đạt 2/4 các yêu cầu)
Nêu rõ những kết quả đạt được một cách rõ ràng dựa vào mục tiêu;
phương pháp và những nội dung đã
đề ra rõ ràng; nhưng hướng phát triển
đề ra chưa hợp lý
(Đạt 3/4 các yêu cầu)
Nêu rõ những kết quả đạt được một cách rõ ràng dựa vào mục tiêu; phương pháp và những nội dung đã đề ra rõ ràng; hướng phát triển đề ra hợp lý
(Đạt tất cả các yêu cầu)
Thái độ làm
việc
Thiếu hợp tác với GVHD và thành viên
(Đạt 1/4 các yêu cầu)
Hợp tác với GVHD và nhưng thiếu hợp tác với thành viên
(Đạt 2/4 các yêu cầu)
Hợp tác với GVHD và thành viên;
nhưng thiếu tự giác và sáng tạo
(Đạt 3/4 các yêu cầu)
Hợp tác với GVHD và thành viên;
tự giác và sáng tạo trong công việc
(Đạt tất cả các yêu cầu)
Kết luận: Cho bảo vệ Không cho bảo vệ Đánh giá chung
Lưu ý: GVHD chỉ đánh giá Yếu- Trung Bình- Khá- Giỏi vào mục “Đánh giá” và “Đánh giá chung”
Nhận xét: (GV nêu những nhận xét chung về khả năng làm việc, đóng góp của sinh viên; ưu/khuyết điểm của đề tài)
………
……… ………
……… ………
……… ………
Tp Hồ Chí Minh, ngày 15 tháng 01 năm 2018
Giảng viên hướng dẫn
Trang 4TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC
PHIẾU ĐÁNH GIÁ ĐỒ ÁN TỐT NGHIỆP CỦA GIẢNG VIÊN HƯỚNG DẪN
Họ tên sinh viên: Phan Tấn Kha MSSV:13141133
Tên đề tài: Thiết kế đồng hồ hiển trị trên ma trận led RGB sử dụng vi điều khiển
Tổng quan Không đúng mẫu
(Đạt 1/4 các yêu cầu)
Theo đúng mẫu; nhưng đặt vấn đề và mục tiêu chưa rõ ràng
(Đạt 2/4 các yêu cầu)
Theo đúng mẫu; đặt vấn đề và mục tiêu rõ ràng, nhưng nội dung, giới hạn
và bố cục chưa rõ ràng
(Đạt 3/4 các yêu cầu)
Theo đúng mẫu; đặt vấn đề và mục tiêu rõ ràng; nội dung thực hiện, giới hạn và bố cục rõ ràng
(Không đạt các yêu
cầu)
Trích dẫn nguồn tài liệu tham khảo theo đúng mẫu; nhưng chưa lựa chọn, khảo sát linh kiện hay dụng cụ
(Đạt 1/3 các yêu cầu)
Trích dẫn nguồn tài liệu tham khảo theo đúng mẫu; lựa chọn, khảo sát linh kiện hay dụng cụ đầy đủ; nhưng
cơ sở các lý thuyết liên quan đến đề tài chưa đầy đủ
(Đạt 2/3 các yêu cầu)
Trích dẫn nguồn tài liệu tham khảo theo đúng mẫu; lựa chọn, khảo sát linh kiện hay dụng cụ đầy đủ; cơ
sở các lý thuyết liên quan đến đề tài đầy đủ
và giải thích; nhưng thiếu
sơ đồ chi tiết cho từng khối và cả hệ thống
Có lưu đồ giải thuật đúng chuẩn và giải thích;
nhưng chưa mô tả rõ vấn
Có lưu đồ giải thuật đúng chuẩn và giải thích; mô tả rõ vấn đề thi công mạch/mô phỏng; nhưng không viết tài liệu hướng dẫn sử dụng thao tác
Có lưu đồ giải thuật đúng chuẩn và giải thích; mô tả rõ vấn đề thi công mạch/mô phỏng; viết tài liệu hướng dẫn sử dụng thao tác cho
Trang 5Kết
quả_Nhận
xét_
Đánh
giá
Chưa nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu,
(Đạt 1/4 các yêu cầu)
Nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu; nhưng thiếu nhận xét
(Đạt 2/4 các yêu cầu)
Nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu;
nhận xét.rõ ràng; nhưng chưa đánh giá rõ ràng kết quả có tính ứng dụng thực tế
(Đạt 3/4 các yêu cầu)
Nêu được tất cả những kết quả đã làm được thông qua hình ảnh, bảng biểu; nhận xét.rõ ràng; đánh giá rõ ràng kết quả có tính ứng dụng thực tế
(Đạt tất cả các yêu cầu)
Kết
luận_
Hướng phát
triển
Chưa nêu rõ những kết quả đạt được một cách
rõ ràng dựa vào mục tiêu
(Đạt 1/4 các yêu cầu)
Nêu rõ những kết quả đạt được một cách rõ ràng dựa vào mục tiêu; nhưng phương pháp và những nội dung đã đề ra chưa rõ
ràng
(Đạt 2/4 các yêu cầu)
Nêu rõ những kết quả đạt được một cách rõ ràng dựa vào mục tiêu;
phương pháp và những nội dung đã
đề ra rõ ràng; nhưng hướng phát triển
đề ra chưa hợp lý
(Đạt 3/4 các yêu cầu)
Nêu rõ những kết quả đạt được một cách rõ ràng dựa vào mục tiêu; phương pháp và những nội dung đã đề ra rõ ràng; hướng phát triển đề ra hợp lý
(Đạt tất cả các yêu cầu)
Thái độ làm
việc
Thiếu hợp tác với GVHD và thành viên
(Đạt 1/4 các yêu cầu)
Hợp tác với GVHD và nhưng thiếu hợp tác với thành viên
(Đạt 2/4 các yêu cầu)
Hợp tác với GVHD và thành viên;
nhưng thiếu tự giác và sáng tạo
(Đạt 3/4 các yêu cầu)
Hợp tác với GVHD và thành viên;
tự giác và sáng tạo trong công việc
(Đạt tất cả các yêu cầu)
Kết luận: Cho bảo vệ Không cho bảo vệ Đánh giá chung
Lưu ý: GVHD chỉ đánh giá Yếu- Trung Bình- Khá- Giỏi vào mục “Đánh giá” và “Đánh giá chung”
Nhận xét: (GV nêu những nhận xét chung về khả năng làm việc, đóng góp của sinh viên; ưu/khuyết điểm của đề tài)
………
……… ………
……… ………
……… ………
Tp Hồ Chí Minh, ngày 15 tháng 01 năm 2018
Giảng viên hướng dẫn
Trang 6BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP
SVTH2: Phan Tấn Kha MSSV2: 13141133
Trang 7TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Chuyên ngành: CNKT Điện tử - Truyền thông Mã ngành: 141
I TÊN ĐỀ TÀI: THIẾT KẾ ĐỒNG HỒ HIỂN THỊ TRÊN LED MA TRẬN RGB
II NHIỆM VỤ
1 Các số liệu ban đầu:
Phan Văn Hoàn, “Giáo trình vi xử lý - ARM STM32”, Đại học Sư Phạm Kỹ Thuật Tp.HCM 2015
Nguyễn Đình Phú, “Thực hành vi điều khiển - ARM STM32”, Đại học Sư Phạm Kỹ Thuật Tp.HCM 2014
2 Nội dung thực hiện:
Tìm hiểu các đề tài tương tự đã có trước đó
Tìm hiểu giao thức đồng bộ thời gian mạng, truyền nhận dữ liệu từ Web server
về ESP8266
Giao tiếp ESP8266 với vi điều khiển ARM truyền dữ liệu thông qua UART
Nghiên cứu thuật toán để hiển thị thời gian ra led ma trận
Thiết kế mô hình
Nghiên cứu ngôn ngữ lập trình web với PHP, lập trình ứng dụng Android cho smart phone
Chạy thử nghiệm mô hình, cân chỉnh hệ thống
Đánh giá kết quả thực hiện
III NGÀY GIAO NHIỆM VỤ: 02/10/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/01/2018
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Đình Phú
Trang 8TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Tên đề tài: THIẾT KẾ ĐỒNG HỒ HIỂN THỊ TRÊN LED MA TRẬN RGB
Từ 13/11 đến 19/11/2017 Nghiên cứu xử lý dữ liệu nhận được
Tuần 7
Từ 20/11 đến 26/11/2017
Nguyên cứu thuật toán quét led, hiển thị
dữ liệu trên led ma trận P5 RGB Tuần 8
Trang 9LỜI CAM ĐOAN
Chúng tôi cam đoan ĐATN này là công trình nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của Thạc sĩ Nguyễn Đình Phú
Các kết quả công bố trong đề tài “Thiết kế đồng hồ hiển thị trên ma trận led RGB” là trung thực và không sao chép hoàn toàn từ công trình nào khác
Trương Minh Châu
Trang 11LỜI CẢM ƠN
Trong quá trình làm đồ án tốt nghiệp, chúng em đã nhận được rất nhiều sự ủng hộ, giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè
Chúng em xin gửi lời cảm ơn chân thành đến Thầy Nguyễn Đình Phú – Giảng
viên chính, Phó bộ môn Điện Tử Công nghiệp, Trường Đại học Sư phạm Kỹ thuật Tp.HCM đã tận tình hướng dẫn chỉ bảo trong suốt thời gian làm đồ án tốt nghiệp Thầy
đã tạo nhiều điều kiện và cho những lời khuyên quý báu giúp chúng em hoàn thành tốt khóa luận này
Xin chân thành cảm ơn thầy cô giáo trong Trường Đại học Sư phạm Kỹ thuật Tp.HCM nói chung, các thầy cô trong Bộ môn Điện tử Công nghiệp nói riêng đã tận tình giảng dạy, truyền đạt cho chúng em những kiến thức quý báu và tạo điều kiện giúp đỡ trong suốt quá trình học tập trong những năm học vừa qua, giúp chúng em có được cơ sở
Chúng em xin chân thành cảm ơn!
Người thực hiện đề tài
Phan Tấn Kha Trương Minh Châu
Trang 13MỤC LỤC
Trang bìa i
Nhiệm vụ đồ án ii
Lịch trình iii
Cam đoan iv
Lời cảm ơn v
Mục lục vi
Liệt kê hình vẽ x
Liệt kê bảng vẽ ……… xv
Tóm tắt xvii
CHƯƠNG 1 TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.3 Mục tiêu 1
1.4 Giới hạn 2
1.5 Nội dung nghiên cứu 2
1.6 Bố cục 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.1 Tổng quan về Internet 4
2.1.1 Giới thiệu 4
2.1.2 Hoạt động của mạng Internet 4
a Các giao thức (Protocols) 4
b Địa chỉ IP (IP Address) 5
c Mô hình Khách – Chủ (Client – Server Model) 5
d Hệ thống tên miền (DNS – Domain Name System) 5
2.1.3 Kết nối Internet 6
2.1.4 Giao thức TCP/IP 6
2.1.5 Công nghệ Internet 8
2.2 Tổng quan về Website, Web server, Giao thức MQTT, CSDL 10
2.2.1 Các thành phần cơ bản của Website 10
2.2.2 Cách thứ hoạt động của Website 11
Trang 142.2.4 Tương tác giữa người dùng và webserver 12
2.2.5 Khái quát về ngôn ngữ PHP 12
2.2.6 Giao thứ MQTT 13
2.2.7 Khái quát hệ quản trị CSDL MySQL 18
2.3 Giới thiệu phần cứng 19
2.3.1 Ma trận led RGB 19
a Giới thiệu tổng quan 19
b Module led Indoor SMD 23
2.3.2 Vi điều khiển 25
a Giới thiệu tổng quan các vi điều khiển 25
b Giới thiệu vi điều khiển ARM STM32F1x 36
2.3.3 Thiết bị ngoại vi module wifi ESP 42
a Giới thiệu chip ESP8266 dùng trong module wifi 43
b Giới thiệu ESP8266 - 01 43
c Giới thiệu ESPRESSO LITE V2.0 25
2.3.4 Thiết bị thời gian thực 47
a Giới thiệu các IC thời gian thực 47
b Giới thiệu mạch thời gian thực RTC DS13B07 51
2.3.5 Các chuẩn truyền dữ liệu 52
a Chuẩn truyền UART 52
b Chuẩn truyền I2C 53
CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ 55
3.1 Giới thiệu 55
3.2 Tính toán và thiết kế hệ thống 55
3.2.1 Thiết kế sơ đồ khối hệ thống 55
3.2.2 Tính toán và thiết kế mạch 56
a Thiết kế khối hiển thị 56
b Thiết kế khối điều khiển ngoại vi 61
c Thiết kế khối xử lý trung tâm 66
d Thiết kế khối nguồn 69
3.2.3 Sơ đồ nguyên lý toàn mạch 71
CHƯƠNG 4 THI CÔNG HỆ THỐNG 73
Trang 154.2 Thi công hệ thống 73
4.2.1 Thi công bo mạch 73
4.2.2 Lắp ráp và kiểm tra 74
a Lắp ráp 2 module led với nhau 74
b Lắp ráp các module lên bo mạch 74
c Lắp ráp khối nguồn 75
4.3 Đóng gói và thi công mô hình 76
4.3.1 Đóng gói sản phẩm 76
4.4 Lập trình hệ thống 77
4.4.1 Lưu đồ giải thuật 77
a Trình tự điều khiển và hoạt động của sản phẩm 77
b Lưu đồ giải thuật 77
4.4.2 Phần mềm lập trình cho vi điều khiển 92
a Giới thiệu phần mềm lập trình 92
b Viết chương trình hệ thống 98
4.4.3 Phần mềm lập trình cho điện thoại, máy tính 100
a Phần mềm Android Studio 100
b Phần mềm lập trình web server 109
4.5 Lập trình mô phỏng 110
4.5.1 Xử lý hình ảnh 110
a Xử lý từng mảng màu 111
b Tạo mã bit từ ảnh bit map 113
4.6 Tài liệu hướng dẫn sử dụng, thao tác 114
4.6.1 Tài liệu hướng dẫn sử dụng 114
4.6.2 Quy trình thao tác 117
CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 119
5.1 Tổng quan kết quả 119
5.2 Kết quả đạt được 119
5.2.1 Giao diện web 119
5.2.2 Giao diện App Android 121
5.2.3 Kết quả mạch thực tế 124
5.3 Nhận xét và đánh giá 126
5.3.1 Nhận xét kết quả đạt được 126
Trang 16CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 128
6.1 Kết luận 128
6.2 Hướng phát triển 129
TÀI LIỆU THAM KHẢO 130
PHU LỤC 132
Trang 17LIỆT KÊ HÌNH VẼ
Hình Trang
Hình 2.1 Kiến trúc TCP/IP 7
Hình 2.2 Cấu trúc khung tin Ethernet 9
Hình 2.3 Một vài tên miền thông dụng 11
Hình 2.4 Cách thức một website hoạt động 11
Hình 2.5 Cách thức ngôn ngữ php nhúng vào html 13
Hình 2.7 Ví dụ về kết nối trong mạng lưới MQTT 14
Hình 2.8 Kiến trúc mức cao của MQTT 14
Hình 2.9 Mô hình cơ bản của giao thức MQTT 15
Hình 2.10 QoS mức 0 17
Hình 2.11 QoS mức 1 17
Hình 2.12 QoS mức 2 17
Hình 2.13 Mặt trước của module led RGB 20
Hình 2.14 Mặt sau của module led RGB 20
Hình 2.15 Module led P10 20
Bảng 2.1 Thông số kỹ thuật module P5 Indoor SMD 22
Hình 2.16 Module led Indoor SMD 23
Hình 2.17 Sơ đồ chân ngõ của Module led Indoor SMD 24
Bảng 2.2 Chức năng các chân Module led Indoor SMD 24
Hình 2.18 Bus dây dùng để kết nối các chân ngõ vào của module P5 25
Hình 2.19 PIC 18F4550 25
Hình 2.20 Sơ đồ chân PIC 18F4550 26
Bảng 2.3 Thông số kỹ thuật PIC 18F4550 26
Hình 2.21 Vi điều khiển AT89S52 27
Hình 2.22 Sơ đồ chân của AT89S52 28
Hình 2.23 RASPBERRY PI-2 29
Hình 2.24 Sơ đồ chân RASPBERRY PI-2 29
Hình 2.25 Board arduino uno 30
Bảng 2.4 Thông số kỹ thuật của Arduino Uno: 31
Bảng 2.5 Các dòng phát triển của ARM 32
Trang 18Hình 2.27 Sơ đồ khối ARM Cortex – M3 34
Hình 2.28 Kit mini ARM STM32F103C8T6 35
Hình 2.29 Sơ đồ chân kit mini STM32F103C8T6 35
Hình 2.30 Sơ đồ chân vi xử lý STM32F103C8T6 36
Bảng 2.6 Địa chỉ của các ngoại vi trong họ ARM STM32F1 37
Bảng 2.7 Phạm vi main block của các dòng ARM 40
Bảng 2.8 Bảng phân chia số cấp ưu tiên gữa PreemptionPriority và SubPriority: 42
Hình 2.31 Các module họ ESP 43
Hình 2.32 Module ESP8266-01 44
Hình 2.33 Sơ đồ chân của module ESP8266-01 44
Hình 2.34 Module ESPresso Lite V2.0 45
Hình 2.35 Sơ đồ chân ESPresso Lite V2.0 47
Bảng 2.9 Thông số kỹ thuật của DS12C887 47
Bảng 2.10 Thông số kỹ thuật của DS13B02 48
Hình 2.36 Sơ đồ chân DS13B07 49
Hình 2.37 Cấu trúc bên trong DS13B07 50
Hình 2.38 Tổ chức thanh ghi thời gian và bộ nhớ DS13B07 50
Hình 2.39 Module RTC DS13B07 tích hợp chuẩn I2C 52
Hình 2.40 Sơ đồ chân module RTC DS13B07 52
Hình 2.41 Hệ thống truyền dữ liệu bất đồng bộ 53
Hình 2.42 Hệ thống các thiết bị giao tiếp theo chuẩn I2C 53
Hình 3.1 Cấu trúc sơ đồ khối của hệ thống 56
Hình 3.2 Module Led P5 32cm x 32cm 59
Hình 3.3 Sơ đồ kết nối 2 module led P5 59
Hình 3.4 Sơ đồ chân kết nối ngõ vào và ngõ ra của led P5 60
Hình 3.5 Sơ đồ nguyên lý led ma trix P5 60
Hình 3.6 Sơ đồ nguyên lý khối hiển thị 61
Hình 3.7 Module RTC DS13B07 62
Hình 3.8 Sơ đồ nguyên lý DS13B07 63
Hình 3.9 ESP8266 Espresso Lite V2.0 63
Hình 3.10 Sơ đồ chân ESPresso Lite V2.0 64
Trang 19Hình 3.12 Sơ đồ kết nối ESPRESSO LITE V2.0 65
Hình 3.13 Sơ đồ nguyên lý khối điều khiển ngoại vi 65
Hình 3.14 Các dòng ARM của hãng ST 67
Hình 3.15 Module STM32F103C8T6 68
Hình 3.16 Sơ đồ chân kit STM32F103C8T6 68
Hình 3.17 Sơ đồ chân MCU 68
Hình 3.18 Sơ đồ nguyên lý khối điều khiển 69
Hình 3.19 Sơ đồ chân AMS1117 70
Hình 3.20 Sơ đồ kết nối AMS1117 70
Hình 3.21 Bộ đổi nguồn 5V 40A 71
Hình 3.22 Sơ đồ nguyên lý toàn mạch 72
Hình 4.1 Sơ đồ mạch in của hệ thống 74
Hình 4.2 Lắp ráp module lên board mạch 75
Hình 4.3 Mặt trước của sản phẩm sau khi đóng gói 76
Hình 4.4 Mặt trên của sản phẩm sau khi đóng gói 76
Hình 4.5 Lưu đồ chương trình chính 78
Hình 4.6 Lưu đồ CTC hiển thị logo trường Sư Phạm Kỹ Thuật TP.HCM 79
Hình 4.7 Lưu đồ chương trình con hiển thị giao diện đồng hồ kim 80
Hình 4.8 Lưu đồ chương trình con hiển thị giao diện đồng hồ số 81
Hình 4.9 Lưu đồ chương trình con hiển thị giao diện đồng hồ tổng hợp 82
Hình 4.10 Lưu đồ chương trình con hiển thị hiệu ứng đồng kim 83
Hình 4.11 Lưu đồ chương trình con hiển thị hiệu ứng đồng số 84
Hình 4.12 Lưu đồ chương trình con xuất dữ liệu ra module Led RGB 85
Hình 4.13 Lưu đồ chương trình con ngắt timer 86
Hình 4.14 Lưu đồ chương trình con kiểm tra uart 87
Hình 4.15 Lưu đồ chương trình web server 88
Hình 4.16 Lưu đồ chương trình truyền nhận dữ liệu qua module esp 89
Hình 4.17 Lưu đồ chương trình App android 91
Hình 4.18 Bắt đầu quá trình cài đặt 92
Hình 4.19 Tiếp tục cài đặt 93
Hình 4.20 Chọn đường dẫn lưu thư mục cài 93
Hình 4.21 Điền thông tin 94
Trang 20Hình 4.22 Đang trong quá trình cài đặt 94
Hình 4.23 Quá trình cài đặt kết thúc 95
Hình 4.24 Cài đặt các dòng chip sử dụng 95
Hình 4.25 Cài đặt dòng chip và hoàn tất 96
Hình 4.26 Biểu tượng phần mềm 96
Hình 4.27 Giao diện lập trình 96
Hình 4.28 Giao diện phần mềm Arduino IDE 97
Hình 4.29 Truy cập vào trang web và tiến hành tải file cài đặt 101
Hình 4.30 Tải file cài về máy 101
Hình 4.31 Thư mục chưa file cài 102
Hình 4.32 Java đã được cài đặt 102
Hình 4.33 Mở file cài đặt 103
Hình 4.34 Lựa chọn các gói cài đặt 104
Hình 4.35 Tiếp tục cài 104
Hình 4.36 Lựa chọn thư mục cài 105
Hình 4.37 Tiếp tục quá trình cài đặt 105
Hình 4.38 Quá trình cài đặt hoàn tất 106
Hình 4.39 Request import 106
Hình 4.40 Lựa chọn kiểu cài đặt 107
Hình 4.41 Lựa chọn theme 107
Hình 4.42 Download và cài đặt các thành phần cần thiết 108
Hình 4.43 Tạo project mới 108
Hình 4.44 Giao diện lập trình 109
Hình 4.45 Phần mềm notepad++ 110
Hình 4.46 Cách phối màu từ ba màu cơ bản RGB 111
Hình 4.47 Logo Trường Sư phạm Kỹ Thuật 111
Hình 4.48 Mảng màu đỏ được tách ra 112
Hình 4.49 Mảng màu xanh dương được tách ra 112
Hình 4.50 Mảng màu xanh lá được tách ra 112
Hình 4.51 Tạo font bit map của mảng màu xanh dương từ phần mềm 113
Hình 4.52 Dữ liệu mã bit của ảnh màu xanh dương 114
Trang 21Hình 4.54 Đăng nhập trên app 115
Hình 4.55 Giao diện trên app 115
Hình 4.56 Giao diện trên web sever 116
Hình 4.57 Lưu đồ vận hành sản phẩm 117
Hình 5.1 Giao diện trang đăng nhập 120
Hình 5.2 Giao diện trang điều khiển 120
Hình 5.3 Giao diện thông báo kết nối thành công 121
Hình 5.4 Giao diện ngắt kết nối 121
Hình 5.5 Giao diện khi mở ứng dụng 122
Hình 5.6 Giao diện khi thiết lập 122
Hình 5.7 Giao diện mới sau khi thiết lập 123
Hình 5.8 Giao diện khi kết nối thành công 123
Hình 5.9 Giao diện khi ngắt kết nối 124
Hình 5.10 Mạch điều khiển thực tế sau khi thi công 124
Hình 5.11 Giao diện đồng hồ kim 125
Hình 5.12 Giao diện đồng hồ số 125
Hình 5.13 Giao diện logo HCMUTE 126
Hình 5.14 Giao diện đồng hồ hiển thị ngày tháng năm 126
Trang 22LIỆT KÊ BẢNG
Bảng Trang
Bảng 2.1 Thông số kỹ thuật module P5 Indoor SMD 22 Bảng 2.2 Chức năng các chân Module led Indoor SMD 24 Bảng 2.3 Thông số kỹ thuật PIC 18F4550 26 Bảng 2.4 Thông số kỹ thuật của Arduino Uno: 31 Bảng 2.5 Các dòng phát triển của ARM 32 Bảng 2.6 Địa chỉ của các ngoại vi trong họ ARM STM32F1 37 Bảng 2.7 Phạm vi main block của các dòng ARM 40 Bảng 2.8 Bảng phân chia số cấp ưu tiên gữa PreemptionPriority và SubPriority 42 Bảng 2.9 Thông số kỹ thuật của DS12C887 47 Bảng 2.10 Thông số kỹ thuật của DS13B02 48 Bảng 3.1 Bảng kết nối STM32F103C8T6 với module ngoại vi 65 Bảng 3.2 Thông số kỹ thuật của kit STM32F103C8T6 68 Bảng 4.1 Danh sách các linh kiện: 74
Trang 23DANH SÁCH CÁC TỪ VIẾT TẮT
WWW: World Wild Web
TCP: Transmission Control Protocol
UDP: User Datagram Protocol
IP: Internet Protocol
HTTP: Hyper Text Transfer Protocol
FTP: File Transfer Protocol
SMTP: Simple Mail Transfer Protocol
POP3: Post Office Protocol, phiên bản 3
DNS: Domain Name System
ARP: Address Resolution Protocol
ICMP: Internet Control Message Protocol
IGMP: Internet Group Management Protocol
DHCP: Dynamic Host Configuration Protocol
SNMP: Simple Network Mannagement Protocol
TFTP: Trivial File Transfer Protocol
CSDL: Cơ Sở Dữ Liệu
MQTT: Message Queuing Telemetry Transport
SQL: Structured Query Language
SMD: Surface Mount Device
ARM: Advanced RISC Machine
UART: Universal Asynchronous Receiver – Transmitter
I2C: Inter-Integrated Circuit
SDA: Serial Data
SCL: Serial Clock
RTC: Real Time Clock
Trang 24Nội dung tập trung nghiên cứu giao thức đồng bộ thời gian mạng, giao thức truyền dữ liệu từ Webserver về ESP và giao tiếp giữa vi điều khiển với các module ngoại vi Ngoài ra, còn tìm hiểu và nghiên cứu thuật toán quét để hiển thị dữ liệu trên led ma trận
Thiết bị hoạt động dùng vi điều khiển để xử lý nên có độ chính xác cao, giao tiếp trực tiếp với các module thông dụng thành thể thống nhất Vì vậy, thiết bị cũng như một người bạn giúp chúng ta và những người thân trong gia đình có thể sắp xếp, khắc phục các rủi ro trong quá trình làm việc và quản lý thời gian tốt hơn, chính xác hơn với độ tin cậy cao
Trang 25Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Đối với mỗi con người, thời gian là một trong những thứ quan trọng nhất, quý giá hơn bạc vàng Vì khi thời gian đã trôi qua đi thì sẽ không bao giờ trở lại được nên chúng ta cần phải trân trọng từng giây phút, sử dụng nó một cách hợp lý và hiệu quả nhất Nếu mỗi người trong chúng ta biết cách sắp xếp thời gian thì chúng ta có thể hoàn thành mọi mục tiêu được đề ra, cải thiện hiệu suất làm việc và đạt được nhiều điều mà ít tốn công sức hơn Ngoài ra, chúng ta sẽ không bao giờ hối hận vì bỏ lỡ những giây phút quý báu bên gia đình thân yêu Còn riêng về quá trình sản xuất trong công nghiệp, thời gian là thứ chủ chốt để gia tăng năng suất, kinh tế và đem lại uy tín
từ sự cạnh tranh của các tập đoàn trong xã hội
Hiện nay, trên thị trường chỉ có một số loại đồng hồ kim và đồng hồ số đơn giản thông thường dùng để xem giờ Thiết kế đồng hồ hiện thị trên ma trận led RGB dùng
vi điều khiển nhằm mục đích hỗ trợ người dùng theo dõi quản lý và kiểm soát quỹ thời gian của mình để làm việc tốt hơn Ngoài ra, trong quá trình sử dụng có thể cập nhật chính xác thời gian theo giờ quốc tế Đồng thời đây cũng là một sản phẩm gần gũi, có tính mới lạ đẹp mắt và dễ dàng sử dụng, đặc biệt là tiềm năng về thương mại hóa tạo nên nguồn kinh tế
Thiết bị hoạt động dùng vi điều khiển để xử lý nên có độ chính xác cao, giao tiếp trực tiếp với các module thông dụng thành thể thống nhất Vì vậy, thiết bị cũng như một người bạn giúp chúng ta và những người thân trong gia đình có thể sắp xếp, khắc phục các rủi ro trong quá trình làm việc và quản lý thời gian tốt hơn, chính xác hơn với
độ tin cậy cao
1.2 MỤC TIÊU
Hiển thị được đồng hồ trên module led ma trận P5 RGB một cách trực quan và chính xác
Trang 26 Hiển thị và cập nhật thời gian các nước trên thế giới một cách nhanh chóng thông qua ứng dụng trên điện thoại Đồng thời xây dựng website quản trị và điều khiển thông qua Internet
Giao diện điều khiển đơn giản, thẩm mỹ, dễ sử dụng
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ế đồng hồ hiển thị trên module led P5 RGB, 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: Kết nối ESP8266 với Internet để cập nhật giờ hệ thống và lấy giờ quốc tế
NỘI DUNG 2: Giao tiếp ESP8266 với vi điều khiển STM32F103C8T6 truyền
dữ liệu thông qua UART
NỘI DUNG 3: Thiết kế mô hình
NỘI DUNG 4: Nghiên cứu lập trình để hiển thị thời gian ra led ma trận
NỘI DUNG 5: Nghiên cứu ngôn ngữ lập trình web PHP, lập trình ứng dụng Android
NỘI DUNG 6: Chạy thử nghiệm mô hình, cân chỉnh hệ thống
NỘI DUNG 7: Đánh giá kết quả thực hiện
1.4 GIỚI HẠN
Các thông số giới hạn của đề tài bao gồm:
Kích thước của đồng hồ: 32cm x 10 cm x 32cm Sử dụng 2 module P5 RGB ghép lại
Cập nhật thời gian thông quan ứng dụng điện thoại hoặc website
Hệ thống có thể sử dụng trong nhà hoặc ngoài trời
1.5 BỐ CỤC
Đề tài “Thiết kế đồng hồ hiển thị trên module led ma trận P5 RGB” được trình bày với bố cục như sau:
Trang 27Chươ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 2: Cơ Sở Lý Thuyết
Chương này trình bày quy tình hoạt động, giới thiệu phần cứng, giới thiệu chuẩn giao tiếp, các ngôn ngữ lập trình web như HTML, PHP, ngôn ngữ lập trình ứng dụng Android
Chương 3: Thiết Kế và Tính Toán
Chương này thiết kế sơ đồ khối hệ thống, giải thích chức năng các khối, lựa chọn linh kiện, tính toán và thiết kế mạch điều khiển, khối nguồn, khối hiển thị, thiết kế website, sơ đồ kết nối và sơ đồ nguyên lý toàn mạch
Chương 4: Thi công hệ thống
Chương này trình bày lưu đồ giải thuật chính, lưu đồ giải thuật con và giải thích, thi công mạch, sơ đồ mạch layout, lắp ráp, kiểm tra đóng gói sản phẩm, thi công mô hình, lập trình code hệ thống
Chương 5: Kết quả, Nhận xét, Đánh giá
Chương này trình bày kết quả mô hình, giao diện điều khiển website, ứng dụng diện thoại từ đó đưa ra đánh giá, nhận xét
Chương 6: Kết Luận và Hướng Phát Triển
Chương này nêu lên kết luận chung về những gì đã thực hiện đồng thời đúc kết lại ưu khuyết điểm để đưa ra hướng phát triển cho đề tài
Trang 29Chương 2 CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ INTERNET
2.1.1 Giới thiệu[3]
Internet là một hệ thống thông tin toàn cầu có thể được truy nhập công cộng gồm các mạng máy tính được liên kết với nhau Hệ thống này truyền thông tin theo kiểu nối chuyển gói dữ liệu (packet switching) dựa trên một giao thức liên mạng đã được chuẩn hóa (giao thức IP) Hệ thống này bao gồm hàng ngàn mạng máy tính nhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và các trường đại học, của người dùng cá nhân,
và các chính phủ trên toàn cầu Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên internet
Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, một trong các tiện ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến (chat), máy truy tìm dữ liệu (search engine), các dịch vụ thương mãi và chuyển ngân, và các dịch vụ về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học
ảo
Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ thống các trang Web liên kết với nhau và các tài liệu khác trong WWW (World Wide Web) Trái với một số cách sử dụng thường ngày, Internet và WWW không đồng nghĩa Internet là một tập hợp các mạng máy tính kết nối với nhau bằng dây đồng, cáp quang còn WWW, hay Web, là một tập hợp các tài liệu liên kết với nhau bằng các siêu liên kết (hyperlink) và các địa chỉ URL, và nó có thể được truy nhập bằng cách sử dụng Internet
2.1.2 Hoạt động của mạng Internet
a) Các giao thức (Protocols):
Giao thức là tập các luật mà các máy tính phải tuân theo khi giao tiếp trên Internet Gồm có:
Trang 30 TCP (Transmission Control Protocol): thiết lập kết nối giữa hai máy tính để truyền tải dữ liệu, chia dữ liệu thành những gói nhỏ và đảm bảo việc truyền nhận dữ liệu TCP là giao thức hướng kết nối (connection-oriented protocol)
UDP (User Datagram Protocol): thiết lập kết nối nhanh nhưng không chắc chắn giữa các máy tính để truyền tải dữ liệu, cung cấp ít dịch vụ để khắc phục lỗi
IP (Internet Protocol): điều chỉnh đường đi của những gói dữ liệu đường truyền nhận trên Internet TCP là giao thức phi kết nối (connectionless protocol)
HTTP (Hyper Text Transfer Protocol): cho phép trao đổi thông tin trên Internet
FTP (File Transfer Protocol): cho phép truyền nhận file trên Internet
SMTP (Simple Mail Transfer Protocol): cho phép gửi thư điện tử trên Internet
POP3 (Post Office Protocol, phiên bản 3): cho phép nhận thư điện tử trên Internet
TCP/IP được dùng làm giao thức chuẩn khi giao tiếp trên Internet vì nó độc lập với nền của hệ thống (platform independent) và không có tổ chức nào có quyền sở hữu giao thức này
b) Địa Chỉ IP (IP Adress)
Internet là một mạng kết nói rộng lớn giữa các máy tính Để xác định một máy tính trên mạng này, người ta dùng một con số được gọi là địa chỉ IP Địa chỉ IP gồm tập hợp 4 số nhỏ hơn 255 và được ngăn cách bởi các dấu ‘.’ Ví dụ: 42.212.196.197
c) Mô Hình Khách – Chủ (Client – Server Model)
Internet dựa trên mô hình khách – chủ (client – server), trong đó dữ liệu được trao đổi thông qua các trang web Trong mô hình khách - chủ, mỗi máy tính được xác định bởi một địa chỉ Internet protocol (IP) và cả máy tính client, server cùng chấp nhận một giao thức chung để giao tiếp với nhau
Trong mô hình khách - chủ, máy khách (client computer) yêu cầu thông tin từ một máy chủ (server) Máy chủ chấp nhận yêu cầu và gửi thông tin về cho máy khách Việc trao đổi thông tin này được diễn ra thông qua những trang web
d) Hệ Thống Tên Miền (DNS- Domain Name System)
Trang 31Mỗi máy tính trên mạng Internet được xác định bằng địa chỉ IP, nhưng con số này rất khó nhớ Để khắc phục nhược điểm này, người ta dùng hệ thống tên miền để đặt tên cho máy tính Ví dụ: tên miền www.yahoo.com ứng với địa chỉ IP 216.109.127.28 request web page miền (domain) ứng với một tập các máy tính trên internet Phần mở rộng của tên miền (domain name extension) được dùng để xác định quốc gia hay tổ chức
2.1.3 Kết nối Internet
Để kết nối với Internet đảm bảo các yêu cầu về phần cứng và phần mềm sau:
Phần cứng: máy tính, kết nối thông qua đường dây điện thoại hoặc kết nối cáp, modem
Phần mềm: kết nối internet, hệ điều hành, giao thức TCP/IP, trình duyệt web Các yêu cầu thiết yếu khi kết nối với Internet: kết nối với Internet thông qua một nhà cung cấp Internet (Internet Service Provider), modem, trình duyệt và địa chỉ URL
2.1.4 Giao thức TCP/IP
TCP/IP là bộ giao thức cho phép kết nối các hệ thống mạng không đồng nhất với nhau TCP/IP là viết tắt của Transmission Control Protocol (giao thức điều khiển truyền thông)/ Internet Protocol (giao thức Internet), ngày nay TCP/IP được sử dụng rộng rãi trong các mạng cục bộ cũng như trên mạng Internet toàn cầu TCP/IP không chỉ gồm hai giao thức mà thực tế nó là tập hợp của nhiều giao thức Chúng ta gọi nó là một hệ giao thức hay một bộ giao thức (Suite of Protocols)
TCP/IP được xem là giản lược của mô hình tham chiếu OSI với bốn tầng, trong
mô hình này là (theo thứ tự từ trên xuống):
Trang 32Hình 2.1 Kiến trúc TCP/IP
Tầng liên mạng (Network Interface Layer): tầng liên mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từ phương tiện truyền dẫn Tầng này bao gồm các thiết bị giao tiếp mạng (Card Mạng và Cáp Mạng) và chương trình cung cấp các thông tin cần thiết
để có thể hoạt động, truy nhập đường truyền vật lý qua thiết bị giao tiếp mạng đó Tầng mạng (Internet Layer): nằm trên tầng liên mạng Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu Bốn giao thức quan trọng nhất trong tầng này gồm:
IP (Internet Protocol): có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định tuyến chúng tới đích
ARP (Address Resolution Protocol): có chức năng biên dịch địa chỉ IP của máy đích thành địa chỉ MAC (Media Access Control)
ICMP (Internet Control Message Protocol): có chức năng thông báo lỗi trong trường hợp truyền dữ liệu bị hỏng
IGMP (Internet Group Management Protocol): có chức năng điều khiển truyền đa hướng (Multicast)
Tầng giao vận (Transport Layer): có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cách truyền dữ liệu 2 giao thức chính trong tầng này
Trang 33gồm có hai giao thức chính: TCP (Transmission Control Protocol) và UDP (User Datagram Protocol)
TCP cung cấp các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu một cách tin cậy, nó cung cấp một luồng dữ liệu tin cậy giữa hai trạm, nó sử dụng các
cơ chế như chia nhỏ các gói tin của tầng trên thành các gói tin có kích thước thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn chế thời gian time-out để đảm bảo bên nhận biết được các gói tin đã gửi đi TCP thường truyền các gói tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận Do tầng này đảm bảo tính tin cậy, tầng trên sẽ không cần quan tâm đến nữa
UDP cung cấp một dịch vụ đơn giản hơn cho tầng ứng dụng UDP cung cấp kênh truyền thông phi kết nối, nó chỉ gửi các gói dữ liệu từ trạm này tới trạm kia mà không đảm bảo các gói tin đến được tới đích Các ứng dụng dùng UDP thường chỉ truyền những gói có kích thước nhỏ, độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng
Các cơ chế đảm bảo độ tin cậy cần được thực hiện bởi tầng trên
Tầng ứng dụng (Application Layer): tầng ứng dụng là tầng trên cùng của mô hình TCP/IP bao gồm các tiến trình và các ứng dụng cung cấp cho người sử dụng để truy cập mạng Một số giao thức thông dụng trong tầng này là:
DHCP (Dynamic Host Configuration Protocol): giao thức cấu hình trạm động DNS (Domain Name System): hệ thống tên miền
SNMP (Simple Network Mannagement Protocol): giao thức quản lý mạng đơn giản
FTP (File Transfer Protocol): giao thức truyền tập tin
TFTP (Trivial File Transfer Protocol): giao thức truyền tập tin bình thường SMTP (Simple Mail Transfer Protocol): giao thức truyền thư đơn giản
2.1.5 Công Nghệ Internet
Hơn 20 năm trước, Ethernet ra đời mang lại một mạng truyền dữ liệu nối tiếp tốc
độ cao; tới nay, nó đã trở thành một chuẩn được chấp nhận khắp thế giới, và là giao thức thống trị các mạng LAN Hơn 85% kết nối mạng được cài đặt trên thế giới là
Trang 34Ethernet Tốc độ truyền dữ liệu phổ biến nhất của Ethernet là 10 triệu bit/s (10 Mbps), mặc dù vậy, hầu hết các mạng hiện nay đang được nhanh chóng nâng cấp lên Fast Ethernet với tốc độ 100 Mbps Ethernet thường gắn với hệ điều khiển công nghiệp qua một điều khiển độc lập kết nối với PC hay mạng bằng cáp Ethernet
Ngày 22 tháng 5 năm 1973, Robert Metcalfe thuộc Trung Tâm nghiên cứu PaltoAlto của hãng Xerox-PARC, bang California, đã đưa ra ý tưởng hệ thống kết nối mạng máy tính cho phép các máy tính có thể truyền dữ liệu với nhau và với máy in lazer Lúc này, các hệ thống tính toán lớn đều được thiết kế dựa trên các máy tính trung tâm đắt tiền(mainframe) Điểm khác biệt lớn mà Ethernet mang lại là các máy tính có thể trao đổi thông tin trực tiếp với nhau mà không cần qua máy tính trung tâm
Mô hình mới này làm thay đổi thế giới công nghệ truyền thông
Chuẩn Ethernet 10Mbps đầu tiên được xuất bản năm 1980 bởi sự phối hợp phát triển của 3 hãng: DEC, Intel và Xerox Chuẩn này có tên DIX Ethernet (lấy tên theo 3 chữ cái đầu của tên các hãng) Uỷ ban 802.3 của IEEE đã lấy DIX Ethernet làm nền tảng để phát triển Năm 1985, chuẩn 802.3 đầu tiên đã ra đời với tên IEEE 802.3 Carrier Sense Multiple Access with Collition Detection (CSMA/CD) Access Method versus Physical Layer Specification Mặc dù không sử dụng tên Ethernet nhưng hầu hết mọi người đều hiểu đó là chuẩn của công nghệ Ethernet Ngày nay chuẩn IEEE 802.3 là chuẩn chính thức của Ethernet IEEE đã phát triển chuẩn Ethernet trên nhiều công nghệ truyền dẫn khác nhau vì thế có nhiều loại mạng Ethernet Các chuẩn Ethernet đều hoạt động ở tầng Data Link trong mô hình 7 lớp OSI vì thế đơn vị dữ liệu
mà các trạm trao đổi với nhau là các khung (frame) Cấu trúc khung Ethernet như sau:
Trang 35Các trường quan trọng trong phần mào đầu sẽ được mô tả dưới đây:
Preamble: trường này đánh dấu sự xuất hiện của khung bit, nó luôn mang giá trị
10101010 Từ nhóm bit này, phía nhận có thể tạo ra xung đồng hồ 10 Mhz
SFD (start frame delimiter): trường này mới thực sự xác định sự bắt đầu của một khung Nó luôn mang giá trị 10101011
Các trường Destination và Source: mang địa chỉ vật lý của các trạm nhận và gửi khung, xác định khung được gửi từ đâu và sẽ được gửi tới đâu
LEN: giá trị của trường nói lên độ lớn của phần dữ liệu mà khung mang theo
FCS mang CRC (cyclic redundancy checksum): phía gửi sẽ tính toán trường này trước khi truyền khung Phía nhận tính toán lại CRC này theo cách tương
tự Nếu hai kết quả trùng nhau, khung được xem là nhận đúng, ngược lại khung coi như là lỗi và bị loại bỏ
2.2 TỔNG QUAN VỀ WEBSITE, WEB SERVER, GIAO THỨC MQTT, CSDL VÀ HỆ THỐNG TỆP MÃ NGUỒN[3]
2.2.1 Các thành phần cơ bản của website
Các thành phần cơ bản của website bao gồm: tên miền, webhosting, source code Một website được xây dựng cũng giống như một ngôi nhà Địa chỉ cho ta biết địa chỉ nhà, ngôi nhà sẽ được đặt trên một mảnh đất, và cuối cùng là các loại vật liệu cấu tạo như cát đá thép vữa để xây dựng nên ngôi nhà
Một website cũng vậy, việc xây dựng nên website cần có source code để cấu tạo nên website Để website có thể hoạt động thì nó phải được đặt trên một web hosting
Và cuối cùng, để có thể biết được vị trí của web hosting ở đâu, ta cần có tên miền
để xác định
Để truy cập một website, ta cần gõ địa chỉ website đó vào thanh địa chỉ của trình duyệt web Như vậy là ta đã có thể truy cập vào trang web này
Trang 36Hình 2.3 Một vài tên miền thông dụng
Sau khi đăng ký tên miền, vậy là ta đã có một địa chỉ website trên internet Web hosting sẽ đóng vai trò là mảnh đất để website của ta sẽ được đặt và hoạt động trên internet
Source code hay còn gọi là mã nguồn của website Đó chính là nội dung, chức năng hiển thị lên cho người dùng xem, đọc, truy cập Nó chứa tệp khởi chạy cho website, hình ảnh, văn bản, âm thanh…
2.2.2 Cách thức hoạt động của một website
Trang 372.2.3 Các ngôn ngữ lập trình cho website và web sever
Có nhiều ngôn ngữ lập trình cho website như html, php, mysql, javascript, python, ASP.net
Tất cả các website về cơ bản đều được viết bằng HTML, các file nguồn HTML được lưu với đuôi HTML với mục đích đánh dấu cho các trình duyệt web tìm đến và thực thi Các file này được các trình duyệt web tương tác và dịch thành nội dung lên màn hình cho người dùng
Trong khi HTML có nhiệm vụ duy nhất là được trình duyệt web sử dụng để điều khiển cách mà thông tin được hiển thị trên website Web server mặt khác lại hoạt động phức tạp hơn website và có nhiều loại ngôn ngữ hơn có thể tương tác Các ngôn ngữ này được web server thông dịch và trả về các phản hồi, các hành động như quản lí yêu cầu người dùng, xử lí sự kiện, lưu trữ - trích xuất dữ liệu từ CSDL Các ngôn ngữ dành cho web server được gọi với cái tên “ngôn ngữ server - side” Có hai “ngôn ngữ server
- side” chính là ASP.NET và PHP Ngôn ngữ ASP.NET dành cho máy chủ Windows, còn ngôn ngữ PHP linh động hơn có thể chạy trên cả máy chủ Windows lẫn máy chủ Linux
2.2.4 Tương tác giữa người dùng và web server
Khi tên miền được gõ vào, trình duyệt web gửi tín hiệu yêu cầu lên và xác định nơi mà các file của website được lưu trên web server Các trình duyệt web tự động tải các file thông tin từ web server sau đó giải mã và hiển thị lên màn hình Các thông tin như tên đăng nhập, dữ liệu cá nhân được quản lí, truy xuất dữ liệu từ CSDL được điều khiển bởi các đoạn mã theo ngôn ngữ server - side Các đoạn mã này có thể được viết thành file độc lập hay cũng có thể được nhúng thành từng đoạn trong file chứa mã HTML
2.2.5 Khái quát về ngôn ngữ PHP
Như đã đề cập ở trên, PHP chính là một loại ngôn ngữ server - side, PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình chủ yếu được dùng để phát triển các ứng dụng cho máy chủ, mã nguồn mở PHP thích hợp với môi trường web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc
Trang 38độ nhanh, cú pháp của PHP giống với cú pháp ngôn ngữ C, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
Cách mà PHP được nhúng vào HTML cơ bản được thực hiện với việc chèn mã PHP vào khoảng giữa hai kí tự <?php và ?>
Hình 2.5 Cách thức ngôn ngữ php nhúng vào html 2.2.6 Giao thức MQTT
MQTT (Message Queuing Telemetry Transport) là một giao thức gởi dạng publish/subscribe sử dụng cho các thiết bị Internet of Things với băng thông thấp, độ tin cậy cao và được sử dụng trong mạng lưới không ổn định Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao nên nó là một giao thức lý tưởng cho các ứng dụng M2M
Trang 39Hình 2.7 Ví dụ về kết nối trong mạng lưới MQTT
Kiến trúc mức cao (high-level) của MQTT gồm 2 phần chính là Broker và Clients như hình 2.8:
Hình 2.8 Kiến trúc mức cao của MQTT
Trong đó, broker được coi như trung tâm, giữ vai trò quản lý các kết nối giữa các MQTT client Nó là điểm giao của tất cả các kết nối đến từ client Nhiệm vụ chính của broker là nhận mesage từ publisher, xếp các message theo hàng đợi rồi chuyển chúng tới một địa chỉ cụ thể Nhiệm vụ phụ của broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quá trình truyền thông như: bảo mật message, lưu trữ message, logs
Client thì được chia thành 2 nhóm là publisher và subscriber Client được thiết kế
để có thể hoạt động một cách linh hoạt (lightweight) Client chỉ làm ít nhất một trong 2
Trang 40việc là publish các message lên một topic cụ thể hoặc subscribe một topic nào đó để nhận message từ topic này
MQTT Clients tương thích với hầu hết các nền tảng hệ điều hành hiện có: MAC
OS, Windows, LInux, Androids, iOS Chúng ta có thể hình dung broker giống như một sạp báo Publisher là các tòa soạn báo Tòa soạn in báo và chuyển cho sạp báo Người đọc báo đến sạp báo, chọn tờ báo mình cần đọc (subscriber)
Mô hình MQTT
Trong một hệ thống sử dụng giao thức MQTT, nhiều client kết nối tới một server Trong MQTT, server được gọi là MQTT Broker Mỗi client sẽ đăng ký theo dõi các kênh thông tin (topic) hoặc gửi dữ liệu lên kênh thông tin đó Quá trình đăng ký này gọi là “subscribe” và hành động một client gửi dữ liệu lên kênh thông tin được gọi là
“publish” Mỗi khi kênh thông tin đó được cập nhật dữ liệu (dữ liệu này có thể đến từ các client khác) thì những client nào đã đăng ký theo dõi kênh này sẽ nhận được dữ liệu cập nhật đó
Các thành phần chính của MQTT là clients, servers (=brokers), sessions,
subscriptions và topics
Hình 2.9 Mô hình cơ bản của giao thức MQTT
MQTT client (publisher, subscriber): client thực hiện subscribe đến topics để publish và receive các gói tin