首页 体系课 物联网/嵌入式工程师
物联网/嵌入式工程师
(随课附赠总价2588元配套硬件设备及中英图文教程)
行业热门,政策风口,人才缺口极大,现在入场时机正好!
上千人检验,数轮迭代的硬核知识体系,软硬件通吃
保姆式教学+简历指导+1V1模拟面试+3次内推,助力轻松就业!
随到随学 10月31日开课
37 课程内容
12 个月 教学服务期限
385 小时 视频时长
1 V 1 模拟面试
小班制 精品教学
3 内推机会
37 课程内容
12 个月 教学服务期限
70000 手敲代码
2 企业及项目
16+ 实操案例
394 累计学习人数

¥14999

7天未学可退

加购物车 立即购买

嵌入式全能工程师重磅上新 ,三大专属福利,享受超值大礼包

到手总价值超 17500
扫码添加
获取更多优惠信息

以就业为目标,小班制精品教学,导师+班主任全程督导,为你保驾护航

智能化和新基建风口正盛,嵌入式技术是当之无愧的“天之骄子”

各行各业都需要嵌入式技术的升级,人才供不应求!

慕课网诚意钜献,为你量身定制

应届毕业生

嵌入式是前景无限的朝阳产业
选择嵌入式
就开启了你成功的职业生涯

技术转型

从最基础的入门技术讲起
结合企业级项目实战
助你全面掌握嵌入式

薪资跃迁

传统IT技术已是红海
进军嵌入式领域
可以在短时间内迅速提升薪资水平

通过学习本课程,可以胜任以下岗位

应用层
底层

经过上千人检验,数轮迭代的精品课程,全程硬核干货,助你顺利入行

六大课程阶段闯关式学习,小白也能轻松入门,步步为营提升实力

  • 1

    新手基础入门

  • 2

    嵌入式应用层
    Linux C 语言工程师

  • 3

    嵌入式应用层
    Linux C++语言工程师

  • 4

    嵌入式底层
    工程师

  • 5

    嵌入式底层
    工程师进阶

  • 6

    嵌入式
    大项目实战

随着技术的提升,逐级增加配套项目难度,在实战中牢牢掌握每个技术点

嵌入式Linux C语言软件开发阶段

日历系统
目标:
C 语言基础运用
俄罗斯方块游戏
目标:
强化 C 语言编程思维
学生管理系统
目标:
强化对数据结构重点算法的掌握
shell 程序开发
目标:
掌握 Linux 下文件操作和
常用系统调用 API 使用技能

嵌入式Linux C/C++语言软件开发阶段

并发服务器模型开发
目标:
充分了解操作系统的工作原
理,进程、线程的应用场景
远程视频监控
目标:
深度掌握Linux网络编程实
际工程场景中的运用
基于 C++
网络版五子棋游戏
目标:
实战中理解C++语言的使用
以及软件设计模式
基于 QT 云音乐播放器
目标:
从软件界面设计美化到软
件功能实现发布

嵌入式底层工程师项目实战

基于PID算法Wifi智能循迹小车

项目简介
使用stm32芯片进
行智能车进行无线
控制,实现小车自
动循迹、自动避障
等功能,并学会使
用freeRTOS,完成在
stm32中进行多任
务控制。
核心技术栈
· C/C++/ARM/汇编
· ARM 核技术
· 单片机接口技术
· 物联网技术
· stm32 单片机技术
功能实现
· 基于PID 算法智能
  循迹小车
· PS 手柄无线控制
· ESP8266 无线数
  据传输
· 超声波避障
· 温湿度数据采集
· 上位机软件开发

嵌入式底层工程师大项目综合进阶,叩开大厂高薪的大门!

智能家居

项目简介
《智能家居》项目融合了很多前面所学的嵌入式开发涉技术栈,带同学手把手实现智能家居的客户端、网关端、设备端功能,也是消费类电子行业的热门产品。
核心技术栈
· C/C++/Python/Shell
· 单片机接口技术
· 物联网技术
· stm32 单片机技术
· Linux 设备驱动
· 嵌入式系统定制
· QT 开发交互显示界面
· ARM 核技术
功能实现
· 项目通信协议制定
· 登陆/注册功能
· 密码找回功能
· 信息修改功能
· 控制设备添加和删除
· 设备打开和关闭
· 摄像头数据功能
· 环境信息数据获取
· 指纹控制门锁
· 人脸识别控制
· 电器设备开关
· 设备端环境信息数据
· 设备端语音控制
· 设备端人体感应

三大终极项目,即便只掌握一个都足以成为大厂敲门砖

独自实战整个开发流程,由老师手把手指导,用自己的真作品为简历/毕设/电子设计竞赛增色!

  • 1

    智能网关

  • 2

    智能无人售货机

  • 3

    人脸识别考勤机

开发语言C/C++
项目简介智能网关

在物联网时代,依靠传感器来感知外部环境,这些传感器采集的数据最终需要通过网关汇总上传到云端服务器进行数据处理(存储、可视化),本项目中运用Lora、zigbee、4G等常用的物联网通信协议进行无线数据传输,开发智能网关产品,采用MQTT 协议完成无线终端传感器节点数据发布和订阅,丰富学员嵌入式物联网产品开发经验。

核心技术
· C++ 语言开发云端服务器管理网关设备
· QT开发智能网关操作软件,进行网关控
  制和数据可视化显示
· Linux 操作系统运用
· Lora、zigbee、4G模块运用
· stm32 单片机开发
· CGI WEB页面开发
功能简介
· 支持外部RS485采集传感器数据
· 支持Lora、zigbee等方式接入终端节点数据
· 支持web界面配置网关参数
· 支持TCP、UDP、MQTT协议向云端传输数据
· 支持4G实现数据透传
开发语言C/C++
项目简介智能无人售货机

无人售货的是未来货物销售的趋势,本项目融合了前面所学的技术,结合第三方支付平台,带学员完成一个无人售货机产品开发,让学员了解在嵌入式产品开发过程中,如何让自己的产品接入第三方平台,丰富学员的项目经验。

核心技术
· C++ 语言开发云端服务器管理柜机设备
· QT开发柜机端界面操作软件
· 数据库数据处理
· 第三方支付平台接入,生成支付二维码
· stm32 控制柜机出货
· 摄像头数据实时传输及云端存储
· Linux camera、tp、lcd驱动
功能简介
· 柜机端完成商品录入和售卖
· 柜机端摄像头实时采集数据传输到云端进行存储
· 柜机端通过第三方支付平台完成支付二维码生成,
  完成支付操作
· 云端服务器进行柜机管理,柜机销售数据实时记录
· 云端服务器管理柜机上面的商品,一旦柜机处于缺
  货或商品过期状态实时通知维护柜机人员
开发语言C/C++
项目简介人脸识别考勤机

指纹识别和人脸识别在实际生活中嵌入式产品比较常用的功能,本项目以开发智能考勤机产品,让学员掌握指纹识别和人脸识别在实际嵌入式产品中的运用,丰富学员的项目经验。

核心技术
· C++ 语言开发云端并发服务器
· 数据库数据处理
· QT开发考勤机端显示软件和上位机操作软件
· stm32 单片机
· Linux camera、tp、lcd驱动
功能简介
· 设备端完成指纹录入、识别
· 设备端完成人脸录入、识别
· 设备端完成考勤数据记录及考勤数据传输到云端
· 云端服务器完成考勤数据存储
· 云端服务器支持客户端查询考勤数据
· PC端考勤软件支持人员基本信息录入,提交到设备端进行存储
· PC端考勤软件支持从云端获取考勤数据及考勤数据图表化展示

