mirror of
https://github.com/m5stack/aws-iot-kit-tutorials.git
synced 2026-05-20 10:49:00 -07:00
151 lines
13 KiB
HTML
151 lines
13 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.9.3"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Core2 for AWS IoT Kit BSP: Overview</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="custom.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectlogo"><img alt="Logo" src="AWS_logo_RGB.png"/></td>
|
|
<td id="projectalign">
|
|
<div id="projectname">Core2 for AWS IoT Kit BSP<span id="projectnumber"> 1.5.1</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.3 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div><div class="header">
|
|
<div class="headertitle"><div class="title">Overview </div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><p >Core2 for AWS IoT Kit API Reference<a class="anchor" id="overview"></a></p>
|
|
<p >This Core2 for AWS IoT Kit API Reference provides a set of definitions for the various drivers that are included as part of the M5Stack Core2 for AWS IoT Kit board support package (BSP). A board support package is the software layer that contains hardware drivers and other routines you can use when writing your applications to access the on-board hardware features. The BSP relies on and sits on top of Espressif's IoT Developer Framework (ESP-IDF) version 4.2, and executes from the ESP32-D0WD micro-controller unit (MCU) to all attached peripherals. The ESP-IDF v4.2 uses a customized version of FreeRTOS and usage of the BSP requires knowledge of C programming and real-time operating systems.</p>
|
|
<p >The BSP is located in each of the AWS IoT Kit program's provided project's <a href="https://github.com/m5stack/Core2-for-AWS-IoT-Kit/tree/master/Blinky-Hello-World/components/core2forAWS">components/core2forAWS</a> directory. Do the following steps to create an empty project:</p><ol type="1">
|
|
<li>Copy the Core2 for AWS IoT Kit <a href="https://github.com/m5stack/Core2-for-AWS-IoT-Kit/tree/master/Blinky-Hello-World/components/core2forAWS">BSP</a> into your project's <em>components</em> directory.</li>
|
|
<li>Copy the Core2 for AWS port of the <a href="https://github.com/m5stack/Core2-for-AWS-IoT-Kit/tree/master/Blinky-Hello-World/components/esp-cryptoauthlib">esp-cryptoauthlib</a> into your project's <em>components</em> directory.</li>
|
|
<li>Copy <a href="https://github.com/m5stack/Core2-for-AWS-IoT-Kit/blob/master/Blinky-Hello-World/sdkconfig.defaults">sdkconfig.defaults</a>, <a href="https://github.com/m5stack/Core2-for-AWS-IoT-Kit/blob/master/Blinky-Hello-World/partitions_16MB.csv">partitions_16MB.csv</a>, <a href="https://github.com/m5stack/Core2-for-AWS-IoT-Kit/blob/master/Blinky-Hello-World/CMakeLists.txt">CMakeLists.txt</a>, and <a href="https://github.com/m5stack/Core2-for-AWS-IoT-Kit/blob/master/Blinky-Hello-World/platformio.ini">platformio.ini</a> files to the <em>root of your project</em>. You can customize the platformio.ini file and CMakeLists.txt to suite your needs.</li>
|
|
<li>Create a <code>main.c</code> file in a new <em>main</em> folder that at the has the following code: <div class="fragment"><div class="line"><span class="preprocessor">#include "<a class="code" href="core2for_a_w_s_8h.html">core2forAWS.h</a>"</span></div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keywordtype">void</span> app_main(<span class="keywordtype">void</span>){</div>
|
|
<div class="line"> </div>
|
|
<div class="line">}</div>
|
|
<div class="ttc" id="acore2for_a_w_s_8h_html"><div class="ttname"><a href="core2for_a_w_s_8h.html">core2forAWS.h</a></div><div class="ttdoc">Functions to initialize and access Core2 for AWS IoT Kit hardware features.</div></div>
|
|
</div><!-- fragment --></li>
|
|
</ol>
|
|
<p >For more information on setting up your PlatformIO configuration file and additonal configuration options, view their <a href="https://docs.platformio.org/en/latest/projectconf/index.html">official docs</a>. For information on the ESP-IDF v4.2 and APIs available, see Espressif's <a href="https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/index.html">official documentation</a>.</p>
|
|
<h1><a class="anchor" id="driver_apis"></a>
|
|
Driver APIs</h1>
|
|
<table class="markdownTable">
|
|
<tr class="markdownTableHead">
|
|
<th class="markdownTableHeadNone">Library </th><th class="markdownTableHeadNone">Feature </th><th class="markdownTableHeadNone">Description </th></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a class="el" href="core2foraws.html">Core2forAWS</a> </td><td class="markdownTableBodyNone">Microcontroller </td><td class="markdownTableBodyNone">Main ESP32-D0WD MCU hardware helper APIs. </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a class="el" href="atecc608.html">ATECC608</a> </td><td class="markdownTableBodyNone">Secure Element </td><td class="markdownTableBodyNone">ATECC608 Trust&GO secure element, which provides a hardware root of trust. </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a class="el" href="axp192.html">AXP192</a> </td><td class="markdownTableBodyNone">Power Management Unit (PMU) </td><td class="markdownTableBodyNone">Controls the input power, peripheral power, and battery charging circuit. </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a class="el" href="bm8563.html">BM8563</a> </td><td class="markdownTableBodyNone">Real-Time Clock (RTC) </td><td class="markdownTableBodyNone">Date time RTC with alarm and timer. </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a class="el" href="button.html">Button</a> </td><td class="markdownTableBodyNone">Virtual Buttons </td><td class="markdownTableBodyNone">Virtual touch buttons. Uses the FT6336U with mapped locations for button presses/holds/releases. </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a class="el" href="ft6336u.html">FT6336U</a> </td><td class="markdownTableBodyNone">Touch </td><td class="markdownTableBodyNone">Capacitive touch controller providing X & Y coordinate screen touches. </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a class="el" href="ili9342c.html">ILI9342C</a> </td><td class="markdownTableBodyNone">Display Controller </td><td class="markdownTableBodyNone">Provides functions to directly operate the display controller. To draw to the screen, use <a href="https://docs.lvgl.io/7.11/index.html">LVGL APIs</a>. </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a class="el" href="mpu6886.html">MPU6886</a> </td><td class="markdownTableBodyNone">Accelerometer/gyroscope </td><td class="markdownTableBodyNone">Inertial Measurement Unit (IMU) with built-in temperature sensor. </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a class="el" href="speaker.html">NS4168</a> </td><td class="markdownTableBodyNone">Speaker </td><td class="markdownTableBodyNone">Speaker helper library. </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a class="el" href="sk6812.html">SK6812</a> </td><td class="markdownTableBodyNone">Side LEDs </td><td class="markdownTableBodyNone">Side LED bar helper libraries which uses the Adafruit NEOPIXEL library. </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a class="el" href="spm1423.html">SPM1423</a> </td><td class="markdownTableBodyNone">Microphone </td><td class="markdownTableBodyNone">Microphone helper library. Use <a href="https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/api-reference/peripherals/i2s.html">ESP-IDF's I2S library</a> to read from mic. </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a class="el" href="sdcard.html">SD Card</a> </td><td class="markdownTableBodyNone">SD Card </td><td class="markdownTableBodyNone">SD Card helper library. </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a class="el" href="expports.html">Expansion Ports</a> </td><td class="markdownTableBodyNone">Ports A, B, C </td><td class="markdownTableBodyNone">The peripheral (DAC, ADC, UART, and GPIO) helper library for expansion ports A, B, C. </td></tr>
|
|
</table>
|
|
<h1><a class="anchor" id="third_party_libraries_used"></a>
|
|
3rd Party Libraries Used</h1>
|
|
<table class="markdownTable">
|
|
<tr class="markdownTableHead">
|
|
<th class="markdownTableHeadNone">Library </th><th class="markdownTableHeadNone">Description </th></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a href="https://docs.lvgl.io/7.11/index.html">Light and Versitile Graphics Library (LVGL)</a> </td><td class="markdownTableBodyNone">Graphics library that has been ported for the Core2 for AWS. </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a href="https://github.com/espressif/esp-aws-iot">ESP-AWS-IoT</a> </td><td class="markdownTableBodyNone">AWS IoT Device SDK for Embedded C ported for ESP32. Provides client connectivity and AWS IoT Device Shadow service capability. </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a href="https://github.com/espressif/esp-cryptoauthlib">ESP-CRYPTOAUTHLIB</a> </td><td class="markdownTableBodyNone">ATECC608 HAL ported for ESP32. Provides libraries to interface with the secure element. </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a href="https://github.com/espressif/esp-rainmaker/">ESP RainMaker</a> </td><td class="markdownTableBodyNone">An end-to-end connected home solution by Espressif to enable remote control and monitoring without any configuration required. </td></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a href="https://github.com/espressif/esp-va-sdk/">ESP-VA-SDK</a> </td><td class="markdownTableBodyNone">ESP-Voice-Assistance SDK for Alexa Voice Service capabilities on the ESP32. </td></tr>
|
|
</table>
|
|
<h1><a class="anchor" id="hardware_schematics"></a>
|
|
Hardware Schematics</h1>
|
|
<table class="markdownTable">
|
|
<tr class="markdownTableHead">
|
|
<th class="markdownTableHeadNone">Hardware Section </th><th class="markdownTableHeadNone">Parts Contained </th></tr>
|
|
<tr class="markdownTableRowOdd">
|
|
<td class="markdownTableBodyNone"><a href="./CORE2_V1.0_SCH.pdf">Top (Amazon Orange)</a> </td><td class="markdownTableBodyNone">ESP32-D0WD, AXP192, BM8563, ILI9342C, FT6336U, NS4168 </td></tr>
|
|
<tr class="markdownTableRowEven">
|
|
<td class="markdownTableBodyNone"><a href="./m5go_bottom2_aws_sch.webp">Bottom (Squid Ink grey)</a> </td><td class="markdownTableBodyNone">10x SK6812, SPM1423, ATECC608 </td></tr>
|
|
</table>
|
|
</div></div><!-- PageDoc -->
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
|
|
</small></address>
|
|
</body>
|
|
</html>
|