玩转物联网:(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)语音控制开关灯相关推荐

  1. 树莓派语音控制开关灯

    摘要 最近在做智能家居项目,从一开始的无从下手,到现在也算是小有所成了,树莓派语音控制开关灯这个是智能家居项目一个大的组成部分,写此博客,也是为了很好的记录下此过程. 物料: 树莓派3B 语音识别模块 ...

  2. 语音控制开关灯----mega2560

    介绍 亲爱的创客伙伴们,本期要给大家分享的是语音控制开关灯,将会使用三种单片机来展示(stm32.esp32以及mega2560,除mega2560为8位外,另外两个为32位单片机).我们只需要掌握一 ...

  3. 一种基于蓝牙和语音控制的智能家居系统【100010378】

    2018年大学生电子设计竞赛设计报告 一种基于蓝牙和语音控制的智能家居系统 摘要:本项目使用 STM32F407 作为主控芯片,通过蓝牙和语音控制实现安全.便宜的智能家居系统.实现了手机实现家电控制: ...

  4. WebServer应用示例:不到100行代码玩转Siri语音控制 | ESP32轻松学(Arduino版)

    ESP32轻松学系列文章目录: ESP32 概述与 Arduino 软件准备 蓝牙翻页笔(PPT 控制器) B 站粉丝计数器 Siri 语音识别控制 LED 灯 Siri 语音识别获取传感器数据 本期 ...

  5. 【阿里云生活物联网架构师专题 ②】esp8266 sdk 直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...

  6. 【阿里云生活物联网架构师专题 ①】esp32 sdk 直连接入阿里云物联网平台,实现天猫精灵语音控制;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...

  7. 用Arduino玩转掌控板(ESP32):不到100行代码实现Siri语音控制 → WebServer应用示例...

    众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板.大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython.Mind+ 等.但是,既然掌控板是基于 ES ...

  8. 超详细!简单的物联网模块esp8266接入小爱爱同学控制电器(一)——控制开关灯

    简单的物联网模块esp8266接入小爱爱同学控制电器(一)--控制开关灯 闲来无事,分享一个简单使用的物联网实现系统(小爱同学+esp8266),实现手机控制开关灯+小爱同学控制开关灯 1.准备材料: ...

  9. 毕业/课程设计——基于STM32的智能灯光控制系统(物联网、智能家居、手机APP控制、语音控制)

    文章首先介绍本系统所包含的功能,主要包含六方面功能,之后逐步分享开发过程,其流程如下:点亮灯带(三极管)→调节灯光亮度(PWM)→为系统添加远程控制功能→为系统添加语音识别功能→添加超声波姿态监测功能 ...

最新文章

  1. spark调优(一)-开发调优,数据倾斜,shuffle调优
  2. windows下pomelo开发环境搭建及JS乱码问题
  3. UA PHYS515 电磁理论I 麦克斯韦方程组基础5 电动力学的四类问题与对应的麦克斯韦方程
  4. JAVA 上加密算法的实现用例---转载
  5. DataTransmission:免费薅羊毛,Are you kidding me? 镭速传输 “百日计划”提前大曝光!Raysync传输协议要开放?
  6. 敲点JavaScript代码
  7. 13、字符集和字符编码
  8. 设备管理器android感叹号,设备管理器其他设备感叹号
  9. 什么是 Caché?
  10. r语言lm函数_如果R语言自带函数不能用,那我就自己写一个
  11. 字符串%百分号 和 format 格式化
  12. Robbin关于App class loader的总结(转帖)
  13. extjs中什么时候用{},什么时候用[]
  14. 安全生产应急救援信息管理指挥调度系统
  15. 【概率论】边缘分布和联合分布
  16. android ev3 蓝牙连接,分享一下自己研究EV3蓝牙通信原理的成果 (完结)
  17. 用ViewPager实现微信tab切换
  18. 登录邮箱显示imap服务器错误,qq邮箱登陆不了显示imap服务器关闭怎么办
  19. c语言公交查询系统,公交路线查询系统(基于数据结构和C语言)完整
  20. matlab shading颜色设置,关于matlab中pcolor显示图片时的shading设置问题

热门文章

  1. axios介绍和使用
  2. 开发者实名认证的一般通行做法
  3. latex中如何正确输入 双引号
  4. npm 安装报错,清理缓存方法
  5. DSP F28335不同波特率参数设置
  6. Android4开发入门经典 之 第十二部分:最佳实践
  7. 基本数据类型和抽象数据类型的联系
  8. PHP1 PHP快速入门
  9. PTA 7-2 4102 气球升起来
  10. 分布滞后线性和非线性模型(DLNM)分析空气污染(臭氧)、温度对死亡率时间序列数据的影响...