300+技术栈,媲美5年嵌入式经验的知识体量,知识够硬核,你才有底气

  • 计算机基础
  • C 语言
  • 数据结构
  • 文件 IO 和标准 IO
  • Linux 多进程、多线程、IO 模型
  • 计算机网络基础
  • 开发环境搭建
  • 安装 ubuntu 系统
  • 计算机基础
  • 计算机原理
  • Linux 基础命令
  • GCC 编译器
  • 进制转换
  • 原码、反码、补码
  • 数据存储原理
  • C 语言数据类型
  • C 语言运算符
  • C 语言控制语句
  • C 语言数组、函
    数、指针
  • C 语言宏定义
  • C 语言结构体、联
    合体、枚举
  • C 语言位域
  • C 语言内存剖析
  • 内存的分配和释放
  • C 语言 static 关键字
  • C 语言堆区内存管理
  • C 语言动态内存管理
  • 顺序表、链表
  • 栈、队列
  • 二叉树
  • 图数据结构
  • 哈希表
  • 排序
  • 时间复杂度
  • 空间复杂度
  • Linux 系统调用原理
  • Linux 下文件的
    操作 API
  • 基于标准 C 库的
    文件操作
  • 动态库应用
  • 静态库应用
  • gcc 链接库原理
  • Linux 操作系统加
    载动态库
  • Linux 下动态库使用
  • Linux 下静态库使用
  • 进程原理、命令
  • 进程创建
  • 进程间通信
  • 进程间同步原理
  • 线程原理、命令
  • 线程创建
  • 线程间通信
  • 线程间同步
  • 阻塞 IO 原理
  • 非阻塞 IO 原理
  • IO 多路复用原理
  • IP地址、子网掩码
  • 默认网关
  • DNS服务器
  • 数据包传输
  • 局域网搭建原理
  • 交换机、路由器工
    作原理
  • 数据包的网络传输
  • 网络模型
  • 网络通信原理
  • TCP 协议 / UDP 协议
  • 网络通信常用协议
  • Linux Socket 编程
  • 从 C 到 C++
  • C++ 常用设计模式
  • QT 编程
  • ARM 核技术
  • 单片机接口技术
  • udp 客户端实现
  • udp 服务器端实现
  • udp 并发服务器实现
  • socket 在 tcp
    客户端的使用
  • socket 在 tcp
    服务器端的使用
  • TCP 粘包分析
  • 并发服务器设计思想
  • TCP 协议的文件传输
  • WireShark 抓包工具
  • C++ 与 C 的不同
  • 命名空间、引用本质
  • 函数重载
  • 默认值参数
  • 内联
  • 面向对象
  • 封装、继承、多态
  • 泛型编程
  • STL 容器
  • 智能指针
  • lambda 表达式
  • 右值引用
    move移动语义
  • C++11 新特性
  • 单例模式
  • 工厂模式
  • 代理模式
  • 适配器模式
  • 观察者模式
  • 设计模式原则
  • 设计模式思想
  • 信号与槽
  • Qt 常用事件
  • Qt 界面设计
  • QSS 界面美化
  • Qt 文件操作
  • Qt 多线程
  • Qt 网络编程
  • Qt 数据库编程
  • Qt 图形与图像
  • QML 实现界面
  • CPU 核和 SOC 概念
  • ARM 八种工作模式
  • ARM 寄存器资源
  • ARM 汇编指令
  • ARM 核三级流水线原理
  • ATPCS 标准
  • ARM 异常处理
  • imx6ul 芯片
  • 电子电路基础
  • 硬件原理图阅读
  • GPIO 驱动
  • Timer 定时器
  • PWM 波输出
    工作原理
  • PWM 波驱动外网
    硬件设备
  • ARM 核中中断处理流程
  • 串口通信工作原理
  • 串口通信协议
  • 单片机接口技术进阶
  • 物联网技术
  • stm32单片机实战
  • 嵌入式系统移植
  • u_boot移植与
    yocto系统定制
  • Linux 设备驱动初阶
  • 设备间数据通信
  • I2C 总线通信时序
  • I2C 总线通信协议
  • SPI 总线通信时序
  • SPI 总线通信协议
  • LCD 屏显示原理
  • LCD RGB 接口传输
    数据原理
  • LCD 屏显示图像数据
  • 摄像头数据采集原理
  • RFID 工作原理
  • RFID 进行卡数据读写
  • 物联网 Lora 通信协议
  • 4G 模块使用
  • zigbee 模块使用
  • 无线数据传输
  • 蓝牙无线数据传输
  • stm32 开发环境搭建
  • PWM 波电机控制
  • ps2 手柄通信原理
  • ps2 手柄控制小车
  • 超声波避障
  • 自动循迹
  • PID 算法
  • ESP8266 无线通信
  • 温湿度数据采集
  • 上位机软件开发
  • PC 机启动流程
  • 嵌入式系统启动
  • 交叉开发环境
  • 跨平台编译
  • Linux 内核移植
  • Kconfig 编写
  • Kconfig 语法
  • 根文件系统
    init 进程启动
  • 根文件系统挂载流程
  • BusyBox 定制根
    文件系统
  • u-boot 源码阅读
  • u_boot 程序启动流程
  • u_boot 程序设计架构
  • u-boot 移植
  • Yocto 定制嵌入式系统
  • yocto 工具定制
  • 嵌入式系统烧写
  • 模块代码的编译
  • 驱动程序操作硬件设备
  • 字符设备驱动框架架构
  • platform 子系统编写
  • 实现 LED 驱动
  • Device tree 语法
  • pinctrl 子系统
  • PWM 驱动
  • Linux 设备驱动进阶
  • Linux 设备驱动高级
  • 嵌入式实战技能
  • 智能家居客户端/
    网关端
  • 智能家居设备端功能
  • 中断子系统
  • ADC 驱动实现
  • 自旋锁应用
  • 互斥锁应用
  • 信号量应用
  • 原子操作
  • 阻塞方法
  • 轮询机制
  • 异步机制
  • i2c 子系统框架
  • spi 子系统架构
  • i2c/spi 从设备驱动
  • input 子系统架构
  • 按键驱动实现
  • 触摸屏驱动实现
  • framebuffer
    子系统架构
  • LCD 显示屏驱动
  • 块设备驱动
  • MTD 子系统架构
  • EMMC 驱动
  • Camera 子系统架构
  • Camera 驱动
  • 网络子系统架构
  • 网卡驱动实现
  • 基于 PID 算法智能
    循迹小车
  • PS 手柄无线控制
  • ESP8266 无线
    数据传输
  • 超声波避障
  • 人脸/指纹识别
    考勤机
  • 物联网智能网关
  • git 代码版本管理工具
  • 人脸识别
  • 指纹识别
  • 视频监控
  • 通信协议制定
  • 传感器数据采集与传输
  • zigbee 无线组网
    与数据传输
  • lora 无线数据传输
  • CGI 交互式 web
  • httpd 服务器
  • 语音识别
  • 智能家居需求分析
  • 项目架构设计
  • 项目通信协议制定
  • 注册功能实现
  • 登陆功能
  • 密码找回功能
  • 信息修改功能
  • 控制设备添加
    和删除功能
  • 设备打开和关闭
  • 摄像头数据功能
  • 环境信息数据获取
  • 指纹控制门锁
  • 人脸识别控制
  • 电器设备开关
  • 设备端环境信息数据
  • 设备端语音控制
  • yocto 工具定制

学练测评一体保姆式教学,答疑辅导+模拟面试+多轮内推,只为直达就业

阶段测评:

每一阶段提供企业级考试和测试试卷,实时检验学习成果,并根据考评结果针对性复习强化相关知识,通过方可进入下一阶段学习。

有问必答:

学习中的任何疑问都有老师亲自为你解答,四位老师轮值,群内答疑,线上答疑,直播答疑,远程解决等多种形式,充分满足学习需求。

专家指导:

带你全面了解行业现状、技术趋势,更好的发展

简历优化:

手把手带你写一份漂亮的简历,锻炼表达技巧,征服大厂面试官!

就业内推:

通过阶段测试,进度达到80%即可为你内推优秀就业资源,简历直达业务部门,至少3次机会!

作品背书:

课程结束后,可任选三个企业级大型项目,在老师的指导下完成,项目可作为毕设作品,更可以为你的简历增色!

