2024.12.02

MediaTek Genio 130 Smart Plug solution

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.

MediaTek Genio 130 block diagram

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

MediaTek Genio 130 EVK

 

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:

MediaTek Genio 130 語音識別操作範例

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.

MQTT Server 端(AWS)與 Clinet端(Genio 130)功能設定範例

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.

Smart pulg Demo - 1

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.


Smart pulg Demo - 2

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.


Smart pulg Demo - 3 

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


Smart pulg Demo - 4

Figure 8: Smart pulg Demo - 4


Cited Data :

MediaTek Genio 130(MT7931/MT7933

AWS

►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.