启航KS_IoT智能开发套件案例及代码(第二部分) 原创 精华
1.案例简介
启航KS包括1块核心板和4块扩展板,本文档包括以下功能案例:
启航KS核心板实现的案例
1)OLED显示
2)温湿度监测
3)超声波测距
4)人体红外感应
5)电机控制
6)蜂鸣器
7)光照强度监测
8)按键功能
9)RGB呼吸灯
10)NFC
11)Wi-Fi
12)光电开关监测
13)可燃气体监测
启航KS扩展板实现的案例
1)PM2.5监测
2)甲醛监测
3)BDS/GPS定位
4)姿态监测
2.启航KS核心板功能实现
核心板功能区分布图如下:
2.9.RGB呼吸灯功能实现
2.9.1.RGB呼吸灯功能原理
RGB呼吸灯功能是通过循环控制PWM占空比,调节LED亮度,实现RGB呼吸灯效果。
2.9.2.RGB呼吸灯硬件接口
RGB
按键控制使用的GPIO接口为GPIO10, GPIO11, GPIO12。其引脚连接说明如下:
RED ----- GPIO12
BLUE ----- GPIO10
GREEN ----- GPIO11
RGB呼吸灯功能中,GPIO10、GPIO11、GPIO12引脚配置设置见4.6章节
用跳线帽连接下图原理图中紫色方框位置
2.9.3.RGB呼吸灯功能软件实现
代码目录:
applications\sample\wifi-iot\app\issdemo
|—iss_led
|—iss_led.c
|—iss_led.h
1、配置GPIO引脚为PWM
2、PWM配置
配置PWM1,PWM2,PWM3的硬件引脚
3、PWM启动
4、RGB呼吸灯开关控制
通过PWM打开所有RGB呼吸灯
通过PWM关闭所有RGB呼吸灯
2.10.NFC感应器实现
2.10.1.NFC感应器原理
NFC感应器,型号为FM11NC8,实现NFC感应器控制。
- NFC 是一种近场无线通信技术,通信距离理论上可以在 10cm(实际中需要贴的很近),以13.56MHz RFID 技术为基础,与现有的非接触式智能卡国际标准相兼容。 数据传输速率 106kbit/s、212kbit/s、424kbit/s。
2.通信原理是基于感应近场,在近场区域内感应场强弱与电磁辐射源以及天线的距离相关,近则强远则弱。 - NFC 通信一般有两种模式:主动模式和被动模式。
1)主动模式:两个设备发起端(标签设备)和目标端(读卡器)都必须发射出本身的射频场,以实现向对方系统设备之间发送数据。
2)被动模式:相对于主动模式,被动模式只有一方提供射频场,提供射频场的都是通信发起端设备,另一端目标不需要产生射频场,目标设备能量的产生由发起方射频场的感应电动势进行供电,目标端使用负载调制的方式,以相同的速率将数据回传给发起端设备。在整个双方通信过程中发起方设备的射频场必须存在,一旦关闭目标端设备的供电就会结束,数据交换无法进行。
本案例采用被动模式。
2.10.2.NFC感应器硬件接口
NFC
NFC采用I2C协议进行数据通信。使用的GPIO 引脚分别是 GPIO13,GPIO14,其引脚连接说明如下:
SDA ----- GPIO13
SCL ----- GPIO14
用跳线帽连接下图原理图中紫色方框位置
2.10.3.NFC感应器软件实现
NFC 软件驱动实现:
代码目录:
applications\sample\wifi-iot\app\issdemo
|—iss_nfc
|—iss_nfc_demo.c
|—iss_nfc_demo.h
|—iss_nfc_interface.c
|—iss_nfc_interface.h
|—iss_nfc_regvalue.c
|—iss_nfc_regvalue.h
1、NFC初始化
I2C硬件引脚IDX_0 初始化
设置I2C波特率
设置GPIO13为I2C0SDA
设置GPIO14为I2C0SCL
NFC和OLED使用共同的I2C0接口,在OLED模块中已初始化,这里不需要重复初始化
2、NFC驱动实现
1)寄存器读写接口实现
2)读取中断标志
3)读取缓冲区
4)读取卡数据
2.11.Wi-Fi功能实现
2.11.1.Wi-Fi功能原理
Wi-Fi模组集成在Hi3861中,可以工作在STA,也可以工作在AP。
工作在STA时,启航KS要连接上指定的热点(可用手机做热点测试);工作在AP状态时,手机可以连接启航KS生成的热点。
2.11.2.Wi-Fi功能软件实现
代码目录:
2、连接热点
3、启动UDP server
2.12.光电开关监测实现
2.12.1.光电开关监测原理
光电开关是用硫化镉或硒化镉等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应。光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低。
2.12.2.光电开关硬件接口
PHO_RES
引脚连接说明如下:
光敏传感器使用的GPIO接口为GPIO06
用跳线帽连接下图原理图中紫色方框位置
额外功能说明:
光电开关联动光照灯D6,需要按下SW1。当光电开关感应到夜晚时,打开光照灯;当光电开关感应到白天时,关闭光照灯。
2.12.3.光电开关监测软件实现
代码目录:
applications\sample\wifi-iot\app\issdemo
|—iss_photosensitive
|—iss_photosensitive.c
|—iss_photosensitive.h
初始化GPIO
获取光电开关数据
2.13.可燃气体监测实现
2.13.1.可燃气体监测原理
通过ADC接口实时采集当前环境可燃气体浓度,超过阈值时蜂鸣器会发出警报。
2.13.2.可燃气体监测硬件接口
MQ-4
特殊说明:
使用该功能,需要按下SW1按键,此时该功能才有效。
引脚连接说明:
ADC ----- GPIO11
可燃气体监测功能中,GPIO10引脚配置设置见4.8章节
用跳线帽连接下图原理图中紫色方框位置
Rs 为传感器当前阻值,R0 为洁净空气中的值,ppm为可燃气体浓度。三者之间的关系为:
① Rs/R0 = 11.5428ppm^(-0.6549) 。由上图的电路图可得出
② (Vc – V2)/Rs = V2/R2。 Vc = 5V, V2 位 R25 电阻电压, 即 ADC 采集到的电压, R25= 1k。在空气洁净时测出电压为 0.25V 左右。故 R0 = 19K。
通过公式①,②可以推导出电压 V2 与 ppm 值的关系为:
ppm = pow(11.542819* V2/(5- V2),1.0/0.6549);
函数 pow 为计算 x 的 y 次方,x, y 均为 double 类型。
2.13.3.可燃气体监测软件实现
读取ADC电压数值,将电压值转换为可燃气体数值。
代码目录:
applications\sample\wifi-iot\app\issdemo
|—iss_combustible_gas
|—iss_combustible_gas.c
|—iss_combustible_gas.h
可燃气体数据转换和获取
软通动力加油!!!
好厉害呀!!
软通动力加油!
还有第三部分嘛
主要问题是开发板还没有
啥时候送板子呀