1V1模拟面试服务:遵循大厂求职流程,复原真实场景,彻底克服面试难关

一轮笔试

通过笔试关,不仅要有题量储备,更要对关键技术足够了解。

二轮HR面试

HR面试更侧重于表达的流畅性,职业规划的清晰与否等外在表现。

简历筛选

一份优秀的简历,是得到面试邀约的关键!手把手教你写一份亮眼的简历。

三轮技术面试

技术面试不是机械应答,对于各种业务模型要足够熟悉,一定要随机应变。

总结复盘

通过一整套完整的面试流程,找出你的薄弱环节,针对性强化,然后,再来一轮!

独家礼包:双语版电子书+嵌入式硬件,给你物超所值的学习体验

中英双语版技术电子书

买也买不到的超值技术干货集,还是双语版!
英语不好的同学的福音,可以当学习教材+技术词典+工作手册的宝藏电子
书,工作后也能用到,受益整个职业生涯

体验链接
免费提供嵌入式硬件

仅硬件市面价格就达 2388 元
充分考虑新手的体验,不用让你再东奔西跑,直接进入学习流程,最大化保
证学习效果!

授课老师均为10年以上开发经验和培训经验的一线工程师,只讲干货,注意补水

Amen
资深嵌入式
工程师
讲师介绍:毕业于哈尔滨工业大学,从事嵌入式开发15年,先后就职于上海华为、烽火通信等IT公司 任研发经理,热爱技术分享和新技术探究,对嵌入式硬件设计和Linux系统开发有丰富经验。
中年猿叔
IT公司创始人
讲师介绍:从事嵌入式开发11年,现在自己独立运营一家IT公司,为一线研发公司提供技术支持和难 点问题解决,对安全代理,overlay文件系统,光通信模块,智能家居,军工枪弹柜等项目有丰富开发经验,有丰富的嵌入式C/C++和Linux设备驱动开发经验
Bug
资深嵌入式
工程师
讲师介绍:从事嵌入式开发10年,先后就职于蓝盾、京东集团等公司,任研发经理,对防火墙技术、 轨道综合监控、分布式冷存储、100G核心骨干网流量检测等项目有丰富开发经验,有丰富的嵌入式C/C++和底层驱动开发经验。
大白
大厂嵌入式
架构师
讲师介绍:就职于国内某一线互联网大厂,拥有多年嵌入式/物联网开发及授课经验,曾主导和带领团队实施办公类软件的研发,在项目流程、跨平台,内存管理等方面有非常丰富的工作经验。精通Unix/linux下的C/C++开发,汇编等主流语言,熟悉ARM体系架构。
无名
资深嵌入式
工程师
讲师介绍:10+年 嵌入式行业研发/授课经验,目前就职于国内某互联网大厂,曾先后参与及主导研发安全管理软件,枪弹柜系统,物联网系统设计等项目, 对于嵌入式项目工程化有丰富的经验,熟悉基于Linux系统下网络编程及高并发服务器设计;熟悉 ARM 接口编程,u-boot 移植与 Linux 内核驱动编程

学长学姐的真实反馈,是课程质量过硬的佐证

学前技术储备

1. 了解计算机相关知识      2. 了解任意一门编程语言即可
注:国外学员硬件设备邮费自付

除了出色的视频内容,这里有伴你整个职业生涯的“成长社区”

学习时你能在这里获取答案,工作后你能在这里解决难题

由于课程类型与教学目标不同,学习服务会有不同,具体服务可在线咨询
问答专区
作业专区
笔记专区
资料专区
编程遇难点,名师来指点;疑难汇总一键查看,海量问答覆盖全面
多方位知识面,分层巩固吸收;学练测一体,一对一项目点评
脱离时空限制,随记随查很方便;总结课程重点,分享提升代码经验
横向拓展,超全配套教辅资源;纵向延伸,源码开放更助知识理解
了解更多

课程大纲及学习周期安排

理论+实践,技术难点逐一击破

阶段一: 嵌入式开发基础之Linux C语言编程
18门课    ·   课程总时长:35小时
  • 第0周
  • 第1周
  • 第2周
  • 第3周
  • 第4周
物联网/嵌入式工程师就业班开学典礼

想了解更多课程详情请观看导学视频:https://class.imooc.com/trysee/learn/?c=embedded

课程安排:
  1. 1、物联网/嵌入式行业发展与趋势
  2. 2、嵌入式与物联网,人工智能之间的关系
  3. 3、自主研发的硬件平台介绍
  4. 4、学习路径及课程内容安排介绍
  5. 5、每个阶段课程学习方法介绍
  6. 6、课程学习过程中答疑及就业服务介绍 等
嵌入式开发基石-计算机基础与C语言

C语言是嵌入式工程师主流开发语言,它是所有高级语言根基,它决定了一名工程师是否可以在本质上理解开发语言,非常重要,本周带领大家回顾重要计算机基础以及迈进C语言大门,带同学们系统入门。

课程安排:
  1. 1、开发环境搭建,在虚拟机中安装ubuntu系统
  2. 2、计算机基础知识介绍,了解计算机工作原理,程序如何运行
  3. 3、Linux 基础命令,掌握在Linux命令行终端中如何实现文件操作
  4. 4、GCC编译器介绍及使用,掌握gcc编译程序的流程,学会使用gcc编译器编译C语言
  5. 5、二进制、八进制、十进制、十六进制之间的转换讲解
  6. 6、原码、反码、补码,彻底搞清楚数据是如何在计算机中进行存储
  7. 7、C语言数据类型,掌握如何使用C语言的数据类型描述实际生活中的各种数据
  8. 8、C语言运算符,掌握如何使用C语言的运算符完成实际生活中的各种数据计算
C语言进阶-编程思想

本周我们重点学习C语言编程思想,掌握模块儿化编程思想,存储、指针操作内存等内容。

课程安排:
  1. 1、C语言控制语句,掌握在实际软件开发中如何使用C语言的控制语句做逻辑控制,完成功能需求
  2. 2、C语言数组,掌握在多个数据如何在C语言中进行存储
  3. 3、C语言函数,掌握模块化编程思想,如何用函数封装功能
  4. 4、C语言指针, 掌握C语言的精华,如何使用指针操作内存
C语言高级进阶

本周进一步是c语言高级内容讲解,彻底掌握C语言函数、指针、结构体、内存管理等进阶内容,为嵌入式工程师打下坚实的语言基础,相信你学完本周,内功也会更加深厚。

课程安排:
  1. 1、C语言数组、函数、指针混合运用,重点内容,再次讲解,彻底掌握
  2. 2、C语言宏定义,使用宏提高代码的通用性和可读性
  3. 3、C语言结构体、联合体、枚举,生活中的复杂对象如人的信息,外卖订单的信息如何用C语言进行描述
  4. 4、C语言位域,在运行内存很小的场合,如何节省变量占用的内存空间
  5. 5、C语言程序运行内存剖析,彻底搞清楚变量的生命周期,内存的分配和释放
  6. 6、C语言static关键字,搞清楚static关键字修饰的全局变量、局部变量、函数的实际场景用法
  7. 7、C语言堆区内存管理,掌握在C语言中如何做动态内存管理
C语言项目实战与《阶段笔试》

本周我们通过项目实践来进一步巩固C语言基础,一来提升学习趣味,二来强化C语言在实际项目中的运用,从而彻底掌握C语言。

课程安排:
  1. 项目一:日历系统,通过项目强化C语言的运用,主要功能如下:
  2. 1、输入一个年份,显示这一年的日历
  3. 2、输入一个年份和月份,显示这一个月的日历
  4. 3、输入一个年份,月份,日期,显示这一天是星期几
  5. 项目二:俄罗斯方块游戏,通过项目强化C语言的运用,掌握游戏开发编程思想,主要功能如下 :
  6. 1、在终端上面显示俄罗斯方块
  7. 2、通过按键控制俄罗斯方块变形
  8. 3、摞在一起的俄罗斯方块自动消除
  9. 4、随机出现俄罗斯方块
  10. 5、游戏速度随等级自动加快
  11. 6、实时显示玩家的游戏得分
  12. 《第一阶段企业笔试》
  13. 1、C语言基础语法默写,从企业面试官的角度,考察对C语言语法掌握的情况
  14. 2、C语言企业笔试题考试及讲解,从企业的角度考察C语言知识,让同学提前了解企业在人才招聘环节,对C语言的考察点
