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灯读取照明值
实验场景图