云天 发表于 2020-4-3 23:30:22

【掌控小度】小度智能音箱与掌控板+Easy Iot 物联网“智控”

https://mc.dfrobot.com.cn/data/attachment/forum/202003/23/172112guvouox1ocmuzfx1.png

一、基本信息
作品名称小度智能音箱与掌控板+Easy Iot 物联网“智控”
作者姓名宋秀双
作者单位河北省涿鹿县涿鹿中学

教材名称《万物智控》
教材类型自编教材
教材简介高中信息技术人工智能、编程设计
执教年级高二
课时长度2课时
涉及器材小度智能音箱、掌控板
涉及软件小度技能开放平台、Mind+软件、Easy lot物联网
文件清单教学设计、教学课件、演示视频、任务单、评价表、配套代码

二、作品内容小度智能音箱与掌控板+Easy Iot 物联网“智控”
【硬件搭建】
掌控板连接扩展板,电磁继电器接在P1口。小度智能音箱按使用说明配置好。注意:登录小度音箱的帐号与登录小度音箱开发平台的帐号为同一个,进行调试。
【作品功能】
实现通过小度智能音箱控制台灯(220V)的亮与灭。结合“【掌控小度】开启小度智能音箱与掌控板“智控”之旅”课堂,学习Easy Iot 物联网的使用。



【教学内容】
本课主要内容是设计小度智能音箱控制掌控板开关台灯,目的是让学生通过小度音箱开发平台对Python编程实现简单应用,通过Mind+实现WIFI连接,Easy Iot 物联网使用,电磁继电器的使用。
【学情分析】
高二年级学生,对编程及网络使用已经有一定的基础,先通过TinyWebDB微数据库进行小度音箱与控掌控板简单连接,逐步过渡到使用MQTT物理网进行连接,先控制彩灯,再到电机、舵机、电磁继电器……,从此开启智控万物。
让学生亲身体验人工智能技术的应用给我们的生活带来的方便,并尽量通过讨论、实践与想象设计,发挥学生的能动性,使全体学生都能自主探索并获取新知。
【教学目标与要求】1. 知识与技能学习小度智能音箱开放平台使用,Python编程简单应用,Easy Iot 物联网使用,Mind+实现WIFI连接。2. 过程与方法(1)通过视频展示、亲自实践、创意设计等环节,提高对语音智能控制及其应用的认识;(2)通过对实验器材LED灯、电机、舵机、电磁继电器等的实践,了解Easy Iot 物联网使用,并设计相关的语音人工智能控制实际应用。
3. 情感、态度与价值观(1)在体验与实践相结合的过程中感受语音人工智能控制的应用,产生并保持学习的兴趣;(2)通过分组讨论、小组合作等方式开展多种形式的团队合作,培养学生的动手能力、解决实际问题的能力,提高团队协作能力;(3)通过对创意设计的交流与展示,培养学生的创新能力与语言表达能力;(4)能辩证地认识语音人工智能控制对社会发展、科技进步和日常生活产生的影响。
【教学重点与难点】重点:小度智能音箱控制掌控板的设计与应用。难点:Easy Iot 物联网的原理及使用方法。
【教学方法与手段】体验式教学。通过制作一个小度智能音箱控制掌控板来了解其语音控制技术,对Easy Iot 物联网进行全面的剖析。
【教学准备】1、准备百度帐号:https://dueros.baidu.com/open,小度智能音箱开放平台(DuerOS智能设备开放平台)。2、准备Easy Iot 物联网帐号:https://iot.dfrobot.com.cn/3、小度音箱、掌控板、扩展板、电磁继电器、旧台灯(220V)【教学过程】一、演示小度智能控制台灯(课前)教师活动:演示小度智能控制台灯220V,通过物联网http://v.youku.com/v_show/id_XNDYxODI3NDU5Ng==.html?x&sharefrom=android&sharekey=d0c4b1642cdfe2eb9511524b3a11cc2f0学生活动:思考、讨论。
二、物联网——工作原理讲解
物联网(The Internet of Things,简称IOT)是指通过 各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化 学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。“物联网”百度百科https://www.bilibili.com/video/BV1g4411k719/


三、学思践悟——走近小度智能音箱教师活动:指导学生登陆开放平台https://dueros.baidu.com/open