阶段二: 嵌入式开发基础之数据结构
10门课    ·   课程总时长:15小时
  • 第5周
  • 第6周
  • 第7周
  • 第8周
数据结构-线性结构

在嵌入式开发工程中,任何一个软件系统的开发都离不开数据结构相关的算法,数据结构也是大厂在人才招招聘环节主要考察点,掌握它非常重要,本周我们先从线性结构讲起,用C语言实现,再一次夯实C语言基础。

课程安排:
  1. 1、顺序表,使用数组来存放数据,实现数据的增删改查等操作
  2. 2、链表,使用动态内存分配节点来存放数据,实现数据的增删改查等操作
  3. 3、栈,数据先进后出,实现顺序结构和链式结构的栈,实现出栈和入栈等操作
  4. 4、队列,数据先进先出,实现顺序结构和链式结构的队列,实现入队列和出队列等操作
数据结构-非线性结构

本周我们讲解非线性结构、图数据结构、哈希表等更多数据结构内容,带领同学们0到1实现。

课程安排:
  1. 1、二叉树,讲解二叉树的创建、递归遍历算法和非递归遍历算法,以及哈夫曼树编解码算法
  2. 2、图,讲解图的创建,深度遍历和广度遍历算法,以及图中最短路径的遍历算法
  3. 3、哈希表,讲解使用哈希表进行快速的数据查询,以及哈希算法在冲突的时候解决方法
排序与复杂度

本周讲解排序与算法的时间、空间复杂度内容,从而学会分析一个算法的好坏。

课程安排:
  1. 1、排序,讲解常用的冒泡、选择、快速排序、堆排序等常用排序算法
  2. 2、时间复杂度和空间复杂度,分析一个算法的好坏衡量方法
数据结构项目实战

本周我们安排了一个学生管理系统小型项目进行练手,让同学们再次熟悉和掌握数据结构相关算法的实际场景运用。

课程安排:
  1. 1、基于VT100的菜单设计
  2. 2、学生信息录入系统
  3. 3、学生信息查询
  4. 4、学生信息修改
  5. 5、学生信息排序
  6. 6、学生信息删除
阶段三: 嵌入式开发基础之Linux Shell和Makefile
4门课    ·   课程总时长:10小时
  • 第9周
Shell编程和Makefile工程管理

在实际嵌入式Linux平台项目开发过程中,由于涉及到的开发平台众多,基本都是通过命令行操作,工程师需要掌握Linux下常用命令和shell脚本编写以及Makefile管理工程文件进行自动化编译,这也是我们本周的重点内容。

课程安排:
  1. 1、Linux 常用命令,讲解文件管理、用户管理、网络管理、磁盘管理等相关的命令
  2. 2、awk和sed命令,强大的数据按列处理和按行处理命令
  3. 3、shell脚本编程,胶水融合剂,让固定的流程自动化起来
  4. 4、Makefile多文件工程管理,完成代码的自动化编译,掌握Makefile的编写方法是嵌入式工程师必须具备的能力
  5. 5、阶段企业笔试-常用命令默写,从企业面试的角度,考察学员对Linux常用命令的掌握
  6. 6、阶段企业笔试-从企业笔试的角度考察学员对shell脚本和Makefile的掌握情况,让学员提前了解企业对工程师在shell和Makefile两方面的要求
阶段四: 嵌入式应用层开发之Linux 文件操作
5门课    ·   课程总时长:15小时
  • 第10周
  • 第11周
Linux文件IO和标准IO

在嵌入式开发过程中,涉及到的主流操作系统是Linux系统,在Linux系统中设计理念是"一切皆文件",所以掌握Linux下文件操作非常重要,本周我们先从文件IO和标准IO讲起。

课程安排:
  1. 1、Linux系统调用实现原理讲解,掌握系统调用的工作原理,理解printf函数是如何将字符串输出到屏幕
  2. 2、基于文件描述符的文件打开、读写、关闭等操作,掌握Linux下文件的操作API,并熟练使用这些API完成文件操作
  3. 3、基于标准C库的文件打开、读写、关闭等操作,理解标准C库函数和系统调用之间的区别和联系,掌握如何使用标准C库API完成文件操作
  4. 4、动态库、静态库制作和使用,理解gcc编译器链接库的工作原理和Linux操作系统如何加载动态库,掌握Linux下动态库和静态库的制作和使用
Linux下文件操作项目实践与阶段评测

实现一个基础的shell程序,能完成ls 和 cp功能,通过实现ls命令和cp命令功能,再次强化学员对Linux下文件操作和常用系统调用API使用

课程安排:
  1. 1、输入命令解析命令参数
  2. 2、根据输入的ls命令,读取目录下的文件属性信息,并显示
  3. 3、根据输入的cp命令,完成文件拷贝和递归目录下的所有文件拷贝
  4. 4、笔试安排:常用文件操作函数默写,从企业面试的角度,考察学员对Linux下常用文件操作API函数掌握情况
阶段五: 嵌入式应用层开发之 Linux 多进程、多线程、IO模型
13门课    ·   课程总时长:20小时
  • 第12周
  • 第13周
Linux 多进程、多线程、IO模型

嵌入式开发的主流操作系统是Linux操作系统,这一阶段由一线12年经验的高级工程师进行授课,主要让学员掌握Linux 下多线程、多进程编程思想和常用的IO模型,让自己开发的软件能充分发挥多核CPU优势,提升软件性能。

课程安排:
  1. 1、进程的概念,理解在Linux系统中进程是什么
  2. 2、进程相关的命令,掌握Linux系统中进程信息的查看
  3. 3、进程创建,掌握Linux系统中如何在一个程序中创建多个进程
  4. 4、进程间通信,掌握Linux系统中常用的进程间通信方法,如:管道、信号、5、消息队列、共享内存、信号灯集等
  5. 6、进程间同步,理解同步的概念,掌握Linux系统中进程间同步的方式
  6. 7、线程的概念,理解在Linux系统中线程是什么
  7. 8、线程相关的命令,掌握Linux系统中线程信息的查看
  8. 9、线程创建,掌握Linux系统中如何在一个程序中创建多个线程
  9. 10、线程间通信,掌握Linux系统中线程间通信的方法
  10. 11、线程间同步,掌握Linux系统中线程间同步机制,如:信号量、条件变量、互斥锁等
  11. 12、阻塞IO,理解阻塞IO的概念及工作原理
  12. 13、非阻塞IO,理解非阻塞IO的概念及工作原理
  13. 14、IO多路复用,理解IO多路复用的概念及工作原理,掌握Linux下IO多路复用的方法,如:select,poll,epoll等。
Linux 项目实战-实现并发服务器模型与企业笔试

通过上周的学习我们掌握了Linux 多进程、多线程、IO模型,本周通过带同学们0到1实现一个并发服务器模型彻底掌握嵌入式中重要的Linux知识实践。

课程安排:
  1. 1、基于多进程、多线程实现并发服务器模型,主要功能如下:
  2. 2、服务器进程创建线程池,维护线程池中线程创建和销毁,创建子进程反馈3、数据处理结果
  3. 4、服务器进程创建消息队列,从消息队列获取其他客服端进程发来的任务数据,并从线程池中取线程处理任务
  4. 5、线程池中的任务线程处理完客户端的数据后,通知服务器进程子,由服务器子进程共享内存的方式获取处理的数据,然后反馈给客户端进程
  5. 6、客户端进程通过消息队列提交任务请求,通过共享内存获取任务处理结果
  6. 7、企业笔试:常用Linux操作系统知识默写,从企业面试的角度,考察学员对Linux操作系统多进程、多线程、IO模型的理解
