Như vấn đề đặt ra thì nhu cầu sử dụng bãi đỗ xe thông minh ở thị trường Việt Nam rất cao và thậm chí đã lên tới đỉnh điểm.Nắm bắt được điểm yếu đó trên thị trường nên rất nhiều các công ty công nghệ đã không ngừng phát triển các bãi đỗ xe thông minh nhằm đáp ứng nhu cầu của người dân cũng như thu về lợi nhuận lớn. Tại các bãi đỗ xe truyền thống,bộ phận quản lý gặp rất nhiều khó khăn trong việc quản lý bãi đỗ xe do vé giữ xe được viết bằng giấy nên dễ làm giả,dễ rách nát và làm mất,gây nhiều phiền toái cho cả người gửi và người trông coi. Để khắc phục những vấn đề trên thì đề tài này sẽ giải quyết được tất cả những vấn đề trên bằng công nghệ RFID và công nghệ xử lý ảnh,nhận dạng biển số xe.Tăng tính bảo mật và sự linh hoạt cho việc quản lý bãi đỗ xe. Ứng dụng các thiết bị tự động như Servo, cảm biến,... để thực hiện một mô hình bãi giữ xe oto mang tính thông minh và bảo mật hơn. Ngoài ra nhóm phát triển thêm phần thẻ từ ứng dụng công nghệ RFID, xử lý hình ảnh nhận diện biển số xe để tăng cường tính bảo mật của hệ thống.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ NÔNG NGHIỆP & PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA
Thắng Sinh viên thực hiện : Nguyễn Văn Tuấn :
Mã sinh viên : 1851212131 : Lớp : 60TĐH2 :
HÀ NỘI,2023
Trang 2CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập – Tự Do – Hạnh Phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Nguyễn Văn Tuấn Hệ đào tạo: Đại học chính quy
Lớp: 60TĐH2 Ngành: Kỹ Thuật Điều Khiển Và Tự Động hóa Khoa: Điện - Điện Tử
1- TÊN ĐỀ TÀI :
NGHIÊN CỨU XÂY DỰNG BÃI ĐỖ XE THÔNG MINH SỬ DỤNG CÔNG NGHỆ XỬ LÝ ẢNH
2-CÁC TÀI LIỆU CƠ BẢN
[1] Nhận diện biển số xe qua hình ảnh :
bang-opencv-thuan/
https://miai.vn/2019/11/26/nhan-dien-bien-so-xe-chuong-3-phat-hien-bien-so-[2] Công nghệ RFID và ứng dụng trong quản lý xe :
https://www.ttz.com.vn/cong-nghe-rfid-va-ung-dung-trong-kiem-soat-xe-tin889 [3] PHPMyAdmin là gì? Hướng dẫn cài đặt và sử dụng PHPMyAdmin :
https://fptcloud.com/phpmyadmin-la-gi/
[4] Giải pháp bãi giữ xe thông minh :
minh-bang-cong-nghe-the-tu/
https://megaparking.vn/giai-phap/giai-phap-quan-ly-he-thong-bai-giu-xe-thong-[5] Web server với Arduino và ESP8266 :
http://arduino.vn/bai-viet/1226-web-server-voi-arduino-va-esp8266
3- NỘI DUNG CÁC PHẦN THUYẾT MINH VÀ TÍNH TOÁN
Trang 3Nội dung các phần Tỷ lệ %
Chương 2: Thiết kế và thi công hệ thống 30%
4- GIÁO VIÊN HƯỚNG DẪN TỪNG PHẦN
Chương 1: Cơ sở lý thuyết PGS TS Nguyễn Trọng Thắng
Chương 2: Khảo sát và phân tích yêu cầu PGS TS Nguyễn Trọng Thắng
Chương 3: Phần mềm phần cứng sử dụng và thiết
kế xây dựng
PGS TS Nguyễn Trọng Thắng Chương 4: Kết luận và kiến nghị PGS TS Nguyễn Trọng Thắng
5- NGÀY GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Ngày tháng năm 20
Trưởng Bộ môn Giáo viên hướng dẫn chính
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
Sinh viên đã hoàn thành và nộp bản Đồ án tốt nghiệp cho Hội đồng thi ngày
Trang 4LỜI CAM ĐOAN
Tác giả xin cam đoan đây là Đồ án tốt nghiệp/ Khóa luận tốt nghiệp của bản thân tác giả Các kết quả trong Đồ án tốt nghiệp/Khóa luận tốt nghiệp này là trung thực, và không sao chép từ bất kỳ một nguồn nào và dưới bất kỳ hình thức nào.Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo đúng quy định
Tác giả ĐATN/KLTN
Chữ ký
Nguyễn Văn Tuấn
Trang 5LỜI CÁM ƠN
Lời đầu tiên, xin trân trọng cảm ơn hai Thầy đã hướng dẫn tôi là TS Ngô Quang Vĩ và PGS Nguyễn Trọng Thắng, các thầy đã tận tình hướng dẫn tôi trong quá trình học tập cũng như trong việc hoàn thành đồ án này
Xin chân thành cảm ơn các Thầy, Cô thuộc khoa Điện – Điện Tử học trường Đại Học Thủy Lợi đã tận tình giảng dạy cho tôi trong thời gian học tập
Do giới hạn kiến thức và khả năng lý luận của bản thân còn nhiều thiếu sót và hạn chế, kính mong sự chỉ dẫn và đóng góp của các Thầy, Cô để bài đồ án của tôi được hoàn thiện hơn Xin chân thành cảm ơn!
Tác giả ĐATN/KLTN
Chữ ký
Nguyễn Văn Tuấn
Trang 6MỤC LỤC
DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT 8
DANH MỤC HÌNH ẢNH 9
DANH MỤC BẢNG BIỂU 10
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT 11
1.1 Giới thiệu chung 11
1.1.1 Phát biểu bài toán 11
1.1.2 Tính cấp thiết của vấn đề 11
1.1.2 Mục tiêu hệ thống 12
1.2 Giới thiệu về KIT ARDUINO UNO 12
1.2.1 Giới thiệu chung 12
1.2.2 Thông số kĩ thuật 13
1.2.3 Các chân kết nối 13
1.3 Module Node NCU Esp8266 14
1.3.1 Giới thiệu chung 14
1.3.2 Đặc điểm chính 15
1.3.3 Thông Số Kĩ Thuật 15
1.3.4 Ứng dụng của Node NCU Esp8266 16
1.4 Giới thiệu Module RFID 16
1.4.1 Giới thiệu chung 16
1.4.2 Thông số kĩ thuật 17
1.4.2 Nguyên lý hoạt động 18
1.5 Module thu phát hồng ngoại 18
1.5.1 Giới thiệu chung 19
1.5.2 Nguyên lý hoạt động 19
1.5.3 Thông số kĩ thuật 20
1.6 Giới thiệu về động cơ Servo SG90 21
1.6.1 Giới thiệu chung 21
1.6.2 Nguyên lý hoạt động 21
Trang 71.6.3 Thông số kĩ thuật 22
1.7 Màn hình LCD 16x2 và Module I2C LCD 22
1.7.1 Giới thiệu chung 22
1.7.2 Kết nối LCD 16X2, Module I2C và Arduino Uno 24
1.8 Giới thiệu các công nghệ sử dụng 24
1.8.1 Socket.io 24
1.8.2 Chuẩn giao tiếp UART 26
1.8.3 Tổng quan về chuẩn giao tiếp USB 27
1.8.4 Tổng quan về công nghệ RFID 28
1.8.5 Tổng quan về cơ sở dữ liệu MySQL 30
CHƯƠNG 2.THIẾT KẾ VÀ THI CÔNG HỆ THỐNG 32
2.1 Đề xuất mô hình 32
2.1.1 Đặt vấn đề 32
2.1.2 Chức năng của hệ thống 34
2.2 Phân tích hệ thống 35
2.2.1 Phân tích hệ thống 35
2.2.2 Phân tích sử dụng mô hình 39
CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM 44
3.1 Kết quả đã đạt được 44
3.3 Kiểm thử hệ thống 44
3.2 Thiết kế,lắp đặt và mô hình trong thực tế 46
CHƯƠNG 4 KẾT LUẬN VÀ KIẾN NGHỊ 55
1.Kết luận 55
2.Kiến nghị 55
TÀI LIỆU THAM KHẢO 56
Trang 8
DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT
Telemetry Transport
Là một giao thức gởi dạng publish/subscribe
32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng
Receiver – Transmitter
là một vi mạch sẵn có trong một vi điều khiển nhưng không giống như một giao thức truyền thông (I2C & SPI).Truyền dữ liệu nối tiếp
Trang 9DANH MỤC HÌNH ẢNH
Hình 1 Mô hình mạch Arduino Uno 12
Hình 2 Module Node NCU Esp8266 14
Hình 3 Kết nối Node NCU Esp8266 với Arduino Urduino Uno 15
Hình 4 Module RFID 17
Hình 5 Mô hình kết nối RFID và Arduino 18
Hình 6 Module cảm biến hồng ngoại V2 19
Hình 7 Module cảm biến ánh sáng V2 và Arduino Uno 20
Hình 8 Servo SG90 21
Hình 9 Động cơ Servo Sg90 và Arduino Uno 22
Hình 10 màn hình LCD 16X2 23
Hình 11 Module IC2 LCD 23
Hình 12 LCD 16x2, Module I2C và Arduno Uno 24
Hình 13 Truyền dữ liệu qua chuẩn giao tiếp UART 27
Hình 14 Cấu tạo của RFID 29
Hình 15Mô hình bãi gửi xe hiện đại 34
Hình 16 Sơ đồ kết nối phần cứng 35
Hình 17 Mô hình điều khiển 36
Hình 18 Giao tiếp Urduino Uno và Node NCU Esp8266 36
Hình 19 Tương tác của mô hình quản lý bãi đỗ xe 37
Hình 20 Lưu đồ hoạt động của mô hình 38
Hình 21 Tổng quát mô hình 39
Hình 22 Vai trò của nhân viên vận hành 40
Hình 23 Chi tiết hoạt động của hệ thống 43
Hình 24 Mô hình thực tế 46
Hình 25 Mô hình thực tế 47
Hình 26 Mô hình thực tế 48
Hình 27 Mô hình thực tế 49
Trang 10Hình 28 Mô hình thực tế 50
Hình 29 Mô hình thực tế 51
Hình 30 Điều khiển hệ thống trực tiếp 53
Hình 31 MySQL lưu trữ dữ liệu 54
Hình 32 Kiểm nghiệm thực tế 45
DANH MỤC BẢNG BIỂU Bảng 1 Thông số kĩ thuật Arduino Uno 13
Bảng 2 Thông số kĩ thuật Node NCU Esp8266 16
Bảng 3 Thông số kĩ thuật RFID 18
Bảng 4 Thông số kĩ thuật Module cảm biến ánh sáng V2 20
Bảng 5 Thông số kĩ thuật Servo Sg90 22
Bảng 6 Hoạt động của hệ thống 41
Bảng 7 Hoạt động của người sử dụng 41
Bảng 8 Vận hành của rào chắn 42
Trang 11CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu chung
1.1.1 Phát biểu bài toán
Theo số liệu thống kê sơ bộ của VAMA cho biết, tổng dung lượng thị trường ô tô Việt Nam nửa đầu năm 2021 đạt 150.481 chiếc, tăng đến 40% so với cùng kỳ năm ngoái Điều này chứng tỏ tình hình số lượng xe ô tô ở nước ta tăng khá nhanh Từ những số liệu trên đòi hỏi những yếu tố cơ sở hạ tầng phải đáp ứng được cho sự tăng trưởng đó, đặc biệt là vấn đề về bãi đậu xe Một trong những phương pháp nhằm giải quyết cho khó khăn này là việc ứng dụng khoa học kĩ thuật, công nghệ cao vào trong xây dựng cơ
sở hạ tầng Cụ thể hơn cần xây dựng những bãi đậu xe mang tính hiện đại, tự động cao
và tính an toàn được đặt lên hàng đầu, đi đôi với đó là tiết kiệm chi phí vận hành Đồng thời, những bãi đậu xe như vậy cần phải đáp ứng vừa mang tính kinh tế, vừa phù hợp với thực tiễn như tiết kiệm quỹ đất xây dựng, tính cảnh quan,…
Thừa hưởng thành quả đi trước và mong muốn áp dụng những kiến thức đã được học vào thực tế, em quyết định “ Nghiên cứu xây dựng hệ thống quản lý bãi xe thông minh
sử dụng công nghệ xử lý ảnh”
1.1.2 Tính cấp thiết của vấn đề
Như vấn đề đặt ra thì nhu cầu sử dụng bãi đỗ xe thông minh ở thị trường Việt Nam rất cao và thậm chí đã lên tới đỉnh điểm.Nắm bắt được điểm yếu đó trên thị trường nên rất nhiều các công ty công nghệ đã không ngừng phát triển các bãi đỗ xe thông minh nhằm đáp ứng nhu cầu của người dân cũng như thu về lợi nhuận lớn
Tại các bãi đỗ xe truyền thống,bộ phận quản lý gặp rất nhiều khó khăn trong việc quản
lý bãi đỗ xe do vé giữ xe được viết bằng giấy nên dễ làm giả,dễ rách nát và làm mất,gây nhiều phiền toái cho cả người gửi và người trông coi
Để khắc phục những vấn đề trên thì đề tài này sẽ giải quyết được tất cả những vấn đề trên bằng công nghệ RFID và công nghệ xử lý ảnh,nhận dạng biển số xe.Tăng tính bảo mật và sự linh hoạt cho việc quản lý bãi đỗ xe
Trang 121.1.2 Mục tiêu hệ thống
Ứng dụng các thiết bị tự động như Servo, cảm biến, để thực hiện một mô hình bãi giữ
xe oto mang tính thông minh và bảo mật hơn Ngoài ra nhóm phát triển thêm phần thẻ
từ ứng dụng công nghệ RFID, xử lý hình ảnh nhận diện biển số xe để tăng cường tính bảo mật của hệ thống
1.2 Giới thiệu về KIT ARDUINO UNO
1.2.1 Giới thiệu chung
Arduino Uno là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip ATmega328 được phát triển bởi Arduino.cc Bảng mạch được trang bị các
bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam mê về điện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ dàng xây dựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắt led…)
Hình 1 Mô hình mạch Arduino Uno
Trang 131.2.2 Thông số kĩ thuật
Thông số kĩ thuật :
Dòng tối đa trên mỗi chân I/O : 30 mA
Trên Board Arduino Uno có 14 chân Digital được sử dụng để làm chân đầu vào và đầu
ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead() Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-
50 ohm Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch
Trang 14Ngoài ra, một số chân Digital có chức năng đặt biệt:
Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ liệu (TX) TTL Ngắt ngoài: Chân 2 và 3
PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng
hàm analogWrite ()
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Các chân này hỗ trợ giao tiếp SPI bằng
thư viện SPI
LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13 Khi chân có
giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW)
TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác 1.3 Module Node NCU Esp8266
1.3.1 Giới thiệu chung
MODULE thu phát wifi IOT ESP8266 là module phát triển dựa trên nên chip ESP8266 với thiết kế sử dụng dễ dàng Đặc biệt có thể sử dụng trực tiếp với trình biên dịch của Arduino để lập trình và nạp code Đây là một trong những lợi thế của sản phẩm này trong việc sử dụng và lập trình các ứng dụng trên ESP8266 một cách đơn giản Đượ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 sóng qua Wifi, đặc biệt là các ứng dụng liên quan đến IoT (Internet of Things)
Hình 2 Module Node NCU Esp8266
Trang 151.3.2 Đặc điểm chính
Module ESP8266 sử dụng chip nạp và giao tiếp UART mới và ổn định là CP2102 Điểm nổi bật của nó là có thể tự nhận Driver trên tất cả các hệ điều hành Window và Linux Đây là sản phẩm cải tiến thay cho dòng sản phẩm sử dụng IC nạp và giao tiếp UART giá rẻ kém ổn định CH340
Đây là một board rất hữu dụng để mọi người có thể có những bước tiếp cận tốt thất đến thế giới IOT- Internet Of Things
Hình 3 Kết nối Node NCU Esp8266 với Arduino Urduino Uno
Trang 16Bộ nhớ Flash : 4MB
Bảng 2 Thông số kĩ thuật Node NCU Esp8266
1.3.4 Ứng dụng của Node NCU Esp8266
• Tạo mẫu các thiết bị IoT (Điều khiển thiết bị thông minh, giám sát nhiệt độ, độ
ẩm bằng app Blynk,…)
• Các ứng dụng hoạt động bằng pin năng lượng thấp
• Các dự án mạng (Tạo Websever)
• Các dự án yêu cầu nhiều giao diện I / O với các chức năng Wi-Fi và Bluetooth
1.4 Giới thiệu Module RFID
1.4.1 Giới thiệu chung
RFID (Radio Frequency Identification), hay nhận dạng qua tần số vô tuyến, là một công nghệ dùng kết nối sóng vô tuyến để tự động xác định và theo dõi các thẻ nhận dạng gắn vào vật thể
Hay nói cách khác, RFID là một kỹ thuật nhận dạng sóng vô tuyến từ xa, cho phép dữ liệu trên một con chíp được đọc một cách "không tiếp xúc" qua đường dẫn sóng vô tuyến
ở khoảng cách từ 50 cm tới 10 mét, sử dụng thiết bị thẻ RFID và một đầu đọc RFID Điểm nổi bật của RFID là công nghệ không sử dụng tia sáng như mã vạch, không tiếp xúc trực tiếp Một vài loại thẻ có thể được đọc xuyên qua các môi trường, vật liệu như: bê tông, tuyết, sương mù, băng đá, sơn, và các điều kiện môi trường thách thức khác mà mã vạch và các công nghệ khác không thể phát huy hiệu quả
Module RFID RC522 NFC 13.56mhz dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56mhz Với mức thiết kế nhỏ gọn, linh hoạt module này là sự lựa chọn thích hợp cho các ứng dụng đọc – ghi thẻ NFC, đặc biệt khi sử dụng kết hợp với ARDUINO RFID –
Trang 17Radio Frequency Identification Detection là công nghệ nhận dạng đối tượng bằng sóng
vô tuyến Là một phương pháp nhận dạng tự động dựa trên việc lưu trữ dữ liệu từ xa, sử dụng thiết bị Thẻ RFID và một Đầu đọc RFID
Hình 4 Module RFID
Trang 18Giao tiếp :SPI
Tốc độ truyền dữ liệu : tối đa 10Mbit/s
Hình 5 Mô hình kết nối RFID và Arduino
1.5 Module thu phát hồng ngoại
Trang 191.5.1 Giới thiệu chung
Module Thu Phát Hồng Ngoại V1 là một loại cảm biến thông dụng được dùng rất nhiều trong các hệ thống cửa tự động thông minh, cảm biến an toàn của cổng tự động cũng như barrie tự động, cổng co giãn inox tự động đó là cảm biến phát hiện vật cản hồng ngoại hay cảm biến IR ( IR detector )
Hình 6 Module cảm biến hồng ngoại V2
Trang 20thường, bức xạ phát ra từ IR LED là sóng hồng ngoại nên con người không thể nhìn thấy bằng mắt thường được Bộ thu hồng ngoại cũng được gọi là cảm biến hồng ngoại khi chúng phát hiện các tia từ bộ phát hồng ngoại Bộ thu hồng ngoại có dạng photodiode
và phototransistors Photodiode hồng ngoại khác với điốt thông thường vì chúng chỉ phát hiện ra bức xạ hồng ngoại Khi led phát hồng ngoại phát ra bức xạ, nó đến được vật thể và một số bức xạ phản xạ lại led thu hồng ngoại Dựa trên cường độ thu của led thu hồng ngoại, đầu ra của cảm biến sẽ được xác định là mức cao hoặc thấp
Hình 7 Module cảm biến ánh sáng V2 và Arduino Uno
Bảng 4 Thông số kĩ thuật Module cảm biến ánh sáng V2
Trang 211.6 Giới thiệu về động cơ Servo SG90
1.6.1 Giới thiệu chung
Động Cơ Servo SG90 là loại động cơ được dùng phổ biến trong các mô hình điều khiển nhỏ và đơn giản như cánh tay robot Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵn Driver điều khiển động cơ, dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM
Hình 8 Servo SG90
1.6.2 Nguyên lý hoạt động
Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín Tín hiệu ra của động cơ được nối với một mạch điều khiển Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp
về mạch điều khiển này Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động
cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo RC (radio-controlled) Trong thực tế, bản thân động cơ servo không phải được điều khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi Động cơ servo nhận tín hiệu từ máy thu này
Trang 22Hình 9 Động cơ Servo Sg90 và Arduino Uno
1.7.1 Giới thiệu chung
Màn hình LCD1602 xanh lá sử dụng driver HD44780, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự Màn hình LCD có độ bền cao, rất phổ biến, nhiều code mẫu và dễ
sử dụng thích hợp cho những người mới học và làm dự án
LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển
Module I2C LCD ra đời và giải quyết vấn để này cho bạn
Trang 23Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5
và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối
Hình 10 màn hình LCD 16X2
Hình 11 Module IC2 LCD
Trang 241.7.2 Kết nối LCD 16X2, Module I2C và Arduino Uno
Hình 12 LCD 16x2, Module I2C và Arduno Uno
1.8 Giới thiệu các công nghệ sử dụng
1.8.1 Socket.io
1.8.1.1 Định nghĩa
Socket.io là một module trong Node.js được phát triển vào năm 2010 Nó được phát triển để sử dụng các kết nối mở để tạo điều kiện giao tiếp thời gian thực, trả về giá trị thực ở tại thời điểm đó Socket.io cho phép giao tiếp hai chiều giữa máy khách và máy chủ Giao tiếp hai chiều được bật khi máy khách có Socket.io trong trình duyệt và máy chủ cũng đã tích hợp gói Socket.io
Nó được sử dụng trong việc xây dựng các ứng dụng web real-time cần tốc độ phản hồi ngay lập tức như: chat, trực tiếp bóng đá, Socket.io xây dựng dựa trên Engine.IO, đầu tiên nó sẽ thiết lập một kết nối long-polling, sau đó cố gắng nâng cấp lên các kết nối khác tốt hơn giống như WebSocket
Socket.io KHÔNG phải là phát triển dựa trên WebSocket Mặc dù Socket.io thực sự sử dụng WebSocket như một cách để giao tiếp trong một vài trường hợp, Socket.io sẽ bổ sung một số siêu dữ liệu cho mỗi gói: loại gói, không gian tên và id gói khi cần xác nhận thông báo Đó là lý do tại sao máy khách WebSocket sẽ không thể kết nối thành công
Trang 25với máy chủ Socket.io và máy khách Socket.io cũng sẽ không thể kết nối với máy chủ WebSocket
1.8.1.2 Điểm nổi bật
Tính bảo mật: Khi Socket.io xuất hiện, nó sẽ tự động tạo những kết nối bảo mật như:
Proxy và cân bằng tải
Tường lửa cá nhân và phần mềm chống vi-rút
Tự động kết nối lại, phát hiện ngắt kết nối: Mặc định, trong quá trình chạy, khi client nếu bị ngắt kết nối, nó sẽ tự động gắng kết nối lại mãi mãi cho tới khi server
có phản hổi lại, tính năng này có thể được tùy chỉnh nếu muốn Ngoài ra, Socket.io còn cung cấp cho chúng ta các events để phát hiện ngắt kết nối giữa client và server, hoặc ngược lại
Hỗ trợ nhị phân: Socket.io hỗ trợ chúng ta các kiểu mã hóa nhị phân như :
ArrayBuffer và Blob trên trình duyệt
ArrayBuffer và Buffer trong Node.js
Hỗ trợ tạo kệnh và phòng: Socket.io cũng cho phép tạo ra các kênh riêng biệt, từ
đó tạo ra mối quan hệ riêng giữa các phần như mỗi module riêng lẻ hoặc dựa trên các quyền khác nhau Ngoài ra, còn cho phép bạn tạo ra các phòng khác nhau, những clients có thể được tham gia vào phòng khác nhau Đây là một tính năng hữu ích để gửi thông báo cho một nhóm người dùng hoặc cho một người dùng nhất định được kết nối trên một số thiết bị chẳng hạn
1.8.1.3 Cài đặt socket.io
Để cài đặt Socket.io trong dự án của mình ban cần phải cài đặt ở 2 phía đó là server
và client Socket.io sẽ đảm nhận kết nối giữa 2 phía, thông thường các API của 2 phia sẽ tương tự giống nhau
Trang 26 Socket.io trên server : Đối với server Node.js bạn chỉ cần dùng npm đê cài đặt
package có tên socket.io, bạn truy cập vào thư mục dự án và mở terminal : npm install save socket.io
Socket.io trên client :
o Một bản dựng độc lập của clients được hiển thị theo mặc định bởi server tại /socket.io/socket.io.js
o Ngoài ra, bạn có thể cài đặt import thư viện này ở cdn , hoặc cài đặt thành các gói như webpack hoặc browserify bằng cách dùng npm: npm install save socket.io-client
1.8.2 Chuẩn giao tiếp UART
1.8.2.1 Định nghĩa
UART có tên đầy đủ là Universal Asynchronous Receiver – Transmitter Nó là một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và các thiết bị ngoại vi
1.8.2.2 Cách truyền tải dữ liệu
Chân Tx (truyền) của một chip kết nối trực tiếp với chân Rx (nhận) của chip kia
và ngược lại Thông thường, quá trình truyền sẽ diễn ra ở 3.3V hoặc 5V UART
là một giao thức một master, một slave, trong đó một thiết bị được thiết lập để giao tiếp với duy nhất một thiết bị khác
Dữ liệu truyền đến và đi từ UART song song với thiết bị điều khiển (ví dụ: CPU)
Khi gửi trên chân Tx, UART đầu tiên sẽ dịch thông tin song song này thành nối tiếp và truyền đến thiết bị nhận
UART thứ hai nhận dữ liệu này trên chân Rx của nó và biến đổi nó trở lại thành song song để giao tiếp với thiết bị điều khiển của nó
Trang 27Hình 13 Truyền dữ liệu qua chuẩn giao tiếp UART
1.8.2.3 Ưu nhược điểm của chuẩn giao tiếp UART
Ưu điểm :
o Chỉ sử dụng hai dây
o Không cần tín hiệu clock
o Có một bit chẵn lẻ để cho phép kiểm tra lỗi
o Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên đều được thiết lập cho nó
o Phương pháp có nhiều tài liệu và được sử dụng rộng rãi
Nhược điểm :
o Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit
o Không hỗ trợ nhiều hệ thống slave hoặc nhiều hệ thống master
o Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau
1.8.3 Tổng quan về chuẩn giao tiếp USB
1.8.3.1 Định nghĩa
USB (Universal Serial Bus) là một chuẩn kết nối tuần tự đa dụng trong máy tính USB
sử dụng để kết nối các thiết bị ngoại vi với máy tính, chúng thường được thiết kế dưới
Trang 28dạng các đầu cắm cho các thiết bị tuân theo chuẩn cắm-và-chạy mà với tính năng cắm nóng thiết bị (nối và ngắt các thiết bị không cần phải khởi động lại hệ thống)
1.8.3.2 Đặc điểm
Cho phép mở rộng 127 thiết bị kết nối cùng vào một máy tính thông qua một cổng USB duy nhất
Với USB 2.0 chuẩn tốc độ cao, đường truyền đạt tốc độ tối đa đến -480 Mbps
Cáp USB gồm hai sợi nguồn (+5V và dây chung GND) cũng một cặp gồm hai sợi dây xoắn để mang dữ liệu Trên sợi nguồn máy tính có thể cấp nguồn lên tới 500mA ở điện
Những thiết bị USB có đặc tính cảm nóng, điều này có nghĩa các thiết bị có thể được kết nối (cắm vào) hoặc ngắt kết nối trút ra trong mọi thời điểm mà người dụng sẵn mà không cần phải khuy động lại hệ thống
Nhiều thiết bị USB có thể được chuyển về trạng thái tạm ngưng hoat động khi máy tính chuyển sang chế độ tiết kiệm điện
1.8.4 Tổng quan về công nghệ RFID
1.8.4.1 Định nghĩa
RFID là công nghệ nhận dạng đối tượng bằng sóng vô tuyến Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống thu phát sóng radio, từ đó có thể giám sát, quản lý hoặc lưu vết từng đối tượng