目录

  • 1 课程简介
    • 1.1 课程简介
    • 1.2 课程标准
    • 1.3 职业证书对接
    • 1.4 课程分工
  • 2 数据采集
    • 2.1 数据采集之数字量传感数据采集
    • 2.2 数据采集之模拟量传感数据采集
    • 2.3 数据采集之模拟量转换为数字量
    • 2.4 数据采集之开关量传感数据采集
  • 3 STM32微控制器基本外设应用开发
    • 3.1 STM32基础知识
    • 3.2 任务1 开发环境搭建和工程建立
    • 3.3 任务2 LED流水灯应用开发
    • 3.4 任务3 按键控制LED灯亮灭
    • 3.5 任务4 串行通信控制LED流水灯应用开发
    • 3.6 任务5 电池电量检测应用开发
  • 4 RS-485总线通信应用
    • 4.1 RS-485基本知识
    • 4.2 RS-485通信协议及网关通信协议
    • 4.3 Modbus通信协议
    • 4.4 任务1 案例分析及工程代码编写
    • 4.5 任务2 系统搭建及云平台项目创建
  • 5 CAN总线通信应用
    • 5.1 CAN总线基本知识
    • 5.2 CAN通信帧
    • 5.3 CAN控制器和收发器
    • 5.4 任务1 案例分析及工程代码编写
    • 5.5 任务2 系统搭建及云平台项目创建
    • 5.6 任务3 CAN通信数据抓包与解析
  • 6 BasicRF的无线通信应用
    • 6.1 BasicRF基础知识
    • 6.2 任务1创建工程项目
    • 6.3 任务2 温湿度节点数据采集
    • 6.4 任务3 火焰节点数据采集
    • 6.5 任务4 传感器节点组网
    • 6.6 任务5 传感数据汇聚
  • 7 WiFi数据通信
    • 7.1 WI-FI基础知识
    • 7.2 使用AT指令配置WI-FI工作模式
    • 7.3 WI-FI接入云平台
  • 8 NB-IoT联网通信
    • 8.1 NB-IoT技术简介
    • 8.2 利尔达NB-IoT模组介绍
    • 8.3 任务1 “智慧路灯”AT指令代码编写
    • 8.4 任务2.烧写智能路灯
    • 8.5 任务3NB-IoT接入云平台
  • 9 LoRa 通信技术
    • 9.1 基础知识
    • 9.2 项目分析与LoRa驱动移植
    • 9.3 任务2 LoRa温湿度传感器节点应用程序开发
    • 9.4 任务3 LoRa光照传感器节点数据采集
    • 9.5 任务4 LoRa网关节点汇聚传感器数据
    • 9.6 讨论
任务1创建工程项目
  • 1 知识介绍
  • 2 PPT
  • 3 学习视频
  • 4 讨论
  • 5 国之重器

案例介绍

某企业为了提高生产管理效率,利用传感网技术对企业的管理实现集成化、统一化。本开发项目围绕仓库的传感网进行组网开发。

任务具体要求与功能如图 5-8所示。首先,仓库要保持通风良好、干燥,利用温湿度光敏传感器采集温湿度数据;同时还要对仓库进行防火检查,利用传感器检测是否有明火,通过这些传感器实现仓储环境监测功能。

图片5-9


5-8环境监测功能


案例分析

通过对仓储环境监测系统进行分析,得出任务需求。首先,需要使用温湿度传感器和火焰传感器对仓库的温湿度环境和防火情况进行检查。同时,对案例进行分解,得到需要完成的四个子任务:

(1) 采用温湿度传感器模块和通信模块组成数字量采集节点A

(2) 火焰传感器模块和通信模块组成开关量采集节点B

(3) A、B两个节点实时采集传感器的数据

(4) 每隔2s将采集的传感器数据通过无线网络传给汇聚节点模块

本任务是在这四个任务的基础,主要负责建立工程并配置好相应的设置。

知识储备

一、ZIGBEE模块

在本章节当中,我们将使用到zigbee模块,如图 5-9所示为zigbee模块实物图,该模块使用CC2530作为主控MCU,此外该模块还具备调试器接口,LED灯,ADC接口,按键,拨码开关,输入输出接口,传感器接口等,可满足本项目的开发需求。

(1)CC2530 SoC:主控MCU,见图中标号①处;

(2)天线接口:用于连接小辣椒天线,见图中标号②处;

(3)调试器接口:用于连接CC Debugger等调试器,见图中标号③处;

(4)用户LED:用于现象指示,见图中标号④处;

(5)ADC接口:用于连接外部输入模拟量信号,见图中标号⑤处;

(6)用户按键:用于有按键需求的应用,见图中标号⑥处;

(7)拨码开关:向左拨时,CC2530的USART0与NEWLab底板相连,向右拨则USART0与J11接口相连,见图中标号⑦处;

(8)输入输出接口:用于连接外部数字量I/O信号,见图中标号⑧处;

(9)传感器接口:用于连接各种传感器模块,见图中标号⑨处。

图片5-10


5-9ZIGBEE模块实物图


二、CC2530射频单片机概述

CC2530芯片支持IEEE802.15.4和ZigBee标准,运行内存8KB最大Flash闪存256KB,集成RF收发器和8051内核,支持Z-Stack和BasicRF协议栈,此外,还集成了一系列外设资源,如图 5-10所示包括:

(1)21个通用I/O引脚;