阶段六: 嵌入式应用层开发之Linux 网络编程
19门课    ·   课程总时长:20小时
  • 第14周
  • 第15周
  • 第16周
网络基础和UDP Socket编程

在物联网的时代,任何一款嵌入式产品都需要具备网络功能进行万物互联,掌握网络知识非常重要,从本周开始我们会从网络的基础知识讲起到带你走进Linux 网络编程的大门。

课程安排:
  1. 1、IP地址、子网掩码、默认网关、DNS服务器,掌握网络的基础知识,理解常用网络通信参数的含义
  2. 2、数据包内网、外网传输方式,掌握局域网是如何搭建,理解交换机和路由器的工作原理,掌握数据包是如何在网络中进行传输
  3. 3、网络模型,理解网络协议栈的设计原理,掌握网络模型的分层含义
  4. 4、一帧数据包格式,通过分析网络数据包个格式,掌握网络通信的原理
  5. 5、TCP协议,掌握TCP协议的三次握手、四次挥手、数据包传输的原理
  6. 6、UDP协议,掌握UDP协议的特点,对比TCP协议的不同,理解TCP和UDP协议的各自优缺点
  7. 7、网络通信中常用协议,掌握网络通信中常用的一些通信协议使用场景和特点
  8. 8、udp客户端实现,掌握Linux系统中socket在udp客户端的使用及通信方法
  9. 9、udp服务器端实现,掌握Linux系统中socket在udp服务器端的使用及通信方法
  10. 10、udp并发服务器实现,掌握并发服务器的设计思想和在Linux系统中如何使用多进程、多线程的思想实现udp并发无服务器
  11. 11、基于udp协议的局域网聊天室软件开发,掌握多人聊天环境中群聊的实现思想
TCP Socket编程和WireShark抓包分析

本周继续深入网络编程的TCP Socket编程和WireShark抓包分析内容,让同学们更深层次的理解TCP Socket、TCP和UDP协议。

课程安排:
  1. 1、TCP客户端实现, 掌握Linux系统中socket在tcp客户端的使用及通信方法
  2. 2、TCP服务器端实现, 掌握Linux系统中socket在tcp服务器端的使用及通信方法
  3. 3、TCP粘包分析,理解TCP粘包原理,掌握TCP粘包情况下如何正确解析数据包
  4. 4、TCP并发服务器实现,掌握并发服务器的设计思想和在Linux系统中如何使用多进程、多线程的思想实现TCP并发无服务器
  5. 5、基于TCP协议的文件传输服务器软件开发,通过文件的上传和下载功能,再次强化tcp socket的使用
  6. 6、WireShark抓包工具使用,学会抓包工具的使用,并使用抓包工具详细分析TCP协议和UDP协议的具体内容,让学员深层次理解TCP和UDP协议
网络编程项目实战-网络视频监控与企业笔试

本周通过实战网络视频监控项目,让学员掌握Linux网络编程知识在实际工程场景中的运用,掌握在Linux系统中如何获取视频流、编解码视频流,传输视频流,并掌握HTTP协议

课程安排:
  1. 1、V4L2编程,在Linux系统中获取摄像头数据
  2. 2、HTTP协议,掌握HTTP协议工作原理,并通过编程实现HTTP协议数据传输
  3. 3、libjpg库使用, 掌握YUYV数据格式如何压缩成jpeg数据格式进行传输
  4. 4、远程视频监控,实现具体的远程视频监控功能,并通过浏览器查看视频流
  5. 5、企业笔试:常用网络基础知识默写,从企业面试角度,考察学员对网络基础知识掌握情况
阶段七: 嵌入式应用层开发之Linux C++编程
50门课    ·   课程总时长:30小时
  • 第17周
  • 第18周
  • 第19周
从C到C++

嵌入式开发中,C和C++不分家,多掌握一种开发语言就业机会也更多,C++语言是所有编程语言中最复杂的一门语言,掌握的C++语言也就掌握了其他编程语言。本周开始带领同学们从主要从C语言角度剖析C++。

课程安排:
  1. 1、C++与C的不同地方,讲解C++在C的基础上扩展了哪些语法
  2. 2、命名空间,分析C语言语法的缺点,理解C++为什么要命名空间
  3. 3、引用,理解引用的本质,掌握引用和指针的不同
  4. 4、函数重载,理解为什么可以进行函数重载,编译器是如何对函数名进行处理的
  5. 5、默认值参数,理解默认值参数函数的特点
  6. 6、内联,理解内联为什么可以提高程序的运行效率
  7. 7、封装,掌握面向对象的编程思想,如何通过封装的思想描述一个对象
  8. 8、继承,掌握如何通过继承实现代码的复用,已经继承使用的场合
  9. 9、多态,掌握多态的思想,如何做到一个接口多种实现,在运行时决定对象的行为
  10. 10、泛型编程,掌握泛型编程的思想,如何写出通用的代码,做到代码的复用
  11. 11、STL容器,掌握C++标准STL容器提供的API使用
软件设计模式与C++11新特性

常用设计模式的思想是必须掌握的,本周带同学们学习C++的设计模式通用思想,通过一线技术总监授课教学更深层次理解设计模式和C++11新特性。

课程安排:
  1. 1、智能指针,掌握如何使用智能指针做到内存自动释放,减少内存泄漏的分享
  2. 2、lambda表达式,掌握在C++中如何使用匿名函数,实现快捷编程
  3. 3、auto自动推导,掌握C++11中提供的自动类型推导含义,避免编码过程中关注复杂的类型,实现快捷编程
  4. 4、基于范围for循环,掌握C++11标准的新型for循环,实现快捷编程
  5. 5、右值引用,理解左值和右值得概率,掌握右值引用的使用场景
  6. 6、move移动语义,掌握如何通过move移动语义,实现代码高效率运行
  7. 7、单例,理解单例的设计模式编程思想,掌握饿汉式和懒汉式两种单例的实现方法
  8. 8、工厂,理解工厂设计模式编程思想,掌握简单工厂、工厂方法、抽象工厂的实现方法
  9. 9、代理,理解代理设计模式的编程思想,掌握代理设计模式的实现方法
  10. 10、适配器,理解适配器设计模式的编程思想,掌握适配器设计模式的实现方法
  11. 11、观察者,理解观察者模式的编程思想,掌握观察者设计模式的实现方法
  12. 12、设计模式遵从原则,理解设计模式遵从的通用思想,更深层次理解设计模式
项目实战-C++语言实现五子棋游戏与企业笔试

本周带同学们C++语言实现五子棋游戏,融合设计模式的思想,在实战中理解C++语言的使用以及设计模式运用。项目中会运用到网络的知识,再次强化学员对网络编程的知识的掌握,为之后的嵌入式项目开发打下坚实基础。

课程安排:
  1. 1、五子棋游戏界面绘制
  2. 2、黑白棋子显示
  3. 3、五星连珠算法实现
  4. 4、本地双人对战实现
  5. 5、网络双人对战实现
  6. 6、企业笔试:C++常用语法点默写,从企业面试角度,考察学员对C++语言掌握情况
阶段八: 嵌入式应用层开发之-人机交互QT编程
21门课    ·   课程总时长:20小时
  • 第20周
  • 第21周
嵌入式产品人机交互必备-QT框架

在嵌入式产品中,也会涉及到人机交互界面,QT的免费,开源,夸平台特性,成为了很多嵌入式产品人机交互界面软件开发的不二之选。本周带同学们从0开始讲解QT的各种功能和操作,掌握QT框架开发。

