Skip to content

This is the TinyML programs for ESP32 according to BlackWalnut Labs Tutorials. (黑胡桃实验室的TinyML教程中的程序集合)

License

Notifications You must be signed in to change notification settings

shileiprince/TinyML-ESP32

 
 

Repository files navigation

TinyML ESP32

last-commit

Followers watchers stars forks

Open Source Love GPL Licence Repo-Size

This is the TinyML programs for ESP32 according to BlackWalnut Labs Tutorials. https://blackwalnut.zucc.edu.cn/codelabs/TinyML

Thank BlackWalnut Labs for providing the ESP32-WROOM-32 Development Board. It contains a mirophone (Inter-IC Sound), WS2812 LED light, GY-25Z Gyroscope and a button from top to bottom.

On the basis of the instructions in the BlackWalnut Lab tutorial, I changed part of the program code to adapt to the latest situation.

The program runs on arduino with the following library installed:

The Programs uses 115200 baud to send Serial data.

TinyML ESP32

此仓库是黑胡桃实验室的TinyML教程中的程序集合 https://blackwalnut.zucc.edu.cn/codelabs/TinyML

感谢黑胡桃实验室提供的ESP32-WROOM-32开发板。它从上到下包括一个麦克风(Inter-IC Sound),WS2812 LED灯,GY-25Z陀螺仪和一个按钮。

程序在黑胡桃实验室教程中所述说明的基础上,改动了部分代码以适应最新情况。

程序可以在安装了以下库的arduino上运行:

程序使用115200波特发送串行数据。

Details about the board 开发板细节

image

image

Content 目录

Project I : Gesture Recognition 姿态识别

  • Get Gyroscope Data 获取陀螺仪数据
    • 将陀螺仪的数据通过串口发送
    • The data of gyroscope is sent through serial port
  • Vibration Induction 振动感应
    • 当检测到运动时,LED灯将会亮起
    • The LED lights up when movement is detected
  • Directional Sensing 方向感应
    • LED灯用不同颜色指示方向
    • LED lights indicate direction with different colors
  • Get Training Data 获取训练数据
    • 收集同一手势的100次重复操作,达到100次时亮红灯,超过亮绿灯,并将csv格式的数据内容通过串口发送
    • Collect 100 repeated operations of the same gesture, and when it reaches 100 times, the red light will be on. The green light will be on when the operations exceed 100 times, and the data in the format of CSV will be sent through the serial port
  • Train Gesture Model 训练手势模型
    • 使用Jupyter Notebook训练模型
    • Using jupyter notebook to train model
  • Predict Gesture 预测手势
    • 预测手势,将2种手势可能性通过串口发送
    • Predict the gesture and send the two gesture possibilities through the serial port
  • Visualize Predict Gesture 可视化预测手势
    • 预测手势,将2种手势可能性通过网页客户端进行显示
    • Predict the gesture and show the two gesture possibilities through web pages.

Project II : Open LED using Voice 热词唤醒

Project III : Count rope jumping 跳绳计数器

  • Get UART Data 获取UART数据
    • 将六轴姿态传感器的数据通过串口发送
    • The data of UART is sent through serial port
  • Get Training Data 获取训练数据
    • 收集同一跳绳动作的100次重复操作,工作时亮红灯,达到100次时亮绿灯,并将csv格式的数据内容通过串口发送。同理收集100次其它任意动作的信息。
    • Collect 100 repeated data of jumping actions, red light will be on when working, and when it reaches 100 times, the green light will be on. The data in the format of CSV will be sent through the serial port. Same as above, collect data of 100 ramdom actions.
  • Train Model 训练模型
    • 使用Jupyter Notebook训练模型
    • Using jupyter notebook to train model
  • Predict Jumping 预测手势
    • 预测手势,将跳绳的可能性通过串口发送
    • Predict the jumping and send the possibility through the serial port
  • Count rope jumping 跳绳计数器
    • 预测跳绳动作手势,将2次数通过网页客户端进行显示
    • Predict the rope-jumping action and show the count times through web pages.

About

This is the TinyML programs for ESP32 according to BlackWalnut Labs Tutorials. (黑胡桃实验室的TinyML教程中的程序集合)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 89.1%
  • Jupyter Notebook 7.8%
  • C++ 3.1%