In recent years, smart home products have been constantly innovating, and they all have the ability to connect to the network and communicate and interact with smartphones and tablets, and these products combine innovative applications and thinking to bring a variety of convenient functions to life. We can deploy a hub device with integrated functions in the home, and integrate all kinds of terminal devices, such as smart speakers, smart light bulbs, gas/temperature sensors, smart switches, etc. Connect with the hub, or connect the home appliance to the smart socket, bringing convenient operation and intelligent interactive experience to home life.
With this application scenario in mind, MediaTek is using a mature and full-featured solution: Genio 130, which integrates an Arm Cortex-M33 MCU, WiFi 6 and Bluetooth 5.2 connectivity subsystem on a single chip, with low power, power management unit (PMU) and optional audio DSP as the foundation. It realizes the functions of low power consumption, network capability, sensor information transmission, and voice recognition interaction for smart home terminal devices.
Figure 2:MediaTek Genio 130 block diagram
In this article, we will further introduce the Genio 130 combined with voice recognition, WIFI networking, and MQTT communication protocol. Realization of a basic smart furniture terminal device: Smart Socket Solution:
Genio 130 Environment & SDK Setup
Speech recognition, WIFI, MQTT functions and behavior import
Demonstration of practical operation
Genio 130 Environment & SDK Setup
Figure 3: MediaTek Genio 130 EVK (Data taken from AcSip)
By setting up a Linux development environment (ex. VM + Ubuntu 20.04 LTS), import the Genio 130 SDK, and start implementing the relevant features.
Voice recognition, WIFI, MQTT function import
First of all, speech recognition, we use the Cyberon DSpotter Modeling tool to create voice models "wake words" and "command words" respectively, and convert them into raw data import projects:
{SDK_ROOT}\middleware\MTK\audio_services\driver\mt7933\mt7933\mt7933-adsp-pcm.c
/* Include voice model */ #include "VAD_model_hello_mediatek.h" #include "VAD_model_hi_genio.h" |
For different smart plugs, we specify their respective speech recognition models, "wake words" and "command words", to achieve their own speech recognition operations.
Smart plug 1(Light)
Wake word: Hello Mediatek
Command Word :
Turn on the light
Turn off the light
Power on the plug (Turn on all Smart Plugs)
Power on the Plug (Turn off all Smart Plugs)
Smart plug 2(Fan)
Wake word: Hi Genio
Command Word :
Turn on the fan
Turn off the fan
Power on the plug (Turn on all Smart Plug)
Power on the Plug (Turn off Smart Plug)
Here's a speech recognition scenario:
Figure 4: Speech recognition operation of the MediaTek Genio 130
The WIFI function is enabled by default in Genio 130, we only need to set the connection to the specified AP after powering it on.
Refer to the CLI command:
$ wifi init $ wifi config set ssid 0 SSID $ wifi config set sec 0 7 6 $ wifi config set psk 0 PASSWORD $ wifi config set reload |
You can also write the settings to your profile:
$ wifi profile set ssid SSID $ wifi profile set sec 7 6 $ wifi profile set psk PASSWORD |
Finally, we set up an MQTT server on the AWS Cloud. If the MQTT client function is enabled with the Smart Pulg and established through the subscription mechanism, the respective Smart Pulg status can be obtained by the Smart Pulg to which it belongs and the corresponding operations can be implemented to realize the interactive control between different Smart Pulgs. Each Smart pulg also has a corresponding security mechanism (Root CA, Certificate, Private key) so that the message of the Smart pulg can be transmitted safely.
Figure 5: Example of MQTT Server (AWS) and Clinet (Genio 130) function settings
Demonstration of practical operation
The following is a demonstration of the function of Genio 130 in the Smart pulg solution, when we connect the Smart pulg to the power supply, the Smart pulg will power on and automatically connect to the configured WIFI AP (if there is a storage setting), and then connect to the AWS Cloud Server to complete the initialization, at this time, the Smart pulg indicator (orange) will be on constantly.
Figure 5: Smart pulg Demo - 1
When we say the wake word "Hello Mediatek" to the Smart pulg, the Smart pulg 1 will play a response tone, and the status light (blue) will be on constantly, indicating that the Smart pulg 1 triggers the voice recognition and waits for the command word. When we say the command "Turn on the light", the light bulb connected to the Smart pulg 1 socket will light up.
Figure 6: Smart pulg Demo - 2
In addition, we can also control the Smart pulg 1 with the Smart pulg 2; After saying the wake word "Hi Genio" to the Smart pulg, the Smart pulg 2 will play a response tone, and the status light (blue) will be on constantly, at which point the Smart pulg 2 will wait for the command word; When we say the command "Turn on the light", the light bulb connected to the Smart pulg 1 will light up.
Figure 7: Smart pulg Demo - 3
With any Smart pulg, we can use the command word "Turn on the plug" to turn on/off the bulb and fan at the same time
Figure 8: Smart pulg Demo - 4
Cited Data :
MediaTek Genio 130(MT7931/MT7933)
Datasheet : MediaTek Website
Genio 130A (MT7933) EVK User Guide:MediaTek Website
AWS
AWS Server:https://us-east-1.console.aws.amazon.com/console/home?region=us-east-1
Device Shadows - MQTT Topics:https://iotatlas.net/en/implementations/aws/device_state_replica/device_state_replica1/#reference-architecture
►Scenario application diagram

►Product Entity Diagram

►Photos of display boards

►Scenario block diagram

►Core technical advantages
MediaTek's Genio 130 (MT7931/MT7933) microprocessor is based on the Arm Cortex-M33 architecture processor, with clocks up to 300MHz and built-in up to 8MB UHS PSRAM to provide high-performance computing power. It also provides wireless connection technologies such as WiFi 6 and BT 5.2, and has dual-band (2.4GHz and 5GHz) connectivity; In addition, Genio 130 (MT7933 version) has a built-in HiFi4 DSP, 3 ADCs, and 2 DAC channels to provide voice activity detection and trigger word functions, making it suitable for developing IoT devices that support voice assistant cloud services.
►Solution specifications
MediaTek Genio 130 series (MT7931/MT7933) with: • Arm Cortex-M33 processor, 300MHz Clock • Embedded 1MB SRAM and 8MB UHS (Ultra High Speed) PSRAM • WiFi 6 and dual-band IEEE 802.11 a/b/g/n/ac/ax 2.4G/5G connectivity subsystem • Bluetooth 5.2 Connectivity Subsystem • Audio Cadence® Tensilica® HiFi4 DSP@600MHz (Note 1) • Hardware Cryptographic Engine (AES/DES/3DES/SHA/ECC/TRNG) • Power Management Unit • USB 2.0 OTG support (Note 1) • Abundant peripheral interfaces such as USB, SDIO, SPI master/slave, I2C, I2S, UART, AUXADC, PWM and more Up to 46 sets of GIPOs provide FreeRTOS and Arduino development SDKs and multiple sample projects to shorten the development timeNote 1: HiFi4 DSP and USB 2.0 are the functions supported by MT7933.
Other

What is HBM (High Bandwidth Memory)?
2024.09.05

What is Antenna Tuner IC?
2024.09.20

What’s the Difference between LPDDR and DDR?
2024.09.25

Snapdragon 888 5G Mobile Platform
2024.09.26

What is WiFi 6E?
2024.09.26

What is Bluetooth Audio SoC?
2024.09.26

What's HBM3E (High Bandwidth Memory 3)?
2024.09.26

What is an Audio Codec?
2024.10.09