đặt vấn đề, mục tiêu, giới hạn đề tài và bố cục bài báo cáo Chương 2 CƠ SỞ LÝ THUYẾT: Trình bày một số cơ sở lý thuyết về công nghệ RFID, việc bảo mật bằng công nghệ RFID, các chuẩn giao tiếp thông dụng giữa vi điều khiển và các module dùng trong đề tài, giới thiệu về Google Firebase và cơ sở dữ liệu thời gian thực Realtime Database. Chương 3 THIẾT KẾ HỆ THỐNG: Chương này bao gồm các nội dung về mô hình hoạt động của hệ thống, sơ đồ khối tổng quan của hệ thống, sơ đồ khối của board trung tâm và chức năng của từng khối. Trình bày về thiết kế board điều khiển trung tâm và thiết kế ứng dụng Android điều khiển từ xa qua điện thoại. Chương 4 THI CÔNG HỆ THỐNG: Thi công sơ đồ nguyên lý và vẽ mạch in cho board điều khiển trung tâm, thi công hoàn thiện ứng dụng Android bằng phần mềm Android Studio.
3 Luan van Chương 5 KẾT QUẢ VÀ NHẬN XÉT ĐÁNH GIÁ: Kết quả thi công chạy thử hệ thống và nhận xét đánh giá về kết quả đã làm được. Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Tổng kết những vấn đề đã làm được và hướng phát triển của đề tài. 4 Luan van CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Bảo mật bằng công nghệ RFID Công nghệ RFID ( Radio Frequency Identification - Nhận dạng qua tần số vô tuyến) là một trong những công nghệ nhận dạng dữ liệu tự động tiên tiến nhất hiện nay có tính khả thi cao và áp dụng thực tế rất hiệu quả. RFID 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ể.
Công nghệ này cho phép nhận biết thông qua hệ thống thu phát sóng radio, từ đó giám sát, quản lý từng đối tượng. RFID sử dụng truyền thông không dây trong dải tần số sóng vô tuyến để truyền dữ liệu từ các tag (thẻ) đến các reader (bộ đọc). Tag có thể được đính kèm hoặc gắn vào đối tượng được nhận dạng (VD: sản phẩm, giá kệ, pallet,…). Reader quét dữ liệu của tag và gửi thông tin đến cơ sở dữ liệu có lưu trữ dữ liệu của tag [1].
Một hệ thống RFID cơ bản bao gồm: Phần cứng: - RFID tag: Được cấu tạo mềm mỏng có chứa chip vi xử lý và antenna (ăng ten). Nó có thể đọc, ghi dữ liệu, và thậm chí chứa thông tin bảo mật. - Reader: Có nhiệm vụ giải mã và chuyển dữ liệu từ thẻ tới middleware và application software để xử lý. Thông thường reader sẽ bao gồm cả antenna.
- Máy chủ: Là máy vi tính được dùng để chạy các middleware và application software. Phần mềm: 5 Luan van - Middleware: Được sử dụng để nhận và xử lý các dữ liệu thô nhân được từ các reader để chuyển đến các phần mềm quản trị thư viện. Middleware thường được xây dựng và cung cấp bởi các nhà cung cấp thiết bị RFID. - Application software: Được sử dụng để xử lý và tự động hóa các công việc đặc thù.
Phần mềm này nhận dữ liệu đã được xử lý thô từ Middleware để phân tích và thực thi nhiệm vụ.1: Nguyên tắc hoạt động của RFID [8] Các tần số hoạt động của RFID: [1] LF ( 125 kHz – 134,2 kHz ):Low frequencies, ứng dụng cho hệ thống quản lý nhân sự, chấm công, cửa bảo mật, bãi giữ xe HF (13.56MHz): High Frequencies, ứng dụng cho quản lý nguồn gốc hàng hóa, vận chuyển hàng hóa, cửa bảo mật, bãi giữ xe,… UHF (860MHz – 960MHz): Ultra High Frequencies, ứng dụng trong các hệ thống kiểm soát như thu phí đường bộ tự động, kiểm kê kho hàng, kiểm soát đường đi của hàng hóa,… SHF (2.45GHz): Super High Frequencies, ứng dụng trong các hệ thống kiểm soát như thu phí đường bộ tự động, kiểm soát lưu thông hàng hải, kiểm soát hàng hóa, kiểm kê kho hàng,… 6 Luan van 2.2 Các chuẩn giao tiếp giữa các module và vi điều khiển 2.1 Chuẩn giao tiếp UART (Universal Asynchronous Receive/Transmit) Là chuẩn giao tiếp truyền nhận dữ liệu không đồng bộ. Đây là chuẩn giao tiếp phổ biến và dễ sử dụng, thường dùng trong giao tiếp giữa vi điều khiển với nhau hoặc với các thiết bị khác. Cách hoạt động: Hai thiết bị giao tiếp UART với nhau thông qua hai đường dẫn RX( read) và TX (transmit).2: Chuẩn giao tiếp UART Vì là giao tiếp không đồng bộ nên hai thiết bị phải được cài đặt thống nhất về khung truyền, tốc độ truyền.3: Khung truyền chuẩn giao tiếp [2] Start bit: báo hiệu quá trình truyền dữ liệu. Data bits: dữ liệu cần giao tiếp, thường là 8 bit.
Parity bit: bit kiểm tra chẵn lẻ, dùng để phát hiện lỗi. Stop bit: báo hiệu kết thúc một frame dữ liệu. Có thể tùy chọn 1 hoặc 2 bit.2 Chuẩn giao tiếp SPI (Serial Peripheral Interface) Chuẩn SPI được phát triển bởi Motorola. Đây là một chuẩn đồng bộ nối tiếp để truyền dữ liệu ở chế độ song công toàn phần (full- duplex) tức trong cùng một thời điểm có thể xảy ra đồng thời quá trình truyền và nhận.
Đôi khi SPI còn được gọi là chuẩn giao tiếp 4 dây (Four-wire).4: Chuẩn giao tiếp SPI [2] Trong giao tiếp SPI có 4 tín hiệu số: MOSI hay SI – cổng ra của bên Master (Master Out Slave IN). Đây là chân dành cho việc truyền tín hiệu từ thiết bị chủ động đến thiết bị bị động. MISO hay SO – cổng ra bên Slave (Master IN Slave Out). Đây là chân dành cho việc truyền dữ liệu từ Slave đến Master.
SCLK hay SCK là tín hiệu clock đồng bộ (Serial Clock). Xung nhịp chỉ được tạo bởi Master. CS hay SS là tín hiệu chọn vi mạch (Chip Select hoặc Slave Select). SS sẽ ở mức cao khi không làm việc.
Nếu Master kéo SS xuống thấp thì sẽ xảy ra quá trình giao tiếp. Chỉ có một đường SS trên mỗi slave nhưng có thể có nhiều đường điều khiển SS trên master, tùy thuộc vào thiết kế của người dùng.3 Chuẩn giao tiếp I2C (Inter – Integrated Circuit) Là một chuẩn truyền thông dựa trên phương thức Master – Slave nhưng chỉ sử dụng 2 đường truyền tín hiệu: - Serial Data Line (SDA): Mang dữ liệu được truyền đi. - Serial Clock Line (SCL): Mang xung Clock đồng bộ dữ liệu. I2C có 2 chế độ hoạt động: 8 Luan van - Chế độ chuẩn (standard mode) hoạt động ở tốc độ 100Kb/s - Chế độ ở tần số thấp ( low speed mode) hoạt động ở tốc độ 10Kb/s I2C có 1024 địa chỉ chứa trong 10bit.3 Giới thiệu về Firebase và cơ sở dữ liệu thời gian thực Realtime Database 2.
Giới thiệu về Firebase Firebase là một dịch vụ cơ sở dữ liệu thời gian thực, hoạt động trên nền tảng đám mây – cloud. Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu. Cụ thể là những giao diện lập trình ứng dụng API đơn giản.
Nếu cần xây dựng một ứng dụng cho mobile hoặc các thiết bị di động khác mà bạn đang gặp khó khăn vì không biết chọn dịch vụ nào thì Firebase sẽ là lựa chọn tốt nhất dành cho bạn.5: Google Firebase [3] Firebase có thể rất mạnh mẽ đối với ứng dụng backend, nó bao gồm việc lưu trữ dữ liệu, xác thực người dùng, static hosting… Nên lập trình viên chỉ cần chú tâm đến việc nâng cao trải nghiệm người dùng. Realtime Database: Hình 2.6: Cơ sở dữ liệu thời gian thực RealTime Database [3] Firebase lưu trữ dữ liệu Database dưới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực. Cụ thể hơn là xây dựng được Client đa nền tảng và tất cả client này sẽ cùng sử dụng chung một database đến từ Firebase. Tự động tính toán quy mô ứng dụng của bạn, giúp dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ.
Cho phép bạn phân quyền một cách đơn giản bằng cú pháp tương tự Javascript. Mô hình của Firebase Realtime Database: Không giống như SQL Database, Firebase Realtime Database được tổ chức theo dạng cây (trees), giống như dạng cây thư mục (folder tree) mà các bạn đã quá quen thuộc trong Windows Explorer. Tuy nhiên, một nhánh (branch) không được chứa đồng thời nhiều dữ liệu khác nhau. Các tính năng bảo mật: Hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy bạn sẽ bớt lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền giữa client và server.
10 Luan van Làm việc offline: Ứng dụng Firebase của bạn sẽ duy trì tương tác bất chấp một số các vấn đề về Internet xảy ra. Trước khi bất kỳ dữ liệu lập tức sẽ được viết vào một cơ sở dữ liệu Firebase ở local. Xác thực người dùng: Có thể dễ dàng xác thực người dùng từ ứng dụng của bạn trên Android, IOS và JavaScript SDKs chỉ với một đoạn mã. Firebase đã xây dựng chức năng cho việc xác thực người dùng với Email, Facebook, Twitter, GitHub, Google và xác thực nặc danh.
Firebase Hosting: Có thể triển khai một ứng dụng nền web chỉ với vài giây với hệ thống Firebase, và các dữ liệu sẽ được lưu trữ đám mây đồng thời được bảo mật thông qua giao thức truy cập SSL. Triển khai siêu tốc: Có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của Firebase. Sự ổn định: Hoạt động dựa trên nền tảng Cloud đến từ Google vì vậy hầu như bạn không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm. 11 Luan van CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 3.
Mô hình hoạt động của hệ thống Để đảm bảo hệ thống hoạt động đúng với những yêu cầu được đề ra cũng như đạt được sự ổn định về phần cứng và phần mềm thì nhóm đã xây dựng mô hình khái quát về cách thức hoạt động của hệ thống trước khi đi vào phát triển chi tiết từng khối của hệ thống.1: Mô hình của hệ thống Chức năng của hệ thống: Hệ thống khóa cửa: Bao gồm khối điều khiển trung tâm NodeMCU, khối đọc thẻ RFID, mạch khóa điện, khối báo động, camera quan sát, khối hiển thị với màn hình LCD và khối mạch nguồn. Cho phép đọc nhận dạng thẻ RFID để mở khóa cửa và gửi dữ liệu đến cơ sở dữ liệu của Google Firebase. Dữ liệu gửi đi được so sánh với dữ liệu trên cơ sở dữ liệu của Firebase và xử lý, nếu đúng thì thực thi lệnh điều khiển và hiển thị thông tin mã thẻ và thời gian quẹt thẻ, nếu sai hệ thống cảnh báo sẽ hoạt động.