【Mind+】小度“智控”台灯
一、【项目介绍】:
最近,家里的宝贝喜欢上了百度音响,每天宝贝对音响爱不释手。
百度音响除了儿童有声节目、天气查询闹钟等实用功能,还可以语音控制家中常用家电,
今天结合继电器模块和掌控板分享小度智控台灯项目。让宝贝了解其语音控制技术,对人工智能进行全面的剖析。
二、【功能介绍】:
在百度技能平台对小度音响进行训练,百度技能平台 访问TinyWebDB,达到智控LED灯开关效果。
当对小度音响说打开台灯,调用TinyWebDB微数据库数据light=1时,掌控板板显示on, 控制继电器打开台灯;
当对小度音响说关闭台灯,调用TinyWebDB微数据库数据light=0时,掌控板板显示off, 控制继电器关闭台灯。
三、【作品演示】:
https://v.youku.com/v_show/id_XNDkxODk5MTkyOA==.html?spm=a2hcb.playlsit.page.1
四、【制作过程】:
(一)搭建环境
1、硬件:1xGravity: 简易继电器模块
1x掌控板
1xmicro:bit掌控I/O扩展板
1x大号LED灯
1x充电宝
1x乐高积木若干
2、软件:Mind+
(二)TinyWebDB网络数据库配置
TinyWebDB网络数据库,支持APP Inventor网络微数据库的所有操作,并且每个用户可以申请一个甚至多个数据库地址。由于每一个地址都包含用户名和用户名的密钥,相互独立,互不影响,数据库的安全性比较高。除此以外,每个数据库都可以独立管理,支持使用API进行增删查改操作。
具体操作过程参考,掌控板tinywebdb网络服务使用https://mc.dfrobot.com.cn/thread-276573-1-1.html
(三)百度dueros开放平台
1.登陆https://dueros.baidu.com/dbp
2.在技能平台进入控制台,选择创建技能,创建自己与小度互动技能。
3.添加技能名称:掌控智能台灯;调用的名称:台灯
4.基础信息
5.配置服务
#!/usr/bin/env python2
# -*- encoding=utf-8 -*-
import sys
from dueros.Bot import Bot
from dueros.card.TextCard import TextCard
import urllib2,json
reload(sys)
sys.setdefaultencoding('utf8')
class DuerOSBot(Bot):
def launch_request(self):
"""
打开技能
"""
response = urllib2.urlopen('http://tinywebdb.appinventor.space/api?user=rzegkly&secret=a46a5f05&action=update&tag=light&value=1')
html = json.loads(response.read())
if(html['status']=='success'):
self.wait_answer()
card = TextCard('已为您开灯')
return {
'card': card,
'outputSpeech': r'已为您开灯'
}
def ended_request(self):
"""
关闭技能
"""
response = urllib2.urlopen('http://tinywebdb.appinventor.space/api?user=rzegkly&secret=a46a5f05&action=update&tag=light&value=0')
html = json.loads(response.read())
if(html['status']=='success'):
self.wait_answer()
return {
'outputSpeech': r'已为您关灯'
}
def __init__(self, request_data):
super(DuerOSBot, self).__init__(request_data)
self.add_launch_handler(self.launch_request)
self.add_session_ended_handler(self.ended_request)
self.add_intent_handler('light', self.light_intent)
def light_intent(self):
card = TextCard('这是意图light的处理函数')
return {
'card': card,
'outputSpeech': r'这是意图light的处理函数'
}
def handler(event, context):
bot = DuerOSBot(event)
result = bot.run()
return result
PythonCopy
6.测试验证有两种模式,真机测试和模拟测试
(1).保证技能开发账号和设备登录账号一致
(2).开启“技能调试模式”功能
(3).对设备说“开启技能调试模式”
(四)掌控板环境配置
1、通过串口数据线,将掌控板和电脑连接,在设备管理器中出现:(com9-CP210x);
2、主控板添加掌控板
3、网络服务中添加Wi-Fi,数据库TinyWebDB
(五)、程序编写
五、知识拓展
Gravity: 简易继电器模块
采用标准Gravity传感器接口,支持3.3V-5.5V的宽电压输入,使其很容易同Arduino、掌控板等主控板相连接。满足您在机器人控制、灯光控制、智能家居、安防等控制类应用的需求。
特性:
● 3.3~5.0V工作电压,宽电压输入,同时兼容3.3V掌控板和5V主控板。
● 拨动开关,随时切换NC/NO模式,LED指示灯显示输出状态。
● DC2.1输入输出接口,配合附赠的转接头,即插即用,适用于大部分应用场景。
页:
[1]