Tổng quan về IOT & Lập trình C nhúng cho vi điều khiển
GIỚI THIỆU MÔN HỌC!
Chào mừng các bạn đến với môn học thứ hai trong Chương trình Lập trình IoT cùng Lumi (IoT Programing with Lumi) thuộc khung chương trình đào tạo giữa Đại học FUNiX và Công ty cổ phần Lumi Việt Nam.
Môn học này trang bị cho học viên các kiến thức tổng quan về hệ thống IoT, trong đó vi điều khiển đóng một vai trò quan trọng. Thông qua rèn luyện các kỹ năng cơ bản về lập trình nhúng với vi điều khiển STM32, học viên sẽ bước đầu tiếp cận việc xây dựng hệ thống IoT trong thực tiễn.
Trong khóa học này, các chuyên gia về lập trình nhúng sẽ giới thiệu cho các bạn về định nghĩa ngôn ngữ lập trình vi điều khiển là gì và tại sao nó lại phổ biến cho đến tận ngày nay dù đã tồn tại rất lâu. Từng bài học sẽ giúp các bạn hiểu hơn về các thành phần trong ngôn ngữ lập trình vi điều khiển như biến và kiểu dữ liệu, cấu trúc điều kiện, vòng lặp... và sự hiệu quả của con trỏ trong việc cấp phát, quản lý bộ nhớ. Ngoài ra, trong từng bài học các bạn sẽ được thực hành với các bài tập exercise/lab để ghi nhớ và vận dụng các kiến thức đã học vào các bài toán ứng dụng thực tế. Kết thúc mỗi phần các bạn sẽ được thực hành với bài tập lớn liên quan đến các ứng dụng IOT thực tế như mô phỏng công tắc cảm ứng của Lumi hay giao tiếp với các thiết bị khác trong hệ thống IoT.
Để việc học tập được hiệu quả, chúng tôi khuyến khích học viên học môn “Lập trình C” thuộc khóa học này hoặc tự tích lũy những kiến thức cơ bản và một số kỹ năng, kinh nghiệm về lập trình C. Học viên cũng cần rèn luyện khả năng tự tìm hiểu, lối suy nghĩ độc lập, tư duy lô-gic, và nên biết lắng nghe những chỉ dẫn của giảng viên cũng như đội ngũ mentor.
Môn học sẽ có 3 phần, với 15 bài học. Sau mỗi phần học viên sẽ được yêu cầu xây dựng một project thực tế với sự hỗ trợ từ mentor, độ khó của project sẽ tăng dần theo từng chương.
THÔNG TIN MÔN HỌC
Mã môn học: | IOT302x |
Tên môn học: | Tổng quan về IOT và Lập trình C nhúng cho vi điều khiển |
Số tín chỉ: | 3 |
Thời gian học: | 6 tuần |
MỤC TIÊU MÔN HỌC
- Hiểu được khái niệm về vạn vật kết nối (Internet of Thing) và hệ thống nhúng (Embedded Systems).
- Hiểu được các kiến thức cơ bản về vi điều khiển trong hệ thống nhúng.
- Áp dụng kiến thức về lập trình C vào các bài toán thực tế trong lập trình vi điều khiển STM32.
CẤU TRÚC MÔN HỌC
Phần 1: Giới thiệu về Internet of Things (IoT) và vai trò của hệ thống nhúng
Bài 1 - Tổng quan về Internet of Things (IoT)
Bài 2 - Tổng quan về hệ thống nhúng và mạng truyền thông
Progress Test 1
Phần 2: Giới thiệu về lập trình vi điều khiển trong hệ thống nhúng
Bài 3 - Tổng quan về lập trình C
Bài 4 - Cài đặt phần mềm và chạy chương trình đầu tiên
Lab 1 - Làm quen với trình biên dịch
Bài 5 - Giới thiệu và cài đặt LUMI KIT
Lab 2 - Thực hành điều khiển màn hình hiển thị LCD
Bài 6 - Tổng quan về lập trình vi điều khiển trong hệ thống nhúng
Lab 3 - Thực hành với bộ nhớ BSS, HEAP, STACK
Progress Test 2
Phần 3: Ứng dụng lập trình C vào vi điều khiển
Bài 7 - Chú thích, tiền xử lý và hàm Scanf trong lập trình vi điều khiển
Lab 4 - Thực hành với hàm scanf và tiền xử lý
Bài 8 - Biến và kiểu dữ liệu trong lập trình vi điều khiển
Lab 5 - Thực hành với các thuật toán trong lập trình vi điều khiển
Bài 9 - Type Qualifiers trong lập trình vi điều khiển
Lab 6 - Thực hành với các thuật toán trong lập trình vi điều khiển
Bài 10 - Toán tử trong lập trình vi điều khiển
Lab 7 - Thực hành điều khiển tín hiệu đầu ra của các ngoại vi led và còi
Bài 11 - Cấu trúc rẽ nhánh trong lập trình vi điều khiển
Lab 8 - Thực hành điều khiển tín hiệu đầu ra của ngoại vi led với tín hiệu đầu vào là nút nhấn, cảm biến và bản tin giao tiếp
Bài 12 - Cấu trúc vòng lặp trong lập trình vi điều khiển
Lab 9 - Thực hành giao tiếp với cảm biến và xử lý tín hiệu từ nút nhấn
Bài 13 - Hàm trong lập trình vi điều khiển
Assignment 1 - Mô phỏng thiết bị công tắc cảm ứng của Lumi SmartHome
Bài 14 - Con trỏ và mảng trong lập trình vi điều khiển
Lab 11 - Thực hành với các thuật toán trong lập trình vi điều khiển và điều khiển tín hiệu đầu ra của các ngoại vi led và màn hình điều khiển
Bài 15 - Chuỗi ký tự trong lập trình vi điều khiển
Lab 12 - Thực hành xử lý dữ liệu từ bản tin giao tiếp trong vi điều khiển
Assignment 2 - Giao tiếp với phần mềm mô phỏng PC Simulator KIT IOT
ĐỘI NGŨ THIẾT KẾ MÔN HỌC
THIẾT KẾ MÔN HỌC
LUMI TEAM |
|
|
Công ty Cổ phần Lumi Việt Nam là công ty dẫn đầu tại Việt Nam trong lĩnh vực Nhà thông minh - một ứng dụng tiêu biểu của IOT. Được thành lập từ năm 2012, đến nay Nhà thông minh Lumi đã khẳng định được vị thế vững mạnh trên thị trường nhờ làm chủ về công nghệ, sở hữu hệ sinh thái nhà thông minh hoàn chỉnh và mở rộng liên tục. Website: https://lumi.vn |
Nguyễn Tuấn Anh |
|
Nguyễn Huy Hoàng |
|
CHUYÊN GIA PHẢN BIỆN MÔN HỌC
Nguyễn Bình Minh |
|
Khuất Đức Anh |
|
NGUỒN HỌC LIỆU (MOOC)
Trong thời đại hiện nay, mỗi môn học đều có nhiều nguồn tài liệu liên quan kể cả sách in và online, FUNiX Way không quy định một nguồn học liệu cụ thể mà khuyến cáo để học viên chọn được nguồn phù hợp nhất cho mình. Trong quá trình học từ nhiều nguồn khác nhau theo lựa chọn cá nhân đó, khi sinh viên phát sinh câu hỏi thì sẽ được kết nối nhanh nhất với mentor để được giải đáp. Toàn bộ phần đánh giá bao gồm các câu hỏi trắc nghiệm, bài tập, dự án và thi vấn đáp do FUNiX thiết kế, xây dựng và thực hiện.
Các môn học của FUNiX không quy định bắt buộc tài liệu học tập, sinh viên có thể chủ động tìm và học từ bất kỳ nguồn nào phù hợp, kể cả sách in hay nguồn học liệu online (MOOC) hay các website. Việc sử dụng các nguồn đó do học viên chịu trách nghiệm và đảm bảo tuân thủ các chính sách của chủ sở hữu nguồn, trừ trường hợp họ có sự hợp tác chính thức với FUNiX. Nếu cần hỗ trợ, học viên có thể liên hệ phòng đào tạo FUNiX để được hướng dẫn.
Dưới đây là một số nguồn học liệu của môn học mà học viên có thể tham khảo sử dụng. Việc liệt kê nguồn dưới đây không nhất thiết hàm ý rằng FUNiX có sự hợp tác chính thức với chủ sở hữu của nguồn: Udemy, Youtube, Codelearn, Coursera, Tutorialspoint, Geeksforgeeks, Guru99.
Kênh phản hồi
FUNiX sẵn sàng đón nhận và trao đổi về mọi ý kiến góp ý, phản hồi liên quan đến học liệu qua email [email protected].