手把手带你把小爱同学装进你的台灯
手把手带你把小爱同学装进你的台灯
- 一、硬件
- 1.硬件准备
- 2.pcb板
- 二、软件
- 1.配置好Arduino开发环境
- 2.获取秘钥
- 2.代码烧录
- 三、实物演示
一、硬件
1.硬件准备
1.8266开发板×1
2.台灯×1
3.mos管开关模块×1
4. AMS117 3.3V稳压模块
5. 各种阻值的贴片电容
esp8266开发板
mos管模块
2.pcb板
按照下面的原理图打好板(原理图仅供参考),不打板也行,就是接电源要接两条线,一条接mos管,一条接开发板供电。
3.组装好的样子
二、软件
1.配置好Arduino开发环境
百度链接:链接:https://pan.baidu.com/s/1YVBdlyJBUItYcGOaY7hS6A
提取码:xdf6
官方开发文档 https://diandeng.tech/doc/getting-start-8266
(1)安装好第串口驱动然后点开第一个压缩包安装好Arduino
然后文件选首选项,加入下面的开发板网站
http://arduino.esp8266.com/stable/package_esp8266com_index.json
(2)
添加blinker Arduino库
(3)下载esp8266扩展包
打开开发板管理,下载esp8266芯片包
下载完之后,选择直接的开发板型号即可
2.获取秘钥
(1)手机下载点灯科技APP
注册号账号,添加设备获取秘钥
(2)打开米家APP,然后添加设备到小爱同学
2.代码烧录
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT
#include <Blinker.h>int LIGHT = 2;
int colorW;
unsigned char led_power;
char auth[] = " ";//秘钥
char ssid[] = " ";//WiFi名
char pswd[] = " ";//WiFi密码// 新建组件对象
BlinkerButton Button1("bin");//你的按钮名称
BlinkerNumber Number1("num-abc");int counter = 0;void miotPowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LIGHT,HIGH );BlinkerMIOT.powerState("on");BlinkerMIOT.print();}else if (state == BLINKER_CMD_OFF) {digitalWrite(LIGHT,LOW);BlinkerMIOT.powerState("off");BlinkerMIOT.print();}
}
//用户自定义亮度控制的回调函数:小爱同学 灯的亮度控制函数 亮度范围为1-100
void miotBright(const String & bright)
{BLINKER_LOG("need set brightness: ", bright);colorW = bright.toInt();analogWrite(LIGHT,colorW);BLINKER_LOG("now set brightness: ", colorW);BlinkerMIOT.brightness(colorW);BlinkerMIOT.print();
}
//用户自定义设备查询的回调函数:
void miotQuery(int32_t queryCode)
{BLINKER_LOG("MIOT Query codes: ", queryCode);switch (queryCode){ case 0: //查询所有设备的情况BLINKER_LOG("MIOT Query brightness: ", colorW);BlinkerMIOT.brightness(colorW); //反馈灯的亮度BlinkerMIOT.powerState(led_power ?"on":"off"); //反馈灯的亮灭BlinkerMIOT.print(); //反馈至小爱break;}
}
// 按下按键即会执行该函数
void button1_callback(const String & state)
{BLINKER_LOG("get button state: ", state);digitalWrite(LIGHT, !digitalRead(LIGHT));
}// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);counter++;Number1.print(counter);
}void setup() {// 初始化串口Serial.begin(115200);#if defined(BLINKER_PRINT)BLINKER_DEBUG.stream(BLINKER_PRINT);#endif// 初始化有LED的IOpinMode(LIGHT, OUTPUT);digitalWrite(LIGHT,LOW);// 初始化blinkerBlinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);Button1.attach(button1_callback);BlinkerMIOT.attachPowerState(miotPowerState);//设置灯的亮度调节范围analogWriteRange(100); //注册回调函数: 用户自定义设备查询BlinkerMIOT.attachQuery(miotQuery);//注册回调函数 亮度回调函数BlinkerMIOT.attachBrightness(miotBright);
}void loop() {Blinker.run();
}
将代码烧入开发板,组装好台灯即可
三、实物演示
自己动手,将小爱同学装进你的台灯
手把手带你把小爱同学装进你的台灯相关推荐
- 手把手带你用Python完成一个数据分析项目,能写进简历那种!(另送15个实战案例)...
最近几年,数据分析可真是太火了. 阿里.字节等互联网巨头基于大数据打造的商业模式获得巨大成功,使得"数据思维"."数据能力"迅速成为衡量职场人能力的核心指标,专 ...
- 手把手带你用Python完成一个数据分析项目,能写进简历,拿走不谢!(另送15个实战案例)...
最近几年,数据分析可真是太火了. 阿里.字节等互联网巨头基于大数据打造的商业模式获得巨大成功,使得"数据思维"."数据能力"迅速成为衡量职场人能力的核心指标,专 ...
- 学计算机网络多大优盘,手把手教你将系统装进U盘里面-电脑自学网
手把手教你将系统装进U盘里面. 操作方法: 1.首先要下载一个ultraiso软件.安装后打开软件,如图所示. 2.点击左上角的文件选项,在弹出的菜单中,点击打开选项,打开一个你要装进U盘的操作系统. ...
- 手把手带你用Python做数据分析和可视化项目实战,能写进简历的那种!(另送15个实战案例)...
最近几年,数据分析可真是太火了. 阿里.字节等互联网巨头基于大数据打造的商业模式获得巨大成功,使得"数据思维"."数据能力"迅速成为衡量职场人能力的核心指标,专 ...
- 小爱同学、Blinker 控制esp32自带灯熄灭---Micropython版本
操作官方案例修改增加小爱同学控制支持,具体代码上传到github可以参考,有帮助的话麻烦请star支持下,有细节问题也麻烦指出和交流 github地址: https://github.com/lonn ...
- 手把手带你爬天猫,获取杜蕾斯评论数据
↑ 关注 + 星标 ~ 有趣的不像个技术号 每晚九点,我们准时相约 大家好,我是黄同学 听说大家最近对爬虫感兴趣,所以今天手把手带你爬天猫. 爬虫爬什么呢? 因为海报出圈的杜蕾斯,真的是家喻户晓. ...
- 手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南
手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南 一. 前言和准备工作 1.1 python.anaconda和pytorch的关系 二. Anconda安装 2.1 ...
- 电脑入米家,让小爱同学随意操控电脑开关机(需主机或软路由)
电脑入米家,让小爱同学随意操控电脑开关机 前言 一.效果展示 二.环境准备 三.巴法平台获取密钥及添加设备: 1.注册巴法平台账号 2.获取密钥 3.添加设备 四.目标电脑设置(网络唤醒+免密SSH) ...
- ESP8266 Nodemcu 开发板 + Blinker 电脑远程开机支持小爱同学和手机APP
文章目录 前言 一.物联网是什么? 二.效果展示 1.使用的硬件 2.接线展示 三.TMP模块供电,状态检测 四 代码解析 1. 指定PIN,定义一些按钮 2.这是小爱同学的代码,BLinker还支持 ...
最新文章
- Python设置环境变量,改变GnomeConnectionManager的语言
- 黑马程序员_Java解析网络数据流的三种特殊方法
- P4592 [TJOI2018]异或
- 只读ViewObject和声明性SQL模式
- 细述 Java垃圾回收机制→How Java Garbage Collection Works?
- Idea日常使用记录
- 苹果发明超薄触摸显示技术:iPhone 12系列有望首发搭载
- ajax兼容写法,Ajax的兼容性问题
- 《小米网抢购系统开发实践》读后感
- BAT警示:没试过这个方法就别说会数据分析!!
- 最新实战讲解.htaccess文件rewrite规则
- Alpha阶段-个人总结
- EurekaClient启动报错:Invocation of destroy method failed on bean with name 'scopedTarget.eurekaClient'
- Kotlin基本类型
- 以太坊Merkle Patricia Tree(MPT)技术深度解读
- matlab视频分辨率更改
- PHP 连接SQLServer的方法
- 【机器学习】支持向量机原理与序列最小最优化算法SMO
- win10显示文件后缀
- dcb模式(dcb模式)
热门文章
- 桌面虚拟化解决大学生就业难
- PCTP考试学习笔记之二:TiDB 数据库 schema 设计
- 信息安全概论复习题总结
- IE浏览器toLocaleDateString()方法获取时间戳返回NaN
- Google Earth Engine(GEE)——Landsat 全球土地调查 1975年数据集
- 将MNIST手写数字数据集导入NumPy数组(《深度学习入门:基于Python的理论与实现》实践笔记)
- SpringBoot集成neo4j实战
- Stata导入dta文件出现中文乱码
- 视频翻译成文字的软件有哪些?推荐几个软件给你
- bzoj 1503 郁闷的出纳员 (平衡树+前缀和)