1、配置服务中选择“百度云CFC”2、使用一定额度的百度云CFC服务,点击即可进行服务配置。
3、创建函数4、获取函数模板5、下载后模板zip文件,我们要修改,加入物联网。本地安装Paho的客户端库文件,https://mc.dfrobot.com.cn/thread-302643-1-1.html,pip install paho-mqtt去相应目录去复制paho-mqtt,相关文件。加入到ZIP文件中。我在附件中已处理好。只给学生演示,学生直接使用。要根据自己电脑的目录去查找
paho-mqtt加入ZIP文件中。代码中引用。6、新建空函数新建空函数修改代码复制BRN码上传的ZIP文件中包含SDK。7、填写BRN码返回 “自定义技能”,填写BRN码。
以下代码为Python2.7#!/usr/bin/env python2
# -*- encoding=utf-8 -*-


import sys
from dueros.Bot import Bot
from dueros.directive.Display.RenderTemplate import RenderTemplate
from dueros.directive.Display.template.BodyTemplate1 import BodyTemplate1
import dueros.paho.mqtt.client as mqtt
reload(sys)
sys.setdefaultencoding('utf8')

class Test(Bot):

    def __init__(self, request_data):
      super(Test, self).__init__(request_data)
      self.add_launch_handler(self.launch_request)
      self.add_session_ended_handler(self.ended_request)

    def launch_request(self):
      """
      打开调用名
      """

      self.wait_answer()
      template = BodyTemplate1()
      template.set_title('控制台灯')
      template.set_plain_text_content('为您打开台灯')
      template.set_background_image('https://mc.dfrobot.com.cn/data/attachment/forum/202004/03/220658jy93iiy9b89p9a8i.jpg')
      template.set_token('0c71de96-15d2-4e79-b97e-e52cec25c254')
      renderTemplate = RenderTemplate(template)
      on_publish("12IZ3JpWR", "1", 0)#0代表保存在服务器上
      return {
            'directives': ,
            'outputSpeech': r'为您打开台灯'
      }
    def ended_request(self):
      """
      关闭调用名
      """
      self.wait_answer()
      template = BodyTemplate1()
      template.set_title('控制台灯')
      template.set_plain_text_content('为您关闭台灯')
      template.set_background_image('https://mc.dfrobot.com.cn/data/attachment/forum/202004/03/220658jy93iiy9b89p9a8i.jpg')
      template.set_token('0c71de96-15d2-4e79-b97e-e52cec25c254')
      renderTemplate = RenderTemplate(template)
      on_publish("12IZ3JpWR", "0", 0)#0代表保存在服务器上
      return {
            'directives': ,
            'outputSpeech': r'为您关闭台灯'
      }   
   

MQTTHOST = "182.254.130.180"
MQTTPORT = 1883
mqttClient = mqtt.Client()


# 连接MQTT服务器
def on_mqtt_connect():
    mqttClient.connect(MQTTHOST, MQTTPORT, 60)
    mqttClient.loop_start()


# publish 消息
def on_publish(topic, payload, qos):
    mqttClient.publish(topic, payload, qos)
    #print(topic)

# 消息处理函数
def on_message_come(lient, userdata, msg):

    print(msg.topic + " " + ":" + str(msg.payload))


# subscribe 消息
def on_subscribe():
    mqttClient.subscribe("E1RcL1tZg", 1)
    mqttClient.on_message = on_message_come # 消息到来处理函数

def handler(event, context):
    on_mqtt_connect()
    #on_publish("12IZ3JpWR", "Hello MQTT!", 0)#0代表保存在服务器上
    on_subscribe()
    bot = Test(event)
    result = bot.run()
    return result



四、自学探究自学Easy IOT物联网使用:https://mc.dfrobot.com.cn/thread-276708-1-1.html引导学习不断测试,发现问题。是否能使用本地物联网。
五、Mind+程序设计
1、Mind+连接Easy IOT物联网


六、进行测试
1、模拟测试
2、真机测试

七、发布上线

八、总结提升——憧憬未来
能使用物联网,就可以开启智联万物了。同学们可以结合之前的学习内容,说说我们能不能继续完善,解决这节课存在的问题,引导学生说出下次我们要进行的内容,本地物联网的使用。



DFrJ5KYVQaH 发表于 2020-4-4 08:43:53

好教程,认真学习

rzyzzxw 发表于 2020-4-4 10:19:05

万物互联{:7_217:}

小刚郭 发表于 2020-4-4 19:10:20

一个人可以发多少个项目
可以投几个啊
好厉害的项目
页: [1]
查看完整版本: 【掌控小度】小度智能音箱与掌控板+Easy Iot 物联网“智控”