课程简介
课程周期: 5个月
课程目标:本课程旨在培养5G物联网开发工程师,能从事物联网驱动开发、物联网网络通信开发、物联网应用程序开发、多平台驱动开发、嵌入式软件开发等相关工作。
课程特色:
★ 行业定制*课程
紧跟国内外行业应用热点,顺应企业需求。全面定制行业*课程,课程*点全面深入,全面*升学员们的综合能力,打造行业*的复合型人才。
★ 高级讲师团队面授指导
核心教学团队汇聚CSDN客座讲师、四川省物联网协会专家讲师,成都市高新人才,四川省软件行业会员等*大牛。具有数十年研发教学*的团队倾力指导,培训期间全程面授,助攻学员击破每个难题。小班制教学不留死角,每一位学员均接受一对一指导。
★ 企业制项目研发管理
依照名企招人需求定制化培养学习路径,采用员工制进行管理,打造企业实用性复合人才。*供*实习项目,深入一线实践其中,一对一指导每个环节,为企业面试*供强硬的敲门砖。
★ 完善的就业服务体系
稳定*的就业筛选渠道,依照岗位需求培养专人专技,为企业输送专业*人才,已为华为、中兴、腾讯等企业 定向输送多名*人员。入学签订就业协议、100%保证学员就业,并*供终身就业指导 。
★ 不定期邀请世界500强企业*骨干进行*热点、难点,行业资讯、动态分享
项目展示
【项目一】:5G(NB-IoT)物联网环境监测系统
窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。
NB-IoT是IoT领域一个新兴的*,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN)。NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接。据说NB-IoT设备电池寿命可以*高至至少10年,同时还能*供非常全面的室内蜂窝数据连接覆盖。
现阶段,NB-IoT垂直行业主要集中交通行业、物流行业、卫生医疗、商品零售行业、智能抄表、公共设施、智能家居、智能农业、工业制造、企业能耗管理、企业安全防护等。
【项目二】:5G物联网数据展示平台
5G物联网数据展示平台是用于展示云平台服务器存储的数据,该平台可以通过网络获取数据,根据配置文件进行数据展示,通过图形化*直观展示传感器设备采集的数据。
跨平台5G物联网数据展示平台,具备:
1. 实时数据图表展示,数据存储和分析功能
2 消息队列数据分发和接收,配置文件数据过滤
3 扁平化界面风格,QSS界面皮肤设计
【项目三】:无线抄表系统
随着国内智能化系统的日益发展和完善,在大多数的高档的住宅小区中都开始安装远程抄表系统,作为现代化管理系统的重要组成部分,该系统发挥了相当重要的作用。住宅区中每个住户家中的水表、电表、煤气表等计量表计。 本项目为一个水表的无线抄表器,它连接用户的水表,每隔一定周期自动获取用户水表数据并上报到数据服务器。无线抄表器使用 GPRS 和数据中心通信,无需进行网络布线。
◆ 使用 STM32 微控制器,性能高、成本低、功耗低。
◆ 使用 GPRS/NB-IoT通用分组无线业务,资源利用率高、成本低、接入时间短。
◆ 使用Lora无线传输方案,精简采集末端数据传输网络复杂度
◆ 使用 QT 应用程序框架,具有良好的跨平台性与封装性。
◆ 使用 MQTT 即时通讯协议,支持所有平台,可以把联网物品和外部连接起来。
抄表器采用 STM32,支持 GPRS 模块。服务器部署在Windows上,服务程序采用 QT 编写。
▲ 抄表器定时读取水表的读数。
▲ 抄表器定时将数据发送到云平台服务器。
▲ 汇报数据采用 MQTT 协议。
▲ 通过服务器远程设置抄表器的数据采集周期和数据上报周期。
课程大纲
【初生牛犊】开班典礼后正式入学,新学员们敢想敢为,历练从此开始。
第一阶段:C语言核心(学习时长:5周)
课程名称
课程内容
课程目标
Linux系统基础
· Linux系统安装、命令讲解、文件管理、用户管理
· linux各种软件安装、shell脚本、环境变量
· 系统网络配置,TCP/IP简介,网络文件系统
课程目标:达到在Linux系统使用和开发, C语言程序开发,并深入C语言,尤其是内存使用,达到能够看懂Linux内核代码水平
C语言核心
· C语言表达式、基础运算符、C语言关键字、基本数据类型
· 内存图:取地址与解地址、指针与内存、内存管理
· 逻辑运算和位运算
· 程序结构:顺序结构、分支结构、循环结构
· 数组:一维数组、二维数组、多维数组、指针数组、字符数组等;
· 编译原理:宏定义与预处理、内存分段、代码段、数据段、堆栈段等
· 函数:参数传递和*回值传递规则、递归函数、回调函数
· 字符串:字符串基本操作、字符串函数实现等;
· 指针:一级指针、二级指针、多级指针、数组指针、函数指针等;
· 自定义数据结构:结构体、联合、枚举
· 标准库文件操作:文件打开、关闭、读、写、读写缓冲区等;
· 强制类型转*
· C语言封装与设计
· C语言头文件、动态库和静态库、大型工程文件布局与头文件的使用
辅助工具
· Makefile、GDB调试软件、GIT版本控制管理
· visual studio使用、Eclipse入门
· Source Insight代码查看与编写、Putty工具
数据结构
· 单链表操作,链表构建、销毁、插入、删除、排序、逆转
· 冒泡、选择、插入、快速排序
· 队列、循环队列、栈
· 二分查找、哈希表构建
· 树、二叉树、哈弗曼树
· Linux内核链表、双向循环链表
· this指针、container_of等
教学案例:
学生管理系统、俄罗斯方块、贪吃蛇
【牛角书生】基础知识必备环节,踏实勤奋,出入门道。
第二阶段:系统编程和网络编程(学习时长:3周)
课程名称
课程内容
教学目标
系统文件
· POSIX标准介绍、Unix和Linux关系
· Linux系统I/O、文件读写、锁、mmap等操作
· 视频显示设备FrameBuffer操作
· Linux I/O多路复用
课程目标:使学员理解系统编程,尤其是文件、进程和数据库;对网络五层有深入了解,能够抓包、分析包和封装包,熟悉基于TCP和UDP的编程;理解C++语言与C语言的优缺点,并能够基于QT图形化编程。
进程和线程
· 系统进程创建、通信、退出机制
· Linux线程操作、互斥操作
· Linux系统进程间通信(管道、消息队列、共享内存、信号、本地socket)
· Linux线程创建、退出等操作
· Linux线程间同步与互斥(互斥锁、信号量、条件变量等)
网络接口调用
· UDP和TCP接口编程,数据的发送与接收
· Sniffer抓包程序分析,TCP/IP五层详解,各层数据原理
· 网络数据封装,各层数据的发送与接收
· 网络文件传输、消息打包等
· 简明局域网聊天软件
网络数据构建
· I/O多路复用、广播、多播程序
· ARP请求与攻击
· 路由器、交*机、网关原理
· Sniffer网络抓包程序分析,TCP/IP五层详解
· 网络数据封装,各层数据的发送和接收
· 广播、多播程序
教学案例:
TCP和UDP网络文件传输、局域网络聊天
【庖丁解牛】理论知识必须结合实操,*复打磨,才能运用的得心应手。
第三阶段:C++ QT开发(学习时长:4周)
课程名称
课程内容
课程目标
C++核心
· C++、C和汇编语言三者之间的联系与区别
· 输入输出流、文件IO流、引用、友元、命名空间
· 函数重载、默认参数等;
· 面向对象编程思想
· 类的封装和继承
· 对象内存:对象内存的动态分配和释放、this指针
· 类的成员函数和成员变量、静态成员和静态成员函数
· 构造函数、析构函数、拷贝构造函数(深拷贝、浅拷贝)
· 友元函数和友元类
· 内联函数
· 操作符重载、仿函数functor、谓词函数
· C++多态、虚函数、纯虚函数、虚函数表、抽象类和接口类
· C++类型转*:向上造型和向下造型、 static_cast、 dynamic_cast、 const_cast、 reinterpret_cast
· STL模板、类模板、函数模板、迭代器、容器、适配器、算法等;
· 泛型、Boost库、ACE框架
· C++设计模式:单例模式、工厂模式、代理模式等
· C++异常:C++标准异常库、异常的抛出和捕获
· C++11新标准: 类型推导、Lambda表达式、正则表达式、模板增强、区间迭代等。
课程目标:理解C++语言与C语言的优缺点,并能掌握QT图形化编程;熟悉基于QT的TCP和UDP编程,对网络五层有深入了解,能够抓包、分析包和封装包;深入学习基于QT的文件和数据库操作;了解进程;深入学习基于QT线程。
QT编程基础
· QtCreator 集成开发环境介绍(设置开发环境, 设置编译环境,视图切*,快速查声明)
· QT编程基础:源文件、头文件、ui文件、.qrc资源文件、.pro工程文件等
· QT 编译器与编译流程
· QT Designer:控件和布局、主界面区域、控件属性区域、控件列表区。
· 元对象系统,元对象属性
· QT信号和槽机制
数据结构
· QByteArray字节数组
· QString字符串
· 顺序容器:QList、QLinkList、QVector、QQueue、QStack,掌握数组、栈和链表的操作
· 关联容器:QSet、QMultiSet、QMap、QMultiMap、QHash、QMultiHash
· 迭代器iterator的使用,掌握对容器的迭代遍历
· 掌握二叉树和哈希表等操作
QT图形界面
· QT组件布局(QLayout):QBoxLayout, QFormLayout, QGridLayout和 QStackedLayout
· QT按键:QAbstractBu*n、QPushBu*n、QCheckBox、QRadioBu*n、QToolBu*n
· QT Widget: QListWidget、QTableWidget、QTreeWidget等。
· QT窗口:主界面、菜单栏、工具栏、状态栏等
· QT样式表(QSS)
QT对话框
· QT对话框: 模态对话框和非模态对话框。
· QT标准对话框:QFileDialog、QFontDialog、QColorDialog、QMessageBox等。
· QT自定义对话框
QT事件
· QT事件: QT事件循环、 鼠标事件、 按键事件、 事件过滤器
· Painter事件(QPen和QBrush、 QT系统坐标、绘画系统、QPainter绘图; update函数;绘图设备(QPixmap、QBitmap、QImage、QPicture))
文件操作
· 抽象文件引擎类:QIODevice
· 文本流与二进制数据流
· 文件和数据流的基本原理和概念
· 使用QFile、QTextStream、QDataStream与文件的读出和写入
· INI文件使用
· XML文件使用
· JSON文件使用
数据库
· QT QSqlDatabase与数据库交互操作
· QSqlQuery执行SQL语句,数据库数据增删改查
· Navicat安装与使用
进程和线程
· QT进程:进程创建、进程间通信和进程退出机制
· QT线程: QT线程(QThread)创建、moveToThread创建
· QT线程的互斥和同步:QMutex、QReadWriteLock、QSemphore和QWaitCondition
网络编程
· TCP/IP网络通信基础
· UDP网络通信(QUdpSocket)
· TCP网络通信(QTcpSocket、QTcpServer)
教学案例:
TCP和UDP网络文件传输、局域网络聊天、计算器软件、数据管理系统
【牛刀小试】集中火力在模拟项目中一展身手。
第四阶段:模块项目(学习时长:2周)
课程名称
课程内容
课程目标
项目列表
· 装备管理系统
· 串口网络调试助手
· 文本编辑器
· FeiQ通信软件
· 网络抓包工具
· 音视频播放器
· ModScan32软件
课程目标:熟练使用前期课程内容,完成项目内容。掌握项目需求分析及文档编写,项目时间及进度*,项目模块化及任务分工。了解代码测试用例编写及BUG调试,*高解决问题能力。熟练使用项目工程代码版本管理工具SVN及GIT。熟悉项目汇报文档编写及项目汇报。
第五阶段:物联网应用开发(学习时长:1周)
课程名称
课程内容
课程目标
物联网采集层
· STM32
· 片上外设
· 传感器
· 实时操作系统:uco*reertos等
剖析5G物联网应用开发开发框架,掌握物联网采集层、传输层、应用层应用开发*;深入理解嵌入式系统架构及应用开发;熟悉通信协议编程与解码;熟悉应用层B/S和C/S架构;解决物联网不同应用场景的开发需求。
通信与协议
· NB-IOT*
· ZigBee*
· Lora*
· 蓝牙*
· MQTT协议
· LW2M协议&Modbus协议
物联网应用层
· ARM嵌入式应用平台
· C/S框架、B/S框架
· MySQL数据库
· SQLite轻量级数据库
· 高并发服务器
【汗牛充栋】攻克实战重重关卡,完成晋级蜕变之路。
第六阶段:实战项目(学习时长:4周)
课程名称
课程内容
课程目标
项目列表
· 5G物联网环境监测系统
· 物联网数据采集网关
· 四旋翼无人机开发
· 人脸识别系统
· 智能家居系统
· 智慧农场
课程目标:掌握项目需求分析及文档编写,项目时间及进度*,项目模块化及任务分工。了解代码测试用例编写及BUG调试,*高解决问题能力。熟练使用项目工程代码版本管理工具SVN及GIT。熟悉项目汇报文档编写及项目汇报。商业项目开发运营模式,真正实现与企业项目无缝对接。
项目专题
· 物联网应用框架解析
· 物联网采集端*解析
· 物联网网络组网*解析
· 物联网通信协议解析
· 物联网数据应用*解析
【牛气冲天】全面*升自我,“犇”向薪未来。
第七阶段:就业指导(学习时长:1周)
课程名称
课程内容
课程目标
内容涵盖
· 个人简历制作指导
· 讲解不同企业/职位面试*
· 模拟企业一对一、多对一面试现场
· 向合作企业内推学员简历或组织专场招聘会
指导学员知晓、理解、掌握面试流程及*,学会分析自我能力是否匹配企业职位,并在面试时可以清晰准确的表达出自己的亮点及优势,*终拿到优秀的职业offer。