版主
- 积分
- 272
- 金钱
- 272
- 注册时间
- 2017-3-30
- 在线时间
- 25 小时
|
【摘要】物联网技术的发展十分迅速,为了方便学生理解和掌握物联网的相关知识,设计了一款基于机智云平台的物联网实验开发平台。
文章介绍了系统的硬件设计,包括单片机控制模块、WiFi通讯模块以及控制输出模块,方便学生进行基础性操作和扩展设计。经过实验测
试,物联网实验平台运行效果良好。
【关键词】机智云;STM32;物联网
物联网是一个基于互联网、传统电信网等信息承载体,让所能够被独立寻址的普通物理对象实现互联互通的网络。为了提高学生的学习兴趣,方便快速地对物联网设备熟悉、了解和操作,本文设计了一款基于机智云平台的物联网实验平台。通过此平台,学生可以熟悉单片机开发与Android开发等相关知识,熟悉并掌握物联网系统的设计思路及制作方法。
1 系统平台方案设计
整个平台设计分为软件程序设计和硬件电路实验板设计。软件程序设计主要包括手机应用控制程序和电路实验板的控制程序;硬件设计主要包括电路实验板的设计、选型、制作和调试。平台采用wifi模块进行通讯,用户通过APP软件控制电路实验板。实验平台的结构示意图如图1所示。
基于机智云平台的物联网实验平台硬件设计方案框图如图2所示,主要包括STM32最小控制系统及下载启动电路的设计,通讯模块和输出显示模块的设计。
基于机智云平台的物联网实验平台软件设计主要采用JAVA语言编写Android软件,根据不同的页面操作控制实验平台。系统设计主要分为STM32核心控制系统、WIFI通讯模块以及软件APP三大部分。
2 系统平台硬件设计
平台的硬件设计主要包括STM32最小工作模块的设计、WiFi通讯模块的设计、输出模块的设计以及其他电路模块的设计。
2.1 STM32最小工作模块
本系统采用STM32F103系列的芯片作为主控芯片,根据资料手册,STM32控制电路设计设计了STM32最小系统,包括复位电路、时钟电路、电源电路。
2.2 WiFi通过模块
系统平台的APP软件与实验平台采用WIFI方式进行数据传输。本系统采用乐鑫esp8266-12F串口转WIFI模块。使其可通过GPIO口集成传感器及其他应用的特定设备,实现了最低前期的开发和运行中最少地占用系统资源,能支持WPA/WPA2安全模式,内置TCP/IP协议栈,内置低功率32位CPU。
2.3 控制输出模块
为了丰富实验效果,平台提供了多种输出方式,学生通过应用程序控制不同的输出电路输出相应的现象。根据电路原理,系统的输出模块包括LED输出、继电器控制输出和数码管输出等多种输出方式。
2.4 其他工作模块
一个完整的控制系统除了输入输出模块、单片机最小系统之外,还需要其他辅助电路,包括下载调试电路、串口转换电路和滤波电路等。
3 系统平台软件设计
平台的软件设计主要包括手机应用控制软件程序和实验平台的电路控制程序的编写。系统的软件服务主要依托于机智云。机智云是一家智能硬件自助开发和物联网云服务平台,面向企业/开发者提供智能硬件PaaS及SaaS云服务,是一家物联网云服务提供商。我们在开发完成软硬件服务程序后接入机智云平台即可。
3.1 电路控制程序
系统的电路控制程序主要完成单片机的初始化、wifi模块的初始化以对应用控制程序传来的数据进行处理和计算,同时需要编写事件驱动程序,完成对设备的控制。以点亮一个LED为例,我们需要初始化单片机的IO管脚,然后根据接收到的数据进行判断输出高低电平即可。部分代码如下。初始化一个单片机IO口的程序如下:
void GPIO_Init()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能PB端口时钟
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8; //LED0-->PA.8配置
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP; //输出
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz; //IO口50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //参数初始化
GPIO_ResetBits(GPIOB,GPIO_Pin_8); }LED的点亮和熄灭程序如下:
GPIO_ResetBits(GPIOB,GPIO_Pin_7);//灭
GPIO_SetBits(GPIOB,GPIO_Pin_7);//亮
3.2 应用控制程序
应用控制程序主要包括页面的设计和后台业务逻辑的设计。根据平台的输出设计,需要对LED、继电器、数码管等元器件进行控制。以点亮一个LED为例,程序通过判断按下的按钮是开还是关来设置变量的值,单片机通过接收到变量的值再进行判断LED灯是开启还是关闭。部分代码如下。
if(read==0x01)
{
currentDataPoint.valueswitch01=1;
}
else
{
currentDataPoint.valueswitch01=0;
}
if(0x01 == currentDataPoint.valueswitch01)
{
GPIO_SetBits(GPIOB,GPIO_Pin_8); //亮
}
else
{
GPIO_ResetBits(GPIOB,GPIO_Pin_8);//灭
}
4 实验设计
本平台提供基于STM32的最小开发系统外,还提供了部分外设功能,适合学生由浅到深地了解单片机的原理。学生不仅可以进行基础的实验操作,还可以根据需求自己进行设计。此外系统引出了STM32芯片的所有I/O口资源,学生可以自行设计和创新。表1是本实验平台提供的部分实验。
5 总结
经过试验测试,系统运行结果良好,学生可以通过手机应用程
序控制实验平台上的输出模块。由于嵌入式系统自身的特点决定了
学习的困难性,本平台提供了单片机最小系统和物联网基础实验,
方便学生掌握基础知识;了解物联网系统设计的设计流程与思路。
参考文献
[1] 李宁,卞祥.基于机智云的智能宿舍系统设计[J].物联网技术,2016(02):59-60.
[2]孙书鹰,陈志佳,寇超.新一代嵌入式微处理器STM32F103开发与应用[J].微计算机应用,2010,12:59-63.
[3]钱志鸿,王义君.物联网技术与应用研究[J].电子学报,2012(05):1023-1029.
(来自网络,侵删)
|
|