Chương 1 : Tổng Quan Chương 2 : Cơ sở lý thuyết Chương 3 : Thiết kế hệ thống và các khối Chương 4 : Chương trình điều khiển Chương 5 : Kết quả và thực nghiệm Chương 6 : Kết luận và hướng phát triển trang 5 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2. Truyền dữ liệu Truyền dữ liệu là cách mà các thiết bị có thể giao tiếp, trao đổi thông tin với nhau. Có hai cách để truyển dữ liệu đó là truyền dữ liệu nối tiếp và truyền dữ liệu song song. Mặt dù chỉ có hai cách truyền dữ liệu nhưng lại có rất nhiều chuẩn truyền dữ liệu.
Một số chuẩn truyền dữ liệu phổ biến hiện nay đó là SPI, UART và I2C. Chuẩn giao tiếp SPI SPI viết tắt của Serial Peripheral Interface, SPI bus – Giao diện ngoại vi nói tiếp, bus SPI. 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). SPI là giao diện đồng bộ, bất cứ quá trình truyền nào cũng được đồng bộ hóa với tín hiệu clock chung. Tín hiệu này sinh ra bởi master. 1: Truyền tín hiệu theo chuẩn SPI.
Trong giao diện SPI có bốn 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. Chuẩn giao tiếp I2C I²C, viết tắt của từ tiếng Anh “Inter-Integrated Circuit”, là một loại bus nối tiếp được phát triển bởi hãng sản xuất linh kiện điện tử Philips. Ban đầu, loại bus này chỉ được dùng trong các linh kiện điện tử của Philips.
Sau đó, do tính ưu việt và đơn giản của nó, I²C đã được chuẩn hóa và được dùng rộng rãi trong các moudle truyền thông nối tiếp của vi mạch tích hợp ngày nay. Cấu tạo và nguyên lý hoạt động: I²C sử dụng hai đường truyền tín hiệu: Một đường xung nhịp đồng hồ(SCL) chỉ do Master phát đi ( thông thường ở 100kHz và 400kHz. Mức cao nhất là 1Mhz và 3. Một đường dữ liệu(SDA) theo 2 hướng.
Sơ đồ kết nối như hình 2-2 Hình 2. 2: Truyền tín hiệu theo chuẩn I2C. Chuẩn giao tiếp UART UART là viết tắt của Universal Asynchronous Receiver – Transmitter. Thường 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.
Rất nhiều vi điều khiển hiện nay đã được tích hợp UART. UART thường được dùng trong máy tính công nghiệp, truyền thông, vi điều khiển, hay một số các thiết bị truyền tin khác. Mục đích của UART là để truyền tín hiệu qua lại lẫn nhau ( ví dụ truyền tín hiệu từ Laptop vào Modem. 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.
Ở kiểu truyền này thì có 1 đường phát dữ liệu và 1 đường nhận dữ liệu còn tín hiệu xung clock có cùng tần số và thường được gọi là tốc độ truyền dữ liệu (baund). Sơ đồ kết nối: trang 7 Hình 2. 3: Truyền tín hiệu theo chuẩn UART. Giao thức HTTP HTTP - Hypertext Transfer Protocol (giao thức truyền dẫn siêu văn bản), là giao thức để truyền dữ liệu giữa các máy tính qua www (World Wide Web), với dữ liệu có thể là dạng text, file, ảnh, hoặc video.
HTTP được thiết kế để trao đổi dữ liệu giữa Client và Server trên nền TCP/IP, nó vận hành theo cơ chế yêu cầu/trả lời, stateless - không lưu trữ trạng thái. Trình duyệt Web chính là Client, và một máy chủ chứa Web Site là Server. Client sẽ kết nối tới Server, gởi dữ liệu đến server bao gồm các thông tin header. Server nhận được thông tin và căn cứ trên đó gởi phản hồi lại cho Client.
Đồng thời đóng kết nối. Trong giao thức HTTP, việc thiết lập kết nối chỉ có thể xuất phát từ phía client ( lúc này có thể gọi là HTTP Client ). Khi client gửi yêu cầu, cùng với URL và payload ( dữ liệu muốn lấy ) tới server. Server ( HTTP Server ) lắng nghe mọi yêu cầu từ phía client và trả lời các yêu cầu ấy.
Khi trả lời xong kết nối được chấm dứt. 4: Cách truyền nhận dữ liệu thông qua giao thức http. Với : URL được dùng để định dạng địa chỉ Website. Jonson: JSON (JavaScript Object Notation) là 1 định dạng trao đổi dữ liệu để giúp việc đọc và viết dữ liệu trở nên dễ dàng hơn, máy tính cũng sẽ dễ phân tích và tạo ra JSON.
Chúng là cơ sở dựa trên tập hợp của ngôn ngữ lập trình JavaScript. JSON là 1 định dạng kiểu text mà hoàn toàn độc lập với các ngôn ngữ hoàn chỉnh, thuộc họ hàng với các trang 8 ngôn ngữ trong họ hàng của C, gồm có C, C++, C#, Java, JavaScript, Perl, Python, và nhiều ngôn ngữ khác. Những đặc tính đó đã tạo nên JSON 1 ngôn ngữ hoán vị dữ liệu lý tưởng. Vd: { "username" : "your-user-name", "email" : "your-email@email.com", "website" : "iota.vn", "title" : "IoT Stater Cource" } 2.
Giới thiệu chung về cơ sở dữ liệu 2. Giới thiệu Dữ liệu là các thông tin liên quan đến đối tượng (ví dụ như người, vật, sự việc,.) được lưu trữ trên máy tính. Dữ liệu được mô tả dưới nhiều dạng khác nhau (như ký tự, ký hiệu, hình ảnh, , âm thanh. Để có thể đưa được các dữ liệu hình ảnh, các giá trị thống số của một hệ thống ta cần phải sử dụng 1 cỡ sở dữ liệu có sẵn hoặc có thể tự tạo.
Nó có nhiệm vụ lưu trữ cũng như thay đổi để tiện cho việc sử dụng. Hiện nay có khá nhiều trang web hỗ trợ chúng ta đưa dữ liệu lên và lưu trữ nó trên internet được hỗ trợ miễn phí và có thể sử dụng ở mọi nơi vd: Firebase, Adafruit.io, Thing speed, bylnk,…nhưng để đưa được video, và hình ảnh cũng như database thì Firebase của Google đang hỗ trợ. 5: Các ứng dụng trên Firebase. trang 9 Google FireBase là gì: Đó 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 được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.
Google FireBase bao gồm việc: - Lưu trữ dữ liệu thời gian thực: Bạn đăng ký 1 tài khoản trên firebase, tạo một ứng dụng và bạn đã có 1 cơ sở dữ liệu thời gian thực. Dữ liệu trong cơ sở dữ liệu Firebase của bạn được lưu trữ dưới dạng JSON và đồng bộ realtime đến mọi kết nối client. Khi bạn xây dựng những ứng dụng đa nền tảng như Android, IOS và JavaScrip SDKs, tất cả các client của bạn sẽ chia sẻ trên một cơ sở dữ liệu Firebase và tự động cập nhật với dữ liệu mới nhất. Với các ứng dụng đa nền tảng tất cả các client sẽ đề sử dụng chung 1 DB và luôn được tự động cập nhật dữ liệu mới nhất.
Tất cả dữ liệu được truyền qua một kết nối an toàn SSL với một chứng nhận 2048-bit. Làm việc offline: Đừng lo nếu mất mạng bởi dữ liệu luôn được lưu trữ trước ở local mỗi khi có sự thay đổi nào sẽ được tự động cập nhật lên server của Firebase và ngược lại khi dữ liệu ở local là cũ hơn với server nó cũng sẽ được tự động cập nhật để dữ liệu luôn là mới nhất. - Xác thực người dùng: 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. Nó giúp bạn nhiều trong việc xác thực người dùng.
- Firebase hosting: Firebase cung cấp các hosting và được phân phối qua SSL từ CDN sẽ giúp bạn tiết kiệm được rất nhiều thời gian trong việc xây dựng ứng dụng. Firebase Storage: Là dịch vụ được xây dựng cho mục đích lưu trữ và quản lý các nội dung mà người dùng ứng dụng tạo ra như ảnh, videos hay dữ liệu dạng file. Firebase Storage cung cấp các API cho việc uploads và download các file từ app của bạn một cách bảo mật và bạn không cần quan tâm đến chất lượng đường truyền mạng. Firebase Storage được xây dựng trên nền tảng Google Cloud Platform nên có nhiều lợi thế.
6: Dữ liệu được gửi trên Firebase. t r a n g 11 CHƯƠNG 3 THIẾT KẾ HỆ THỐNG VÀ CÁC KHỐI 3. Thiết kế hệ thống 3. Yêu cầu hệ thống Theo như đề tài “ỨNG DỤNG IOT TRONG GIÁM SÁT VÀ ĐIỀU KHIỂN QUA HÌNH ẢNH” các yêu cầu đề ra: Có khả năng nhận tín hiệu từ các thiết bị ngoại vi và gửi tín hiệu điều khiển chúng.
Kết nối internet đề điều khiển từ xa các thiết bị thông minh. Thu thập dữ liệu từ camera và cảm biến nhiệt độ và độ ẩm. Sơ đồ khối t r a n g 12 KHỐI CẢM KHỐI NÚT NHẤN BIẾN CAMERA HIỂN THỊ KHỐI XỬ LÍ Server SMARTPHONE KHỐI MẠCH KHỐI CÔNG NẠP SUẤT Hình 3. 1: Sơ đồ khối hệ thống.
Chức năng - Khối nguồn: có chức năng cấp nguồn cho toàn bộ mạch để hoạt động. - Khối xử lí: có chức năng nhận/xuất dữ liệu,xử lí và điều khiển. - Khối mạch nạp : có chức năng nạp chương trình cho cho khối xử lý. - Khối công suất: có chức năng kết nối với các thiết bị bên ngoài với vi khối điều khiển để điều khiển.
- Khối cảm biến : thu thập dữ liệu từ bên ngoài để khối xử lý tính toán và trả về kết quả cho người dùng. - Nút nhấn : chọn chế độ nạp chương trình, điều on/off và reset lại thiết bị. - Khối camera : truyền hình ảnh về điện thoại để kiểm tra thiết bị. - Hiển thị : giúp hiện thị trạng thái hoạt động của thiết bị.