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

news2024/11/6 7:24:19

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

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

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

在这里插入图片描述

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。

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
项目八:使用ESP8266WiFi库的最简模式

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百三十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
  项目八:使用ESP8266WiFi库的最简模式
*/

#include <ESP8266WiFi.h>

void setup(){
  Serial.begin(115200);
  Serial.println();

  WiFi.begin("zhz2", "12345678");

  Serial.print("连接中......");
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println();

  Serial.print("已连接WiFi,IP地址:");
  Serial.println(WiFi.localIP());
}

void loop() {}

项目八:使用ESP8266WiFi库的最简模式

项目串口返回情况

在这里插入图片描述

文档 »
ESP8266WiFi 库
https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html#

下载库 https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
项目九:创建一个 WiFi 接入点并在其上提供一个网络服务器(http://192.168.4.1)

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百三十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
  项目九:创建一个 WiFi 接入点并在其上提供一个网络服务器
*/

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

#ifndef APSSID
#define APSSID "ESPap"
#define APPSK  "thereisnospoon"
#endif

//将这些设置为您想要的凭据
const char *ssid =  "ESPap";
const char *password = "thereisnospoon";

ESP8266WebServer server(80);

//只是一点测试信息。
//在 Web 浏览器中访问 http://192.168.4.1
//接到此接入点以查看它。
void handleRoot() {
  server.send(200, "text/html", "<h1>You are connected</h1>");
}

void setup() {
  delay(1000);
  Serial.begin(115200);
  Serial.println();
  Serial.print("配置接入点...");
  // 如果你想打开 AP,你可以去掉密码参数
  WiFi.softAP(ssid);
  
  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP地址: ");
  Serial.println(myIP);
  server.on("/", handleRoot);
  server.begin();
  Serial.println("HTTP 服务器启动");
}

void loop() {
  server.handleClient();
}

项目九:创建一个 WiFi 接入点并在其上提供一个网络服务器

项目串口返回情况

在这里插入图片描述

打开手机搜索WiFi,可以连接上这个热点ESPap(未设密码,开放)

在这里插入图片描述

打开手机浏览器,进入http://192.168.4.1

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
项目之十:创建一个WiFi接入点并在其上提供一个网络服务器,通过浏览器控制LED灯读取照明值

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百三十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
  项目之十:创建一个WiFi接入点并在其上提供一个网络服务器,通过浏览器控制LED灯读取照明值
*/

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

#ifndef APSSID
#define APSSID "ESPap"
#define APPSK  "thereisnospoon"
#endif

int rojo = 15;
int verde = 12;
int azul = 13;

//将这些设置为您想要的凭据
const char *ssid =  "ESPap";
const char *password = "thereisnospoon";

ESP8266WebServer server(80);

//只是一点测试信息。
//在 Web 浏览器中访问 http://192.168.4.1
//接到此接入点以查看它。
void handleRoot() {
  server.send(200, "text/html", "<h1>You are connected</h1>");
}

void setup() {
  delay(1000);
  Serial.begin(115200);
  Serial.println("");
  Serial.println();
  Serial.print("配置接入点...");
  // 如果你想打开AP,你可以去掉密码参数
  WiFi.softAP(ssid);

  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP地址: ");
  Serial.println(myIP);
  server.on("/", handleRoot);
  server.begin();
  Serial.println("HTTP 服务器已启动");

  pinMode(rojo, OUTPUT);
  pinMode(verde, OUTPUT);
  pinMode(azul, OUTPUT);

  //通过串行监视器发送本地IPpinMode(红色,输出);pinMode(绿色,输出);pinMode(蓝色,输出);服务器上
  server.on("/R", []()
  {
    server.send(200, "text/plain", "RED LED-ON");
    Serial.println("打开红灯");
    digitalWrite(rojo, HIGH);                       // 打开 LED红色.
  });

  server.on("/G", []()
  {
    server.send(200, "text/plain", "LED VERDE-ON");
    Serial.println("打开绿灯");
    digitalWrite(verde, HIGH);
  });

  server.on("/B", []()
  {
    server.send(200, "text/plain", "LED AZUL-ON");
    Serial.println("打开蓝灯");
    digitalWrite(azul, HIGH);
  });

  server.on("/OFF", []()
  {
    server.send(200, "text/plain", "All LEDs-OFF");
    Serial.println("关闭灯");
    digitalWrite(rojo, LOW);
    digitalWrite(verde, LOW);
    digitalWrite(azul, LOW);                        //关闭 3 个 LED
  });

  server.on("/LDR", []()     //读取来自LDR照明值
  {
    server.send(200, "text/plain", "Light Sensor Value: " + String(analogRead(A0)));
    Serial.print("LDR照明值=");
    Serial.println(String(analogRead(A0)));
  });

  server.begin();
  Serial.println("服务器监听中......");
}

void loop() {
  server.handleClient();   // 处理请求
}

打开手机WiFi搜索“ESPap”

在这里插入图片描述
连接这个热点

在这里插入图片描述

连接上之后,打开手机浏览器,输入命令“192.168.4.1/R”,即可打开红灯

在这里插入图片描述
打开手机浏览器,输入命令“192.168.4.1/G”,即可打开绿灯

在这里插入图片描述

打开手机浏览器,输入命令“192.168.4.1/B”,即可打开蓝灯

在这里插入图片描述

打开手机浏览器,输入命令“192.168.4.1/OFF”,即可关闭灯

在这里插入图片描述
打开手机浏览器,输入命令“192.168.4.1/LDR”,即可远程读取照明值

在这里插入图片描述
项目之十:创建一个WiFi接入点并在其上提供一个网络服务器,通过浏览器控制LED灯读取照明值

项目串口返回情况

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百三十五: ESP8266 Witty Cloud ESP-12F WiFi模块 机智云开发板 ESP Witty
项目之十:创建一个WiFi接入点并在其上提供一个网络服务器,通过浏览器控制LED灯读取照明值

实验场景图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/807301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

区间预测 | MATLAB实现VAR向量自回归时间序列区间预测

区间预测 | MATLAB实现VAR向量自回归时间序列区间预测 目录 区间预测 | MATLAB实现VAR向量自回归时间序列区间预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 区间预测 | MATLAB实现VAR向量自回归时间序列区间预测 VAR(Vector Autoregression)模型是一种广泛应用于时…

pytest 自定义HOOK函数

除了系统提过的HOOK函数外&#xff0c;也可以通过自定义HOOK的方式实现想要的功能。 首先创建一个py文件&#xff0c;里面定义自己的HOOK函数&#xff0c;主要pytest里面的hook函数必须以pytest开头。 #myhook.pydef pytest_myhook(user):"""自定义HOOK函数&q…

SpringBoot项目部署(前后端分离、Linux部署项目)

一、架构 部署环境说明&#xff1a; 192.168.122.100(服务器A)&#xff1a; Nginx&#xff1a;部署前端项目、配置反向代理 Mysql&#xff1a;主从复制结构中的主库 192.168.122.131 (服务器B)&#xff1a; jdk: 运行Java项目 git:版本控制工具 (从gitee中拉取源码) maven:…

No104.精选前端面试题,享受每天的挑战和学习(小米)

文章目录 聊一下vue和react的区别react生命周期有哪些hooks解决了什么问题小程序跳转传参怎么传附录&#xff1a;「简历必备」前后端实战项目&#xff08;推荐&#xff1a;⭐️⭐️⭐️⭐️⭐️&#xff09; &#x1f4c8;「作者简介」&#xff1a;前端开发工程师 | 蓝桥云课签…

CenOS设置启动级别

背景知识 init一共分为7个级别&#xff0c;这7个级别的所代表的含义如下 0&#xff1a;停机或者关机&#xff08;千万不能将initdefault设置为0&#xff09;1&#xff1a;单用户模式&#xff0c;只root用户进行维护2&#xff1a;多用户模式&#xff0c;不能使用NFS(Net File S…

Banana Pi BPI-CM4 评测(计算模块 4),更快性能,旨在替换树莓派CM4

如果您正在寻找可靠的单板计算机来提升您的下一个项目&#xff0c;但无法找到满足您需求的 Raspberry Pi&#xff0c;请看看我是否可以提供帮助。在这篇详细的评论中&#xff0c;我将向您介绍 Banana Pi CM4&#xff0c;这是一款适用于各种任务的多功能且强大的解决方案。从经验…

Blazor前后端框架Known-V1.2.8

V1.2.8 Known是基于C#和Blazor开发的前后端分离快速开发框架&#xff0c;开箱即用&#xff0c;跨平台&#xff0c;一处代码&#xff0c;多处运行。 Gitee&#xff1a; https://gitee.com/known/KnownGithub&#xff1a;https://github.com/known/Known 概述 基于C#和Blazor…

太强了~ 这份《23 种设计模式加强版》宝典,阿里 P8 都得细细研究

说在前面的话 Java 作为老牌纯正的编程语言&#xff0c;在规范性上有着天然优势。因此本版的设计模式讲解全部用 Java 语言来描述&#xff0c;并针对 Java 语言的特性对讲解内容做了相当大的改动。 不知道大家是否听过编程界的一段话&#xff1a;掌握设计模式相当于华山派的&…

信号和槽函数的扩展

信号和槽函数的扩展 一个信号连接多个槽函数一个槽函数连接多个信号信号连接信号 一个信号可以连接多个槽函数, 发送一个信号有多个处理动作 需要写多个connect&#xff08;&#xff09;连接槽函数的执行顺序和信号的发射顺序相同&#xff08;QT5中&#xff09;信号的接收者可…

C#实现读写CSV文件的方法详解

目录 CSV文件标准 文件示例RFC 4180简化标准读写CSV文件 使用CsvHelper使用自定义方法总结 项目中经常遇到CSV文件的读写需求&#xff0c;其中的难点主要是CSV文件的解析。本文会介绍CsvHelper、TextFieldParser、正则表达式三种解析CSV文件的方法&#xff0c;顺带也会介绍一…

SpringBoot中MongoDB的使用

SpringBoot中MongoDB的使用 MongoDB 是最早热门非关系数据库的之一&#xff0c;使用也比较普遍&#xff0c;一般会用做离线数据分析来使用&#xff0c;放到内网的居 多。由于很多公司使用了云服务&#xff0c;服务器默认都开放了外网地址&#xff0c;导致前一阵子大批 MongoD…

骨传导耳机是什么?为什么不用塞到耳朵里?

骨传导耳机其实就跟它的名字一样&#xff0c;用骨传导声音的耳机&#xff0c;整个声音传导过程都是开放双耳的&#xff0c;不接触耳膜&#xff0c;佩戴非常舒适的耳机。 为什么不需要塞进耳朵里&#xff0c;首先咱们要先知道骨传导的原理&#xff1a; 如上图所示&#xff0c;骨…

【Linux命令200例】less强大的文件内容查看工具

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;本文已收录于专栏&#xff1a;Linux命令大全。 &#x1f3c6;本专栏我们会通过具体的系统的命令讲解加上鲜活的实操案例对各个命令进行深入…

项目实战 — 消息队列(1) {需求分析}

一、什么是消息队列 消息队列&#xff08;Message Queue ,MQ&#xff09;&#xff0c;就是将阻塞队列的数据结构&#xff0c;提取成了一个程序&#xff0c;独立进行部署。也就是实现一个生产者消费模型。 有关生产者消费者模型&#xff0c;参考多线程 — 阻塞队列_多线程阻塞…

redis基本架构:一个键值数据库包含什么?(这篇文章主要是一个引导的作用)

我们设计一个简单的smpliekv数据库&#xff0c;来体验简直数据库包含什么 体来说&#xff0c;一个键值数据库包括了访问框架、索引模块、操作模块和存储模块四部分&#xff08;见 下图&#xff09;。接下来&#xff0c;我们就从这四个部分入手&#xff0c;继续构建我们的 Simpl…

【MyBatis】MyBatis 3.5+版本报错合集(持续更新)

报错&#xff1a;BindingException 1. org.apache.ibatis.binding.BindingException: Type interface xxx is not known to the MapperRegistry. 2. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xxx 解决方案 在pom.xml中添加如下代码…

NetApp FAS控制器的启动过程详解

了解NetApp FAS存储系统的控制器启动过程对于控制器故障的诊断分析非常重要&#xff0c;最近在给几个小朋友培训NetApp&#xff0c;顺便把这个启动过程总结了一下&#xff0c;分享给大家&#xff0c;遇到控制器故障&#xff0c;就可以照方抓药了&#xff0c;如果还是搞不懂&…

自学网络安全(黑客)的注意事项

自学网络安全是一项重要而复杂的任务&#xff0c;以下是一些注意事项&#xff1a; 确定学习目标&#xff1a;网络安全是一个广泛的领域&#xff0c;包括密码学、网络防御、漏洞利用等多个方面。在自学之前&#xff0c;确定你感兴趣的领域&#xff0c;并设定明确的学习目标。 寻…

自动化测试如何管理测试数据

前段时间&#xff0c;知识星球里有同学问到&#xff1a;自动化case越多&#xff0c;测试数据越多&#xff0c;数据的管理成本也越来越高&#xff0c;是否需要一个数据池来专门管理测试数据&#xff1f;这是一个好问题&#xff0c;也是很多测试同学在自动化测试实践中必须面对的…

RWEQ模型土壤风蚀模拟与风蚀模数估算、数据支持、参量提取、归因分析、相关SCI论文撰写技巧

目录 专题一 理论基础 专题二 平台基础 专题三 RWEQ模型数据支持 专题四 RWEQ模型参量提取 专题五 归因分析 专题六 RWEQ模型相关的SCI论文撰写技巧 结合案例讲解RWEQ模型的运行及相关的归因分析&#xff0c;从原理、数据、方法、归因分析方面对土壤风蚀情况进行实战讲解…