ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
* 导师视频讲解:[**去听课**](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) (非商务合作**勿扰**,此处**非**技术支持)