Skip to content

Commit bee06b5

Browse files
authored
Merge pull request #42 from GrazerComputerClub/wip
Wip
2 parents 0fe8739 + 57889db commit bee06b5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+387
-170
lines changed

Atmega328.tex

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
\subsection{Anschluss}
2+
3+
\begin{figure}[ht]
4+
\centering
5+
\includegraphics[scale=0.19]{images/ATmega328P_Steckplatine.png}
6+
\includegraphics[scale=0.19]{images/ATmega328P_Schaltplan.png}
7+
% \caption{}
8+
\label{ATmega328P}
9+
\end{figure}
10+
11+
\subsection{Einrichtung}
12+
13+
\begin{console}
14+
sudo apt-get install avrdude
15+
\end{console}
16+
17+
In der Konfigurationsdatei /etc/avrdude.conf muss die SPI-Taktfrequenz von 400~kHz auf 200~kHz reduziert werden.
18+
19+
\begin{screensmall}
20+
id = "linuxspi";
21+
desc = "Use Linux SPI device in /dev/spidev*";
22+
type = "linuxspi";
23+
reset = 25;
24+
baudrate=200000;
25+
\end{screensmall}
26+
27+
Danach kann mit "`avrdude"' der Chiptyp ausgelesen bzw. die Kommunikation geprüft werden.
28+
\begin{console}
29+
sudo avrdude -c linuxspi -p m328p -P /dev/spidev0.0
30+
\end{console}
31+
32+
\begin{screensmall}
33+
avrdude: AVR device initialized and ready to accept instructions
34+
Reading | ################################################## | 100% 0.00s
35+
avrdude: Device signature = 0x1e950f (probably m328p)
36+
avrdude: safemode: Fuses OK (E:FF, H:D9, L:62)
37+
avrdude done. Thank you.
38+
\end{screensmall}
39+
40+
\subsection{Programmierung}
41+
42+
\begin{console}
43+
sudo apt-get install gcc-avr avr-libc
44+
\end{console}
45+
46+
Zum Programmieren, Kompilieren und Übertragen einen Programms in den ATmega328P siehe \url{https://blog.gc2.at/post/atmega-328p/}

Blockly-gPIo.tex

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
\subsection{Blockly-gPIo}
2+
3+
Blockly-gPIo ist eine visuelle Programmierumgebung die über einen Webseite also den lokalen Browser bedient wird. %Es basiert auf dem Projekt Blockly von Google.
4+
Ähnlich wie bei Scratch oder PocketCode, soll es einen sehr leichten Einstieg in die Programmierung ermöglichen.\\
5+
Durch einfaches hinzufügen von fertigen Funktionsblöcken und verbinden der Blöcke sowie einfach Parametrierung können Aufgaben gelöst werden.\\
6+
7+
Technologisch besteht Blockly-gPIo erst mal aus einer Web-Seite, die beim Raspjamming Image auf einem Webserver am System verfügbar ist \url{http://raspberrypi.local/Blockly-gPIo}. Weiters gibt es einen Server-Dienst der für die Ausführung des Programms zuständig ist. Dieser ist ebenfalls am Raspjamming Image vorinstalliert und entsprechend konfiguriert.\\
8+
Für den Zugriff auf die Raspberry Pi GPIOs und angeschlossene Sensoren gibt es fertige Funktionsblöcke. Ein besonderes Merkmal ist, dass das Programm auch in einem Simulationsmodus gestartet werden kann. Dann werden die GPIO-Zustände grafisch im Browser dargestellt.
9+
10+

DHT22.tex

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,14 @@
5353
\begin{console}
5454
python3 DHT22.py
5555
\end{console}
56+
57+
\subsection{Blockly-gPIo}
58+
59+
60+
\begin{figure}[ht]
61+
\centering
62+
\includegraphics[scale=0.5]{images/Blockly-gPIo_DHT11.png}
63+
% \caption{}
64+
\label{Blockly-gPIo_DHT11}
65+
\end{figure}
66+

ESP8266-Firmware-Linux.tex

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
\subsubsection{Linux (Raspberry Pi)}
3+
4+
\begin{console}
5+
cd ~
6+
wget https://github.com/espressif/ESP8266_NONOS_SDK/archive/v2.1.0.zip
7+
unzip v2.1.0.zip
8+
sudo apt-get install python python-pip
9+
sudo pip install esptool
10+
\end{console}
11+
12+
%pip2 install esptool
13+
14+
15+
\begin{console}
16+
esptool.py version
17+
\end{console}
18+
19+
\begin{screensmall}
20+
esptool.py v2.1
21+
2.1
22+
\end{screensmall}
23+
24+
\begin{console}
25+
python esptool.py -p /dev/ttyAMA0 flash_id
26+
\end{console}
27+
28+
29+
%ttyUSB0
30+
\begin{console}
31+
cd ESP8266_NONOS_SDK-2.1.0/bin/
32+
sudo esptool.py -p /dev/ttyAMA0 write_flash 0x00000 boot_v1.6.bin 0x01000 at/512+512/user1.1024.new.2.bin \
33+
0xFB000 blank.bin 0xFC000 esp_init_data_default.bin 0x7E000 blank.bin 0xFE000 blank.bin
34+
\end{console}
35+

ESP8266-Firmware-Win.tex

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
2+
\subsubsection{Windows}
3+
4+
5+
Download Flash Tool: \url{http://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.4.9.2_0.zip}\\
6+
7+
Nach dem Download des letzten Release des NONOS SDK und des Flash Tool müssen beide Archive entpackt werden.
8+
Dann kann das Flash Tool "`ESPFlashDownloadTool\_v3.4.9.2.exe"' gestartet werden. Nun muss die korrekte COM-Nummer ausgewählt und die Bautrate auf 115200 gestellt werden. Danach kann mit der Start Taste der ESP gesucht werden. Wenn dies erfolgreich ist werden verschiedene Daten der Platine ausgelesen und im Fenster angezeigt.\\
9+
Dann können die verschienden Dateien der neuen Firmware aus dem "`bin"' Verzeichnis des NONOS SDKs ausgewählt werden. Zu jeder Datei muss noch eine Start-Adresse eingeben werden.\\
10+
Beim ESP-01 (8~MBit) müssen die angegebenen Dateien und Adressen eingegeben und übertragen werden.
11+
12+
\begin{figure}[ht]
13+
\centering
14+
\includegraphics[scale=1.00]{images/ESP8266-ESP_01_FW_update_1.png}
15+
% \caption{}
16+
\label{ESP8266_ESP-01_FW_UPDATE_1}
17+
\end{figure}
18+
19+
Danach kann mit der Start Taste die Aktualisierung gestartet werden. Wenn der blaue Balken das Ende erreicht hat, kann der ESP aus- und wieder angesteckt werden. Nun sollte die neue Firmware aktiv sein. Mit einem Terminalprogramm wie Putty (COM Verbindung) kann die Version abgefragt werden.
20+
21+
\begin{figure}[ht]
22+
\centering
23+
\includegraphics[scale=1.00]{images/ESP8266-ESP_01_FW_update_2.png}
24+
% \caption{}
25+
\label{ESP8266_ESP-01_FW_UPDATE_2}
26+
\end{figure}
27+
28+
29+
\begin{figure}[ht]
30+
\centering
31+
\includegraphics[scale=1.00]{images/Putty_COM.png}
32+
% \caption{}
33+
\label{Putty_COM}
34+
\end{figure}
35+
36+
\begin{console}
37+
Version abfragen: AT+GMR
38+
\end{console}
39+
\framebox{Enter} \framebox{Strg}+\framebox{J}
40+
41+
42+
\begin{screensmall}
43+
AT version:1.4.0.0(May 5 2017 16:10:59)
44+
SDK version:2.1.0(116b762)
45+
compile time:May 5 2017 16:37:48
46+
OK
47+
\end{screensmall}
48+

ESP8266.tex

Lines changed: 2 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
\subsection{Anschluss}
22

3-
43
\begin{figure}[ht]
54
\centering
65
\includegraphics[scale=0.42]{images/ESP8266.png}
@@ -16,10 +15,6 @@ \subsection{Anschluss}
1615
\label{ESP8266_ESP-01}
1716
\end{figure}
1817

19-
20-
%\textbf{Firmware:}\\
21-
%\url{http://www.electrodragon.com/w/ESP8266_AT-Command_firmware}
22-
2318
\subsection{Firmware Update}
2419

2520
%Quelle: https://www.allaboutcircuits.com/projects/flashing-the-ESP-01-firmware-to-SDK-v2.0.0-is-easier-now/
@@ -55,90 +50,10 @@ \subsection{Firmware Update}
5550
\end{table}
5651

5752

58-
\subsubsection{Linux (Raspberry Pi)}
59-
60-
\begin{console}
61-
cd ~
62-
wget https://github.com/espressif/ESP8266_NONOS_SDK/archive/v2.1.0.zip
63-
unzip v2.1.0.zip
64-
sudo apt-get install python python-pip
65-
sudo pip install esptool
66-
\end{console}
67-
68-
%pip2 install esptool
69-
53+
\input{ESP8266-Firmware-Linux}
7054

71-
\begin{console}
72-
esptool.py version
73-
\end{console}
55+
%\input{ESP8266-Firmware-Win}
7456

75-
\begin{screensmall}
76-
esptool.py v2.1
77-
2.1
78-
\end{screensmall}
79-
80-
\begin{console}
81-
python esptool.py -p /dev/ttyAMA0 flash_id
82-
\end{console}
83-
84-
85-
%ttyUSB0
86-
\begin{console}
87-
cd ESP8266_NONOS_SDK-2.1.0/bin/
88-
sudo esptool.py -p /dev/ttyAMA0 write_flash 0x00000 boot_v1.6.bin 0x01000 at/512+512/user1.1024.new.2.bin \
89-
0xFB000 blank.bin 0xFC000 esp_init_data_default.bin 0x7E000 blank.bin 0xFE000 blank.bin
90-
\end{console}
91-
92-
93-
\subsubsection{Windows}
94-
95-
96-
Download Flash Tool: \url{http://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.4.9.2_0.zip}\\
97-
98-
Nach dem Download des letzten Release des NONOS SDK und des Flash Tool müssen beide Archive entpackt werden.
99-
Dann kann das Flash Tool "`ESPFlashDownloadTool\_v3.4.9.2.exe"' gestartet werden. Nun muss die korrekte COM-Nummer ausgewählt und die Bautrate auf 115200 gestellt werden. Danach kann mit der Start Taste der ESP gesucht werden. Wenn dies erfolgreich ist werden verschiedene Daten der Platine ausgelesen und im Fenster angezeigt.\\
100-
Dann können die verschienden Dateien der neuen Firmware aus dem "`bin"' Verzeichnis des NONOS SDKs ausgewählt werden. Zu jeder Datei muss noch eine Start-Adresse eingeben werden.\\
101-
Beim ESP-01 (8~MBit) müssen die angegebenen Dateien und Adressen eingegeben und übertragen werden.
102-
103-
\begin{figure}[ht]
104-
\centering
105-
\includegraphics[scale=1.00]{images/ESP8266-ESP_01_FW_update_1.png}
106-
% \caption{}
107-
\label{ESP8266_ESP-01_FW_UPDATE_1}
108-
\end{figure}
109-
110-
Danach kann mit der Start Taste die Aktualisierung gestartet werden. Wenn der blaue Balken das Ende erreicht hat, kann der ESP aus- und wieder angesteckt werden. Nun sollte die neue Firmware aktiv sein. Mit einem Terminalprogramm wie Putty (COM Verbindung) kann die Version abgefragt werden.
111-
112-
\begin{figure}[ht]
113-
\centering
114-
\includegraphics[scale=1.00]{images/ESP8266-ESP_01_FW_update_2.png}
115-
% \caption{}
116-
\label{ESP8266_ESP-01_FW_UPDATE_2}
117-
\end{figure}
118-
119-
120-
\begin{figure}[ht]
121-
\centering
122-
\includegraphics[scale=1.00]{images/Putty_COM.png}
123-
% \caption{}
124-
\label{Putty_COM}
125-
\end{figure}
126-
127-
\begin{console}
128-
Version abfragen: AT+GMR
129-
\end{console}
130-
\framebox{Enter} \framebox{Strg}+\framebox{J}
131-
132-
133-
\begin{screensmall}
134-
AT version:1.4.0.0(May 5 2017 16:10:59)
135-
SDK version:2.1.0(116b762)
136-
compile time:May 5 2017 16:37:48
137-
OK
138-
\end{screensmall}
139-
140-
141-
\clearpage
14257
\subsection{Verwendung}
14358

14459

@@ -153,7 +68,6 @@ \subsection{Verwendung}
15368
\end{figure}
15469

15570

156-
15771
\textbf{Raspberry Pi:}
15872
\begin{console}
15973
sudo systemctl stop [email protected]

HC-SR04.tex

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,15 @@
6161
\begin{console}
6262
python3 HC_SR04.py
6363
\end{console}
64+
65+
66+
\subsection{Blockly-gPIo}
67+
68+
69+
\begin{figure}[ht]
70+
\centering
71+
\includegraphics[scale=0.6]{images/Blockly-gPIo_HC_SR04.png}
72+
% \caption{}
73+
\label{Blockly-gPIo_HC_SR04}
74+
\end{figure}
75+

LED.tex

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
\subsection{Shell}
1717

1818
\begin{console}
19-
gpio -g mode 17 out
20-
gpio -g write 17 1
21-
gpio -g write 17 0
22-
for i in {1..3}; do gpio -g write 17 1; sleep 1; gpio -g write 17 0; sleep 1; done
23-
gpio -g mode 17 in
19+
gpio -g mode 16 out
20+
gpio -g write 16 1
21+
gpio -g write 16 0
22+
for i in {1..3}; do gpio -g write 16 1; sleep 1; gpio -g write 16 0; sleep 1; done
23+
gpio -g mode 16 in
2424
\end{console}
2525

2626
%https://de.scribd.com/doc/101830961/GPIO-Pads-Control2
@@ -132,14 +132,42 @@ \subsection{Python}
132132

133133
Anschließend kann man das Programm mit dem Zahnrad-Icon \includegraphics[scale=0.4]{images/Geany_Icon_Ausfuehren.png} ausführen. Achtung, nach dem Start braucht die Initialisierung der GPIOZero Library ein paar Sekunden, bevor das Programm startet. Beendet wird das Programm mit der Tastenkombination \framebox{Strg}+\framebox{C}.
134134

135+
\clearpage
136+
\subsection{Blockly-gPIo}
137+
138+
139+
Nachdem man mit dem Browser die Blockly-gPIo Adresse \url{http://raspberrypi.local/Blockly-gPIo} aufgerufen hat, kann man die Programmierung vornehmen.\\
140+
Den Block "`repeat"' kann man vom Menüeintrag "`Loops"' herausziehen. Die Blöcke "`set LED ..."' und den Ausgangsstatus "`High"' kann man im Menüeintrag "`gPIo"' finden. Die "`wait"' Funktion steckt im Menüeintrag "`time"'. Den Wert für die Wartezeit muss man sich im Menü unter "`Math"' holen.\\
141+
Mit Plus und Minus Symbolen kann die Anzeige vergrößert und verkleinert werden. Zieht man Blöcke auf den Mistkübel werden sie gelöscht. Mit der rechten Maustaste auf einem der Blöcke, kommt man zum Kontextmenü und kann dann z. B. Elemente kopieren.
135142

143+
\begin{figure}[ht]
144+
\centering
145+
\includegraphics[scale=0.28]{images/Blockly-gPIo_LED.png}
146+
% \caption{}
147+
\label{Blockly-gPIo_LED_blinking}
148+
\end{figure}
149+
150+
Die entsprechenden Blöcke untereinander angeordnet, ergeben die gewünschte Blinklicht Funktion. Mit der blauen Start-Taste kann das Programm im Simulationsmodus gestartet werden. Auf der rechten Seite wird der GPIO-Zustand dargestellt. Rechts unten werden Statusmeldungen, Fehler und "`print"' Meldungen ausgegeben.\\
151+
152+
Nach dem Drücken der Zahnrad-Taste, kann die IP-Adresse der Raspberry Pi eingegeben oder ausgewählt werden. Mit dem Hacken wird die Einstellung übernommen. Mit dem Käfer wird auf den Simulationsmodus geschaltet.
153+
154+
\begin{figure}[ht]
155+
\centering
156+
\includegraphics[scale=0.32]{images/Blockly-gPIo_connection.png}
157+
% \caption{}
158+
\label{Blockly-gPIo_LED_connect}
159+
\end{figure}
160+
161+
Wird links oben, statt des Käfers das Raspberry Pi Logo angezeigt, so wir das Programm nach dem Drücken der blauen Start-Taste auf der Raspberry Pi ausgeführt. Mit der blauen Stopp-Taste kann das Programm abgebrochen werden.
162+
163+
\clearpage
136164
\subsection{Assembler}
137165

138166
Echte Hardcore-Programmierer können natürlich auch das Beispiel in Assembler schreiben. \texttt{;-)}
139167

140168
\lstset{language=[x86masm]Assembler, caption=,
141169
label=LEDProgram, frame=single, basicstyle=\ttfamily
142-
\footnotesize, breakatwhitespace=false, showstringspaces=false,
170+
\footnotesize , breakatwhitespace=false, showstringspaces=false,
143171
showtabs=false, tabsize=2 }
144172
\lstinputlisting{source/Blink.asm}
145173

@@ -150,3 +178,6 @@ \subsection{Assembler}
150178
./Blink
151179
\end{console}
152180

181+
182+
183+

OTG.tex

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11

2-
Für den USB Gadget Modus der Raspberry Pi Zero wird bereits eine vorkonfigurierte MicroSD-Karte bzw. ein MicroSD-Karten-Image zur Verfügung gestellt. Darauf sind bereits alle Voreinstellungen durchgeführt worden.\\
3-
\textbf{Sollte die Einrichtung manuell erfolgen oder wird Microsoft Windows als Host verwendet, so muss man sich das PDF-Dokument 'Raspberry Pi Jam - Raspjamming Admin' besorgen.}
2+
Der USB Gadget Modus der Raspberry Pi Zero ist bereits auf dem Raspjamming Image vorinstalliert. Die Vergabe der IP-Adresse erfolgt über einen DHCP-Server, sodass im Idealfall keinerlei Einstellungen am Host System vorgenommen werden müssen.
43

54
\subsection{Host (DHCP-Client)}
65
%\clearpage
7-
\input{OTG_Kubuntu}
6+
%\input{OTG_Kubuntu}
87
%\clearpage
9-
%\input{OTG_Mint}
8+
\input{OTG_MintXFCE}
109

1110
\input{OTG_Internet}
1211

0 commit comments

Comments
 (0)