rzegkly 发表于 2020-11-10 12:36:24

【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]
查看完整版本: 【Mind+】小度“智控”台灯