“Wifi mode”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(创建页面,内容为“{| style="width: 800px;" |- | <p style="color: #4F4E4E;font-size:220%">'''WiFi网络广播播放'''</p> <br> 此示例为MicroAI的网络广播示例。 <br> <br> <p…”)
 
 
(未显示同一用户的3个中间版本)
第2行: 第2行:
 
|-
 
|-
 
|
 
|
<p style="color: #4F4E4E;font-size:220%">'''WiFi网络广播播放'''</p>
+
<p style="color: #4F4E4E;font-size:220%">'''WiFi音频播放/语音识别'''</p>
 
<br>
 
<br>
此示例为MicroAI的网络广播示例。
+
此示例为MicroAI的音频播放、语音识别的示例。
 
<br>
 
<br>
 
<br>
 
<br>
第12行: 第12行:
 
*[[MicroAI]]
 
*[[MicroAI]]
 
*[[MCookie-Hub/zh]]
 
*[[MCookie-Hub/zh]]
 +
*[[Sensor-Crash/zh]]*2
 
*耳机
 
*耳机
*1.27mm 4P传感器线
+
*1.27mm 4P传感器线*3
 
*Micro USB线
 
*Micro USB线
 
<br>
 
<br>
第19行: 第20行:
 
<br>
 
<br>
 
<p style="color: #E87E05;font-size:135%">电路搭建</p>
 
<p style="color: #E87E05;font-size:135%">电路搭建</p>
将Battery、Core+、hub堆叠在一起,通过MicroUSB数据线接入电脑,使用传感器线连接MicroAI的UART(串口)。将耳机根据模块上的耳机标志插入,并下载如下程序至Core+
+
将Battery、Core+、hub堆叠在一起,通过MicroUSB数据线接入电脑,使用传感器线连接MicroAI的UART(串口)。将耳机根据模块上的耳机标志插入,并下载如下程序至Core+。将两个碰撞传感器接在D4和D6口
 
<br>
 
<br>
 
[[File:MicroAI连接.png|400px|center]]
 
[[File:MicroAI连接.png|400px|center]]
第25行: 第26行:
 
<br>
 
<br>
 
<p style="color: #E87E05;font-size:135%">代码</p>
 
<p style="color: #E87E05;font-size:135%">代码</p>
发射端程序:
 
 
<source lang="cpp">
 
<source lang="cpp">
 
#include <Microduino_Key.h>
 
#include <Microduino_Key.h>
第34行: 第34行:
 
#define WEB_NUM    4
 
#define WEB_NUM    4
  
const char* webRadioUrl[WEB_NUM] = {
+
const char* webRadioUrl[WEB_NUM] = {       //网络广播地址,也可换成文件名.mp3并将文件存在SD卡中
 
   "https://http.qingting.fm/386.mp3",
 
   "https://http.qingting.fm/386.mp3",
 
   "https://http.qingting.fm/387.mp3",
 
   "https://http.qingting.fm/387.mp3",
第41行: 第41行:
 
};
 
};
  
static uint8_t webRadioIndex = 0xFF;
+
static uint8_t webRadioIndex = 0xFF;  
DigitalKey touch1(D4);
+
DigitalKey touch1(D4); //按键接口
DigitalKey touch2(D6);
+
DigitalKey touch2(D6); //按键接口
 
MicroAi mAi(&Serial1);
 
MicroAi mAi(&Serial1);
  
第50行: 第50行:
 
void setup() {
 
void setup() {
 
   Serial.begin(115200);
 
   Serial.begin(115200);
   touch1.begin(INPUT_PULLUP);
+
   touch1.begin(INPUT_PULLUP);   //按键设置为上拉输入,用于防止没有接传感器导致的电平识别错误
   touch2.begin(INPUT_PULLUP);
+
   touch2.begin(INPUT_PULLUP);   //按键设置为上拉输入,用于防止没有接传感器导致的电平识别错误
  
 
   Serial.print("MicroAi set mode: WIFI.");
 
   Serial.print("MicroAi set mode: WIFI.");
第90行: 第90行:
  
 
   if(touch2.readEvent() == SHORT_PRESS) {
 
   if(touch2.readEvent() == SHORT_PRESS) {
     delay(500);
+
     delay(500);          
 
     Serial.print("AT start Rest: ");
 
     Serial.print("AT start Rest: ");
     if(mAi.startRest()){
+
     if(mAi.startRest()){     //启动语音识别
 
       Serial.println("OK!");   
 
       Serial.println("OK!");   
 
       int32_t code = mAi.waitResult(strBuf);
 
       int32_t code = mAi.waitResult(strBuf);
第107行: 第107行:
 
     }
 
     }
 
   }
 
   }
 
 
 
   delay(50);
 
   delay(50);
 
}
 
}
 
 
 
 
 
 
</source>
 
</source>
 
<br>
 
<br>
 
<p style="color: #E87E05;font-size:135%">运行结果</p>
 
<p style="color: #E87E05;font-size:135%">运行结果</p>
观察串口,显示Set name OK名称设置成功。
+
<br>1)观察串口,显示至WiFi Connected时。可以选择按下D4按键,进入音频播放模式,再次按下可以切换第二首、第三首,切至最后一首再次按下则回到第一首。
[[File:BTAudio1.png|300px|center]]
+
<br>使用mAi.playFile(webRadioUrl[webRadioIndex]);函数播放。示例中,文件地址使用网址代替,同样可以使用SD卡存储音频文件,并直接在参数中填入文件名.mp3即可
 
