【雕爷学编程】Arduino动手做(175)---机智云ESP8266开发板模块2

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十五:ESP8266机智云开发板 ESP12F wifi模块(支持云端的智能硬件开发套件)

在这里插入图片描述
知识点:机智云 (www.gizwits.com)
机智云是亚洲最大的智能硬件自助开发和云服务平台,产品及服务涵盖终端管理、连接管理、应用支持和业务分析等主要功能,为有志于进军物联网的开发者提供智能硬件一站式开发工具及云端运维服务,提供 IoT 开源嵌入式代码库、云端 API 接口、APP 端 SDK,方便开发者进行二次开发,同时支持公有云、私有云、混合云以及全球化部署,是目前 IoT 技术最成熟、云端应用功能最完善、全球量产客户最多、最受 IoT 开发者喜爱的量产级别智能硬件开发及云服务平台,被业界及媒体公认为物联网第三方云服务第一品牌。

在这里插入图片描述

Arduino与机智云达成战略合作,共同服务IoT开发者
北京2016年9月20日电 /美通社/ – 9月19日,全球知名开源硬件供应商 Arduino 与全球领先物联网云服务平台机智云 (www.gizwits.com) 正式达成深度战略合作。双方宣布将在物联网开发领域进行深度合作,共同为第三方开发者提供工具、产品和技术服务。Arduino 将为机智云提供基于 Arduino 研发的物联网硬件和相关技术资料,机智云将为 Arduino 提供基于“机智云”的自助开发平台工具和云服务,以及相应的技术支持和运维保障。

双方早于2014年就已初步展开合作,机智云推出的第二代开源套件 Gokit2.0 已经兼容 Arduino Uno 开发板,并广泛服务于 Arduino 开发者。随着物联网开发技术需求的不断旺盛,Arduino 也陆续推出像 Uno WiFi、Arduino Yun、Arduino Tian、Arduino Primo 及 Star OTTO 等一系列内嵌了 WiFi 模块的全新升级版产品。本次双方的深度合作,正是基于帮助物联网开发爱好者快速进入物联网开发的共同目标。

双方将从 Arduino Uno WiFi 着手,陆续实现全线产品合作。机智云将为 Arduino免 费提供其开发者所需的开发工具和云服务,开发者不仅可以通过机智云自助开发平台定义通过 Arduino 开发的设备的功能数据点,实现 Arduino 设备上联网数据统计分析,在线升级和远程控制等智能功能,还可以充分利用机智云4.0规则引擎配置设备运行逻辑,开发云端应用,以及开发 APP 等机智云4.0平台的全开发能力。双方将共同为开发者提供一站式 IoT 开发工具和技术服务。

Arduino 专注于开源硬件的开发,而机智云专注于智能硬件的云服务开发,与机智云合作可以扩大Arduino 在产品应用层面的外延,让用户享受到更多的基于数据的应用服务。 Arduino 中国董事总经理陈愈容表示:“物联网将是未来所有智能硬件的标配。Arduino 一直在探索如何提供一个简单易用又灵活强大的物联网解决方案,让创客和开发者们能轻松将自己的作品连上网络,享受大数据带来的更多可能性。Arduino 和机智云的此次战略合作,将结合各自优势,秉承开源精神,让这一目标得以快速实现。”

机智云和 Arduino 的合作显示出双方团队正在加快在 IoT 的战略布局。对此机智云 CEO 黄灼表示,未来几年将是物联网领域快速发展的时期,多方合作可以促成物联网开发者生态的创建,基于 Arduino 和机智云在软硬件开发领域的丰富经验及双方的资源与技术优势,此次合作的达成将助力双方未来共同开拓物联网开发者,互惠互利、协同共进。

在这里插入图片描述
云端服务
云服务是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。云服务指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。

