-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathintroduction.tex
59 lines (46 loc) · 3.31 KB
/
introduction.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
\documentclass[main.tex]{subfiles}
\begin{document}
\chapterimage{band1.jpg}
\chapter{Introduction}
\section{ESP-Jumpstart: Build ESP32 Products Fast}\index{ESP32: Build ESP32 Products Fast}
Building production-ready firmware can be hard. It involves multiple questions and decisions about the best ways of doing things. It involves building phone applications, and integrating cloud agents to get all the features done. What if there was a ready reference, a known set of best steps, gathered from previous experience of others, that you could jumpstart with?
ESP-Jumpstart is focused on building 'products' on ESP32. It is a quick-way to get started into your product development process. ESP-Jumpstart builds a fully functional, ready to deploy "Smart Power Outlet" in a sequence of incremental tutorial steps. Each step addresses either a user-workflow or a developer workflow. Each step is an application built with ESP-IDF, ESP32's software development framework.
\begin{figure}[h!]
\centering
\includegraphics[scale=0.4]{Pictures/jumpstart-outlet.png}
\caption{Smart Power Outlet}
\label{fig:power_outlet}
\end{figure}
The ESP-Jumpstart's Smart Power Outlet firmware assumes the device has one input push-button, and one GPIO output. It implements the following commonly required functionality.
\begin{itemize}
\item Allows user's home Wi-Fi network configuration through phone applications (iOS/Android)
\item Ability to switch on or off a single GPIO output
\item Use a push-button to physically toggle this output
\item Allow remote control of this output through a cloud
\item Implements over-the-air (OTA) firmware upgrade
\item Performs \textit{Reset to Factory} settings on long-press of the push-button
\end{itemize}
Building your production firmware, is a matter of replacing the power-outlet's device driver, with your device driver (bulb, washing machine).
\begin{figure}[h!]
\centering
\includegraphics[scale=0.7]{Pictures/jumpstart-outlet-blocks.png}
\caption{Jumpstart Applicability}
\label{fig:jumpstart_applicability}
\end{figure}
You will require the following to get started:
\begin{itemize}
\item An ESP32 development kit: ESP32-DevKit-C (Available on DigiKey, Mouser, Amazon)
\item A Development setup (\url{https://docs.espressif.com/projects/esp-idf/en/latest/get-started/})
\end{itemize}
\section{For the Restless}\index{For the Restless}
If you are familiar with Espressif's hardware and/or embedded systems, and are looking for a production-reference without the incremental steps, you can do the following:
\begin{enumerate}
\item Directly use the final application in ESP-Jumpstart
\item Create the manufacturing configuration file, based on the instructions provided in Section \ref{sec:gen_factory_data} and flash it at appropriate location
\item Build, flash and boot up the firmware image as you usually do
\item Use the reference phone-app (iOS/Android) libraries for building your phone applications. Or use the reference application to try things out as discussed in Section \ref{sec:unified_prov}
\item Configure your AWS IoT Cloud configuration as mentioned in Section \ref{sec:aws_cloud} and use the commands to control and monitor the device remotely
\item Integrate with your OTA upgrade service
\item And you are good to go!
\end{enumerate}
\end{document}