Tài liệu giảng dạy Công nghệ IoT

130 1 0
Tài liệu giảng dạy Công nghệ IoT

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TẬP ĐỒN DỆT MAY VIỆT NAM TRƯỜNG CAO ĐẲNG CƠNG NGHỆ TP HCM KHOA CƠ ĐIỆN Tài liệu giảng dạy CƠNG NGHỆ IoT TP HỒ CHÍ MINH, THÁNG 09 NĂM 2021 TẬP ĐOÀN DỆT MAY VIỆT NAM TRƯỜNG CAO ĐẲNG CÔNG NGHỆ TP HCM KHOA CƠ ĐIỆN Tài liệu giảng dạy CƠNG NGHỆ IoT TP HỒ CHÍ MINH, THÁNG 09 NĂM 2021 LƯU HÀNH NỘI BỘ i MỤC LỤC Mục lục Lời nói đầu Bài Tìm hiểu cơng nghệ IoT I Khái niệm, chức đặc điểm IoT Khái niệm Chức Đặc điểm II Cơ sở hạ tầng hệ thống IoT Vạn vật - Things Trạm kết nối - Gateway Hạ tầng mạng điện toán đám mây - Network and Cloud Các lớp tạo cung cấp dịch vụ - Services _ creation and Solutions layers Các mơ hình thiết bị IoT kết nối Internet III Kiến trúc thượng tầng hệ thống IoT IV Thế giới với xu hướng phát triển IoT Kịch phát triển Ứng dụng IoT Bài tập Bài IoT với công nghệ nhà thông minh I Công nghệ nhà thông minh Tổng quan công nghệ nhà thông minh Cấu trúc, đặc trưng yêu cầu công nghệ Kiến trúc giao diện điều khiển II Giám sát nhận dạng an ninh Tương tác người dùng Áp dụng sinh trắc học vào kỹ thuật nhận dạng an ninh Mạch điều khiển giám sát nhận dạng an ninh Thiết kế thi công mạch điều khiển III Giám sát cảnh báo an toàn Tương tác người dùng Cơng nghệ báo cháy, báo khói, báo khí gas Trang i v 1 2 3 9 11 11 11 12 13 14 14 15 16 17 17 17 17 21 25 25 26 ii Mạch điều khiển giám sát cảnh báo an tồn Thiết kế thi cơng mạch điều khiển IV Quản lý điều khiển thiết bị điện dân dụng Trung tâm điều khiển –Gateway Giao diện kỹ thuật tương tác người dùng Kỹ thuật định lượng, ước lượng cảnh báo theo dòng thời gian Chế độ học lệnh remote, ưu tiên điều tiết Mạch quản lý điều khiển thiết bị điện dân dụng Thiết kế thi công mạch điều khiển V Giám sát, cảnh báo quản lý sức khỏe hộ dân Kỹ thuật thu thập nhận dạng thông tin, tương tác người dùng Chế độ nhắc việc chế độ cảnh báo An tồn thơng tin liên kết sở y tế Mạch điều khiển giám sát cảnh báo thông tin sức khỏe Thiết kế thi công mạch điều khiển Bài tập Bài IoT với lĩnh vực đô thị thông minh I Tổng quan đô thị thông minh Các mô hình thị thơng minh Cấu trúc đặc tính thị thơng minh II Cơng nghệ quản trị hành cơng Số hóa thị thơng minh Phần mềm số hóa Mơ quản trị Tpizi III Giám sát điều tiết giao thông Đặc điểm giao thông đô thị thông minh Thực hành quản lý công nghệ GPS Thực hành quản lý công nghệ RFID Xây dựng giao diện giám sát hệ điều hành Android IV Giám sát, quản lý cảnh báo an ninh, an tồn Cơng nghệ nhân trắc học, đặc điểm an ninh đô thị Thực hành mô nhận dạng khuôn mặt qua camera số Quản lý cư dân đô thị qua công nghệ Meshlium Scanner V Giám sát, quản lý cảnh báo chất lượng khơng khí 27 27 29 29 30 30 31 31 32 39 39 41 41 41 42 43 45 45 47 48 48 48 51 51 51 52 54 58 58 58 59 59 63 iii Tài nguyên khơng khí thị thơng minh Giám sát mơi trường khí thải cơng nghệ 3D – Flycam Xây dựng giao diện giám sát hệ điều hành Android Bài tập Bài IoT với công nghệ giám sát môi trường cảnh báo sớm I Số hóa tài ngun mơi trường Tổng quan Mục đích u cầu Cơng nghệ quản lý, kiểm sốt II Thời tiết điều kiện mơi trường tự nhiên Tổng quan Nhu cầu dự báo Công nghệ GNSS III Thực hành cảnh báo qua hệ điều hành Android Phân tích, thiết kế giao diện Thi công trạm điều khiển thu thập liệu Thi công trạm dự báo cảnh báo từ xa Bài tập Bài IoT với lĩnh vực thương mại dịch vụ I Tổng quan IoT thương mại dịch vụ Tổng quan Đặc điểm nhu cầu ứng dụng II Công nghệ quản lý điều hành Khái niệm chuỗi liên kết Khái niệm chuỗi giá trị Các công nghệ quản lý điều hành III Thực hành lớp ứng dụng người dùng Thiết kế thi cơng mạch mã hóa, giải mã QRCode Thiết kế thi cơng mơ hình kho lưu trữ trực tuyến IV Thực hành quản lý khách hành công nghệ Smartphone Detection Khái niệm công nghệ Smartphone Detection Phân tích yêu cầu đặc tính ứng dụng Lập trình giao diện, điều khiển kiểm soát lưu lượng khách hành Bài tập 63 63 64 65 68 68 68 69 69 70 70 70 70 71 71 79 88 92 94 94 94 95 97 97 98 98 101 101 107 108 108 109 110 117 iv Phụ lục Tài liệu tham khảo 119 122 v LỜI NÓI ĐẦU Tài liệu giảng dạy Công nghệ IoT biên soạn cho sinh viên cao đẳng ngành Công nghệ Kỹ thuật Điện – Điện tử ngành Công nghệ Kỹ thuật Cơ điện tử Tài liệu trang bị kiến thức lý thuyết, thực hành để sinh viên nghiên cứu thiết kế, thi cơng số mơ hình ứng dụng cơng nghệ IoT lĩnh vực nhà thông minh, đô thị thông minh, giám sát môi trường cảnh báo sớm, thương mại dịch vụ Tài liệu gồm bài: Bài Tìm hiểu cơng nghệ IoT Bài IoT với công nghệ nhà thông minh Bài IoT với lĩnh vực đô thị thông minh Bài IoT với công nghệ giám sát môi trường cảnh báo sớm Bài IoT với lĩnh vực thương mại dịch vụ Rất mong phản hồi quý báu từ bạn đọc để tài liệu ngày hoàn thiện Bài Tìm hiểu cơng nghệ IoT Bài TÌM HIỂU VỀ CƠNG NGHỆ IoT Bài giới thiệu tổng quan IoT, trình bày kiến thức công nghệ IoT hữu kịch phát triển IoT Các nội dung giới thiệu đến bạn đọc: + Khái niệm, chức đặc điểm IoT + Cơ sở hạ tầng hệ thống IoT + Kiến trúc thượng tầng hệ thống IoT + Thế giới với xu hướng phát triển IoT I Khái niệm, chức đặc điểm IoT Khái niệm 1.1 Lịch sử thuật ngữ IoT Thuật ngữ “Internet of Things” đưa vào năm 1999 nhà khoa học Kevin Ashton Ông người sáng lập trung tâm Auto-ID đại học MIT, nơi thiết lập quy chuẩn toàn cầu cho RFID (phương thức giao tiếp khơng dây dùng sóng Radio - Radio Frequency Identification) số loại cảm biến khác IoT phát triển từ hội tụ công nghệ không dây, công nghệ vi điện tử Internet Đây tập hợp thiết bị có khả kết nối với nhau, Internet (thế giới ảo) với giới bên (thế giới thực) để thực cơng việc Hình 1.1 Công nghệ không dây mạng lưới IoT 1.2 Khái niệm IoT - IoT: Internet of Things - Năm 2013, tổ chức Global Standards Initiative on Internet of Things (IoTGSI) định nghĩa IoT sau “IoT hạ tầng sở tồn cầu phục vụ cho xã hội thơng tin, hỗ trợ dịch vụ (điện toán) chuyên sâu thông qua vật thể (cả thực ảo) kết nối với nhờ vào công nghệ thông tin truyền thơng hữu tích hợp, với mục đích “vật” thứ giới thực (vật Bài Tìm hiểu cơng nghệ IoT thực) giới thông tin (vật ảo), mà vật nhận dạng tích hợp vào mạng lưới truyền thơng” Như vậy, hiểu đơn giản IoT tất thiết bị kết nối với Mỗi đồ vật, người cung cấp danh định (ID - Identification) riêng biệt, tất có khả truyền tải, trao đổi thông tin, liệu qua mạng - Kiến trúc IoT cấu thành từ phận chính: vạn vật (Things), trạm kết nối (Gateways), hạ tầng mạng điện toán đám mây (Network and Cloud), lớp tạo cung cấp dịch vụ (Services - creation and Solutions layers) Mục II trình bày chi tiết kiến trúc IoT Chức Nhu cầu phát triển nhân loại theo hướng bền vững dẫn đến giới phải tiết kiệm lượng, điều khiển thông minh với tốc độ nhanh nhất, thông tin xác, giám sát tồn cầu đa kênh/đa chiều, hợp tác đa phương, bùng nổ thông tin,… Tất điều cần thiết phải có sở hạ tầng kỹ thuật thông minh, kết nối sâu rộng tương tác cao Do đó, IoT với cơng hạ tầng kỹ thuật dành cho ứng dụng kết nối lựa chọn trở thành xu hướng tất yếu thời đại Việc kết nối thực qua mạng Ethernet (mạng toàn cầu), Wifi, mạng viễn thông băng rộng (3G, 4G, 5G), Bluetooth, Zigbee, hồng ngoại, RF,… Các thiết bị kết nối điện thoại thơng minh, máy tính bảng, máy tính để bàn, máy tính xách tay, tivi, tủ lạnh, máy giặt, tai nghe, bóng đèn, nhiều thiết bị khác IoT mạng khổng lồ kết nối thứ kể người, tồn mối quan hệ người với người, người với thiết bị, thiết bị với thiết bị không gian mạng Một mạng lưới IoT chứa đến 100 nghìn tỷ đối tượng kết nối mạng lưới theo dõi di chuyển đối tượng Một người sống thành phố bị theo dõi từ 1000 đến 5000 đối tượng bao bọc xung quanh Như thế, giới tương lai giới nghìn tỷ cảm biến kết nối Đặc điểm Những đặc điểm hệ thống IoT: - Tính kết nối liên thơng (interconnectivity): với IoT, điều kết nối với thông qua mạng lưới thông tin sở hạ tầng liên lạc tổng thể - Dịch vụ liên quan đến “Things”: hệ thống IoT cung cấp dịch vụ liên quan đến Things, chẳng hạn dịch vụ bảo vệ riêng tư quán vật thực (Physical things) với vật ảo (Virtual things) - Tính khơng đồng nhất: thiết bị IoT khơng đồng chúng có phần cứng khác mạng lưới (cấp độ mạng -network) khác Giữa thiết Bài Tìm hiểu cơng nghệ IoT bị mạng lưới khác tương tác với nhờ vào liên kết, tương tác mạng lưới (network) - Tính thay đổi linh hoạt: trạng thái thiết bị tự động thay đổi; ví dụ: ngủ thức, kết nối bị ngắt, vị trí thiết bị thay đổi, tốc độ thay đổi, số lượng thiết bị tự động thay đổi - Quy mô lớn: Số lượng lớn thiết bị quản lý giao tiếp với Số lượng thiết bị lớn số lượng máy tính Số lượng thông tin truyền thiết bị lớn nhiều so với lượng thông tin truyền người II Cơ sở hạ tầng hệ thống IoT Bốn thành tố cấu thành hệ thống IoT gồm: vạn vật (Things), trạm kết nối (Gateways), hạ tầng mạng điện toán đám mây (Network and Cloud), lớp tạo cung cấp dịch vụ (Services - creation and Solutions layers) Vạn vật - Things Ngày có hàng tỷ vật dụng gia dụng công nghệ khắp nơi như: nhà cửa, xe hơi, đồng hồ đeo tay, điện thoại di động kết nối trực tiếp thông qua băng tần mạng không dây truy cập vào Internet Giải pháp IoT giúp thiết bị thông minh sàn lọc, kết nối quản lý liệu cách cục bộ; thiết bị chưa thơng minh kết nối thơng qua trạm kết nối Trạm kết nối - Gateway 2.1 Các thích thuật ngữ - ISDN (Integrated Services Digital Network): Mạng số tích hợp đa dịch vụ + Đây công nghệ băng thông hẹp sử dụng rộng rãi, cho phép truyền liệu số hóa từ hệ thống cuối (máy chủ) gia đình qua đường điện thoại ISDN tới công ty điện thoại + ISDN loại mạng sử dụng kỹ thuật nối chuyển mạch có tiêu chuẩn quốc tế truyền thơng âm thanh, liệu, tín hiệu hình ảnh kỹ thuật số Ví dụ: ISDN cung cấp dịch vụ truyền hình hội thảo (video conference); lúc trao đổi hình ảnh, âm thanh, văn máy cá nhân có kết nối với nhóm hệ thống hội thảo truyền hình + ISDN signal: tín hiệu mạng số tích hợp - IP (Internet Protocal): giao thức Internet Đây địa đơn thiết bị điện tử sử dụng để nhận diện liên lạc với mạng máy tính - VoIP (Voice over Internet Protocal): giao thức truyền thông thoại qua sở hạ tầng Internet Công nghệ dựa kỹ thuật chuyển mạch gói thay cơng nghệ truyền thơng thoại cũ chuyển mạch kênh - PSTN (Public Switched Telephone Network): mạng điện thoại chuyển mạch công cộng (mạng điện thoại để bàn có dây dẫn) Mạng cho phép khách hàng sử Bài IoT với lĩnh vực thị thương mại dịch vụ 109 Hình 5.12 Ứng dụng Smartphone Detection Phân tích yêu cầu đặc tính ứng dụng - Đặt thiết bị đâu: Thiết bị X đặt cột điện chiếu sáng, biển bảng quảng cáo, cột đèn tín hiệu giao thơng, tóm lại vị trí cố định có đầy đủ nguồn cấp điện, sóng điện thoại 3/4G - Thiết bị X quét thiết bị nào: Ta điểm danh nhanh: Điện thoại Iphone, điện thoại Samsung, Các máy tính bảng, đồng hồ đeo tay thông minh, ô tô, laptop, - Giá trị thu sau dị tìm thiết bị: + Địa MAC thiết bị: Mỗi thiết bị có địa MAC định danh + Độ mạnh tín hiệu (RSSI): Cho phép biết khoảng cách trung bình từ thiết bị tới điểm quét + Nhà cung cấp thiết bị: Samsung, Apple, + Loại thiết bị (CoD: Class of Device): trường hợp Bluetooth cho phép thiết bị X phân biệt điện thoại thơng minh, tai nghe, máy tính, Với thơng số này, giúp phân biệt người xe - Ứng dụng lĩnh vực bán lẻ hoạt động đường phố: Thiết bị X nghĩ đến tên ý tưởng "smartphone detection" dùng để phát xuất thiết bị thơng minh (đi kèm với chủ sở hữu D) Thiết bị cho giá trị: số lượng thiết bị có mặt thời điểm địa điểm định Đó nguồn liệu quan trọng cho lĩnh vực bán lẻ hoạt động đường phố: + Lĩnh vực công: Số người hàng ngày đường phố, phục vụ mục đích điều tiết giao thơng thống kê báo cáo + Thời gian trung bình người + Phân biệt cư dân khu phố (xuất hàng ngày) với khách thăm (thỉnh thoảng xuất hiện, xuất lần đầu) + Phân tích hành vi người tiêu dùng: Phục vụ nghiên cứu marketing Bài IoT với lĩnh vực đô thị thương mại dịch vụ 110 → Thời gian trung bình người dân thực khu mua sắm; → Họ dừng cửa hàng nhiều hơn; → Họ quan tâm tới sản phẩm nhiều hơn; → Tần suất khách hàng quay lại bao nhiêu,… + Giám sát an ninh: Các đối tượng cần theo dõi, sử dụng thiết bị thông minh có địa MAC, địa giúp lần giấu vết đối tượng Lập trình giao diện, điều khiển kiểm soát lưu lượng khách hành Yêu cầu: Thiết kế giao diện giám sát lưu lượng khách hành cơng nghệ Smartphone Detection Người dùng sử dụng App điện thoại Android thiết bị khác Phân tích: Theo yêu cầu, ta thiết kế chương trình - Một chương trình điện thoại (hay máy tính bảng, laptop) chạy Webapp, nên chọn phương án Socket Client Webapp (Socket máy chủ, Client vi mạch nhúng điện thoại) Giao diện thực chạy chương trình - Chương trình cịn lại viết cho vi mạch nhúng (Arduino, Esp8266, máy tính nhúng) để phát đếm số lượng thiết bị thông minh (Smartphone, Laptop, Smartwatch, SmartRing (vòng đeo tay),…) - Sử dụng cảm biến phát sóng Wifi Bluetooth để gắn trạm muốn phát khách hành (Smart phone) Hướng dẫn: - Bạn đăng ký App mở rộng để chạy ứng dụng “Blynk” hay “Cayenne Mydevices.com” Lưu ý Blynk đòi hỏi bạn phải tạo tài khoản tốn khoảng phí định để chạy cảm biến phát Smartphone, Cayenne yêu cầu bạn tạo tài khoản sử dụng miễn phí (free) để chạy cảm biến số lượng cảm biến giới hạn cảm biến (điều đồng nghĩa với việc bạn đặt trạm phát Smartphone xung khu vực mong muốn) - Cách khác, bạn tạo Webapp đơn giản với thư viện có sẵn “index.html”chứa CCS3 JavaSCRPT Theo mơ hình trình bày hình 5.13, nhiệm vụ xây dựng module Webapp (chạy trình duyệt web) tầng Module nằm tầng 2, để giao tiếp với Arduino, phải qua Socket Server (tầng 1), ESP8266 (tầng 2) Arduino (tầng 3) Và ngược lại, để từ Arduino, giao tiếp tới Webapp, ta cần qua ESP8266 (tầng 2), lên Socket Server (tầng 1) cuối Webapp (tầng 2) - Mục đích ban đầu từ Webapp (máy tính điện thoại) điều khiển Arduino hay nói cách khác điều khiển Arduno từ Socket Server Bài IoT với lĩnh vực thị thương mại dịch vụ 111 Hình 5.13 Mơ hình liên kết Socket –Client - Chúng ta xem ESP8266 làm trung gian vận chuyển thông tin từ Socket Server ESP8266 nhận từ Socket Server (thơng qua Socket) gửi xuống Arduino (Serial command) Arduino xử lý xong, lại gửi trả kết cho ESP8266 (Serial command), ESP8266 nhận tin từ Arduino đẩy tồn liệu đến Socket server (thơng qua Socket) Như vậy, chu trình khép kín tồn phần Cịn chu kỳ khép kín bán phần từ Arduino sau chu kỳ (ms) gửi kết cảm biến cho Socket Server - Sau sử dụng Webapp điều khiển Arduino (trong mạng Wifi) Chúng ta xây dựng Socket Server trở thành nơi trung gian trao đổi liệu ESP8266 Trình duyệt Web Trong đó, ESP8266 Socket Server trở thành nơi trung gian vận chuyển liệu Webapp Arduino Code tham khảo: - Code Socket Server const PORT = 3484; //Đặt địa Port mở để tạo chương trình mạng Socket Server var http = require('http'); var express = require('express'); //thư viện express - dùng để tạo server http nhanh thư viện http cũ var socketio = require('socket.io');// thư viện socketio var ip = require('ip'); var app = express(); //Khởi tạo chương trình mạng (app) var server = http.Server(app) var io = socketio(server); //Phải khởi tạo io sau tạo app var webapp_nsp = io.of('/webapp'); //namespace webapp var esp8266_nsp = io.of('/esp8266'); //namespace esp8266 var middleware = require('socketio-wildcard')(); //Để bắt toàn lệnh! esp8266_nsp.use(middleware); //Khi esp8266 emit lệnh lên bị bắt webapp_nsp.use(middleware); Bài IoT với lĩnh vực đô thị thương mại dịch vụ 112 server.listen(PORT); // Cho socket server (chương trình mạng) lắng nghe port 3484 console.log("Server nodejs chay tai dia chi: " + ip.address() + ":" + PORT) //Cài đặt webapp fie liệu tĩnh app.use(express.static("node_modules/mobile-angular-ui"))//Có thể truy cập file //node_modules/mobile-angular-ui từ xa app.use(express.static("node_modules/angular")) //Có thể truy cập file //node_modules/angular từ xa app.use(express.static("node_modules/angular-route")) //Có thể truy cập file //node_modules/angular-route từ xa app.use(express.static("node_modules/socket.io-client")) // Có thể truy cập file //node_modules/socket.io-client từ xa app.use(express.static("node_modules/angular-socket-io")) // Có thể truy cập //các file //node_modules/angular-socket-io từ xa app.use(express.static("webapp")) // Dùng để lưu trữ webapp //giải nén chuỗi JSON thành OBJECT function ParseJson(jsondata) { try return JSON.parse(jsondata) } catch (error) return null } //Bắt kiện esp8266 kết nối esp8266_nsp.on('connection', function(socket) { console.log('esp8266 connected') socket.on('disconnect', function() { console.log("Disconnect socket esp8266") }) //nhận lệnh socket.on("*", function(packet) { console.log("esp8266 rev and send to webapp packet: ", packet.data) //in để debug var eventName = packet.data[0] var eventJson = packet.data[1] || {} //nếu gửi thêm json lấy json từ lệnh gửi, khơng gửi chuỗi json rỗng, {} webapp_nsp.emit(eventName, eventJson) //gửi toàn lệnh + json đến webapp }) }) //Bắt kiện webapp kết nối webapp_nsp.on('connection', function(socket) { console.log('webapp connected') //Khi webapp socket bị kết nối socket.on('disconnect', function() { console.log("Disconnect socket webapp") }) socket.on('*', function(packet) { console.log("webapp rev and send to esp8266 packet: ", packet.data) //in để debug var eventName = packet.data[0] Bài IoT với lĩnh vực đô thị thương mại dịch vụ 113 var eventJson = packet.data[1] || {} //nếu gửi thêm json lấy json từ lệnh gửi, khơng //thì gửi chuỗi json rỗng, {} esp8266_nsp.emit(eventName, eventJson) //gửi toàn lệnh + json đến esp8266 }); }) - Code Esp8266 #include #include #include #include //include thư viện để kiểm tra free RAM esp8266 extern "C" { #include "user_interface.h } const byte RX = D1; const byte TX = D2; SoftwareSerial mySerial(RX, TX, false, 256); SerialCommand sCmd(mySerial); // Khai báo biến sử dụng thư viện Serial Command SocketIOClient client; const char* ssid = "tên Wifi"; const char* password = "PassWifi"; char host[] = "192.168.200.46"; //Địa IP dịch vụ, thay đổi theo địa IP Socket server //bạn int port = 3484; //Cổng dịch vụ socket server tạo char namespace_esp8266[] = "esp8266"; //Thêm Arduino //từ khóa extern: dùng để khai báo biến toàn cục số thư viện khác Trong thư viện //SocketIOClient có hai biến tồn cục mà cần quan tâm // RID: Tên hàm (tên kiện // Rfull: Danh sách biến (được đóng gói lại chuối JSON) extern String RID; extern String Rfull; void setup() { //Bật baudrate mức 57600 để giao tiếp với máy tính qua Serial Serial.begin(57600); mySerial.begin(57600); //Bật software serial để giao tiếp với Arduino, nhớ để baudrate trùng với //software serial mạch arduino delay(10); //Việc cần làm kết nối vào mạng Wifi Serial.print("Ket noi vao mang "); Serial.println(ssid); //Kết nối vào mạng Wif WiFi.begin(ssid, password); //Chờ đến kết nối while (WiFi.status() != WL_CONNECTED) { //Thốt khỏi vịng Bài IoT với lĩnh vực đô thị thương mại dịch vụ 114 delay(500); Serial.print('.'); Serial.println(); Serial.println(F("Da ket noi WiFi")); Serial.println(F("Di chi IP cua ESP8266 (Socket Client ESP8266): ")); Serial.println(WiFi.localIP()); if (!client.connect(host, port, namespace_esp8266)) Serial.println(F("Ket noi den socket server that bai!")); return sCmd.addDefaultHandler(defaultCommand); //Lệnh qua bắt hết, chuyển xuống //hàm defaultCommand Serial.println("Da san sang nhan lenh"); } void loop(){ //Khi bắt kiện có hai tham số // +RID: Tên kiện // +RFull: Danh sách tham số nén thành chuỗi JSON if (client.monitor()) //in serial cho Arduin mySerial.print(RID); mySerial.print('\r'); mySerial.print(Rfull); mySerial.print('\r'); //in serial monito Serial.print(RID); Serial.print(' '); Serial.println(Rfull); //Kiểm tra xem dư RAM, để debug uint32_t free = system_get_free_heap_size(); Serial.println(free); //Kết nối lại if (!client.connected()) client.reconnect(host, port, namespace_esp8266); sCmd.readSerial() } void defaultCommand(String command) { char *json = sCmd.next(); client.send(command, (String) json);//gửi liệu cho Socket Server //In serial monitor để debu Serial.print(command); Serial.print(' '); Serial.println(json); } - Code Arduino Bài IoT với lĩnh vực đô thị thương mại dịch vụ 115 #include #include #include // Thêm vào sketch thư viện Serial Command const byte RX = 3; // Chân dùng làm chân RX const byte TX = 2; // Chân dùng làm chân TX SoftwareSerial mySerial = SoftwareSerial(RX, TX); SerialCommand sCmd(mySerial); // Khai báo biến sử dụng thư viện Serial Command int red = 4, blue = 5; // mắc led đỏ chân 4, led xanh chân int datasensor = 6; // Chân tín hiệu cảm biến mắc chân const unsigned long CHU_KY_1_LA_BAO_NHIEU = 5000UL; //Cứ sau 5000ms = 5s chu kỳ lặp //lại void setup() { //Khởi tạo Serial baudrate 57600 để debug serial monitor Serial.begin(57600); //Khởi tạo Serial baudrate 57600 cho cổng Serial thứ hai, dùng cho việc kết nối với ESP8266 mySerial.begin(57600); //pinMode đèn LED OUTPUT pinMode(red,OUTPUT); pinMode(blue,OUTPUT); pinMode(datasensor,INPUT);// Đặt chân cảm biến INPUT // Một số hàm thư viện Serial Command sCmd.addCommand("LED", led); //Khi có lệnh LED thực thi hàm led sCmd.addCommand("PHONE", smartphone_detect); } unsigned long chuky1 = 0; void loop() { //Khởi tạo chu kỳ lệnh, chu kỳ 5000m if (millis() - chuky1 > CHU_KY_1_LA_BAO_NHIEU) chuky1 = millis(); smartphone_detect(); sCmd.readSerial(); } // hàm led_red thực thi gửi hàm LED_RED void led() { Serial.println("LED") char *json = sCmd.next(); Serial.println(json); StaticJsonBuffer jsonBuffer; //tạo Buffer json có khả chứa tối đa 200 ký tự JsonObject& root = jsonBuffer.parseObject(json);//đặt biến root mang kiểu json int redStatus = root["led"][0];//json -> tham số root > phần tử thứ int blueStatus = root["led"][1];//json -> tham số root > phần tử thứ //kiểm thử giá trị Serial.print(F("redStatus ")); Serial.println(redStatus); Serial.print(F("blueStatus ")); Serial.println(blueStatus); Bài IoT với lĩnh vực đô thị thương mại dịch vụ StaticJsonBuffer jsonBuffer2 JsonObject& root2 = jsonBuffer2.createObject(); root2["redStatus"] = redStatus; root2["blueStatus"] = blueStatus; //Tạo mảng JSON JsonArray& data = root2.createNestedArray("data"); data.add(redStatus); data.add(blueStatus); //in cổng software serial để ESP8266 nhận mySerial.print("LED_STATUS"); //gửi tên lệnh mySerial.print('\r'); root2.printTo(mySerial); //gửi chuỗi JSON mySerial.print('\r'); //in Serial để debug root2.printTo(Serial); //Xuống dịng, xuất hình digitalWrite(red, redStatus); digitalWrite(blue, blueStatus); } void smartphone_detect() { StaticJsonBuffer jsonBuffer JsonObject& root = jsonBuffer.createObject() //đọc giá trị cảm biến in root["digital"] = digitalRead(datasensor); root["message"] = digitalRead(datasensor); //in cổng software serial để ESP8266 nhận mySerial.print("PHONE"); //gửi tên lệnh mySerial.print('\r'); root.printTo(mySerial); //gửi chuỗi JSON mySerial.print('\r'); } - Code Webapp HTML(lưu file webapp.js) angular.module('myApp', [ 'ngRoute' 'mobile-angular-ui' 'btford.socket-io' ]).config(function($routeProvider) { $routeProvider.when('/', templateUrl: 'home.html' controller: 'Home }) }).factory('mySocket', function (socketFactory) { var myIoSocket = io.connect('/webapp'); //Tên namespace webapp mySocket = socketFactory({ ioSocket: myIoSocket }); 116 Bài IoT với lĩnh vực đô thị thương mại dịch vụ 117 return mySocket; }).controller('Home', function($scope, mySocket) { ////Khu Khu cài đặt tham số //dùng để đặt giá trị mặc định $scope.sensor = "hiển thị phát hiện" $scope.leds_status = [1, 1] ////Khu Cài đặt kiện tương tác với người dùng $scope.updateSensor = function() { mySocket.emit("PHONE") } $scope.changeLED = function() { console.log("send LED ", $scope.leds_status) var json = { "led": $scope.leds_status } mySocket.emit("LED", json) } ////Khu Nhận liệu từ Arduno gửi lên (thông qua ESP8266 socket server truyền tải!) //các kiện từ Arduino gửi lên (thông qua esp8266, thông qua server) mySocket.on('PHONE', function(json) { $scope.sensor = (json.digital == 1) ? "phát smart phone" }) //Khi nhận lệnh LED_STATUS mySocket.on('LED_STATUS', function(json) { //Nhận in thơi hihi console.log("recv LED", json) $scope.leds_status = json.data }) //// Khu – Đoạn code thực thi kết nối với Arduino (thông qua socket server) mySocket.on('connect', function() { console.log("connected") mySocket.emit("PHONE") //Cập nhập smart phone khác }) }); Bài tập Bài tập Lập trình ứng dụng mạch đếm số lượng khách đến cửa hàng Sử dụng RPi Camera OV5647 5MP, kết hợp dùng máy tính nhúng Raspi Yêu cầu: - Khi khách đến cửa hàng ngang qua camera lắp đặt cố định, camera ngõ số phát tín hiệu báo cho máy tính nhúng Raspi đếm lêm đơn vị (do chương trình lập trình thực hiện) Bài IoT với lĩnh vực đô thị thương mại dịch vụ 118 - Số lượng khách cập nhật từ mở đến đóng cửa hàng với khung thời gian quy ước từ 8g00’ đến 20g30’ ngày - Dữ liệu khách ngày lưu thành file chứa nhớ Raspi Bài tập Sau hoàn thành tập Yêu cầu: - Phát liệu theo thời gian thực lên App Cayenne - Chủ cửa hàng dễ dàng truy xuất liệu App từ điện thoại hay Laptop Bài tập Thiết kế thi công mạch đếm số lượng sản phẩm bán ngày quầy hàng Số lượng sản phẩm bán cập nhật tăng lên đơn vị sau lần đọc mã code khách tính tiền Yêu cầu: - Sử dụng đầu đọc barcode kết nối máy tính nhúng Arduino, ESP8266 - Số lượng hàng hóa bán cập nhật file excel Lưu ý: Quầy bán mặt hàng Bài tập Sau hoàn thành tập Yêu cầu: “Quầy bán nhiều mặt hàng” - Thiết kế bảng tính excel lưu nhiều mã hàng - Sử dụng đầu đọc barcode cho tất mặt hàng, số lượng bán mặt hàng lưu quy định mã hàng Lưu ý: Đặt tên mã hàng thống cho sản phẩm mặt hàng/quy cách Mỗi mã hàng mã code Bài tập Sau hoàn thành tập Yêu cầu: - Số lượng sản phẩm tập cập nhật lên App Blynk Cayenne - Chủ quầy hàng dễ dàng truy xuất liệu App từ điện thoại hay Laptop Bài tập Sau hoàn thành tập Yêu cầu: Thiết kế ô sản phẩm tồn kho cho mặt hàng vừa bán - Cho số lượng đầu kỳ nhập số, ví dụ: 150 sản phẩm, lần bán (đọc barcode) sản phẩm tồn kho giảm đơn vị - Hiển thị thêm ô sản lượng tồn kho App GUI (lập trình giao diện) Phụ lục 119 Phụ lục DANH SÁCH CÁC HÌNH Tên hình Hình 1.1 Cơng nghệ khơng dây mạng lưới IoT Hình 1.2 Hệ thống PBX mối liên kết với PSTN Hình 1.3 Kết nối 4G/LTE giao tiếp M2M Gateway hãng BEG Hình 1.4 Trạm kết nối hệ thống thông tin liên lạc Hình 1.5 Mơ hình lớp ứng dụng Gateway với giao thức MQTT hệ thống IoT Hình 1.6 Mối liên hệ URL, HTTP, Domain Hình 1.7 Mơ hình thiết bị IoT kết nối trực tiếp Gateways Hình 1.8 Thiết bị IoT kết nối gián tiếp đến Gateways Hình 1.9 Kết nối thiết bị IoT đến Server khơng cần Gateways Hình 1.10 Sơ đồ quản lý sức khỏe phụ nữ mang thai qua ứng dụng SmartHealth Hình 2.1 Thiết bị nhà bếp thơng minh Hình 2.2 One touch Hình 2.3 Kiến trúc phân nhóm Hình 2.4 Giao diện điều khiển full show Hình 2.5 Dấu vân tay Hình 2.6 Mạch điều khiển giám sát nhận dạng an ninh Hình 2.7 Bộ chng cửa sử dụng camera nhận dạng hình 720P HD Hình 2.8 Module OpenMV3 Cam M7 Camera Hình 2.9 Cảm biến nhận dạng vân tay Hình 2.10 Cảm biến nhận dạng giọng nói VR3 micro Hình 2.11 Thiết bị quét nhận dạng mống mắt CMITech EF45 Hình 2.12 Máy tính nhúng Rasberry Pi Hình 2.13 Cửa sổ Raspi config Hình 2.14 Mạch nhận dạng dấu vân tay cảm biến AS608 kết hợp Arduino Uno Hình 2.15 Giao diện người dùng cho cảnh báo an toàn App Cayenne Blynk Hình 2.16 Mạch điều khiển giám sát cảnh báo an tồn Hình 2.17 Mạch điện đấu nối Esp8266 với cảm biến báo cháy Hình 2.18 Cài đặt thơng số AppBlynk Hình 2.19 Một số mẫu Smarthome gateway Hình 2.20 Giao diện điều khiển thiết bị dân dụng Trang 01 04 05 06 06 08 09 10 11 12 15 15 16 16 17 18 19 19 20 20 20 21 22 24 26 27 28 28 30 30 Phụ lục Hình 2.21 Sơ đồ khối mạch quản lý điều khiển thiết bị Hình 2.22 Bo mạch ESP8266 NodeMCU Hình 2.23 Đấu nối Relay với chân ESP8266 Hình 2.24 Kết điều khiển ESP8266 trực tiếp từ Web browser Hình 2.25 Thiết bị đeo y tế thơng minh Hình 2.26 Mạch điện theo dõi cảnh báo thơng tin sức khỏe Hình 2.27 Mạch đo nhịp tim sử dụng cảm biến MAX30100 Hình 3.1 Mẫu quan thị thơng minh Hình 3.2 Mơ hình thành phố thơng minh Amsterdam với tảng Hình 3.3 Arduino GSM GPRS SIM800DS Hình 3.4 Tải phần mềm Termite 3.4 máy tính Hình 3.5 Kết nối bo Arduino GPS với máy tính Hình 3.6 Đầu đọc thẻ RFID 13,56Mhz Hình 3.7 Đầu đọc thẻ RFID 125Khz Hình 3.8 Hai mạch đọc thẻ RFID giao tiếp chuẩn UART, I2C SPI Hình 3.9 Thẻ RFID Hình 3.10 Kết đọc thẻ RFID Hình 3.11 Sơ đồ nguyên lý hệ thống nhận dạng khn mặt Hình 3.12 Cơng nghệ Meshlium Scanner 4G AP Hình 3.13 Đấu nối nguồn, mạng Lan cho modem gateway Laptop Hình 3.14 Đấu nối mạng Lan qua switch Hình 3.15 Gắn nano – Sim vào socket Hình 3.16 Giao diện Meshlium manager system Hình 3.17 Ơ nhiễm mơi trường thành phố Hà Nội nhìn từ Flycam Hình 3.18 Cảm biến bụi PMS7003 hộp chứa Hình 3.19 App Blynk kết nối PMS7003 Hình 4.1 Gateway Libeium nông nghiệp đo nhiệt độ, độ ẩm, nồng độ Oxygen, sói mịn Hình 4.2 u cầu chia sẻ liệu tài ngun mơi trường Hình 4.3 Quan trắc viên trạm Hồi Xn, Thanh Hóa Hình 4.4 Arduino GPS module mạch GSM Hình 4.5 Chọn Blank Activity Hình 4.6 Chọn lớp fragment_weather Hình 4.7 Kết giao diện ứng dụng mang tên SimpleWeather Hình 4.8 Tổng quan ứng dụng trạm điều khiển thu thập liệu Hình 4.9 Sơ mạch nguyên lý DHT11 kết nối Esp8266 Hình 4.10 Kết hiển thị monitor (trái) terminal (phải) Hình 4.11 Kết hiển thị hình Log in Webserver Hình 4.12 Dữ liệu hiển thị địa “localhost:8000/get” Hình 4.13 Giao diện liệu đồ thị định dạng HTML 120 31 32 35 39 40 41 42 46 48 52 53 53 55 55 56 56 58 59 60 61 61 62 62 63 64 64 68 69 70 71 71 72 79 80 81 84 84 87 87 Phụ lục 121 88 89 90 Hình 4.14 Màn hình giao diện App Blynk Hình 4.15 Cài đặt đọc nhiệt độ độ ẩm Hình 4.16 Cài đặt hiển thị biểu đồ nhiệt độ, độ ẩm Hình 4.17 Cài đặt hiển thị vector giá trị đo upload hiển thị kết cài đặt Hình 4.18 Sơ đồ mạch DHT kết nối NodeMCU Esp8266 Hình 5.1 Thương mại điện tử Hình 5.2 Mơ hình kinh doanh Platform Hình 5.3 Các mơ hình kinh doanh tảng Hình 5.4 ERP - Enterprise Resource Planning Systems Hình 5.5 Giải pháp bán hàng đa kênh TrustSales Hình 5.6 Mã barcode đầu đọc tương ứng Hình 5.7 Mã QRCode đầu đọc Hình 5.8 Sử dụng phần mềm Teklynkx 94 96 97 98 101 102 102 103 Hình 5.9 Giải mã tín hiệu dùng QR Code Hình 5.10 Mạch giao tiếp nối tiếp RS MAX232 Hình 5.11 Mạch giao tiếp tín hiệu TTL dùng Max232 Hình 5.12 Ứng dụng Smartphone Detection Hình 5.13 Mơ hình liên kết Socket –Client 104 104 105 109 111 90 91 Tài liệu tham khảo 122 TÀI LIỆU THAM KHẢO [1] Lại Nguyễn Duy, Lưu Văn Đại, Huỳnh Thanh Hịa, Giáo trình Cơng nghệ Internet of Things, Cao đẳng Kỹ thuật Cao Thắng, 2019 [2] Phạm Quang Huy, Nguyễn Trọng Hiếu, Arduino, NXB Bách khoa Hà Nội, 2016 [3] Allen Downey, Jeffrey Elkner, Chris Meyers, How to Think Like a Computer Scientist, Green Tea Press Grove St P.O Box 812901 Wellesley, MA 02482, 2002 [4] Simon Monk, Raspberry Pi Cookbook, O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472, 2014 [5] www.iot.com/newproject/ [6] www.theiotmagazine.com/ Chương 1 ... lục Tài liệu tham khảo 119 122 v LỜI NĨI ĐẦU Tài liệu giảng dạy Cơng nghệ IoT biên soạn cho sinh viên cao đẳng ngành Công nghệ Kỹ thuật Điện – Điện tử ngành Công nghệ Kỹ thuật Cơ điện tử Tài liệu. .. từ bạn đọc để tài liệu ngày hoàn thiện Bài Tìm hiểu cơng nghệ IoT Bài TÌM HIỂU VỀ CƠNG NGHỆ IoT Bài giới thiệu tổng quan IoT, trình bày kiến thức công nghệ IoT hữu kịch phát triển IoT Các nội... TRƯỜNG CAO ĐẲNG CƠNG NGHỆ TP HCM KHOA CƠ ĐIỆN Tài liệu giảng dạy CƠNG NGHỆ IoT TP HỒ CHÍ MINH, THÁNG 09 NĂM 2021 LƯU HÀNH NỘI BỘ i MỤC LỤC Mục lục Lời nói đầu Bài Tìm hiểu cơng nghệ IoT I Khái niệm,

Ngày đăng: 12/01/2023, 18:43

Tài liệu cùng người dùng

Tài liệu liên quan