在这里插入图片描述
ESP8266机智云开发板模块
(官方简介)这是一个支持云端的智能硬件开发套件,史上最简单最具性价比的物联网开发板,不需要你懂网络、TCP/IP、HTP、MQTT底层复杂的知识,只要你会C语音,即可用安信可的机智云SDK快速实现二次开发,这个DEMO板可以用手机流量控制板载的RGB七彩灯,手机端APP,可以通过光敏电阻显示环境亮度。代码只要少作修改半个小时即可做出一款属于你自己的远程控制设备,系统免费生成APP(安卓、IOS),开放SDK,你只需要做下APP端UI界面即可研发成一个成品。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ESP8266
1、低功耗、高集成度的 Wi-Fi 芯片
2、仅需 7 个元器件
3、超宽工作温度范围:-40°C 至 +125°C
4、ESP8285 - ESP8266 内封 8 Mbit Flash
5、高度集成——ESP8266EX 是业内集成度最高的 Wi-Fi 芯片,最小封装尺寸仅为 5mm x 5mm。ESP8266EX 高度集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,仅需很少的
电路,可将所占 PCB 空间降到最低。
6、32 位 Tensilica MCU——ESP8266EX 内置 Tensilica L10632 位微型控制器 (MCU),具有超低功耗和 16 位 RSIC,时钟速度最高可达 160 MHz。支持实时操作系统 (RTOS),目前 Wi-Fi 协议栈只用了 20% 的 MIPS,其他均可用于用户编程和开发。
7、低功耗——ESP8266EX 专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现了最低功耗。ESP8266EX 有三种运行模式:激活模式、睡眠模式和深度睡眠模式,能够延长电池寿命。
8、性能稳定——ESP8266EX 集成了更多的元器件,性能稳定,易于制造,工作温度范围达到 -40°C 到 +125°C。

在这里插入图片描述

这是一块是整合完整的 ESP82666 开发板,用的是 ESP-12F 模组。

板子内建了RGB LED,按钮,也有直接上传程序的能力。

你可以伪装成安可靠的云端服务来开发,也可以把它当作是一块 ESP82666 开发。

直接用Arduino IDE开发,板子请选择“WeMos D1 R2 & Mini”,把它当作D1 mini来用吧!

因为内建了RGB LED,光敏接触,按钮,所以很适合教学,不用再接线。

在这里插入图片描述

ESP8266 Witty Cloud ESP-12F WiFi 模块是一款功能强大的 WiFi 处理器,采用紧凑型封装,集成了 RGB LED、LDR 光传感器和按钮,可轻松实现独立操作。

主要特性
微控制器:ESP-8266 32 位
时钟速度:80 / 160MHz
USB 转换器:CH340
USB 连接器:Micro USB
工作电压:3.3V
闪存:4 MB
数字 I/O:11
模拟输入:1
通信:串行,SPI。I2C 和 1-Wire 通过软件库
WiFi:内置 802.11 b/g/n
LED:内置 RGB LED
光传感器:内置 LDR 光敏电阻
按钮:内置按钮
编程:与 Arduino IDE 和 NodeMCU 兼容
板载 LDR 光传感器
WS2812 板载
3x 触觉按钮(1x 在 Witty 板上,2x 在 CH340 板上)
支持3种模式:AP、STA、AP+STA
尺寸:24mm x 16mm
用于电源和/或编程的微型 USB 连接

在这里插入图片描述
除了添加 WiFi 功能外,ESP8266 处理器优于标准 Arduino 的 AVR 处理器的主要优点是它具有更大的 4 MB 闪存,运行速度为 80 MHz,有时可以选择超频至 160 MHz因而具有较快的处理速度。这些可以用作独立 MCU 代替 Arduino 之类的东西,也可以用作外围设备与另一个 MCU 一起提供 WiFi 功能。

该模块集成了几个常见组件,包括 RGB LED 和 LDR 光敏电阻,使其更像是一个独立设备。它还包含一个按钮,用于启动某种类型的操作。

该模块由两个堆叠板构成。顶板是带有ESP8266的主处理器板,底板提供USB接口。如果需要,一旦对模块进行编程并且不再需要 USB,则可以移除顶板并在没有底板的情况下使用。请注意,如果在没有底板的情况下使用模块,顶板上的 USB 连接器可以选择性地为模块供电,但它不提供 USB 通信。

在这里插入图片描述
在这里插入图片描述
数字输入/输出
除了引脚 16 不支持中断外,所有数字 I/O 都支持 PWM 和中断。此外,它们可以配置为具有上拉或下拉电阻。虽然有 11 个数字 I/O 引脚,但如果使用串行通信,则通常保留 2 个用作 TX/RX 线,而剩下 9 个数字 I/O 用于其他用途。这 9 个引脚中的一些连接到板载 LED,但如果需要,也可用于其他目的。

