修改语音识别模块

This commit is contained in:
Irene-Maxine
2024-12-01 23:01:46 +08:00
parent 134f2c99ae
commit 0fe2244131
23 changed files with 271 additions and 209 deletions

View File

@@ -359,7 +359,7 @@ export const sensor_use_i2c_init = {
[Blockly.Msg.MixGo_MPU9250+"(ADXL345)", "ADXL345"],
["RFID", "RFID"],
[Blockly.Msg.MIXLY_RADAR_SENSOR+"(CBR817)", "CBR817"],
[Blockly.Msg.MIXLY_AipSpeech_asr+"(CI230X)","CI230X"]
[Blockly.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"]
]), "key");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
@@ -402,11 +402,11 @@ export const interaction_whether_to_interaction = {
}
};
export const CI230X_IDENTIFY_AND_SAVE = {
export const CI130X_IDENTIFY_AND_SAVE = {
init:function(){
this.setColour(SENSOR_EXTERN_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI230X')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI130X')
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE)
@@ -416,11 +416,11 @@ export const CI230X_IDENTIFY_AND_SAVE = {
}
};
export const CI230X_GET_WHETHER_IDENTIFY = {
export const CI130X_GET_WHETHER_IDENTIFY = {
init:function(){
this.setColour(SENSOR_EXTERN_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI230X')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI130X')
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_GET)
@@ -497,42 +497,34 @@ export const CI230X_GET_WHETHER_IDENTIFY = {
}
};
export const CI230X_GET_THE_RECOGNIZED_CMD = {
export const CI130X_GET_THE_RECOGNIZED_CMD = {
init:function(){
this.setColour(SENSOR_EXTERN_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI230X')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI130X')
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_GET+Blockly.Msg.MIXLY_THE_RECOGNIZED_CMD);
.appendField(Blockly.Msg.MIXLY_GET)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"],
[Blockly.Msg.MIXLY_RECOGNIZED_STATE,"status"]
]),"key")
this.setOutput(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP);
}
};
export const CI230X_GET_THE_RECOGNIZED_STATE = {
export const CI130X_BROADCAST = {
init:function(){
this.setColour(SENSOR_EXTERN_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI230X')
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_RECOGNIZED_STATE);
this.setOutput(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_CI230X_GET_THE_RECOGNIZED_STATE_TOOLTIP)
}
}
export const CI230X_BROADCAST = {
init:function(){
this.setColour(SENSOR_EXTERN_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI230X')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI130X')
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MP3_PLAY)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],
[Blockly.Msg.MIXLY_WIND_SPEED,"154"],
[Blockly.Msg.MIXLY_HYETAL,"155"],
[Blockly.Msg.MIXLY_TEMPERATURE,"156"],
@@ -570,6 +562,7 @@ export const CI230X_BROADCAST = {
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_UNIT)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],
[Blockly.Msg.MIXLY_YEAR,"117"],
[Blockly.Msg.MIXLY_MONTH,"118"],
[Blockly.Msg.MIXLY_DAY,"119"],
@@ -614,6 +607,31 @@ export const CI230X_BROADCAST = {
}
}
export const CI130X_SET_SYSTEM_CMD = {
init:function(){
this.setColour(SENSOR_EXTERN_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+'CI130X')
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXLY_SYSTEM + Blockly.Msg.MIXLY_CMD)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_HELLO_XIAOZHI,"1"],
[Blockly.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],
[Blockly.Msg.MIXLY_INCREASE_VOLUME,"202"],
[Blockly.Msg.MIXLY_REDUCE_VOLUME,"203"],
[Blockly.Msg.MIXLY_MAX_VOLUME,"204"],
[Blockly.Msg.MIXLY_MINIMUM,"205"],
[Blockly.Msg.MIXLY_OPEN_RESPONSE,"206"],
[Blockly.Msg.MIXLY_CLOSE_RESPONSE,"207"],
[Blockly.Msg.MIXLY_QUIT,"208"]
]),"cmd")
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const sensor_MAX30102_extern = {
init: function () {
this.setColour(SENSOR_EXTERN_HUE);

View File

@@ -215,9 +215,9 @@ export const sensor_use_i2c_init = function (_, generator) {
}else if (key == 'CBR817') {
generator.definitions_['import_cbr817'] = 'import cbr817';
code = v + ' = cbr817.' + key + "(" + iv + ')\n';
}else if (key == 'CI230X'){
generator.definitions_['import_ci230x'] = 'import ci230x';
code = v + ' = ci230x.' + key + "(" + iv + ')\n';
}else if (key == 'CI130X'){
generator.definitions_['import_ci130x'] = 'import ci130x';
code = v + ' = ci130x.' + key + "(" + iv + ')\n';
}
return code;
}
@@ -238,37 +238,38 @@ export const interaction_whether_to_interaction = function(_,generator){
return [code,generator.ORDER_ATOMIC];
}
export const CI230X_IDENTIFY_AND_SAVE = function(_,generator){
generator.definitions_['import_ci230x'] = 'import ci230x';
export const CI130X_IDENTIFY_AND_SAVE = function(_,generator){
generator.definitions_['import_ci130x'] = 'import ci130x';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub+'.cmd_id()';
return code;
}
export const CI230X_GET_WHETHER_IDENTIFY = function(_,generator){
generator.definitions_['import_ci230x'] = 'import ci230x';
export const CI130X_GET_WHETHER_IDENTIFY = function(_,generator){
generator.definitions_['import_ci130x'] = 'import ci130x';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var cmd = this.getFieldValue('cmd');
var code = sub+'.result('+cmd+')';
return [code,generator.ORDER_ATOMIC];
}
export const MIXLY_GET_THE_RECOGNIZED_CMD = function(_,generator){
generator.definitions_['import_ci230x'] = 'import ci230x';
export const CI130X_GET_THE_RECOGNIZED_CMD = function(_,generator){
generator.definitions_['import_ci130x'] = 'import ci130x';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub+'.result()';
var key = this.getFieldValue('key');
var code = sub+'.'+key +'()';
return [code,generator.ORDER_ATOMIC];
}
export const CI230X_GET_THE_RECOGNIZED_STATE = function(_,generator){
generator.definitions_['import_ci230x'] = 'import ci230x';
export const CI130X_GET_THE_RECOGNIZED_STATE = function(_,generator){
generator.definitions_['import_ci130x'] = 'import ci130x';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub+'.status()';
return [code,generator.ORDER_ATOMIC];
}
export const CI230X_BROADCAST = function(_,generator){
generator.definitions_['import_ci230x'] = 'import ci230x';
export const CI130X_BROADCAST = function(_,generator){
generator.definitions_['import_ci130x'] = 'import ci130x';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC);
var star = this.getFieldValue('star');
@@ -277,6 +278,14 @@ export const CI230X_BROADCAST = function(_,generator){
return code;
}
export const CI130X_SET_SYSTEM_CMD = function(_,generator){
generator.definitions_['import_ci130x'] = 'import ci130x';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var cmd = this.getFieldValue('cmd');
var code = sub+'.sys_cmd('+cmd+')';
return code;
}
export const sensor_MAX30102_extern = function (_, generator) {
generator.definitions_['import_max30102'] = 'import max30102';
var key = this.getFieldValue('key');

View File

@@ -1,7 +1,7 @@
"""
CI230X
CI130X
MicroPython library for the CI230X (ASR-I2C)
MicroPython library for the CI130X (ASR-I2C)
=======================================================
@dahanzimin From the Mixly Team
"""
@@ -16,7 +16,7 @@ _CI_ID_NUM = const(0x06)
_CI_ID_CLE = const(0x07)
_CI_ID_END = const(0x5A)
class CI230X:
class CI130X:
def __init__(self, i2c_bus, addr=_CI_ADDRESS):
self._device = i2c_bus
self._address = addr
@@ -24,7 +24,7 @@ class CI230X:
try:
self._rreg(_CI_ID_GET, 3)
except:
raise AttributeError("Cannot find a CI230X")
raise AttributeError("Cannot find a CI130X")
def _wreg(self, reg):
'''Write memory address'''