课程安排:
  1. 1、信号与槽,掌握信号与槽的实现原理及使用方法,这是QT的精华实现
  2. 2、事件,理解事件的含义,掌握常用事件在Qt软件开发中的处理方法
  3. 3、Qt界面设计,掌握软件界面布局,掌握QT中的常用软件布局管理的使用
  4. 4、QSS界面美化,掌握QT的样式设置,如何通过样式改变QT开发软件的外观
  5. 5、Qt 文件操作,掌握QT中文件操作的方式
  6. 6、Qt 多线程,掌握QT中创建线程的方法,理解夸线程的信号与槽通信原理
  7. 7、Qt 网络编程,掌握QT中网络编程的实现方法,让自己开发的软件具备网络通信的能力
  8. 8、Qt 数据库编程,理解数据库概率,掌握在QT中如何实现数据库操作
  9. 9、Qt 图形与图像,掌握QT中图形和图像的处理方法
  10. 10、QML,掌握在QT中如何使用QML实现界面的快捷开发
项目实战-QT开发音乐播放器

本周我们用QT开发一款在线云音乐播放器,从软件界面设计美化到软件功能实现,最后到软件发布。让学员掌握一款软件开发到上线的全流程,同时通过软件开发强化学员对QT知识的掌握,掌握嵌入式人机交互利器。

课程安排:
  1. 1、云音乐播放器界面设计及美化
  2. 2、在线搜歌显示歌曲信息
  3. 3、歌曲专辑图片动画显示
  4. 4、歌词解析同步歌曲进度实时显示
  5. 5、爱心歌曲下载,数据库存储及本地显示
  6. 6、 企业笔试:QT常用类功能默写, 从企业面试角度,考察学员对QT掌握情况
阶段九: 嵌入式底层开发之ARM接口技术和智能硬件开发
48门课    ·   课程总时长:35小时
  • 第22周
  • 第23周
  • 第24周
智能硬件开发-ARM核介绍和基础外设

嵌入式产品开发过程中,很多软件代码都是为了驱动硬件工作而编写,掌握如何通过软件驱动硬件工作,是一名嵌入式工程师必须具备的能力,本周我们主要先从ARM核、imx6ull相关知识开始学习。

课程安排:
  1. 1、ARM介绍,了解ARM芯片的生态环境,理解CPU核和SOC概念
  2. 2、ARM工作模式,掌握ARM的八种工作模式,理解每种工作模式的使用场景
  3. 3、ARM寄存器资源,掌握ARM核中R0-R15寄存器含义,理解他们的使用场景
  4. 4、ARM汇编,掌握ARM核相关的常用汇编指令,理解ARM核相关指令的含义
  5. 5、ARM核指令流水线,掌握ARM核三级流水线的工作原理,理解ARM核是如何执行指令的
  6. 6、ATPCS标准,掌握函数间参数是如何进行传递,函数返回值如何带回,通过汇编和C语言的对比理解ATPCS标准规范
  7. 7、ARM异常处理,掌握ARM核异常处理的过程,理解异常和中断的关系
  8. 8、imx6ull 芯片介绍,了解imx6ul这款芯片的硬件资源
  9. 9、电子电路基础知识介绍,为能顺利阅读硬件原理图铺垫
  10. 10、硬件原理图阅读,掌握硬件原理图阅读的方法
  11. 11、GPIO驱动,掌握如何通过软件代码操作GPIO控制器从而控制设备
智能硬件开发-单片机常用外设

本周继续深入单片机知识,老师会从ARM核的工作原理,硬件原理图阅读,硬件工作原理讲解,datasheet阅读三个方面介绍单片机开发工程方法,同时在课堂中介绍常用物联网协议,让学员掌握单片机在物联网项目中的运用。

课程安排:
  1. 1、GPT,掌握GPT定时器使用方法,学会使用GPT定时器做精确延时
  2. 2、PWM,掌握Timer定时器和PWM波输出工作原题,学会使用PWM波驱动外围硬件设备
  3. 3、中断,掌握在ARM核中中断处理流程,学会使用软件代码操作中断控制器
  4. 4、UART,掌握串口通信工作原理和通信协议,学会使用串口完成设备间的数据通信
  5. 5、ADC,掌握ADC工作原理,学会使用ADC采集外部电压信号
  6. 6、WDOG,掌握看门狗定时器工作原理,学会使用看门狗定时器在程序卡死情况自动复位系统
  7. 7、RTC,掌握RTC工作原理,学会使用RTC获取实时时间
  8. 8、I2C,掌握I2C总线通信时序,理解I2C总线通信协议,学会使用I2C总线和外围设备之间进行数据通信
  9. 9、1-wire,掌握单总线通信原理,学会使用单总线采集温度传感器数据
  10. 10、SPI,掌握SPI总线通信时序,理解SPI总线通信协议,学会使用SPI总线和外围设备之间进行数据通信
  11. 11、CAN,掌握CAN总线通信原理,从0 到1掌握CAN总线传输数据
  12. 12、LCD,掌握LCD屏显示原理,理解LCD RGB接口传输数据原理,学会使用软件代码驱动LCD屏显示图像数据
  13. 13、Camera,掌握摄像头数据采集原理,学会使用软件代码驱动摄像头采集图像数据
  14. - 触摸屏,掌握电容屏触摸屏工作原理,学会使用I2C总线获取触摸屏点击坐标
stm32芯片-智能硬件项目实战与企业笔试

目标:掌握stm32芯片开发方法,完成使用stm32芯片进行智能车控制、ps2手柄进行小车无线控制,ESP8266模块对小车无线控制,蓝牙模块无线控制,使用循迹模块进行PID算法控制小车自动循迹,超声波对小车自动避障等。

课程安排:
  1. 1、stm32 开发环境搭建,掌握Keil、CubeMx、STLink安装和使用方法
  2. 2、stm32启动流程分析
  3. 3、智能小车电机控制,掌握通过PWM波控制小车电机正转和反转
  4. 4、ps2 无线手臂和小车通信,掌握ps2手柄通信原理,通过ps2手柄控制小车前进、后退、转弯
  5. 5、数码管显示RTC实时时间
  6. 6、继电器控制外部设备
  7. 7、超声波避障,掌握超声波测距原理,实现使用超声波模块小车实现自主避障功能
  8. 8、自动循迹,掌握循迹模块工作原理,实现使用PID算法控制五路循迹模块完成小车自动循迹
  9. 9、ESP8266无线通信,掌握通过ESP8266模块进行无线数据传输,
  10. 10、蓝牙模块通信,掌握蓝牙模块控制小车
  11. 11、温湿度数据采集,掌握通过I2C总线控制温度采集模块,实时采集温湿度数据并通过ESP8266模块实现无线数据传输
  12. 12、上位机软件开发,掌握使用QT开发一款APP软件,运行在手机端和电脑端,通过软件可以实时获取小车上面传感器采集的数据,也可以通过软件控制小车
阶段十: 智能硬件开发-嵌入式底层开发之系统移植
20门课    ·   课程总时长:30小时
  • 第25周
  • 第26周
大厂必备- linux内核与文件系统移植

掌握如何在一款硬件平台定制专用的嵌入式系统,是很多大厂对高级嵌入式工程师的要求。本周让学员掌握如何在一块嵌入式开发板上定制嵌入式Linux系统,学会u_boot,linux kernel,文件系统移植方法。

课程安排:
  1. 1、PC机启动流程分析,掌握在PC机上操作系统是如何启动的
  2. 2、嵌入式系统启动流程分析,掌握嵌入式系统的启动方式,对比PC启动有什么不同
  3. 3、交叉开发环境搭建,掌握交叉开发环境搭建的方法,掌握跨平台编译
  4. 4、Linux内核移植,掌握内核启动流程,配置方法
  5. 5、Kconfig分析,掌握Kconfig语法知识,学会自己编写Kconfig
  6. 6、u_boot引导Linux内核,掌握u_boot是如何引导Linux内核启动,以及u_boot和Linux内核之间的参数传递
  7. 7、根文件系统init进程启动分析,掌握根文件系统的挂载流程,以及init进程在初始化阶段做了哪些事情
  8. 8、BusyBox定制根文件系统,掌握如何使用busybox工具定制自己需要的根文件系统
嵌入式开发-系统移植-bootloader、yocto

本周继续从0到1做u_boot、kernel、rootfs移植,并现场解决移植过程中遇到的各种问题,提供解决问题思路。

