IOT102 - Internet vạn vật
Chủ đề học tập
IOT102 - Phần 10: Vào ra tương tự với Arduino UNO
Nhóm bài thực hành về tín hiệu tương tự, trục chính là CLO7. Gồm phần sau của buổi 8 là bài đọc chân tương tự, buổi 9 là bài làm mờ dần đèn LED bằng lệnh ghi tương tự tức điều chế độ rộng xung kèm mốc giới thiệu đề tài đồ án, phần đầu của buổi 15 là bài đọc chân tương tự rồi xuất ra cổng nối tiếp, và buổi 30 là bài trộn màu đèn LED ba màu trên trình mô phỏng Tinkercad. Nhóm này dạy sự khác nhau giữa đọc một mức điện áp liên tục và đọc một mức logic, cùng cách tạo tín hiệu ra có mức thay đổi được. Cần lưu ý một điểm lệch của nguồn: buổi 15 chứa hai bài tương tự nhưng cột chuẩn đầu ra lại chỉ ghi CLO5, CLO6, CLO8 và CLO9, không có CLO7.
IOT102 - Phần 11: Cảm biến và cơ cấu chấp hành
Nhóm bài thực hành ghép cảm biến và cơ cấu chấp hành vào Arduino, trục chính là CLO8. Gồm phần sau của buổi 15 là bài đọc quang trở qua chân tương tự, buổi 18 là bài quang trở điều khiển các mức sáng làm ở nhà, buổi 19 là bài quang trở kết hợp vòng lặp, buổi 20 là bài cảm biến siêu âm đo khoảng cách, buổi 21 gồm hai bài động cơ servo quét qua lại và servo điều khiển bằng biến trở, buổi 28 là bài điều khiển hồng ngoại từ xa, và buổi 33 là bài cảm biến nhiệt độ LM35. Đây là nhóm chuyển từ nhấp nháy đèn sang đo đại lượng vật lý thật và điều khiển chuyển động. Bảng buổi gán kèm CLO5, CLO6, CLO7 và CLO9 tuỳ từng buổi.
IOT102 - Phần 12: Truyền thông nối tiếp Serial
Nhóm bài thực hành về trao đổi dữ liệu giữa Arduino và máy tính qua cổng nối tiếp, trục chính là CLO9. Bốn buổi 35, 36, 42 và 48 đều là buổi tự học ở nhà theo bản hướng dẫn. Buổi 35 là bài đọc chuỗi ASCII rồi dùng đèn LED ba màu làm bộ hiển thị. Buổi 36 là bài lọc nhiễu tín hiệu rồi gửi dữ liệu lên máy tính và vẽ đồ thị bằng Processing. Buổi 42 là bài bảng mã ASCII, in toàn bộ bảng mã ra cổng nối tiếp. Buổi 48 là bài nhận dữ liệu nhập từ cổng nối tiếp. Nhóm này dạy cách một thiết bị nhỏ báo cáo số liệu ra ngoài và nhận lệnh vào, nền tảng cho phần kết nối của đồ án. Bảng buổi gán kèm CLO6, CLO7 và CLO12 tuỳ buổi.
IOT102 - Phần 13: Thiết bị hiển thị và bàn phím ma trận
Nhóm bài thực hành ghép các thiết bị giao tiếp với người dùng, cả bốn buổi đều học tại lớp và đều có phần chấm bài tự làm ở nhà. Buổi 32 là bài đèn bảy đoạn, hiển thị chữ số bằng cách bật tắt từng đoạn. Buổi 38 là bài màn hình tinh thể lỏng LCD 1602, hiển thị hai dòng mười sáu ký tự. Buổi 50 là bài bàn phím ma trận 4x4, quét hàng cột để biết phím nào được nhấn. Buổi 55 là bài ma trận đèn LED 8x8. Nhóm này gom một đầu ra hiển thị và một đầu vào nhập liệu, tức là phần giao diện của thiết bị. Bảng buổi gán cho nhóm này các chuẩn đầu ra CLO5, CLO6, CLO7, CLO8, CLO9 và CLO11, mỗi buổi một bộ khác nhau.
IOT102 - Phần 14: Ngắt và bộ nhớ EEPROM trên ATmega328P
Nhóm bài thực hành về cơ chế ngắt và bộ nhớ trong của vi điều khiển, cả bốn buổi đều học tại lớp. Buổi 39 là bài sự kiện cổng nối tiếp, buổi 40 là bài ngắt ngoài kích hoạt bằng tín hiệu từ chân, buổi 45 là bài ngắt định thời chạy theo bộ đếm thời gian của chip; ba buổi này ứng với CLO13, chuẩn đầu ra yêu cầu hiểu cơ chế ngắt trên Arduino UNO. Ngoài ba buổi nội dung đó, CLO13 còn nằm trong phạm vi buổi kiểm tra tiến độ thứ hai vốn gán trọn CLO1 đến CLO13. Buổi 51 là bài đọc ghi bộ nhớ EEPROM, phần bộ nhớ không mất dữ liệu khi tắt nguồn nằm ngay trên ATmega328P, được bảng buổi gán CLO6, CLO9 và CLO11.
IOT102 - Phần 15: Thiết kế và triển khai đồ án IoT cuối kỳ
Làn đồ án chạy suốt học kỳ, trục chính là CLO10 và CLO12. Buổi 24 và 25 là hai buổi lý thuyết trên khoá IOT2x về lập kế hoạch ý tưởng cho đồ án. Buổi 31, 37, 43 và 53 là các buổi thực hành nâng cao gắn với đề tài, dùng thêm linh kiện ngoài bộ KIT cơ bản. Buổi 44 là buổi vẽ sơ đồ khối, sơ đồ nguyên lý mạch cùng sơ đồ nối dây và lưu đồ thuật toán. Buổi 54 là buổi chuẩn bị báo cáo cuối kỳ bằng Latex hoặc Overleaf theo mẫu và hướng dẫn của giảng viên. Hai mốc thủ tục nằm lồng trong buổi khác cũng thuộc làn này: giới thiệu đề tài ở buổi 9 và đăng ký đề tài ở buổi 15. Bảng buổi gán CLO10 ở buổi 24, 25, 44 và gán CLO12 ở buổi 44, 54; bốn buổi thực hành nâng cao chỉ mang CLO5 đến CLO9.
IOT102 - Phần 1: Tổng quan Internet vạn vật và ứng dụng
Buổi 1, học tại lớp, mở đầu môn học. Nội dung gồm phần giới thiệu môn IOT102 và bài lý thuyết đầu tiên của khoá IOT1x mang tên What in the world is the Internet of Things, trả lời câu hỏi Internet vạn vật là gì và nó đang được dùng vào những việc gì trong thực tế. Đây là buổi ứng với CLO1, chuẩn đầu ra yêu cầu hiểu khái niệm IoT và các ứng dụng của nó. Hai việc thủ tục gắn với buổi này được ghi thẳng trong nhiệm vụ sinh viên: mượn bộ Learning KIT tại thư viện để dùng cho toàn bộ chuỗi thực hành về sau, và ghi danh khoá IOT1x trên edX theo đường dẫn của học liệu chính. Học liệu gồm slide, video và bản hướng dẫn tạo tài khoản, tìm khoá học và làm quiz trên edX.
IOT102 - Phần 2: Kiến trúc Arduino UNO và vi điều khiển ATmega328P
Buổi 2, học tại lớp. Nội dung là kiến trúc bo Arduino và vi điều khiển ATmega328P: bố trí chân, khối xử lý, các loại bộ nhớ trên chip và cách chương trình được nạp rồi chạy trên vi điều khiển. Đây là nền tảng phần cứng cho toàn bộ chuỗi thực hành phía sau, gắn với chuẩn đầu ra CLO11 yêu cầu hiểu kiến trúc Arduino UNO và vi điều khiển Atmega328. Cần lưu ý một điểm lệch của chính nguồn: bảng buổi gán buổi này cho CLO1, còn CLO11 lại chỉ được gán ở buổi 50 và buổi 51 là hai buổi bàn phím ma trận và đọc ghi EEPROM; mô tả ở đây bám nội dung buổi học chứ không bám nhãn. Học liệu gồm slide, video và bản hướng dẫn học trên edX.
IOT102 - Phần 3: Arduino IDE, Fritzing và Tinkercad
Hai buổi thực hành đầu tiên là buổi 3 và buổi 7, đều học tại lớp, gắn CLO10 và CLO12. Buổi 3 gồm bài làm quen Arduino và Genuino UNO là bài dựng sẵn Getting Started, cùng bài dựng mạch bằng Fritzing để vẽ sơ đồ nối dây và sơ đồ nguyên lý. Buổi 7 là bài hướng dẫn dùng trình mô phỏng Arduino trên Tinkercad, cho phép lắp mạch và chạy thử chương trình ngay trên trình duyệt mà chưa cần phần cứng thật. Hai chuẩn đầu ra tương ứng là lập kế hoạch ý tưởng, vẽ và lắp các mạch IoT đơn giản, và biết cách sử dụng phần mềm mô phỏng. Bộ công cụ này được dùng lại xuyên suốt các nhóm thực hành sau và cả khi vẽ sơ đồ cho đồ án cuối kỳ.
IOT102 - Phần 4: Vạn vật trong IoT
Buổi 4, tự học trực tuyến trên khoá IOT1x, bài mang tên The things of the Internet of Things. Nội dung trả lời câu hỏi cái gì được coi là một vật trong Internet vạn vật: một vật cần những thành phần nào để kết nối và trao đổi dữ liệu, cảm biến và cơ cấu chấp hành đóng vai trò gì trong đó, và một vật khác gì với một máy tính thông thường. Đây là buổi duy nhất mang chuẩn đầu ra CLO2, yêu cầu hiểu khái niệm vạn vật trong IoT; ngoài buổi này, CLO2 chỉ còn xuất hiện ở hai buổi thuyết trình 26, 27 và buổi kiểm tra tiến độ thứ hai. Nhiệm vụ của sinh viên là ghi danh khoá IOT1x và theo dõi bài giảng trực tuyến; học liệu gồm slide và video.
IOT102 - Phần 5: Mạng trong IoT
Hai buổi tự học trực tuyến 5 và 6 trên khoá IOT1x, cùng mang tiêu đề Networking IoT với buổi 6 là phần tiếp nối. Nội dung là lớp mạng của một hệ thống Internet vạn vật: các thiết bị nối với nhau và nối ra Internet bằng cách nào, những kiểu kết nối và giao thức dùng cho thiết bị nhỏ tiêu thụ ít năng lượng, và dữ liệu đi từ vật tới nơi xử lý theo đường nào. Đây là hai buổi duy nhất mang chuẩn đầu ra CLO3, yêu cầu hiểu phần mạng trong IoT; ngoài chúng, CLO3 chỉ còn xuất hiện ở hai buổi thuyết trình 26, 27 và buổi kiểm tra tiến độ thứ hai. Nhiệm vụ của sinh viên là ghi danh khoá IOT1x và theo dõi bài giảng; học liệu gồm slide và video.
IOT102 - Phần 6: Lập trình cho IoT
Hai buổi tự học trực tuyến 10 và 11 trên khoá IOT1x, cùng mang tiêu đề Programming IoT với buổi 11 là phần tiếp nối. Nội dung là phần lập trình cho hệ thống Internet vạn vật ở mức khái niệm: chương trình chạy trên một thiết bị nhỏ khác gì chương trình trên máy tính, vòng lặp điều khiển của thiết bị hoạt động ra sao, và dữ liệu từ cảm biến được xử lý rồi gửi đi như thế nào. Phần này bổ trợ cho toàn bộ chuỗi Lab Arduino chạy song song ở các buổi lân cận. Cần lưu ý một điểm lệch của chính nguồn: bảng buổi gán hai buổi này cho CLO1, trong khi cụm IoT Programming lại nằm trong nội dung của CLO5; mô tả ở đây bám nội dung buổi học.
IOT102 - Phần 7: An toàn và bảo mật trong IoT
Hai buổi tự học trực tuyến 16 và 17 trên khoá IOT1x, cùng mang tiêu đề Securing IoT với buổi 17 là phần tiếp nối. Nội dung là mặt an toàn của một hệ thống Internet vạn vật: vì sao thiết bị IoT là mục tiêu tấn công, những rủi ro đặc thù đến từ việc thiết bị nhỏ, số lượng lớn và thường ít được cập nhật, cùng các biện pháp bảo vệ thiết bị và dữ liệu trên đường truyền. Đây là hai buổi duy nhất mang chuẩn đầu ra CLO4, yêu cầu hiểu phần bảo mật trong IoT; ngoài chúng, CLO4 chỉ còn xuất hiện ở hai buổi thuyết trình 26, 27 và buổi kiểm tra tiến độ thứ hai. Nhiệm vụ của sinh viên là ghi danh khoá IOT1x và theo dõi bài giảng.
IOT102 - Phần 8: Mạch điện và linh kiện điện tử
Hai buổi tự học trực tuyến 22 và 23, cùng mang tiêu đề Electrical circuits and electronics với buổi 23 là phần tiếp nối. Đây là điểm chuyển sang khoá thứ hai: cột đường dẫn của bảng buổi trỏ sang IOT2x thay vì IOT1x như các buổi lý thuyết trước. Nội dung là nền điện tử cần cho phần thực hành: linh kiện điện tử gắn với thiết bị IoT ra sao, quan hệ giữa điện áp, dòng điện và điện trở, phân biệt linh kiện chủ động với linh kiện thụ động, và phân biệt tín hiệu tương tự với tín hiệu số. Hai buổi này ứng với CLO5, chuẩn đầu ra yêu cầu chọn và tính toán linh kiện điện tử; CLO5 còn được gán cho phần lớn chuỗi Lab và các buổi đồ án về sau.
IOT102 - Phần 9: Vào ra số với Arduino UNO
Nhóm bài thực hành về chân vào ra số, ứng với CLO6. Gồm phần đầu của buổi 8 là bài nhấp nháy đèn LED bằng lệnh ghi số, buổi 12 là bài hiệu ứng dãy đèn LED tự làm ở nhà, buổi 13 là bài đọc nút nhấn bằng lệnh đọc số, buổi 14 gồm bài điện trở kéo lên kết hợp cổng nối tiếp và bài phát hiện đổi trạng thái nút nhấn, buổi 29 là bài đọc chân số rồi xuất ra cổng nối tiếp, buổi 41 là bài nhấp nháy đèn mà không dùng lệnh chờ, và buổi 49 là bài chống rung phím. Các buổi tự làm ở nhà được chấm ở buổi kế tiếp trên lớp. Ngoài CLO6, bảng buổi còn gán CLO9 cho buổi 13, 14, 29 và gán CLO5 cho buổi 29.