玩转物联网:(2)语音控制开关灯
玩转物联网:(2)语音控制开关灯
演示效果
第一步:所需器材及线路连接
所需器材:esp8266开发板1块、舵机1个、杜邦线3根、9V电池1个及供电线1条。
第二步:esp8266开发板程序烧录
arduino IDE软件下载:https://www.arduino.cn/thread-5838-1-1.html
配置首选项:http://arduino.esp8266.com/stable/package_esp8266com_index.json
安装esp8266库。
https://diandeng.tech/doc/getting-start-8266
使用esp8266 & WiFi接入
代码解读(上传至Gitee)
#include <ESP8266WiFi.h> // 本程序使用 ESP8266WiFi库
#include <ESP8266WiFiMulti.h> // ESP8266WiFiMulti库
#include <ESP8266WebServer.h> // ESP8266WebServer库
#include <Servo.h>//引入伺服电机驱动库Servo Servo1; //实例化一个对象
ESP8266WiFiMulti wifiMulti; // 建立ESP8266WiFiMulti对象,对象名称是 'wifiMulti'
ESP8266WebServer esp8266_server(80);// 建立网络服务器对象,该对象用于响应HTTP请求。监听端口(80)void setup(void){Serial.begin(9600); // 启动串口通讯Servo1.attach(3); //给伺服电机绑定一个数字引脚// 初始状态,保持回正位置Servo1.write(50);wifiMulti.addAP("P30", "13147182"); // 将需要连接的一系列WiFi ID和密码输入这里Serial.println("Connecting ..."); // 则尝试使用此处存储的密码进行连接。int i = 0; while (wifiMulti.run() != WL_CONNECTED) { // 此处的wifiMulti.run()是重点。通过wifiMulti.run(),NodeMCU将会在当前delay(1000); // 环境中搜索addAP函数所存储的WiFi。如果搜到多个存储的WiFi那么NodeMCUSerial.print(i++); Serial.print(' '); // 将会连接信号最强的那一个WiFi信号。} // 一旦连接WiFI成功,wifiMulti.run()将会返回“WL_CONNECTED”。这也是// 此处while循环判断是否跳出循环的条件。// WiFi连接成功后将通过串口监视器输出连接成功信息 Serial.println('\n');Serial.print("Connected to wifi");Serial.println(WiFi.SSID()); // 通过串口监视器输出连接的WiFi名称Serial.print("IP address:\t");Serial.println(WiFi.localIP()); // 通过串口监视器输出ESP8266-NodeMCU的IPesp8266_server.begin(); // 启动网站服务esp8266_server.on("/", HTTP_GET, handleRoot); // 设置服务器根目录即'/'的函数'handleRoot'esp8266_server.on("/open", HTTP_GET, openled); // 打开open网页,触发一个openled函数esp8266_server.on("/close",HTTP_GET,closeled);esp8266_server.onNotFound(handleNotFound); // 设置处理404情况的函数'handleNotFound'Serial.println("HTTP esp8266_server started");// 告知用户ESP8266网络服务功能已经启动
}void loop(void){// Serial.println(digitalRead(D8));delay(100);esp8266_server.handleClient(); // 检查http服务器访问
}void handleRoot() { //esp8266_server.send(200, "text/html", "<form action=\"/LED\" method=\"GET\"><input type=\"submit\" value=\"Toggle LED\"></form>");esp8266_server.send(200, "text/html","hello world");
}//处理LED控制请求的函数'handleLED'
void openled(){ Serial.println("open");Servo1.write(100);delay(2000);// 回正Servo1.write(50);esp8266_server.sendHeader("Location","/"); // 跳转回页面根目录esp8266_server.send(303); // 发送Http相应代码303 跳转
}void closeled(){Serial.println("colse");// 位置0,对应关闭Servo1.write(0);delay(2000);// 回正Servo1.write(50);esp8266_server.sendHeader("Location","/"); // 跳转回页面根目录esp8266_server.send(303); // 发送Http相应代码303 跳转
}// 设置处理404情况的函数'handleNotFound'
void handleNotFound(){esp8266_server.send(404, "text/plain", "404: Not found"); // 发送 HTTP 状态 404 (未找到页面) 并向浏览器发送文字 "404: Not found"
}
第三步:设置手机
(1)保存网页,取名为"开灯",“关灯”
开灯:http://192.168.43.50/open
关灯:http://192.168.43.50/close
(2)华为手机,小艺语音助手,录屏执行保存的网页。
课件资料
bilibili:熊大学习社 https://space.bilibili.com/475774512
Gitee开源:https://gitee.com/shenghuaxiong/ioter
CSDN玩转物联网专栏文章:https://blog.csdn.net/shx13141/category_11669532.html
微信公众号:熊大学习社
未完待续
(1)平衡小车
(2)无人机
最终的目标是无人自动驾驶的自行车。
玩转物联网:(2)语音控制开关灯相关推荐
- 树莓派语音控制开关灯
摘要 最近在做智能家居项目,从一开始的无从下手,到现在也算是小有所成了,树莓派语音控制开关灯这个是智能家居项目一个大的组成部分,写此博客,也是为了很好的记录下此过程. 物料: 树莓派3B 语音识别模块 ...
- 语音控制开关灯----mega2560
介绍 亲爱的创客伙伴们,本期要给大家分享的是语音控制开关灯,将会使用三种单片机来展示(stm32.esp32以及mega2560,除mega2560为8位外,另外两个为32位单片机).我们只需要掌握一 ...
- 一种基于蓝牙和语音控制的智能家居系统【100010378】
2018年大学生电子设计竞赛设计报告 一种基于蓝牙和语音控制的智能家居系统 摘要:本项目使用 STM32F407 作为主控芯片,通过蓝牙和语音控制实现安全.便宜的智能家居系统.实现了手机实现家电控制: ...
- WebServer应用示例:不到100行代码玩转Siri语音控制 | ESP32轻松学(Arduino版)
ESP32轻松学系列文章目录: ESP32 概述与 Arduino 软件准备 蓝牙翻页笔(PPT 控制器) B 站粉丝计数器 Siri 语音识别控制 LED 灯 Siri 语音识别获取传感器数据 本期 ...
- 【阿里云生活物联网架构师专题 ②】esp8266 sdk 直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...
- 【阿里云生活物联网架构师专题 ①】esp32 sdk 直连接入阿里云物联网平台,实现天猫精灵语音控制;
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...
- 用Arduino玩转掌控板(ESP32):不到100行代码实现Siri语音控制 → WebServer应用示例...
众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板.大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython.Mind+ 等.但是,既然掌控板是基于 ES ...
- 超详细!简单的物联网模块esp8266接入小爱爱同学控制电器(一)——控制开关灯
简单的物联网模块esp8266接入小爱爱同学控制电器(一)--控制开关灯 闲来无事,分享一个简单使用的物联网实现系统(小爱同学+esp8266),实现手机控制开关灯+小爱同学控制开关灯 1.准备材料: ...
- 毕业/课程设计——基于STM32的智能灯光控制系统(物联网、智能家居、手机APP控制、语音控制)
文章首先介绍本系统所包含的功能,主要包含六方面功能,之后逐步分享开发过程,其流程如下:点亮灯带(三极管)→调节灯光亮度(PWM)→为系统添加远程控制功能→为系统添加语音识别功能→添加超声波姿态监测功能 ...
最新文章
- spark调优(一)-开发调优,数据倾斜,shuffle调优
- windows下pomelo开发环境搭建及JS乱码问题
- UA PHYS515 电磁理论I 麦克斯韦方程组基础5 电动力学的四类问题与对应的麦克斯韦方程
- JAVA 上加密算法的实现用例---转载
- DataTransmission:免费薅羊毛,Are you kidding me? 镭速传输 “百日计划”提前大曝光!Raysync传输协议要开放?
- 敲点JavaScript代码
- 13、字符集和字符编码
- 设备管理器android感叹号,设备管理器其他设备感叹号
- 什么是 Caché?
- r语言lm函数_如果R语言自带函数不能用,那我就自己写一个
- 字符串%百分号 和 format 格式化
- Robbin关于App class loader的总结(转帖)
- extjs中什么时候用{},什么时候用[]
- 安全生产应急救援信息管理指挥调度系统
- 【概率论】边缘分布和联合分布
- android ev3 蓝牙连接,分享一下自己研究EV3蓝牙通信原理的成果 (完结)
- 用ViewPager实现微信tab切换
- 登录邮箱显示imap服务器错误,qq邮箱登陆不了显示imap服务器关闭怎么办
- c语言公交查询系统,公交路线查询系统(基于数据结构和C语言)完整
- matlab shading颜色设置,关于matlab中pcolor显示图片时的shading设置问题