
基于STM32F103C8T6+ESP8266物联网小系统
简介
用STM32F103C8T6作为主控,ESP8266wifi模块作为网络通信实现一个建议的物联网小系统
简介:用STM32F103C8T6作为主控,ESP8266wifi模块作为网络通信实现一个建议的物联网小系统开源协议
:GPL 3.0
描述
一、概述
本系统主要用的三大模块有:STM32F103C8T6主控芯片,ESP8266Wifi模块,0.96寸OLED屏幕模块;辅助模块有串口下载模块,温度传感器,光敏传感器模块,按键模块,LED模块。
二、技术分析(主要模块)
(1)STM32F103C8T6
STM32F103C8T6芯片有48个引脚,支持3个串口、3个16位的定时器、2个SPI、2个IIC、USB、CAN总线、1个PWM、2个ADC。
本设计所所选用的模块ESP8266WIFI模块(串口)、OLED屏幕(SPI)、DS18B20温度传感器(ADC)、光敏传感器(ADC)等,并且考虑成本的话选择STM32F103C8T6芯片就可以满足本设计。
(2)ESP8266 WIFI(AT指令集)
ESP8266 模块采用串口(LVTTL)与 单片机(或其他串口设备)通信,内置TCP/IP 协议栈,能够实现串口与WIFI之间的转换,通过ESP8266模块,传统的串口设备只是需要简单的串口配置,即可通过网络(WIFI)传输自己的数据,ESP8266模块支持LVTTL串口,模块支持串口转WIFI STA、串口转AP和WIFI STA+WIFI AP的模式,构建串口-WIFI数据传输方案,方便设备使用互联网传输数据。
ESP8266 模块支持 STA/AP/STA+AP三种工作模式。
STA 模式:简单的讲,我们平时使用手机连接热点或者路由器采用的就是STA客户端模式。
AP 模式:ESP8266 模块作为热点充当路由器角色, 这样我们平时使用的电子设备手机、平板等可以连接它。
STA+AP 模式:顾名思义,就是同时拥有以上两种模式的特点。
AT指令集的四种类型
类型 | 指令格式 | 描述 |
---|---|---|
测试指令 | AT+=? | 该命令用于查询设置指令的参数以及取值范围 |
查询指令 | AT+? | 该命令用于返回参数的当前值 |
设置指令 | AT+=<…> | 该命令用于设置用户自定义的参数值 |
执行指令 | AT+ | 该命令用于执行受模块内部程序控制的变参数不可变的功能 |
(3)0.96寸OLED(选用SPI通信)
OLED,即有机发光二极管(Organic Light Emitting Diode)。 OLED可自发光,具有没有背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术[5] 。在我的毕业设计里选用的是中景园电子的0.96寸OLED 显示屏,该屏有以下特点:
① 0.96 寸 OLED 有黄蓝,白,蓝三种颜色可选;
② 分辨率为 128*64
③ 多种接口方式; OLED 裸屏总共种接口包括:6800、8080两种并行接口方式、 3线或4线的串行SPI接口方式、IIC 接口方式。
④ OLED 屏开发了两种接口的 Demo 板,接口分别为七针的 SPI/IIC 兼容模块,四针的 IIC 模块。
模式1:
当极性CPOL为0时,时钟线在数据传输之前和完成之后都为低电平状态,也就是说空闲时的电平为低电平。当相位CPHA为0时,读取数据就在第一个时钟边沿(上升沿),输出数据就在第二个时钟边沿(下降沿)。
模式2:
当极性CPOL为1时,时钟线在数据传输之前和完成之后都为高电平状态,也就是说空闲时的电平为高电平。当相位CPHA为1时,读取数据就在第二个时钟边沿(上升沿),输出数据就在第一个时钟边沿(下降沿)。
模式3:
当极性CPOL为0时,时钟线在数据传输之前和完成之后都为低电平状态,也就是说空闲时的电平为低电平。当相位CPHA为1时,读取数据就在第二个时钟边沿(下降沿),输出数据就在第一个时钟边沿(上升沿)。
模式4:
当极性CPOL为1时,时钟线在数据传输之前和完成之后都为高电平状态,也就是说空闲时的电平为高电平。当相位CPHA为0时,读取数据就在第一个时钟边沿(下降沿),输出数据就在第二个时钟边沿(上升沿)。
\*\* 这个根据屏幕的手册选用一种模式即可。\*\*
三、设计简要思路
以STM32为主控,其主要控制开发板上的硬件外设,除此之外主控与wifi模块通信,esp8266设置为透传模式,本地做客户端,选用腾讯云等服务器做服务端,搭建简单的tcp/ip通信,以字符串的形式进行通信。。。。
本文写的比较简单,如有兴趣可私聊,谢谢!
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | LED_R | LED1 | LED0805_RED | 1 |
2 | 22pF | C18,C17 | C0603 | 2 |
3 | 32.768KHz | X1 | OSC-TH_BD2.0-P0.70-D0.3 | 1 |
4 | SS8550 | Q2 | SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR | 1 |
5 | LED_B | LED3 | LED0805_BLUE | 1 |

评论