240 lines
6.0 KiB
TeX
240 lines
6.0 KiB
TeX
%===============================================================================
|
|
% Zweck: KTR-Präsentation-Vorlage
|
|
% Erstellt: 15.04.2013
|
|
% Update: 04.07.2016
|
|
% Autor: M.G.
|
|
%===============================================================================
|
|
|
|
\newcommand\ratio{169}
|
|
\documentclass[10pt,aspectratio=\ratio,
|
|
%draft,
|
|
%handout,
|
|
compress
|
|
]{beamer}
|
|
|
|
\newcommand\meta{./meta}
|
|
\input{\meta/config/commands}
|
|
|
|
|
|
\def\signed #1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip2em
|
|
\hbox{}\nobreak\hfil(#1)%
|
|
\parfillskip=0pt \finalhyphendemerits=0 \endgraf}}
|
|
|
|
\newsavebox\mybox
|
|
\newenvironment{aquote}[1]
|
|
{\savebox\mybox{#1}\begin{fancyquotes}}
|
|
{\signed{\usebox\mybox}\end{fancyquotes}}
|
|
|
|
|
|
\input{\meta/config/hyphenation}
|
|
|
|
\setbeamertemplate{caption}[numbered]
|
|
%\numberwithin{figure}{section}
|
|
|
|
\begin{document}
|
|
%===============================================================================
|
|
% Zum Kompilieren latexmk ausführen.
|
|
% Konfiguration in texmaker: Options -> Configure Texmaker -> Quick Build -> Select Latexmk + ViewPD
|
|
% Entsprechende Informationen in den config/metainfo verändern
|
|
% Zur Auswahl der Sprache im folgenden Befehl
|
|
% ngerman für deutsch eintragen, english für Englisch.
|
|
%===============================================================================
|
|
\selectlanguage{ngerman}
|
|
\ifnum\ratio<169
|
|
\frame{\titlepage}
|
|
\else
|
|
\frame[plain]{\titlepage}
|
|
\fi
|
|
|
|
\AtBeginSection[]
|
|
{
|
|
\frame<handout:0>
|
|
{
|
|
\frametitle{Outline}
|
|
\tableofcontents[currentsection,hideallsubsections]
|
|
}
|
|
}
|
|
|
|
%\AtBeginSubsection[]
|
|
%{
|
|
% \frame<handout:0>
|
|
% {
|
|
% \frametitle{Outline}
|
|
% \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide,subsubsectionstyle=hide]
|
|
% }
|
|
%}
|
|
%
|
|
%\AtBeginSubsubsection[]
|
|
%{
|
|
% \frame<handout:0>
|
|
% {
|
|
% \frametitle{Outline}
|
|
% \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide,subsubsectionstyle=show/shaded/hide]
|
|
% }
|
|
%}
|
|
|
|
\newcommand<>{\highlighton}[1]{%
|
|
\alt#2{\structure{#1}}{{#1}}
|
|
}
|
|
|
|
\newcommand{\icon}[1]{\pgfimage[height=1em]{#1}}
|
|
|
|
\section*{}
|
|
\phantomsection
|
|
\begin{frame}{Content}
|
|
\tableofcontents
|
|
\end{frame}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%%%%%%%%%% Content starts here %%%%%%%%%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\section{ESP8266}
|
|
\subsection{Hardware}
|
|
\begin{frame}{ESP8266}
|
|
\begin{itemize}
|
|
\item 80 MHz, 64 kB RAM (Code), 96 kB RAM (Daten)
|
|
\item 4 mB
|
|
\item Open Source Hardware
|
|
\end{itemize}
|
|
\image{.6\textwidth}{esp8266}{ESP8266 + NodeMCU v3 \cite{esp8266}}{img:esp}
|
|
\end{frame}
|
|
\begin{frame}{ESP8266}
|
|
\image{.6\textwidth}{pinmap}{ESP8266 Pins \cite{pinmap}}{img:pins}
|
|
\end{frame}
|
|
|
|
\subsection{Software}
|
|
\begin{frame}{ESP8266}
|
|
\href{http://nodemcu.com/index_en.html}{NodeMCU}
|
|
\begin{itemize}
|
|
\item Open Source Firmware
|
|
\item Lua-Skriptbare Umgebung
|
|
\item Ardunio-kompatibel
|
|
\item Billige China-Klone :)
|
|
\end{itemize}
|
|
Cooler: \href{https://micropython.org/}{MicroPython}
|
|
\begin{itemize}
|
|
\item Basiert auf Python 3
|
|
\item Frei \& Open Source
|
|
\item Einige Funktionalität eingeschränkt (z.B. Multithreading)
|
|
\item Viele Boards unterstützt
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\section{Setup}
|
|
\subsection{Tools}
|
|
\begin{frame}{Tools}\framesubtitle{Alle Downloads unter \url{https://iot.fswiai.de/}} %TODO
|
|
Linux
|
|
\begin{itemize}
|
|
\item Debian, Gentoo (testing): \texttt{\{apt install,emerge\} esptool picocom}
|
|
\item \texttt{adduser \$USER dialout}
|
|
\end{itemize}
|
|
Windows
|
|
\begin{itemize}
|
|
\item \url{https://www.python.org}, z.B. 3.6.2 %TODO: WIAI-link
|
|
\begin{itemize}
|
|
\item Option \textit{Add Python to PATH} aktivieren
|
|
\end{itemize}
|
|
\item \texttt{pip install esptool}
|
|
\item \url{https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html} %TODO: WIAI-link
|
|
\item CH340G Treiber: \url{http://www.wch.cn/download/CH341SER\_ZIP.html} %TODO: WIAI-link
|
|
\end{itemize}
|
|
Mac
|
|
\begin{itemize}
|
|
\item Irgendwie so ähnlich\dots
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\subsection{Firmware}
|
|
\begin{frame}{Firmware}\framesubtitle{Alle Downloads unter \url{https://iot.fswiai.de/}} %TODO
|
|
Windows-Spezial:
|
|
\begin{itemize}
|
|
\item Portbezeichner: Gerätemanager $\rightarrow$ Serielle Geräte (COM+LPT) $\rightarrow$ COM$X$
|
|
\end{itemize}
|
|
Flashen:
|
|
\begin{itemize}
|
|
\item \url{https://micropython.org/download\#esp8266} %TODO: WIAI-link
|
|
\item \texttt{esptool.py --port /dev/ttyUSB0 erase\_flash}
|
|
\item \texttt{esptool.py --port /dev/ttyUSB0 --baud 460800 write\_flash --flash\_size=detect 0 esp8266-20170108-v1.8.7.bin}
|
|
\item reset
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\subsection{REPL}
|
|
\begin{frame}{REPL}
|
|
*nixe:
|
|
\begin{itemize}
|
|
\item \texttt{picocom -b 115200 /dev/ttyUSB0}
|
|
\item $n$ beherzte \textit{<ENTER>}-Drücke
|
|
\end{itemize}
|
|
Windows:
|
|
\begin{itemize}
|
|
\item puTTY
|
|
\item Serielle Verbindung
|
|
\item 115200 Baud
|
|
\item $n$ beherzte \textit{<ENTER>}-Drücke
|
|
\end{itemize}
|
|
%TODO: bild mit REPL (inkl ENTERs)
|
|
\end{frame}
|
|
|
|
|
|
\lstset{language=Python,captionpos=b}
|
|
\subsection{Wlan}
|
|
\begin{frame}[fragile]{Wlan}\framesubtitle{Put the I in IoT}
|
|
\begin{lstlisting}[caption={Descriptive Caption Text},label=DescriptiveLabel]
|
|
import network
|
|
sta_if = network.WLAN(network.STA_IF)
|
|
ap_if = network.WLAN(network.AP_IF)
|
|
|
|
ap_if.active(False)
|
|
sta_if.active(True)
|
|
|
|
sta_if.connect('SSID', 'SECRET') # TODO: setup
|
|
sta_if.isconnected()
|
|
sta_if.ifconfig()
|
|
\end{lstlisting}
|
|
\end{frame}
|
|
|
|
\subsection{Init}
|
|
\subsection{Exkurs: Flask-Server}
|
|
|
|
|
|
\section{Basteln}
|
|
\subsection{Blinkende LED}
|
|
\begin{frame}{LEDs}
|
|
|
|
\end{frame}
|
|
\subsection{Schalter und Taster}
|
|
\subsection{Sensoren}
|
|
\subsection{Push}
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%%%%%%%%%% References %%%%%%%%%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\section*{}
|
|
\begin{frame}[allowframebreaks]{References}
|
|
\def\newblock{\hskip .11em plus .33em minus .07em}
|
|
\scriptsize
|
|
\bibliographystyle{IEEEtran}
|
|
\bibliography{content/bib.bib}
|
|
\normalsize
|
|
\end{frame}
|
|
|
|
%% Last frame
|
|
\frame{
|
|
\vspace{2cm}
|
|
{\huge Questions ?}
|
|
|
|
\vspace{20mm}
|
|
\nocite*
|
|
|
|
\begin{flushright}
|
|
Marcel Gro\ss mann
|
|
|
|
\structure{\footnotesize{\href{mailto:marcel.grossmann@uni-bamberg.de}{marcel.grossmann@uni-bamberg.de}}}
|
|
\end{flushright}
|
|
}
|
|
|
|
|
|
\end{document}
|