(2)Flash闪存控制器;

(3)具有5个通道的DMA控制器;

(4)3个通用定时器、1个MAC定时器、1个睡眠定时器和1个看门狗定时器;

(5)2个串行通信接口USART;

(6)1个随机数发生器;

(7)AES安全协处理器。

图片5-11


5-10CC2530射频单片机外设资源


三、开发工具介绍

接下来是开发工具的介绍,主要分为两部分硬件平台和软件开发工具,如图 5-11所示,两个开发工具具有不同的功能。

图片5-12


5-11开发工具


NEWLab实验平台具备8个通用的实验模块插槽,可支持单个模块实验,也可支持最多8个实验模块联动的实验。平台内集成通信、供电与测量等功能,为实验提供环境保障和支撑。实验平台还内置了一块标准尺寸的面包板及独立电源,可用于电路搭建实验。图 5-12图 5-13分别是NEWLab实验平台底板接口和NEWLab实验平台背部接口。

图片5-13


5-12NEWLab实验平台底板接口图片5-14


5-13NEWLab实验平台背部接口


在本项目中用到的软件开发工具主要是IAR,它是一款支持多种类型微处理器的集成开发环境,图 5-14是IAR快捷图标。它使用工作区来管理项目,使用项目来管理代码文件。IAR除了可以编辑、编译单片机应用程序外,还能起到给单片机下载程序的作用。同时,还具备在线调试功能,方便和强化了整个程序的设计和调试工作。

图片5-15


5-14IAR快捷图标图片5-16


5-15CC Debugger外形图


TI为CC2530提供了多个型号的调试下载器,如:SmartRF04EB和CC Debugger等。都可用于下载程序。图 5-15为CC Debugger的外形图。

任务实施

主要的步骤分个两步:1、新建工程和程序文件,添加头文件;2、修改程序代码。

一、 新建工程和程序文件,添加头文件。

图 5-16所示为步骤一的具体流程:

图片5-17


5-16新建工程和程序文件,添加头文件关键步骤


(1) 复制库文件。新建工程文件夹“D:\zigbee\Env”(可以是其他路径),将 CC2530_lib 文件夹和 sensor_drv 文件夹复制到该工程文件夹内。在该工程文件夹内新建一 个 Project 文件夹,用于存放工程文件。sensor_drv 文件夹中有传感器数据采集的相关源 码。

(2) 新建 IAR 工程。新建 IAR 工程 demo,保存 workspace 工作空间名为 demo.eww。 在工程中新建 app、basicrf、board、common、mylib、sensor_drv、utils 等 7 个组,把 board、common、mylib、utils、sensor_drv 中各文件夹中的“xx.c”文件添加到对应的 文件夹中,把 basicrf 目录下的 basic_rf.r51 也添加进来。

(3) 新建程序文件。新建源程序文件,将其命名为 sensor.c,保存在 D:\zigbee\Env\Project 文件夹中。并将该文件添加到工程中的 app 文件夹中。

(4) 为工程添加头文件。点击 IAR 菜单中的“Project->Options…”,在弹出对 话框中选择“C/C++ Compiler”,然后选择“Preprocessor”选项卡,并在“Additional include directories:(one per line)”中输入头文件的路径,将资源包的 CC2530_lib 下子目录和 sensor_drv 目录加入到搜索路径中。设置完成,点击“OK”。

图片5-18


5-17“Preprocessor”选项卡


二、第二个操作是修改程序代码

ZigBee(黑板)模块上 4 个 LED,LED1~LED4 分别由 P1.0、P1.1、P1.3 和 P1.4 控制,这些接口与 TI 官网发布的开发平台有所差别,所以需要修改一下,操作步骤如图 5-18所示:

图片5-20


5-18修改程序代码关键步骤


(1)打开“hal_board.h”头文件,展开左边 workspace 栏中的“board/hal_board.c”的“+”号,在展开的文件列表中找到“hal_board.h”头文件,双击打开该文件。

(2)在“hal_board.h”头文件找到如图 5-19所示代码,查看下面宏是否正确,如果不正确, 按照图示要求修改。其中 ①HAL_BOARD_IO_LED_x_PORT 表示端口:x 端口(x 可以是 0、1、2); ②HAL_BOARD_IO_LED_y_PIN 表示引脚:x.y 引脚(x 端口的第 y 个引脚,y 可以是 0~7)。

图片5-21


5-19“hal_board.h”头文件


(3)配置工程 点击 IAR 菜单中的“Project——Options…”,分别对“General Options”、“Linker” 和“Debugger”三项进行配置。

1) General Options 配置。选中“Target”选项卡,在“Device”栏内选择 “CC2530F256.i51”(路径:C:\…\8051\config\devices\Texas Instruments),如图 5-20所示。

图片5-22


5-20General Options配置


2) Linker 配置。选中“Config”选项卡,勾选“Overide default”,并在该栏内选择 194 “ lnk51ew_CC2530F256_banked.xcl ” 配 置 文 件 , 其 路 径 : C:\ … \8051\config\devices\Texas Instruments,如图 5-21所示。

图片5-24


5-21Linker配置


3) Debugger 配置。选中“Setup”选项卡,在“Driver”栏内选择“Texas Instruments”即可,如图 5-22所示。

图片5-24


5-22Debugger配置


全部设置完成单击“OK”按钮,则工程的项目文件配置完毕。