多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
* 导师视频讲解:[**去听课**](https://www.bilibili.com/video/BV1Cb4y1171H?p=16) >[success] **技术支持说明** > 1.**客服**提供简单的技术支持,一般自主学习为主 > 2.可到官方问答社区中提问:[**去提问**](https://bbs.csdn.net/forums/nb-iot) > 3.工程师**会尽快**解答社区问题,但他们是一线开发,【**难以保证**】解答时效,解答辛苦,感谢理解! <br/> >[danger] 本项目为课外学习内容,其内容较为复杂且有一定难度,因此:**未学习前面章节者**,**请止步**! <br/> ## **编译源代码** * 安装Keil MDK,参考:[Keil MDK 简介与安装](2486101) * 安装 STM32 Pack,参考:[STM32 Pack 简介与安装](2486102) * 安装USB转串口驱动,参考:[CH34x 驱动简介与安装](2486103) * 安装完成上述软件后,打开配套的工程代码,即可编译并生成Hex文件 >[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) (非商务合作**勿扰**,此处**非**技术支持)