课程安排:
  1. 1、u-boot源码阅读,掌握u_boot程序的启动流程和设计架构
  2. 2、u-boot移植,掌握u_boot移植的方法
  3. 3、yocto定制嵌入式系统,掌握使用yocto工具定制嵌入式嵌入式系统
  4. 4、嵌入式系统烧写,掌握如何在自己的平台烧写嵌入式系统
  5. 5、企业笔试:嵌入式系统启动流程默写, 从企业面试角度,考察学员对嵌入式系统的掌握情况
阶段十一: 嵌入式底层开发之 Linux设备驱动入门到高级进阶
47门课    ·   课程总时长:45小时
  • 第27周
  • 第28周
  • 第29周
  • 第30周
嵌入式底层核心技能-Linux设备驱动初级

嵌入式产品涉及到的芯片种类繁多,硬件设备繁杂,并不像电脑有很多通用的驱动可以直接使用,需要工程师在特定的硬件平台开发Linux操作系统的驱动程序。本周我们先从Linux设备驱动初级讲起,让同学们稳扎稳打学技术不断层!

课程安排:
  1. 1、模块编程,掌握在Linux内核中添加代码的形式,模块代码的编译方法及加载、卸载方法
  2. 2、应用程序如何访问驱动,理解上层应用程序最终是如何调用到驱动程序操作硬件设备
  3. 3、字符驱动框架,掌握Linux内核中字符设备驱动框架的设计架构,学会字符设备驱动的编写
  4. 4、LED驱动实现,掌握编写字符设备驱动,驱动LED设备
  5. 5、platform子系统,理解传统字符设备驱动编写的驱动缺点,理解基于6、platform子系统编写驱动的优点
  6. 7、设备注册,掌握如何基于platform子系统注册设备
  7. 8、驱动注册,掌握如何基于platform子系统注册驱动
  8. 9、基于platform子系统实现LED驱动
  9. 10、Device tree,掌握设备树编写规范,理解设备树添加设备信息的优点
  10. 基于device tree实现LED驱动
  11. 11、pinctrl子系统,掌握pinctrl子系统的使用
  12. 12、内核自带LED驱动使用,掌握如何使用内核自带的LED驱动驱动LED设备
  13. 13、内核自带PWM驱动使用,掌握如何使用内核自带的PWM驱动驱动PWM设备
嵌入式底层核心技能-Linux设备驱动中级

本周我们继续 Linux设备驱动中级教程,主要学习中断注册、ADC驱动实现、自旋锁在驱动、信号量在驱动、原子操作驱动方法等等进阶内容。

课程安排:
  1. 1、中断注册,掌握在Linux操作系统中注册中断的方法
  2. 2 、中断下半部,理解为什么需要中断下半部,掌握中断下半部的使用方法
  3. 3、ADC驱动实现,通过讲解ADC驱动强化前面所学习的驱动相关知识
  4. 4、自旋锁,理解自旋锁使用场景,掌握自旋锁在驱动使用方法
  5. 5、互斥锁,理解互斥锁使用场景,掌握互斥锁在驱动使用方法
  6. 6、信号量 ,理解信号量使用场景,掌握信号量在驱动使用方法
  7. 7、原子操作,理解原子操作使用场景,掌握原子操作在驱动使用方法
  8. 8、阻塞,理解进程休眠机制,掌握在驱动中让进程阻塞方法
  9. 9、轮询,理解进程轮询机制,掌握在驱动中让进程轮询方法
  10. 10、异步,理解异步机制,掌握在驱动中如何异步通知上层进程方法
嵌入式底层核心技能-Linux设备驱动高级1

本周主要学习Linux设备驱动高级内容:i2c子系统架构、spi子系统架构、input子系统架构设计方法以及按键驱动实现、触摸屏驱动实现、LCD驱动实现等等,全流程跟着一线技术大拿实操,提升学习趣味和动手实践能力!

课程安排:
  1. 1、i2c子系统架构分析,掌握Linux内核中的i2c子系统框架设计思想
  2. 2、i2c从设备驱动实现,掌握基于i2c子系统编写i2c从设备驱动方法
  3. 3、spi子系统架构分析,掌握Linux内核中的spi子系统框架设计思想
  4. 4、spi从设备驱动实现,掌握基于spi子系统编写spi从设备驱动方法
  5. 5、input子系统架构分析,掌握linux内核中的input子系统框架设计思想
  6. 6、按键驱动实现,掌握基于input子系统实现按键驱动编写方法
  7. 7、触摸屏驱动实现,掌握基于input子系统、i2c子系统实现触摸屏驱动编写方法
  8. 8、framebuffer子系统架构分析,掌握Linux内核中的framebuffer子系统框架设计思想
  9. 9、LCD驱动实现,掌握基于framebuffer子系统编写LCD显示屏驱动方法
嵌入式底层核心技能-Linux设备驱动高级2

本周我们将进入Linux设备驱动高级开发最后一战!全程实操,搞定块设备驱动、MTD子系统架构、EMMC驱动实现、Camera驱动实现等,该阶段你已经具备了嵌入式应用层和底层开发两大就业领域得开发能力!

课程安排:
  1. 1、块设备驱动,掌握Linux内核中块设备驱动框架设计思想
  2. 2、MTD子系统架构分析,掌握Linux内核中MTD子系统框架设计思想
  3. 3、EMMC驱动实现,掌握基于MTD子系统实现EMMC硬件驱动方法
  4. 4、Camera子系统架构分析,掌握Linux内核中Camera子系统框架设计思想
  5. 5、Camera驱动实现,掌握基于Camera子系统实现Camera驱动方法
  6. 6、网络子系统架构分析,掌握Linux内核中网络子系统架构设计思想
  7. 7、网卡驱动实现,掌握基于网络子系统实现网卡驱动方法
阶段十二: 智能家具实战-嵌入式企业级项目(一)
50门课    ·   课程总时长:50小时
  • 第31周
  • 第32周
  • 第33周
  • 第34周
智能家居项目实战之Linux智能网关端开发

本周我们继续智能家具得网关端功能开发:网关得登陆注册、信息修改、设备控制、数据获取等等功能一一实现。

课程安排:
  1. 1、智能网关端注册功能实现,实现客户端向网关端提交的账号和密码注册功能
  2. 2、智能网关端登陆功能实现, 实现客户端向网关端提交的账号和密码登录功能
  3. 3、智能网关端密码找回功能实现,实现客户端向网关端提交密码找回功能
  4. 4、智能网关端信息修改功能实现,实现客户端向网关端提交用户信息修改功能
  5. 5、智能网关端控制设备添加和删除功能实现,实现客户端向网关端添加设备和删除设备功能
  6. 6、智能网关端控制设备打开和关闭功能实现,实现客户端向网关端控制设备打开和关闭功能
  7. 7、智能网关端获取摄像头数据功能实现,实现从摄像头采集数据传输到客户端
  8. 8、智能网关端获取家里环境数据功能实现,实现从传感器采集数据传输到客户端
智能家居项目实战之STM32单片机设备端开发

本周我们继续智能家具的设备端端功能开发:指纹门锁、人脸识别、电器设备开关、环境信息数据采集、语音控制等功能实现。

课程安排:
  1. 1、设备端指纹控制门锁功能实现,实现用户指纹识别打开家里门锁
  2. 2、设备端RFID控制门锁功能实现,实现用户通过刷卡打开家里门锁
  3. 3、设备端人脸识别控制门锁功能实现,实现用户人脸识别打开家里门锁
  4. 4、设备端电器设备开关控制,通过ESP8266、Lora,zigbee等物联网模块实现家里电器设备打开和关闭控制
  5. 5、设备端环境信息数据采集家里环境信息,并通过物联网通信模块进行数据无线传输
  6. 6、设备端语音控制设备功能实现,实现家里电器设备通过语音控制
  7. 7、4G模块实现智能终端无线上网
人脸指纹识别考勤机设计与实战

实现指纹及人脸考勤功能,包含指纹模块及人脸模块的控制,语音播报提示,数据库考勤管理,考勤数据可视化分析统计及导出。

