* 导师视频讲解:[**去听课**](https://www.bilibili.com/video/BV1Cb4y1171H?p=16)
>[success] **技术支持说明:**
>**1**.一般以自主学习为主
> **2**.可到官方问答社区中提问:[**去提问**](https://bbs.csdn.net/forums/zigbee)
> **3**.工程师**会尽快**解答社区问题,但他们是一线开发,【**难以保证**】解答时效,解答辛苦,感谢理解!
<br/>
## **必读说明**
本课程**属于课外篇**,其内容较为复杂且有一定难度,因此:
1. 需要先学完以下课程,否则请停止学习!
《NB-IoT开发指南》
《STM32开发指南》
2. 我司原则上不为本项目提供技术支持,恳请理解!
<br/>
## **编译源代码**
* 安装Keil MDK,参考:《[STM32开发指南——面向物联网领域](https://z7po9bxpe4.k.topthink.com/@stm32/kechengjianjie.html)》→《 1.2 Keil MDK简介与安装》
* 安装 STM32 Pack,参考:《[STM32开发指南——面向物联网领域](https://z7po9bxpe4.k.topthink.com/@stm32/kechengjianjie.html)》→《 1.3 STM32 Pack 简介与安装》
* 安装USB转串口驱动,参考:《[STM32开发指南——面向物联网领域](https://z7po9bxpe4.k.topthink.com/@stm32/kechengjianjie.html)》→《 1.4 CH34x 驱动简介与安装》
>[danger] 请务必安装 **STM32 Pack**,否则会编译失败
<br/>
## **代码架构**
打开本项目配套的代码,并展开Userspace,如图所示。
![](https://img.kancloud.cn/3d/9f/3d9f4c4a25b4f8dbe63b41acd64ba5a6_353x512.png =250x)
###
可以把源代码大致分解为3个层次,即以hal开头的源文件属于HAL,以svc开头的文件属于Service层,以tash开头的属于Task层。
<br/>
#### **HAL说明**
HAL中的各个源文件的简要说明如下:
* hal\_spi.c :SPI驱动程序
* hal\_lcd\_spi.c和hal\_oled12864.c : OLED显示屏驱动程序
* hal_uart.c :串口通信驱动程序
* hal_dht11.c :DHT11温湿度传感器驱动程序
* hal_system.c :其他系统资源的驱动程序,例如系统延时等
#### **Service层说明**
Service层的各个源文件的简要说明如下:
* svc_msg.c :基于 hal_uart.c封装出来的串口数据收发服务
* svc_log.c :日志服务,用来在显示屏中显示日志信息
* svc\_plugins.c :插件服务,包含基于hal\_dht11.c封装出来的温湿度数据读取服务
* svc_task.c :任务调度的核心服务,支持增加、删除任务以及多任务
#### **Task层说明**
* task_nbiot.c :基于NB-IoT数据通信任务,用于与远程服务器建立MQTT连接,并上报温湿度数据。
<br/>
<br/>
## **商务合作**
如有以下需求,可扫码添加管理员好友,注明“**商务合作**”
* 项目定制开发,技术范围:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等;
* 入驻平台,成为讲师;
* 接项目赚外快;
* 善学坊官网:[www.sxf-iot.com](https://www.sxf-iot.com/)
![](https://img.kancloud.cn/ca/73/ca739f92cab220a3059378642e3bd502_430x430.png =150x)
(非商务合作**勿扰**,此处**非**技术支持)
- 课程介绍
- 配套资源下载
- 配套开发套件简介
- 简介
- 硬件组成 & 技术参数
- NB-IoT通信板 原理图 & PCB图
- STM32 Pro 主板 电路原理图 & PCB图
- STM32 Std 主板 电路原理图 & PCB图
- 板载设备使用说明
- NB-IoT开发指南
- 1. 技术简介
- 2. CH34x USB转串口驱动安装
- 3. AT 指令开发与测试
- 4. 基础指令集简介
- 5. 云端服务器
- 5.1 PuTTY 简介与安装
- 5.2 登录云端服务器
- 6. 移远官方工具简介
- 7. 使用UDP协议与云端服务器通信
- 8. 使用TCP协议与云端服务器通信
- 9. 使用MQTT协议与云端服务器通信
- 9.1 MQTT协议简介
- 9.2 实验环境准备
- 9.3 MQTT通信实验
- 9.4 使用手机APP(选修)
- 进阶课程:STM32开发指南——面向物联网方向
- 课外篇:项目实战
- 采集温湿度到腾讯云
- 采集传感器数据到腾讯云
- 基于STM32+NB-IoT的温湿度采集
- 系统简介
- 系统搭建
- 系统详解
- 1.代码编译与架构说明
- 2.DHT11温湿度传感器
- 3. 数据通信任务说明