+
[[File:MicroAIWiFiSerial.png|300px|center]]
[[File:BTAudio2.png|300px|center]]
+
播放时MicroAI点阵显示音乐播放特效
 +
[[File:MicroAIPlayShow.JPG|300px|center]]
 +
<br>2)观察串口,显示至WiFi Connected时,按下D6按键,进入语音识别模式,MicroAI点阵如图显示。
 +
{|style="width: 90%; text-align: center;"
 +
|-
 +
|style="width: 25%;"|[[File:MicroAIYuyinShow1.JPG|300px|center|thumb|录音界面]]
 +
|style="width: 25%;"|[[File:MicroAIYuyinShow2.JPG|300px|center|thumb|识别界面]]
 +
|}
 +
观察串口返回识别结果:
 +
[[File:MicroAIYuyinSerial.png|500px|center]]
 
|}
 
|}
 
<br>
 
<br>
 
<br>
 
<br>
 
<p style="font-size:115%">[[MicroAI Reference|返回MicroAI Reference界面]]</p>
 
<p style="font-size:115%">[[MicroAI Reference|返回MicroAI Reference界面]]</p>

2018年12月12日 (三) 08:06的最新版本

WiFi音频播放/语音识别


此示例为MicroAI的音频播放、语音识别的示例。

所需硬件



电路搭建

将Battery、Core+、hub堆叠在一起,通过MicroUSB数据线接入电脑,使用传感器线连接MicroAI的UART(串口)。将耳机根据模块上的耳机标志插入,并下载如下程序至Core+。将两个碰撞传感器接在D4和D6口

MicroAI连接.png



代码

#include <Microduino_Key.h>
#include <Microduino_Ai.h>

#define WIFI_SSID   "SSID"  //路由器名称
#define WIFI_PWD    "PW"   //路由器密码
#define WEB_NUM     4

const char* webRadioUrl[WEB_NUM] = {       //网络广播地址,也可换成文件名.mp3并将文件存在SD卡中
  "https://http.qingting.fm/386.mp3",
  "https://http.qingting.fm/387.mp3",
  "https://http.qingting.fm/388.mp3",
  "https://http.qingting.fm/389.mp3",
};

static uint8_t webRadioIndex = 0xFF; 
DigitalKey touch1(D4);  //按键接口
DigitalKey touch2(D6);  //按键接口
MicroAi mAi(&Serial1);

char strBuf[64] = {0};

void setup() {
  Serial.begin(115200);
  touch1.begin(INPUT_PULLUP);    //按键设置为上拉输入,用于防止没有接传感器导致的电平识别错误
  touch2.begin(INPUT_PULLUP);    //按键设置为上拉输入,用于防止没有接传感器导致的电平识别错误

  Serial.print("MicroAi set mode: WIFI.");
  Serial.println("start initiation. ");     
  if(mAi.begin(MODE_WIFI)){
    Serial.println("init OK!");  
  }else{
    Serial.println("init failed!");
    while(1);  
  }
  
  if(mAi.setWifi(WIFI_SSID, WIFI_PWD)){
    Serial.println("set wifi ssid and password OK!");  
  }else{
    Serial.println("set wifi ssid and password failed!");
    while(1);  
  }
  Serial.print("wifi connecting"); 
  while(mAi.getRssi()==0){
    Serial.print("."); 
    delay(1000);
  }
  Serial.println("\r\nwifi connected.");     

  delay(1000);
}

void loop() {

  if(touch1.readEvent() == SHORT_PRESS) {
    if(webRadioIndex < WEB_NUM-1)
      webRadioIndex++;
    else
      webRadioIndex = 0;
      
    mAi.playFile(webRadioUrl[webRadioIndex]);
  }

  if(touch2.readEvent() == SHORT_PRESS) {
    delay(500);            
    Serial.print("AT start Rest: ");
    if(mAi.startRest()){      //启动语音识别
      Serial.println("OK!");  
      int32_t code = mAi.waitResult(strBuf);
      if(code){
        Serial.print("rest code: ");
        Serial.print(code);
        Serial.print(", result: ");
        Serial.println(strBuf);       
      }else{
        Serial.println("rest none ");
      }
    }else{
      Serial.println("Failed!");
    }
  }
  delay(50);
}


运行结果


1)观察串口,显示至WiFi Connected时。可以选择按下D4按键,进入音频播放模式,再次按下可以切换第二首、第三首,切至最后一首再次按下则回到第一首。
使用mAi.playFile(webRadioUrl[webRadioIndex]);函数播放。示例中,文件地址使用网址代替,同样可以使用SD卡存储音频文件,并直接在参数中填入文件名.mp3即可

MicroAIWiFiSerial.png

播放时MicroAI点阵显示音乐播放特效

MicroAIPlayShow.JPG


2)观察串口,显示至WiFi Connected时,按下D6按键,进入语音识别模式,MicroAI点阵如图显示。

录音界面
识别界面

观察串口返回识别结果:

MicroAIYuyinSerial.png



返回MicroAI Reference界面