课程安排:
  1. 1、实现指纹模块的控制;
  2. 2、指纹模块调试工具的编写;
  3. 3、数据库的创建,实现考勤数据的增删改查;
  4. 4、考勤数据的可视化图表显示及统计分析;
  5. 5、人脸模块的控制;
  6. 6、人脸图像的判定及识别;
  7. 7、人脸考勤及指纹考勤的统一接口;
物联网/嵌入式项目答辩和就业指导

本周会对学生的项目完成结果进行答辩提问和相关就业指导,在这个阶段会对同学们的综合素质进行考核,老师会根据每个同学的答辩结果,进行反馈,直到达成考核标准。

课程安排:
  1. 1、成果显示,学员展示自己做出的项目成果
  2. 2、项目答辩,老师针对学生答辩内容做出相关问题提问
  3. 3、简历指导,根据学生实际情况,指导简历编写,并且对相关内容考核指导。
  4. 4、就业指导,进行模拟面试,让同学提前了解企业真实面试流程 。
阶段十三: 独立开发阶段-三大热门物联网/智能硬件项目任选(为项目经验/毕设/电子设计竞赛增色!)
3门课    ·   课程总时长:25小时
  • 第35周
独立开发阶段-三大热门领域项目

考虑到就业方向不同和动手能力的重要性,我们甄选增加了3大热门方向项目由同学独立完成,老师技术辅助, 再次强化同学独立开发项目能力,为进入职场做足准备。

课程安排:
  1. 《消费类电子行业》人脸识别考勤机 核心技术:
  2. 1、C++ 语言开发云端并发服务器
  3. 2、数据库数据处理
  4. 3、QT开发考勤机端显示软件和上位机操作软件
  5. 4、stm32 单片机
  6. 5、Linux camera、tp、lcd驱动
  7. 《金融支付行业》无人售货机 核心技术:
  8. 1、C++ 语言开发云端服务器管理柜机设备
  9. 2、QT开发柜机端界面操作软件
  10. 3、数据库数据处理
  11. 4、第三方支付平台接入,生成支付二维码
  12. 5、stm32 控制柜机出货
  13. 6、摄像头数据实时传输及云端存储
  14. 7、Linux camera、tp、lcd驱动
  15. 《工业控制行业》智能网关 核心技术:
  16. 1、C++ 语言开发云端服务器管理网关设备
  17. 2、QT开发智能网关操作软件,进行网关控制和数据可视化显示
  18. 3、Linux 操作系统运用
  19. 4、Lora、zigbee、4G模块运用
  20. 5、stm32 单片机开发
  21. 6、CGI WEB页面开发
阶段十四: 重磅升级:硬件电路设计入门到实战
5门课    ·   课程总时长:35小时
  • 第36周
  • 第37周
  • 第38周
  • 第39周
  • 第40周
硬件电路设计-电路基础知识

本周我们开始学习电路设计课程,包括:电路基础、模拟电路基础、数字电路基础、常用元器件、常用测量工具、电路设计软件使用的知识。

课程安排:
  1. 1.电路:电流、电压、电阻、电感、电容、功率概念
  2. 2.模拟电路:二极管、三极管、MOS管、直流电源电路
  3. 3.数字电路:门电路、施密特触发器、555定时器、ADC转换器、DAC转换器
  4. 4.常用元器件:蜂鸣器、光耦、继电器、晶振、USB转串口IC、电源芯片
  5. 5.常用测量工具:万用表、示波器、信号发生器使用
  6. 6.电路设计软件:Altium Designer、Cadence Allegro、PADS、立创EDA
STM32最小系统 - 硬件电路设计实战项目(一)

电路设计实战项目1,使用 AltiumDesigner22设计一个STM32最小系统、主控STM32F103、支持SWD下载、串口下载等,所有引脚扩展引出,是一个最小系统板同样也是一个USB转485工具

课程安排:
  1. 1.硬件PCB的3D效果、PCB空板效果、实物效果
  2. 2.原理图绘制:电源、主控、时钟、系统启动、复位、按键、LED、OLED、RS485
  3. 3.PCB布局:板框、圆切角、定位孔、布线规则、元器件布局
  4. 4.PCB走线:布线原则、电气检查、敷铜、生成BOM、生成坐标文件
  5. 5.PCB下单:PCB下单、贴片(SMT)下单、配件采购
  6. 6.功能验证:验证电源、时钟、按键、LED、OLED、SWD下载、串口下载、485通信
CAN总线分析仪 - 硬件电路设计实战项目(二)

电路设计实战项目2,使用 AltiumDesigner22设计一个CAN总线分析仪、主控STM32F072、支持SWD下载、OLED接口等,所有引脚扩展引出,最后刷上开源固件,就是一个价值几百元的USBCAN总线分析仪。

课程安排:
  1. 1.硬件PCB的3D效果、PCB空板效果、实物效果
  2. 2.原理图绘制:电源、主控、时钟、系统启动、复位、按键、LED、OLED、CAN总线
  3. 3.PCB布局:板框、圆切角、定位孔、布线规则、元器件布局
  4. 4.PCB走线:布线原则、电气检查、敷铜、泪滴、生成BOM、生成坐标文件
  5. 5.PCB下单:PCB下单、贴片(SMT)下单、配件采购、
  6. 6.功能验证:验证电源、时钟、按键、LED、SWD下载、USB下载、CAN通信
4路输入输出控制器 - 硬件电路设计实战项目(三)

电路设计实战项目3(4路输入输出控制器),使用立创EDA 设计一个4路输入输出控制器、主控STM32F103、4路数字信号输入、4路继电器输出、支持SWD下载、串口下载、4G模组、RS485接口、CAN总线接口。

课程安排:
  1. 1.硬件PCB的3D效果、PCB空板效果、实物效果、带外科的实物效果
  2. 2.原理图绘制1:电源、主控、时钟、系统启动、复位、数字信号输入、继电器输出
  3. 3.原理图绘制2:调试接口、SWD下载接口、RS485总线、CAN总线、4G模组
  4. 4.PCB布局:板框、圆切角、定位孔、布线规则、元器件布局
  5. 5.PCB走线1:布线原则、系统走线、电气检查、敷铜、禁止敷铜
  6. 6.PCB走线2:泪滴、开槽、生成BOM、生成坐标文件
  7. 7.PCB下单:PCB下单、贴片(SMT)下单、配件采购
  8. 8.功能验证:验证电源、下载、4路输入、继电器输出、RS485通信、CAN通信,4G通信
8路逻辑分析仪 - 硬件电路设计实战项目(四)

电路设计实战项目4(8路逻辑分析仪),使用立创EDA设计一个8路逻辑分析仪、主控CY7C68013A、8通道信号输入、有上位机软件支持,支持分析PWM、UART、I2C等时序的分析,这款工具是我们开发必不可少的调试工具。

课程安排:
  1. 1.硬件PCB的3D效果、PCB空板效果、实物效果
  2. 2.原理图绘制1:电源、主控、时钟、复位、LED、EEPROM、74HC245
  3. 3.原理图绘制2:保护二极管、8通道输入、排阻
  4. 4.PCB布局:板框、圆切角、布线规则、元器件布局
  5. 5.PCB走线1:布线原则、主控走线、电源走线、EEPROM走线、电气检查、敷铜
  6. 6.PCB走线2:泪滴、生成BOM、生成坐标文件
  7. 7.PCB下单:PCB下单、贴片(SMT)下单、配件采购
  8. 8.功能验证:验证电源、下载固件、抓取UART通信时序。

微信扫码

选课遇到问题?添加指导老师微信,1V1为您解答~
发送“课程名称”至老师微信,还可领取课程专属福利!

常见问题
就业前景
适合人群
课程特色
项目实战
技术体系
独家服务
讲师团队
学员反馈
课程大纲
领取福利
返回顶部

学习咨询

选课无忧,省心划算
直接对话课程负责人

扫码加顾问老师 立即咨询

意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师