libs-frameworks.rst 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. Espressif's Frameworks
  2. ======================
  3. Here you will find a collection of the official Espressif libraries and frameworks.
  4. Espressif Audio Development Framework
  5. -------------------------------------
  6. The ESP-ADF is a comprehensive framework for audio applications including:
  7. * CODEC's HAL
  8. * Music Players and Recorders
  9. * Audio Processing
  10. * Bluetooth Speakers
  11. * Internet Radios
  12. * Hands-free devices
  13. * Speech Recognition
  14. This framework is available at GitHub: `ESP-ADF <https://github.com/espressif/esp-adf>`_.
  15. ESP-CSI
  16. -------
  17. ESP-CSI is an experimental implementation that uses the Wi-Fi Channel State Information to detect the presence of a human body.
  18. See `ESP-CSI <https://github.com/espressif/esp-csi>`_ project for more information about it.
  19. Espressif DSP Library
  20. ---------------------
  21. The library provides algorithms optimized specifically for digital signal processing applications.
  22. This library supports:
  23. * Matrix multiplication
  24. * Dot product
  25. * FFT (Fast Fourier Transform)
  26. * IIR (Infinite Impulse Response)
  27. * FIR (Finite Impulse Response)
  28. * Vector math operations
  29. This library is available here: `ESP-DSP library <https://github.com/espressif/esp-dsp>`_.
  30. ESP-WIFI-MESH Development Framework
  31. -----------------------------------
  32. This framework is based on the ESP-WIFI-MESH protocol with the following features:
  33. * Fast network configuration
  34. * Stable upgrade
  35. * Efficient debugging
  36. * LAN control
  37. * Various application demos
  38. `ESP-MDF <https://github.com/espressif/esp-mdf>`_.
  39. ESP-WHO
  40. -------
  41. The ESP-WHO is a face detection and recognition framework using the ESP32 and camera.
  42. To know more about the project, see `ESP-WHO <https://github.com/espressif/esp-who>`_ on GitHub.
  43. ESP RainMaker
  44. -------------
  45. `ESP RainMaker <https://rainmaker.espressif.com/>`_ is a complete solution for accelerated AIoT development.
  46. Using ESP RainMaker, you can create AIoT devices from the firmware to the integration with voice-assistant, phone apps and cloud backend.
  47. `ESP RainMaker on GitHub <https://github.com/espressif/esp-rainmaker>`_.
  48. ESP-IoT-Solution
  49. ----------------
  50. `ESP-IoT-Solution <https://docs.espressif.com/projects/espressif-esp-iot-solution/en/latest/>`_ contains commonly used device drivers and code frameworks when developing IoT systems. The device drivers and code frameworks within the ESP-IoT-Solution are organized as separate components, allowing them to be easily integrated into an ESP-IDF project.
  51. ESP-IoT-Solution includes:
  52. * Device drivers for sensors, display, audio, GUI, input, actuators, etc.
  53. * Framework and documentation for low power, security, storage, etc.
  54. * Guide for Espressif open source solutions from practical application point.
  55. `ESP-IoT-Solution on GitHub <https://github.com/espressif/esp-iot-solution>`_.
  56. ESP-Protocols
  57. -------------
  58. `ESP-Protocols <https://github.com/espressif/esp-protocols>`_ repository contains collection of protocol components for ESP-IDF. The code within the ESP-Protocols is organized into separate components, allowing them to be easily integrated into an ESP-IDF project. In addition to that, each component is available in `IDF Component Registry <https://components.espressif.com/>`_.
  59. ESP-Protocols components:
  60. * `esp_modem <https://components.espressif.com/component/espressif/esp_modem>`_ enables connectivity with GSM/LTE modems using AT commands or PPP protocol, see the `esp_modem documentation <https://espressif.github.io/esp-protocols/esp_modem/index.html>`_.
  61. * `mdns <https://components.espressif.com/component/espressif/mdns>`_ (mDNS) is a multicast UDP service that is used to provide local network service and host discovery, see the `mdns documentation <https://espressif.github.io/esp-protocols/mdns/en/index.html>`_.
  62. * `esp_websocket_client <https://components.espressif.com/component/espressif/esp_websocket_client>`_ is a managed component for `esp-idf` that contains implementation of [WebSocket protocol client](https://datatracker.ietf.org/doc/html/rfc6455) for ESP32, see the `esp_websocket_client documentation <https://espressif.github.io/esp-protocols/esp_websocket_client/index.html>`_.
  63. * `asio <https://components.espressif.com/component/espressif/asio>`_ is a cross-platform C++ library, see https://think-async.com/Asio/. It provides a consistent asynchronous model using a modern C++ approach. , see the `asio documentation <https://espressif.github.io/esp-protocols/asio/index.html>`_.
  64. ESP-BSP
  65. -------
  66. `ESP-BSP <https://github.com/espressif/esp-bsp>`_ repository contains Board Support Packages (BSPs) for various Espressif's and 3rd party development boards. BSPs are useful for quick start on a supported board. Usually they contain pinout definition and helper functions, that will initialize peripherals for the specific board. Additionally, the BSP would contain drivers for external chips populated on the development board, such as sensors, displays, audio codecs etc.