默认的 PWM 范围是 0-1023,而不是 Arduino 上典型的 0-255。可以使用命令analogWriteRange (255)修改范围,该命令将范围设置在0-255 之间。

PWM 频率默认为 1kHz。类似地,可以使用analogWriteFreq(500)对其进行修改,将频率设置为500 Hz 作为一个示例。

这些引脚标记为 GPIOx。与 Arduino IDE 一起使用时,数字引脚编号与引脚编号相同,因此 GPIO2 仅引用为“2”。

小的蓝色板载 LED 连接到引脚 2 (GPIO2)。

顶板上的板载通用按钮连接到引脚 4 (GPIO4)。

RGB LED 是共阴极,因此在驱动为高电平时会亮起。它连接到以下引脚:

引脚 15 (GPIO15) = RGB 红色 LED
引脚 12 (GPIO12) = RGB 绿色 LED
Pin13 (GPIO13) = RGB 蓝色 LED
根据规范,数字 I/O 限制为 3.3V,但制造商已声明数字引脚实际上可耐受 5V,并且有许多安装使用直接连接到 5V MCU 逻辑线的模块,因此请使用您的自己的判断。

模拟输入/输出
模拟输入 A0 (ADC) 是一个 10 位 ADC 输入,它连接到 LDR(光敏电阻)。

LDR 的暗电阻约为 2.5K,并与 470 欧姆的电阻串联形成分压器,为 ADC 输入供电。LDR 连接到分压器的 Vcc 侧,470 欧姆电阻接地。随着光强度的增加,LDR 电阻降低,因此 ADC 输入上的电压增加。

通过测量电压,可以确定落在传感器上的光线的相对亮度。

为模块供电
该模块可以通过顶部或底部板上的 USB 端口供电,也可以使用连接到 Vcc 引脚的外部 5V 电源供电。顶部模块包括一个 3.3V 稳压器,可将 5V 电压降至 ESP8266 所需的 3.3V。

在这里插入图片描述

ESP8266 Witty Cloud ESP-12F WiFi 模块(机智云)
搭建Arduino开发环境

在首选项,加入开发板管理器地址 http://arduino.esp8266.com/stable/package_esp8266com_index.json

在这里插入图片描述

打开IDE——开发板管理器——搜索ESP8266——安装

在这里插入图片描述
开发板选择——Adafruit Feather HUZZAH ESP8266

在这里插入图片描述

设置好的样子

在这里插入图片描述

找到的一张电原理图

在这里插入图片描述
在这里插入图片描述
ESP-12F模组

在这里插入图片描述
底板图

在这里插入图片描述
RGB LED:G段(绿色)连接到GPIO引脚 12,B段(蓝色)连接到引脚 13,R(红色)连接到引脚 15。在将它们声明为 OUTPUTS 之前调用“digitalWrite ()”足以激活它们。

LDR:这种光敏电阻已经安装在板上,并占用了我们ESP8266的唯一的模数转换器 ( ADC ) ,即A0。Arduino 函数“ analogRead ()”将允许我们通过返回 0 - 1023(10 位)范围内的数字来了解传感器读数,其中0是黑暗/半影,1023是最大照度。

按钮: 连接到 GPIO4,我们可以在将其声明为INPUT 之前,使用digitalRead()读取其状态。

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
项目一:RGB LED七彩灯 串口打印光线数值

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百三十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
  项目一:RGB LED七彩灯 串口打印光线数值
*/

int rojo = 15;
int verde = 12;
int azul = 13;
int colores[] = {
    
    rojo, verde, azul};
int timeDelay = 200;

void setup() {
    
    
  Serial.begin(9600);
  pinMode(rojo, OUTPUT);
  pinMode(verde, OUTPUT);
  pinMode(azul, OUTPUT);
}

void loop() {
    
    
  Serial.println(analogRead(A0));

  for (int count = 0; count < 3; count++)
  {
    
    
    digitalWrite(colores[count], HIGH);
    delay(timeDelay);
  }
  for (int count = 0; count < 3; count++)
  {
    
    
    digitalWrite(colores[count], LOW);
    delay(timeDelay);
  }
}

项目一:RGB LED七彩灯 串口打印光线数值

项目串口返回情况
在这里插入图片描述
项目一:RGB LED七彩灯 串口打印光线数值

项目串口绘图器返回

在这里插入图片描述

Arduino实验场景图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41659040/article/details/131990645