回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【Mind+】小度“智控”台灯 简单

头像 rzegkly 2020.10.22 2913 3
project-image

一、【项目介绍】:

最近,家里的宝贝喜欢上了百度音响,每天宝贝对音响爱不释手。

百度音响除了儿童有声节目、天气查询闹钟等实用功能,还可以语音控制家中常用家电,

今天结合继电器模块和掌控板分享小度智控台灯项目。让宝贝了解其语音控制技术,对人工智能进行全面的剖析。

project-image

二、【功能介绍】:

在百度技能平台对小度音响进行训练,百度技能平台 访问TinyWebDB,达到智控LED灯开关效果。

当对小度音响说打开台灯,调用TinyWebDB微数据库数据light=1时,掌控板板显示on, 控制继电器打开台灯;

当对小度音响说关闭台灯,调用TinyWebDB微数据库数据light=0时,掌控板板显示off, 控制继电器关闭台灯。

三、【作品演示】:

四、【制作过程】:

(一)搭建环境


1、硬件:掌控板

2、软件:Mind+

材料清单

  • Gravity: 简易继电器模块 X1 链接
  • 掌控板 X1 链接
  • micro:bit掌控I/O扩展板 X1 链接
  • 大号LED灯 X1
  • 充电宝 X1
  • 乐高积木若干 X1
project-image

(二)百度dueros开放平台
1.登陆https://dueros.baidu.com/dbp

2.在技能平台进入控制台,选择创建技能,创建自己与小度互动技能。

project-image

3.添加技能名称:掌控智能台灯;调用的名称:台灯

project-image

4.基础信息

project-image

5.配置服务

project-image
代码
#!/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

6.测试验证有两种模式,真机测试和模拟测试

(1).保证技能开发账号和设备登录账号一致

(2).开启“技能调试模式”功能

(3).对设备说“开启技能调试模式”

project-image

(三)TinyWebDB网络数据库配置

TinyWebDB网络数据库,支持APP Inventor网络微数据库的所有操作,并且每个用户可以申请一个甚至多个数据库地址。由于每一个地址都包含用户名和用户名的密钥,相互独立,互不影响,数据库的安全性比较高。除此以外,每个数据库都可以独立管理,支持使用API进行增删查改操作。

具体操作过程参考,掌控板tinywebdb网络服务使用https://mc.dfrobot.com.cn/thread-276573-1-1.html

project-image
project-image
project-image

(四)掌控板环境配置

1、通过串口数据线,将掌控板和电脑连接,在设备管理器中出现:(com9-CP210x);

2、主控板添加掌控板

3、网络服务中添加Wi-Fi,数据库TinyWebDB

project-image
project-image
project-image

(五)、程序编写

project-image
project-image

五、知识拓展

Gravity: 简易继电器模块

采用标准Gravity传感器接口,支持3.3V-5.5V的宽电压输入,使其很容易同Arduino、掌控板等主控板相连接。满足您在机器人控制、灯光控制、智能家居、安防等控制类应用的需求。

特性:
● 3.3~5.0V工作电压,宽电压输入,同时兼容3.3V掌控板和5V主控板。

● 拨动开关,随时切换NC/NO模式,LED指示灯显示输出状态。

● DC2.1输入输出接口,配合附赠的转接头,即插即用,适用于大部分应用场景。

project-image

评论

user-avatar
  • 大哥哥

    大哥哥2022.08.10

    收藏學習,谢谢你

    1
    • rzegkly

      rzegkly2022.10.09

      谢谢

  • 3rSicfwWEsLg

    3rSicfwWEsLg2022.04.07

    可以加个联系方式,学习交流吗

    0