Đặt vấn đề. Mục tiêu của đề tài. Nhiệm vụ của đề tài. Chương 2: Cơ sở lý thuyết về hệ thống Giới thiệu về Internet of things.
Giới thiệu về MQTT, Website. Giới thiệu về Android, ngôn ngữ PHP. Giới thiệu phần cứng Raspberry Pi và Màn hình cảm ứng. Chương 3: Tính toán và thiết kế Giới thiệu sơ đồ khối hệ thống.
Chức năng từng khối trong hệ thống. Tính toán, lựa chọn thiết bị, thiết kế các khối trong hệ thống. Chương 4: Thi công hệ thống Thiết kế phần cứng. Giới thiệu phần mềm lập trình.
Lập trình cho hệ thống. Hướng dẫn sử dụng và thao tác. Chương 5: Kết quả - nhận xét - đánh giá Kết quả đạt được. Nhận xét và đánh giá.
Chương 6: Kết luận và hướng phát triển Kết luận. Hướng phát triển đề tài. 3 do an CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. TỔNG QUAN VỀ INTERNET OF THINGS (IOT) 2.
Giới thiệu về Internet of Things Internet of Things (IoT), hay cụ thể hơn là Mạng lưới vạn vật kết nối Internet hoặc Mạng lưới thiết bị kết nối Internet, là một liên mạng, trong đó các thiết bị, phương tiện vận tải (được gọi là "thiết bị kết nối" và "thiết bị thông minh"), phòng ốc và các trang thiết bị khác được nhúng với các bộ phận điện tử, phần mềm, cảm biến, cơ cấu chấp hành cùng với khả năng kết nối mạng máy tính giúp cho các thiết bị này có thể thu thập và truyền tải dữ liệu. IoT là một kịch bản của thế giới, khi mà mỗi đồ vật hay cả con người được cung cấp một định danh riêng và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất. IoT phát triển từ sự kết hợp của công nghệ không dây, công nghệ vi cơ điện tử và Internet. Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó.
Internet of Things [8] 4 do an 2. Ứng dụng của IoT IoT có ứng dụng trong nhiều lĩnh vực: - Quản lí chất thải. - Quản lí và lập kế hoạch quản lí đô thị. - Quản lí môi trường.
- Phản hồi trong các tinh huống khẩn cấp. - Mua sắm thông minh. - Quản lí các thiết bị cá nhân. - Đồng hồ đo thông minh.
- Tự động hóa ngôi nhà. Đặc điểm công nghệ IoT Điểm quan trọng của IoT đó là các đối tượng phải có thể được nhận biết và định dạng. Nếu mọi đối tượng, kể cả con người, được “đánh dấu” để phân biệt bản thân đối tượng đó với những thứ xung quanh thì chúng ta có thể hoàn toàn quản lí được nó thông qua máy tính. Việc đánh dấu này có thể được thực hiện thông qua nhiều công nghệ, chẳng hạn như RFID, NFC, mã vạch, mã QR… Mạng kết nối thì có thể là qua Wi-Fi, mạng viễn thông băng thông rộng (3G, 4G), Bluetooth.
Ngoài những kĩ thuật nói trên, nếu nhìn từ thế giới web, chúng ta có thể sử dụng địa chỉ IP để xác định từng vật. Mỗi thiết bị sẽ có một IP riêng biệt không nhầm lẫn. Do đó mọi thứ có thể dễ dàng kết nối vào Internet cũng như kết nối với nhau. GIỚI THIỆU VỀ MQTT 2.
Giao thức MQTT MQTT (Message Queuing Telemetry Transport) là một giao thức truyền thông điệp (message) theo mô hình xuất bản – theo dõi (publish - subscribe), sử dụng băng thông thấp, độ tin cậy cao và có khả năng hoạt động trong điều kiện đường truyền không ổn định. Bởi vì giao thức này sử dụng băng thông thấp, có khả năng hoạt động ở môi trường có độ trễ cao nên nó là một giao thức lý tưởng có các ứng dụng máy – máy (M2M) cũng như các ứng dụng Internet of Things (IoT). Kiến trúc của MQTT Kiến trúc của MQTT gồm 2 phần chính là khách hàng (client) và nhà môi giới (broker). Kiến trúc MQTT [7] Trong đó, client được chia thành 2 nhóm là nhà xuất bản (publisher) và người đăng ký (subscriber).
Client chỉ làm ít nhất một trong 2 việc là xuất bản (publish) các message lên một topic cụ thể hoặc đăng ký (subscribe) một topic nào đó để nhận được tin nhắn từ topic này. Broker được coi như trung tâm, nó là điểm giao của tất cả các kết nối đến từ các 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, lưu trữ, nhật ký… 2.
Một số khái niệm trong giao thức MQTT - Message Trong giao thức MQTT, message còn được gọi là "message payload", có định dạng mặc định là plain-text (chữ viết người đọc được), giống như khi hai người đang nói chuyện với nhau thì message giống như lời nói, chữ viết. - Topic Topic có thể coi như một "đường truyền" logic giữa 2 điểm là publisher và subscriber. Về cơ bản, khi message được publish vào một topic thì tất cả những subscriber của topic đó sẽ nhận được message này. 6 do an - QoS - Quality of Service Khái niệm này ra đời do nhu cầu đảm bảo sự chắc chắn trong việc gửi - nhận message giữa client và broker.
MQTT hỗ trợ 3 mức QoS: QoS-0 là mức đảm bảo thấp nhất, tất cả các message có QoS 0 sau khi được gửi đi bởi publisher sẽ không được kiểm tra xem đã đến broker hay chưa (fire - and - forget). QoS-1: message được đảm bảo rằng đã đến nơi nhận ít nhất 1 lần (tức là sự trùng lặp vẫn có thể xảy ra). QoS-2: đây là mức đảm bảo cao nhất, broker sẽ đảm bảo các message có QoS-2 sẽ đến nơi nhận chỉ 1 lần duy nhất, không trùng lặp, không thất lạc. Tất nhiên việc xác nhận với QoS-2 sẽ tốn băng thông hơn 2 cách còn lại.
- Retain: Retain là một cờ (flag) được gắn cho một message của giao thức MQTT. Retain chỉ nhận giá trị 0 hoặc 1 (tương ứng 2 giá trị logic false hoặc true). Nếu retain = 1, broker sẽ lưu lại message cuối cùng của 1 topic kèm theo mức QoS tương ứng. Khi client bắt đầu subscribe topic có message được lưu lại đó, client ngay lập tức nhận được message.
Ưu điểm của MQTT - Chuyển thông tin hiệu quả hơn. - Tăng khả năng mở rộng. - Giảm đáng kể tiêu thụ băng thông mạng. - Giảm tốc độ cập nhật xuống giây.
- Rất phù hợp cho điều khiển và giám sát. - Tối đa hóa băng thông có sẵn. - Chi phí cực nhẹ. - Rất an toàn với bảo mật dựa trên sự cho phép.
- Tiết kiệm thời gian phát triển. - Giao thức publish / subscribe thu thập nhiều dữ liệu hơn với ít băng thông hơn so với giao thức cũ. Ứng dụng của MQTT MQTT được sử dụng rộng rãi trong các ứng dụng IoT, các ứng dụng tin nhắn như Facebook Messenger cũng sử dụng MQTT. Giới thiệu chung Website, còn gọi là trang web, là một tập hợp các trang web có liên quan với nhau, thường chỉ nằm trong một tên miền (domain) hoặc tên miền phụ trên World Wide Web của Internet.
Mỗi trang web là một tài liệu siêu văn bản. Tài liệu này có thể chứa văn bản, âm thành, hình ảnh… được mã hóa đặc biệt, sử dụng ngôn ngữ đánh dấu siêu văn bản – HTML (HyberText Markup Language). Các thành phần cơ bản của Website - Tên miền (domain) Tên miền chính là địa chỉ website trên internet, giống như địa chỉ một ngôi nhà vậy, để tìm đến một ngôi nhà thì cần biết được địa chỉ nhà. Tương tự, cần phải biết được địa chỉ của website để có thể truy cập được website đó.
Tên miền - Máy chủ (webserver) Ở khía cạnh phần cứng, một máy chủ là một máy tính lưu trữ các file thành phần của một website (mã nguồn, các file hình ảnh, âm thanh…) và có thể phân phát chúng tới trình duyệt của người dùng. Máy chủ có thể kết nối tới internet và có thể truy cập thông qua tên miền. 8 do an Ở khía cạnh phần mềm, một máy chủ bao gồm phần mềm kiểm soát người dùng truy cập đến các file ở máy chủ. Máy chủ cũng thực thi các chức năng từ mã nguồn đề người dùng sử dụng thông qua trình duyệt.
- Cơ sở dữ liệu (database) Chứa thông tin của website, dữ liệu người dùng… - Mã nguồn (source code) Vừa là các tập tin chứa nội dung hiển thị trên trình duyệt mà người dùng có thể truy cập, xem và sử dụng các chức năng của website (front-end). Vừa là các tập lệnh thực thi các chức năng mà người dụng sử dụng (back-end). Ngôn ngữ lập trình web a. Phía người dùng (front-end) Phần front-end, còn gọi là client side – phía người dùng của một trang web là phần tương tác với người dùng.
Tất cả mọi thứ hiển thị khi truy cập vào một website, từ các font chữ, màu sắc cho tới các menu xổ xuống và các thanh trượt, là một sự kết hợp của HTML, CSS, và JavaScript được hiển thị và thực thi bởi trình duyệt máy tính. - HTML (HyperText Markup Language - Ngôn ngữ Đánh dấ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 trang web với các mẩu thông tin được trình bày trên World Wide Web. - CSS (Cascading Style Sheets - các tập tin định kiểu theo tầng): được dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn ngữ HTML. - JavaScript là một ngôn ngữ lập trình thông dịch được sử dụng để tạo ra những trang web tương tác.
Nó được tích hợp và nhúng trong HTML. JavaScript cho phép kiểm soát các hành vi của trang web tốt hơn so với khi chỉ có một mình HTML. JavaScript là một phần thiết yếu khi xây dựng web và nó được tìm thấy trên hầu hết các trang web, được hỗ trợ bởi hầu hết các trình duyệt web. Phía máy chủ (back-end) Back-end, hay còn gọi là server side – phía máy chủ của một website là nơi thực thi các chức năng của website được yêu cầu từ phía người dùng.
Người dùng không thể trực tiếp truy cập vào phần back-end mà chỉ có thể gửi yêu cầu (request) thông qua các chức năng đã định sẵn ở front-end. Ngày nay, back-end của một website có thể được xây dựng bởi nhiều ngôn ngữ khác nhau như PHP, Ruby, Python, Java, NodeJS… 9 do an 2. GIAO TIẾP UART UART (Universal Asynchronous Receive/Transmit) là chuẩn giao tiếp truyền nhậndữ liệu không đồng bộ. Đây là chuẩn giao tiếp phổ biến và dễ sử dụng, thường dùngtrong giao tiếp giữa vi điều khiển với nhau hoặc với các thiết bị khác.