0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自制物联网语音交互设备教程

454398 来源:工程师吴畏 2019-08-08 17:46 次阅读

步骤1:组件

选项1蓝牙版本:

Arduino Uno

HC-06蓝牙设备

继电器2种方式

2 * 220 uhm

电阻器

9v电池

电线

BreadBoard或PCB

2 * LED

选项2 WIFI版本:

NodeMcu开发板(ESP8266

电线

继电器2路

2 * 220 uhm电阻

2 * LED灯

9v电池

BreadBoard或PCB

可选组件:

语音识别模块v3

第2步:中继电路

如何向ARDUINO或NodeMCU添加中继

这是它能够用于切换主电源设备的继电器类型。这些继电器将处理家庭中使用的大多数设备,除了房间加热器,炉子和电机等最高功率设备。确保要打开/关闭的设备的VA(伏特x安培)小于继电器额定值。

警告:在进行AC试验时要特别小心,电击会导致严重的伤害。连接交流电源时,底部的继电器模块打开,请勿触摸电路。

对于电路的直流部分:

Arduino数字引脚10 - 》模块引脚S

Arduino GND - 》模块引脚 -

Arduino + 5V - 》模块引脚+

步骤3:NodeMcu配置

与其他组件不同,ESP8266模块需要在使用之前进行

设置,因为它是独立模块,您可以使用许多方法将代码上传到它。

打开Adruino IDE

转到文件》参考文献

输入http://arduino.esp8266.com/stable/package_esp8266.。.

进入其他Board Manager URL字段。

您可以添加多个网址,用逗号分隔。

从工具》 Board菜单打开Boards Manager,找到esp8266平台。

从下拉框中选择所需的版本。

单击安装按钮。安装后,不要忘记从工具》板菜单中选择您的ESP8266板

重新启动Arduino IDE

检查您的主板的IP地址:

打开Arduino IDE

工具》板》选择NodeMCU 1.0

工具》上传速度》 115200

#include ESP8266WiFi.h

#include

int8_t pin_led = 16; // initiate 8 Bit unsigned variable

const char* ssid = “WIFI user name”;

const char* password = “WIFI password”;

void setup() {

pinMode(pin_led, OUTPUT);

// put your setup code here, to run once:

WiFi.begin(ssid,password);

Serial.begin(115200);

while(WiFi.status()!= WL_CONNECTED)

{

Serial.print(“。.”); // Connection Failed! Rebooting

delay(100);

}

Serial.println(“”);

Serial.print(“IP Address: ”);

Serial.print(WiFi.localIP());

myserver.on(“/”,[](){myserver.send(200,“text/plain”,“Hello World”);});

myserver.on(“/toggle”,toggleLED);

myserver.begin();

}

void loop() {

// put your main code here, to run repeatedly:

myserver.handleClient();

}

void toggleLED()

{

digitalWrite(pin_led,!digitalRead(pin_led)); // toggle on/off led according to its status

myserver.send(204,“”); // send response ‘204’

}

打开串口并复制IP地址如图所示。现在您的设备已准备好您可以打开任何浏览器并检查URL:

HTTP://192.168.40.10 (change the IP address as giving in your serial monitor)

步骤4:语音识别安装

有两种方法可以使用语音识别应用程序:

1 :谷歌语音识别SDK通过移动应用程序。

谷歌有一个多语言语音识别SDK,能够指挥任何第三方软件或填写网站上的表格。除了听写,还提供语音命令功能,允许您搜索网络,打开文件,程序和网站,查找信息,设置提醒,记笔记等等。自动化流程并提高您的个人和企业工作效率。

您可以使用 App Inventor for Android

Arduino和蓝牙的示例代码:

上传当前代码,然后将您的蓝牙设备连接到TX和RX,然后使用移动应用程序来控制它。

int line1 = 8; // relay line

void setup()

{

Serial.begin(9600);

pinMode(line1,OUTPUT);

digitalWrite(line1,HIGH);

}

void loop()

{

if(Serial.available())

{

String value = Serial.readStringUntil(‘ ’);

Serial.println(value);

if(value == “*close#”)

{

digitalWrite(line1,HIGH);

Serial.print ( “Light Closed”);

}

else if(value == “*open#”)

{

digitalWrite(line1,LOW);

Serial.print ( “Light Opened”);

}

} }

2。安装语音识别模块

A。连接引脚

5v 5v

Tx 2

Rx 3

GND GND

B。安装库

C。文件 - 》示例 - 》 VoiceRecognitionV3 - 》 vr_sample_train

D. 打开串行监视器并键入:settings

E。输入sigtrain 0开》发送

F。录制您的声音

G。关闭串口并打开新文件并粘贴此代码:

现在您可以使用语音识别模块关闭并打开LED

#include “VoiceRecognitionV3.h”

VR myVR(2,3); // 2:RX 3:TX, you can choose your favourite pins.

uint8_t records[7]; // save record

uint8_t buf[64];

int led = 13;

#define onRecord (0)

#define offRecord (1)

void printSignature(uint8_t *buf, int len)

{

int i;

for(i=0; i0x19 && buf[i]《0x7F){

Serial.write(buf[i]);

}

else{

Serial.print(“[”);

Serial.print(buf[i], HEX);

Serial.print(“]”);

}

}

}

/** @brief Print signature, if the character is invisible, print hexible value instead. @param buf --》 VR module return value when voice is recognized.

buf[0] --》 Group mode(FF: None Group, 0x8n: User, 0x0n:System

buf[1] --》 number of record which is recognized.

buf[2] --》 Recognizer index(position) value of the recognized record.

buf[3] --》 Signature length

buf[4]~buf[n] --》 Signature

*/

void printVR(uint8_t *buf)

{

Serial.println(“VR Index Group RecordNum Signature”);

Serial.print(buf[2], DEC);

Serial.print(“ ”);

if(buf[0] == 0xFF){

Serial.print(“NONE”);

}

else if(buf[0]&0x80){

Serial.print(“UG ”);

Serial.print(buf[0]&(~0x80), DEC);

}

else{

Serial.print(“SG ”);

Serial.print(buf[0], DEC);

}

Serial.print(“ ”);

Serial.print(buf[1], DEC);

Serial.print(“ ”);

if(buf[3]》0){

printSignature(buf+4, buf[3]);

}

else{

Serial.print(“NONE”);

}

Serial.println(“ ”);

}

void setup()

{

/** initialize */

myVR.begin(9600);

Serial.begin(115200);

Serial.println(“Elechouse Voice Recognition V3 Module Control LED sample”);

pinMode(led, OUTPUT);

if(myVR.clear() == 0){

Serial.println(“Recognizer cleared.”);

}else{

Serial.println(“Not find VoiceRecognitionModule.”);

Serial.println(“Please check connection and restart Arduino.”);

while(1);

}

if(myVR.load((uint8_t)onRecord) 》= 0){

Serial.println(“onRecord loaded”);

}

if(myVR.load((uint8_t)offRecord) 》= 0){

Serial.println(“offRecord loaded”);

}

}

void loop()

{

int ret;

ret = myVR.recognize(buf, 50);

if(ret》0){

switch(buf[1]){

case onRecord:

/** turn on LED */

digitalWrite(led, HIGH);

break;

case offRecord:

/** turn off LED*/

digitalWrite(led, LOW);

break;

default:

Serial.println(“Record function undefined”);

break;

}

/** voice recognized */

printVR(buf);

}

}

第5步:激光切割

设备设计非常简单,但这是我第一次使用木材使用激光切割机的弯曲技术。

这是最常见的格子铰链和最可靠的。格子铰链依靠材料的扭转来弯曲,在这张照片中很容易看到。弯曲的半径取决于切口的长度,它们之间的距离和材料的厚度。

第6步:设备组装

最后设备可以使用了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2903

    文章

    44253

    浏览量

    371098
  • 语音交互
    +关注

    关注

    3

    文章

    283

    浏览量

    27979
收藏 人收藏

    评论

    相关推荐

    MCU在联网中的应用前景

    与网络的智能化交互联网的核心在于数据的收集、传输、处理和应用,而MCU在这一过程中扮演着至关重要的角色。 2. MCU在联网中的作用
    的头像 发表于 11-01 13:39 269次阅读

    联网设备的标准与规范

    的兼容性、安全性和互操作性。 1. 联网设备的标准 联网设备的标准可以分为几个不同的层面,包
    的头像 发表于 10-29 11:34 373次阅读

    如何选择联网设备的PCB技术

    随着联网(IoT)技术的不断发展和应用范围的扩大,适合联网设备的PCB技术也在不断创新和进步。选择适合
    的头像 发表于 10-16 15:11 198次阅读

    如何测试联网设备的功耗

    如何测试联网设备的功耗联网(IoT)将涵盖我们日常生活的各个方面,因为它使数十亿的物品能够随时随地与任何事物和任何人连接。消费者对智能
    的头像 发表于 10-11 08:05 373次阅读
    如何测试<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>设备</b>的功耗

    联网系统智能控制产品的语音识别方案_离线语音识别芯片分析

    01 联网系统中为什么要使用离线语音识别芯片 联网系统中使用离线语音识别芯片的原因主要基于以
    的头像 发表于 09-26 17:56 420次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b>系统智能控制产品的<b class='flag-5'>语音</b>识别方案_离线<b class='flag-5'>语音</b>识别芯片分析

    联网系统中音频方案的“大脑”_语音芯片

    01 联网系统中为什么要使用语音芯片 联网系统中使用语音芯片的原因可以归结为以下几个方面:
    的头像 发表于 09-26 14:26 280次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b>系统中音频方案的“大脑”_<b class='flag-5'>语音</b>芯片

    基于联网设备管理

    联网设备管理的重要性日益凸显,设备数量激增带来数据泄露风险。加强设备安全性、软件升级与修复、身份验证和互操作性是关键。
    的头像 发表于 09-10 11:04 591次阅读
    基于<b class='flag-5'>物</b><b class='flag-5'>联网</b>的<b class='flag-5'>设备</b>管理

    什么是联网技术?

    什么是联网技术? 联网技术(Internet of Things, IoT)是一种通过信息传感设备,按约定的协议,将任何物体与网络相连
    发表于 08-19 14:08

    智能语音交互技术如何助力设备实现人机自然对话

    随着现代人工智能在各行业的普及,智能语音交互技术也越来越多的在日常工作、生活中应用,智能语音交互的出现不仅仅大量节省了人工的工作时间提高了工作效率,为人们工作生活带来便利的同时,也改变
    的头像 发表于 05-23 15:16 679次阅读
    智能<b class='flag-5'>语音</b><b class='flag-5'>交互</b>技术如何助力<b class='flag-5'>设备</b>实现人机自然对话

    智能语音交互技术如何助力设备实现人机自然对话

    智能语音交互技术是指通过语音识别、语音合成和自然语言理解等技术,实现人与机器之间自然语言的交流和互动。随着现代人工智能在各行业的普及,智能语音
    的头像 发表于 05-23 15:14 356次阅读

    设备更聪明 |离线自然说,开启智能语音交互新体验!

    ,导致用户只能使用固定的词条来控制设备,大大降低了用户与设备之间的语音交互体验。用户A通过传统离线语音
    的头像 发表于 01-10 08:15 928次阅读
    让<b class='flag-5'>设备</b>更聪明 |离线自然说,开启智能<b class='flag-5'>语音</b><b class='flag-5'>交互</b>新体验!

    如何在雅特力AT32 MCU上实现关键词语音识别(KWS)

    KWS概述关键字定位(KeywordSpotting,KWS)技术,已成为可穿戴设备联网设备和其他智能终端的关键。诸如“Alexa”,“HeySiri”或“OkGoogle”等短语
    的头像 发表于 01-06 08:14 853次阅读
    如何在雅特力AT32 MCU上实现关键词<b class='flag-5'>语音</b>识别(KWS)

    小匠联离线语音解决方案如何助力家电行业智能化升级?

    智能化的时代,设备智能化程度不断进阶。随着联网和AI技术大爆发,智能终端对智能语音的需求日益增加,智能家居
    的头像 发表于 12-14 13:39 539次阅读

    离线语音识别技术:掌控未来的语音交互

    离线语音识别技术的核心优势在于其独立性和实时性。在没有网络连接的情况下,设备依然能够迅速识别用户的语音指令,实现各种功能。这使得语音交互更加
    的头像 发表于 12-13 11:12 547次阅读
    离线<b class='flag-5'>语音</b>识别技术:掌控未来的<b class='flag-5'>语音</b><b class='flag-5'>交互</b>

    MQTT和Modbus的联网网关协议区别分析

    MQTT 是一个开放的轻量级机器对机器协议,专为联网交互设计。MQTT 网络包含一个 MQTT 经纪人 (broker),负责协调 MQTT 代理之间的交互。代理是发布器,负责发布供
    发表于 11-27 10:58 874次阅读
    MQTT和Modbus的<b class='flag-5'>物</b><b class='flag-5'>联网</b>网关协议区别分析