利用DoHome APP和音箱控制继电器通断电实验参考步骤
准备材料:
Arduino Uno 一块
Arduino 扩展板 购买链接
DT-06模块一个 购买链接
安卓手机一个
小度音箱一个
继电器模块一个
杜邦线若干
1.DT-06固件的烧录
1.1打开ESP模块下载工具ESPFlashDownloadTool,选择需要下载的固件,填写下载地址,推荐使用 ESP8266 Download TOOL,配置信息如下
1.2 选择实际的串口,选择下载速度
1.3点击ERASE,先插除,再点击START,开始下载
工具下载及详细请看:http://bbs.doit.am/forum.php?mod=viewthread&tid=208
DT-06固件.bin文件下载链接提取码:iq46
2.硬件电路的连接
继电器的D+———arduino扩展板VCC
继电器的D-———arduino扩展板GND
继电器的IN———arduino扩展板D5口
DT-06安装到arduino扩展板的串口排插位置
3.DT-06通讯协议
通信方式:串口通讯
波特率:115200,无奇偶校验,8位数据位,1位停止位
每条命令以\r\n结尾。
3.1控制命令
DT06->arduino
1:开启,0:关闭
Arduino->DT06
cmd=ctrl&ok
3.2上传状态
Arduino->DT06
上传基本状态(50s)
cmd=stat&status= 0
插座开关状态,1表示开,0表示关
DT06->arduino
cmd=status&ok
4.Arduino UNO 程序的编写
1 //材料:UNO+DT06
2
3 /****************************IO引脚定义*****************************/
4 #define SWITCH_PIN 5
5
6 #define DataSerial Serial
7
8 #define BASE_STATUS_TIME_SEC 60
9
10 //串口接收处理
11 #define MAX_PACKETSIZE 32 //串口接收缓冲区
12 char buffUART[MAX_PACKETSIZE];
13 unsigned int buffUARTIndex = 0;
14 unsigned long preUARTTick = 0;
15
16 uint8_t socket_switch = 0;
17
18 void doUartTick()
19 {
20 uint8_t t = 0;
21 if (DataSerial.available() > 0) {
22 t = DataSerial.read();
23 switch(t){
24 case 0:socket_switch = 0; digitalWrite(SWITCH_PIN, socket_switch); uploadStatus();break;
25 case 1:socket_switch = 1; digitalWrite(SWITCH_PIN, socket_switch); uploadStatus();break;
26 default:break;
27 }
28 }
29 }
30
31 void doUploadStatus()
32 {
33 static uint8_t base_status_cnt = 0;
34 static uint32_t timeTick = 0;
35
36 if (millis() - timeTick >= 1000) {
37 timeTick = millis();
38 base_status_cnt++;
39 }
40
41 if (base_status_cnt >= BASE_STATUS_TIME_SEC) {
42 base_status_cnt = 0;
43 uploadStatus();
44 }
45 }
46
47 void uploadStatus()
48 {
49 char strStat[128]; memset(strStat, 0x00, sizeof(strStat));
50 sprintf(strStat, "cmd=stat&status=%d\r\n", socket_switch);
51 DataSerial.write((uint8_t *)strStat, strlen(strStat));
52 }
53
54 void setup()
55 {
56 DataSerial.begin(115200);
57 pinMode(SWITCH_PIN, OUTPUT);
58 }
59
60 void loop()
61 {
62 doUploadStatus();
63 doUartTick();
64 }
注意:
(1)上传arduino程序需先断开DT-06模块的连接,程序上传完成后再插上DT-06模块
(2)DT-06和arduino UNO的通信协议中
当APP控制界面点击打开状态DT-06向arduino UNO发送数值1,
当APP控制界面点击关闭状态DT-06向arduino UNO发送数值0,
arduino UNO控制程序代码:http://make.doit.am/download.php
5.功能测试
5.1 DT-06与手机DoHome App 的连接
5.1.1扫描下面二维码(注意用浏览器扫描,不要用微信)或直接访问
http://dohome.doit.am/upgrade/downLoad/downLoad.php 下载
5.1.2 App安装完成后打开应用,打开左上角配置栏,在“点击登录”处创建和登陆帐户。
5.1.3 点右上角加号添加设备,点击插座与开关,添加新的插座设备
5.1.4连接附近可用的WIFI,选择设备要连接的网络路由器,并输入正确的网络密码。点击下一步
5.1.5按照页面说明,返回手机的WLAN设置,连接“DoHome_XXXX”的热点,其密码为“12345678”。注:若有多台设备,请注意区分不同的热点名字。等待设备连接完成100%。
5.2功能调试
点击APP开关界面为打开状态,继电器 的红色开关指示灯亮起。
点击APP开关界面为关闭状态,继电器的红色开关指示灯熄灭
6.小度音响的连接和远程控制
在手机应用市场搜索小度音箱app并安装完成打开小度音箱APP
6.1小度音箱APP添加小度音响设备
打开手机蓝牙,打开小度音箱APP,点击添加新设备,长按音箱上的三角键,听到音箱提示音后点击下一步
6.2小度音箱APP添加其他平台设备
6.2.1打开小度音箱APP,点击“智能家居”,然后添加设备,接着在弹出的品牌列表中找到DoHome。
6.2.2选择绑定账号,输入DoHome APP的绑定账号信息(注意是在第5节关于创建和注册的DoHome账号)。返回智能家居主页面,刷新可以得到该账号下的设备列表。
6.2.3现在您已经可以使用小度音响控制您的设备了。同时,小度音箱在“设备详情”菜单下支持分组功能。
小度支持的部分指令如下(以插座为例):
- 打开 [设备名字]
- 关闭 [设备名字]
6.3 小度音箱语音远程控制继电器
对小度说打开门口插座,继电器 的红色开关指示灯亮起
对小度说关闭门口插座,继电器 的红色开关指示灯熄灭
7.天猫精灵的连接和远程控制
7.1天猫精灵APP添加音响设备
7.1.1 在各大应用市场搜索天猫精灵app并安装以华为为例
7.1.2 打开天猫精灵APP,点击“我的”,然后添加智能设备,接着在左侧列表中选择您的音响设备类型-》选择路由器-》长按音响上的静音键点击开始连接
7.2天猫精灵APP添加其他平台设备
第一步:打开天猫精灵APP,点击“我的”,然后添加智能设备,接着在左侧列表中选择您的设备类型。
第二步:右上角搜索“DoHome”,并在链接的页面中输入您的DoHome 账号信息,完成天猫精灵与DoHome之间的链接。
第三步:此时,天猫精灵APP中,已经出现该账号下的所有设备。您可以选取特定设备,进行重新命名,例如“客厅的台灯”等等。现在您可以使用天猫精灵控制设备了。
天猫精灵支持的部分指令(以插座为例):
- 打开 [设备名字]
- 关闭 [设备名字]
7.3 天猫精灵语音远程控制继电器
对天猫精灵说打开门口插座,继电器 的红色开关指示灯亮起
对天猫精灵说关闭门口插座,继电器 的红色开关指示灯熄灭
8.小米音箱的连接和远程控制
8.1米家APP添加小爱音响设备
8.1.1在各大应用市场搜索米家app并安装以华为为例
8.1.2 打开小爱音箱,长按音箱上三角形按键听到语音提示:已进入配对模式。手机打开蓝牙,打开米家APP点击添加设备-->附近设备,搜索到设备连接,接着选择路由器下一步即可
8.2米家APP添加其他平台设备
第一步:打开米家APP,点击“我的”,然后选择“其他平台设备”。
第二步:点击添加,在弹出的列表中,找到“四博智联”。选择绑定账号,输入DoHome APP的绑定账号信息。
第三步:现在您已经可以使用小爱同学控制您的设备了。
小爱支持的部分指令如下(以插座为例):
- 打开 [设备名字]
- 关闭 [设备名字]
8.3 小米音箱语音远程控制继电器
对天猫精灵说打开门口插座,继电器 的红色开关指示灯亮起
对天猫精灵说关闭门口插座,继电器 的红色开关指示灯熄灭
利用DoHome APP和音箱控制继电器通断电实验参考步骤的更多相关文章
- 利用DoHome APP和音箱控制小车的实验参考步骤
准备材料: Arduino Uno 一块 Arduino 扩展板 购买链接 DT-06模块一个 购买链接 安卓手机一个 小度音箱一个 小车一个 杜邦线若干 1.DT-06固件 ...
- 利用DoHome APP和音箱控制LED灯实验参考步骤
准备材料: Arduino Uno 一块 Arduino 扩展板 购买链接 DT-06模块一个 购买链接 安卓手机一个 小度音箱一个 小灯珠一个 杜邦线若干 1.DT-06固 ...
- 利用微软Speech SDK 5.1开发语音识别系统主要步骤
利用微软Speech SDK 5.1开发语音识别系统主要步骤 2009-09-17 10:21:09| 分类: 知识点滴|字号 订阅 微软语音识别分两种模式:文本识别模式和命令识别模式.此两种模式的 ...
- Heroku学习 - 利用Heroku app实现 OrgA 查询Org B 的数据数据
最近研究了一番如何通过Heroku应用对OrgA开放一个接口,参数传递的是一个SQL,APP的负责将SQL通过callout的形式调用目标OrgB Rest API来获取数据并返回给OrgA.我是用的 ...
- 利用系统APP实现导航---By张秀清
苹果系统本身自带一个地图APP,但是功能并不是很强大,但是一些简单的导航功能还是能做出来的,下面贴上我的代码 // // ViewController.m // 系统APP导航 // // Creat ...
- 苹果手机安装郑好办手机app后给绿城通公交卡充值的步骤
1.苹果手机,需要带有NFC功能 苹果XS手机该功能默认是开启的,不用额外的其他操作 苹果11该功能需要设置开启才行.步骤:设置--通用--NFC,然后开启 2,公交卡 如下这种的公交卡可以充值: 如 ...
- iOS APP打包上传到APPstore的最新步骤
一.前言: 作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事.但是很多人还是不知道该怎么上传到App Store上 下面就来详细讲解一下具体流程步骤. 二.准备: ...
- 微信APP支付(Java后台生成签名具体步骤)
public class PayCommonUtil { //定义签名,微信根据参数字段的ASCII码值进行排序 加密签名,故使用SortMap进行参数排序 public static String ...
- 支付宝APP支付之Java后台生成签名具体步骤
/** *支付宝支付 * @param orderId 订单编号 * @param actualPay 实际支付金额 * @return */ private String getOrderInfoB ...
随机推荐
- 关于ffmpeg /iis 8.5 服务器下,视频截取第一帧参数配置
ffmpeg 视频截取第一帧参数配置: 网站找了很多资料,但是都不能满足要求,然后自己写下解决过程. 首先看自己PHP 版本,安全选项里面 php5.4 跟php5.6 是不一样的.去除里面的sys ...
- Oracle数据库---包
--根据员工号或员工姓名获取员工的信息--根据员工号或员工姓名删除员工的信息--创建包规范CREATE OR REPLACE PACKAGE overload_pkgIS FUNCTION get_i ...
- Android使用WebView加载H5页面播放视频音频,退出后还在播放问题解决
Android中经常会使用到WebView来加载H5的页面,如果H5页面中有音频或者视频的播放时,还没播放完就退出界面,这个时候会发现音频或者视频还在后台播放,这就有点一脸懵逼了,下面是解决方案: 方 ...
- JAVA面试题 浅析Java中的static关键字
面试官Q1:请说说static关键字,你在项目中是怎么使用的? static 关键字可以用来修饰:属性.方法.内部类.代码块: static 修饰的资源属于类级别,是全体对象实例共享的资源: 使用 s ...
- Linux日志系统分析:rsyslog、syslog和klog
参考博客: https://blog.csdn.net/lidonghat/article/details/55004280 https://blog.csdn.net/u012247418/arti ...
- Java 读取PDF中的文本和图片
本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取. 使用工具:Free Spire.PDF for Ja ...
- I/O:RandomAccessFile
RandomAccessFile: /* 此类的实例支持对随机访问文件的读取和写入.随机访问文件的行为类似存储在文件系统中的一个 大型 byte 数组.存在指向该隐含数组的光标或索引,称为文件指针:输 ...
- NOIp2018普及组T3暨洛谷P5017 摆渡车:题解
题目链接:https://www.luogu.org/problemnew/show/P5017 emm,这次的真的不简单的,T3比T4难? 醉了... 蒟蒻肯定没有其他大佬讲的好啊,但肯定尽力,真的 ...
- Python学习4——条件、循环及其他语句总结
多种语句 打印语句: 导入语句: 赋值语句: 代码块: 条件语句: 断言: 循环: 推导: pass.dal.exec和eval : 学习到的新函数:(以下函数的应用代码均在IDLE测试通过) ch ...
- 关于C#调用WebServices的方法
2018-1-22 前情是我使用vs在引用高通的webservice时出现了下载错误导致无法引用这个服务,先是在网上查询了这个错误的问题及解决方案,将这个问题与解决方法发给了高通同事,可惜的是他也不清 ...