IoT-Werkstatt Das Internet der Dinge anfassbar machen Algorithmisches Denken
|
|
- Steffen Otto
- vor 5 Jahren
- Abrufe
Transkript
1 IoT-Werkstatt Das Internet der Dinge anfassbar machen Algorithmisches Denken Klaus-Uwe Gollmer und Guido Burger
2 Vorbereitung Editor USB Status 1. Octopus Board mit USB-Kabel verbinden 2. Arduino (IoT-Werkstatt) starten 3. Unter Werkzeuge das Board kontrollieren (NodeMCU) und den Port einstellen (i.d.r. der letzte COM-Port) Upload auf Octopus (Maschinecode) Übersetzen (C-Compiler) Serieller Monitor (Terminal am PC)
3 Ardublock 1. Unter Werkzeuge die grafische Oberfläche Ardublock starten Speichern des Ardublock Programms Upload auf den Octopus Initialisierung Endlosschleife Hauptprogramm Werkzeugkasten mit Puzzleteilen
4 Hardware ESP: System ADC I2C I/O A0 2 SPI UART A0 I2C GND
5 Sensoren Sensoren Der Octopus hat verschiedene Sensoren auf der Platine. Der analoge Spannungseingang kann über die Bananensteckerkontakte auf der linken Seite gespeist werden. Der Bosch- Sensor BME280 liefert Umweltmesswerte. Analog Input BME280 Analog Input Eine Spannung von V entspricht einem ADC-Wert von (Integer) Bosch BME Der Sensor liefert physikalische Größen. Temperatur in Grad Celsius, Druck in hpa, Feuchte in %
6 Anzeigen Anzeigen/Aktoren Der Octopus hat eine LED sowie zwei Neopixel (RGB-Leuchtdioden) zur farblichen Visualisierung an Board Linker Neopixel Rechter Neopixel LED Beachte: das menschliche Auge ist träge, und kann schnelle Farbänderungen nicht auflösen. Hier hilft eine Wartezeit mit dem Warte-Befehl.
7 Wiederholungen Kontrollstrukturen Zählschleife (for) Wiederholt einen Block genau index Mal Index als Schleifenzähler Name der Zählvariable Anzahl der Durchläufe Befehlsblock % Matlab for index = 1:5 % Befehlsblock end // C-Programm for (int index = 1;index<=5;index++) { // Befehlsblock } Bedingte Wiederholung (while) Testet eine logische Bedingung und wiederholt den Block solange diese Bedingung erfüllt ist Befehlsblock Logischer Ausdruck % Matlab while Bedingung % Befehlsblock end // C-Programm while (Bedingung) { // Befehlsblock }
8 Fallunterscheidungen Kontrollstrukturen Bedingte Anweisung (if) Testet eine logische Bedingung und führt den Block nur aus, wenn diese erfüllt ist (Ausführung nur ein einziges mal) Befehlsblock Logischer Ausdruck % Matlab if Bedingung % Befehlsblock end // C-Programm if (Bedingung) { // Befehlsblock } Bedingte Anweisung mit Alternative (if/else) Testet eine logische Bedingung Und führt Befehlsblock 1 aus, wenn eine diese erfüllt ist, andernfalls den Block 2 Befehlsblock 1 Logischer Ausdruck Befehlsblock 2 % Matlab if Bedingung % Befehlsblock 1 else % Befehlsblock 2 end // C-Programm if (Bedingung) { // Befehlsblock 1 } else { // Befehlsblock 2 }
9 Warteanweisung Kontrollstrukturen Warte (delay) Stoppt die Programmausführung für eine gewisse Zeitdauer % Matlab pause(sekunden); // C-Programm delay (Millisekunden); Wartezeit in ms
10 Ein- / Ausgabe Ausgabe von Ergebnissen auf dem Bildschirm erfolgt über spezielle print- Befehle. Beim Octopus wird auf PC-Seite ein serieller Monitor (Teminal) genutzt. Ausgabe von Ergebnissen Beim Ardublock gibt es nur Textausgaben, ggf. muss der Datentyp über einen Verbinder gewandelt werden (Typecast). Kommunikation (M2M) % Matlab fprintf('mein auszugebender text'); fprintf('%f',sin(1)); // C Serial.println("Mein auszugebender Text"); Serial.println(sin(1.0)); Eingabe über Tastatur Das Puzzleteil gibt eine Eingabeaufforderung auf dem Terminal aus und erwartet eine Texteingabe an der Tastatur. Diese wird ans Programm zurück-geliefert % Matlab input('aa=','s')
11 Logische Operatoren Log. Operatoren Vergleichsoperationen Vergleicht zwei Zahlen und liefert einen Wahrheitswert zurück (wahr / falsch) % Matlab und C Zahl1 > 10 Zahl1 == Zahl2 Logische Verknüpfung Verknüpft zwei Wahrheitswerte, liefert einen Wahrheitswert zurück % Matlab Bedingung1 && Bedingung2 Bedingung1 Bedingung2 ~Bedingung1 UND ODER NICHT // C-Programm Bedingung1 && Bedingung2 Bedingung1 Bedingung2!Bedingung1 Bedingung1 Bedingung2 UND ODER 0 0 (falsch) (wahr)
12 Mathematische Operatoren Math. Operatoren Führt eine mathematische Operation aus Ergebnis ist wieder eine Zahl. % Matlab und C Zahl1+1 sqrt(9) Komplexe mathematische Ausdrücke Auch geschachtelte Ausdrücke sind möglich. % Matlab und C Zahl1+(5*sqrt(9))
13 Logische Variablen Variablen/Konst. Logische Variablen sind Speicherbehälter für Wahrheitswerte. Die Inhalte können nur zwei Werte annehmen (wahr/falsch bzw. 1/0) Logische Ausdrücke besitzen ein rundes Puzzlestück Deklaration und Initialisierung Vor der ersten Verwendung muss Speicher reserviert und mit einem Wert initialisiert werden % Matlab NameLogischeVariable = 1; // C bool NameLogischeVariable = true; Lesender Zugriff Danach kann auf den Inhalt der Variable lesend zugegriffen werden % Matlab und C NameLogischeVariable
14 Zahlvariablen Für Zahlen gibt es verschiedene Datentypen. Man unterscheidet ganze Zahlen (Integer) und Kommazahlen (float) Zahlen besitzen ein dreieckiges Puzzlestück Deklaration und Initialisierung Vor der ersten Verwendung muss Speicher reserviert und mit einem Wert initialisiert werden Variablen/Konst. % Matlab NameIntegerVariable = 4711; NameFloatVariable = 3.14; // C int NameIntegerVariable = 4711; float NameFloatVariable = 3.14; Lesender Zugriff Danach kann auf den Inhalt der Variable lesend zugegriffen werden % Matlab und C NameZahlVariable = NameZahlVariable+1
15 Textvariablen Texte besitzen ein dreieckiges Puzzlestück Variablen/Konst. Deklaration und Initialisierung Vor der ersten Verwendung muss Speicher reserviert und mit einem Wert initialisiert werden % Matlab NameTextVariable = 'Mein erster Text'; // C string nametextvariable = "Mein erster Text"; Lesender Zugriff Danach kann auf den Inhalt der Variable lesend zugegriffen werden
16 Unterprogramme Kontrollstrukturen Unterprogrammdeklaration Definiert die in einem Unterprogramm zusammengefassten Befehle. Gibt dem Unterprogramm einen eindeutigen Namen % Matlab function UnterprogrammName() % Unterprogrammrumpf Unterprogrammaufruf Führt das Unterprogramm aus, d.h. das Programm verzweigt und arbeitet die im Befehlsblock des Unterprogrammes angegebenen Befehle ab. Anschließend beim nächsten Programmbefehl weiter gemacht // C-Programm void UnterprogrammName(void) { // Unterprogrammrumpf } Befehlsblock (Rumpf) Bezeichner, Name des Unterprogrammes (Beginnt mit Buchstaben, keine Leerzeichen, keine Sonderzeichen, keine Umlaute,+,- ) % Matlab UnterprogrammName(); // C-Programm UnterprogrammName();
17 IoT-Werkstatt Das Internet der Dinge anfassbar machen Internet der Dinge Klaus-Uwe Gollmer und Guido Burger
18 WLAN Der Octopus hat ein eingebaute WLAN-Schnittstelle im 2.4 GHz Bereich. Damit kann sich unser Kit mit jedem Smartphone oder dem Internet verbinden. Wir unterscheiden zwei Betriebsmodi: Accesspoint Der Octopus spannt ein eigenes WLAN auf, bei dem sich andere Teilnehmer als Client anmelden können. (WPA2 verschlüsselt) IoT:Internet Zugang Netzname (SSID) Ist beim Client (Smartphone, PC) in der Netzwerk- Auswahlliste sichtbar Passwort bei der Anmeldung (am Client-PC, Smartphone, anzugeben, > 8 Zeichen Internet-Zugang über bestehendes Netz Der Octopus verbindet sich mit einem bestehenden WLAN-Netz und ermöglicht so ggf. den Internetzugang (WAP2 ver-schlüsselt) Netzname (SSID) Name bestehendes WLAN Passwort bestehendes WLAN
19 GSM-Modem Ein externes serielles Modem ermöglicht den mobilen Betrieb. Voraussetzung: Externes Adafruit-Fona GSM Modem IoT:Internet Zugang Internet-Zugang über Mobilfunk Der Octopus verbindet sich mit einem Mobilfunknetz und ermöglicht so den mobilen Internetzugang Pinbelegung APN (Access Point Name) Netzzugangspunkt Mobilfunkprovider User / Passwort optional Fona GND Vio RX TX Key IoT-Kit (Feather-Wing) GND VCC (3V) GPIO12 GPIO14 GND
20 HTTP-Server Mit einem Baustein können wir unseren eigenen Web-Server aufbauen. Die IP- Adresse wird bei der Initialisierung angezeigt. Diese ist nur intern im jeweiligen WLAN-Netz erreichbar. Im eigenen Netz (WLAN-Baustein Accesspoint) besitzt der Server immer die feste Adresse Ohne Sensoren Deine Nachricht Wird an den Octopus übertragen und dort ggf. auf einem vorhandenen CharlieWing LED- Matrix Modul angezeigt. (Flaschenpost) Mit Sensoren Aktuelle Informationen Messdaten werden auf der Homepage angezeigt und zyklisch aktualisiert IoT: HTTP-Protokoll Überschrift Wird als Titel der Homepage angezeigt
21 Thingspeak Thingspeak.com ist eine Cloud-Anwendung. Dort können Messdaten gespeichert und über eine Web-Schnittstelle visualisiert werden. Voraussetzung ist ein kostenloser Account bei Thingspeak, oder die Nutzung des quelloffenen Servers. Schreibzugriff Messdaten werden per HTTP-Protokoll über die REST-API an den Thingspeak-Server gesendet. IoT: HTTP-Protokoll Alternativ eigener Server: thingspeak.raspi.iot thingspeak.umwelt-campus.de API-Key Per Cut&Paste vom Thingspeak-Server kopieren Lesezugriff Der aktuelle Messwert für die angegebene Kanalnummer und den angegeben Feldindex wird beim Thingspeak-Server angefragt
22 If This Then That (IFTTT) IFTTT.com ist eine Cloud-Anwendung, mit der einfache Regeln abgebildet werden können. In unserem Fall können wir ein Ereignis auf dem Webhooks- Kanal triggern. Dieses Ereignis kann dann konfigurierte Aktivitäten auslösen. Voraussetzung ist ein kostenloser Account bei IFTTT. Trigger Event auslösen Der angegeben Event wird gefeuert, Autorisierung durch den Key IoT: HTTP-Protokoll Ereignis Im Maker-Channel des FTTT-Server konfigurieren Key Per Cut&Paste vom IFTTT-Server kopieren IFTTT-Applet Achtung: wenn der Trigger mehrmals gefeuert wird, gibt es entsprechend viele Mails. Also im Ardublock aufpassen (nur einen Trigger auslösen).
23 yahoo IoT: HTTP-Protokoll yahoo.com ist eine Cloud-Anwendung, mit der über ein REST-API u. a. die aktuellen Wetterdaten für einen Standort abgefragt werden können. Winddaten abfragen Abfrage der Windgeschwindigkeit per REST-API. Yahoo antwortet mit einem XML- oder JSON-Text Dieser muss nach dem interessierenden Schlüsselwort durchsucht werden. Der Baustein ist experimentell, ggf. muss die Auswertung der Suchinformation manuell angepasst werden. Rückgabe Windgeschwindigkeit getestet. Suchbegriff API-Kommandos unter Where on earth identification Standortangabe über Suchmaschine Beispiel * from weather.forecast where woeid= and u=%27c%27&format=xml
24 MQTT IoT: MQTT-Protokoll MQTT (Message Queue Telemetry Transport) ist ein IoT-Protokoll zur Sensor- Aktor Kommunikation. Es basiert auf einem publish/subscribe-modell. Ein hochverfügbarer Broker dient als Vermittler zwischen mobilen Clients. Verbindung zum Broker Einmalig z.b. im setup-teil. Hier ist ggf. die Autorisierung beim Broker notwendig. Jeder Client benötigt einen Namen. Freier Broker (ohne Anmeldung) broker.mqtt-dashboard.com Nachrichten senden Sendet eine Nachricht an das angegebene Topic User, Passwort. Adafruit: AIO Key Nachrichten empfangen Abonniert das angegebene Topic beim Broker Broker sendet eine Nachricht, wenn sich der Inhalt ändert. Im Ardublock wird dann automatisch in eine callback-funktion verzweigt und der dort angegebene Befehlsblock ausgeführt. Die Nachricht steht dort im String MQTT_Rx_Payload zur Verfügung.
25 The Things Network (TTN) TTN ist eine Cloud-Infrastruktur zur Kommunikation über LoRaWAN. Voraussetzung ist ein Account bei TTN und ein LoRa-Kommunikationsmodul OTAA Verbindung Hier erfolgt die Autorisierung über die Angabe der EUIs. Details finden sich auf der TTN- Webseite. Die Messwerte im Feld 1-6 werden als 16-bit Integer Übertragen. Auf TTN-Seite ist ein Decoder nötig. IoT: LoRa-Protokoll Messwerte werden in Fixpunkt-darstellung mit einer Nachkommastelle übertragen Adafruit LoRaWing Ein ggf. im RX-Slot empfangenes Payload kann ausgewertet werden
26 Klaus-Uwe Gollmer und Guido Burger
IoT-Werkstatt Das Internet der Dinge anfassbar machen Algorithmisches Denken
IoT-Werkstatt Das Internet der Dinge anfassbar machen Algorithmisches Denken Klaus-Uwe Gollmer und Guido Burger Vorbereitung Editor USB Status 1. Octopus Board mit USB-Kabel verbinden 2. Arduino (IoT-Werkstatt)
MehrIoT-Werkstatt Das Internet der Dinge anfassbar machen Internet der Dinge
IoT-Werkstatt Das Internet der Dinge anfassbar machen Internet der Dinge Klaus-Uwe Gollmer und Guido Burger WLAN Der Octopus hat ein eingebaute WLAN-Schnittstelle im 2.4 GHz Bereich. Damit kann sich unser
MehrBisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:
Tasten abfragen Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: pinmode(pinnummer, OUTPUT) digitalwrite(pinnummer, HIGH) oder digitalwrite(pinnummer, LOW) Zum Abfragen
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrGirls Day 2018 Programmiereinführung
Girls Day 2018 Programmiereinführung Gregor Groß-Weege Hardware Hochfrequenztechnik Würselen, 26.04.2018 www.lancom-systems.de Mikrocontroller Hä? Was ist ein Mikrocontroller? Programmierbarer Baustein
MehrAnbindung NEXTION Display mit ESP8266 an IP-Symcon
Anbindung NEXTION Display mit ESP8266 an IP-Symcon Vorwort: Die Dokumentation habe ich erstellt damit ich später auch noch weiß was ich wie konfiguriert habe (Ich werde leider auch nicht Jünger)! Ich kann
MehrEs kann Stand-Alone oder als Erweiterung einer µc Schaltung verwendet werden.
ESP8266 Einführung Das ESP8266 ist ein programmierbarer WLAN-SoC (Service-oriented Computing). Es verfügt über eine UART- und eine SPI-Schnittstelle (Serial Peripherie Interface). Es kann Stand-Alone oder
MehrC++ - Einführung in die Programmiersprache Schleifen
C++ - Einführung in die Programmiersprache Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisungsblöcken.
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrMQTT Dokumentation VERBINDEN VON ENDGERÄTEN ÜBER DAS MQTT-PROTOKOLL VERSION 1.1.0
MQTT Dokumentation VERBINDEN VON ENDGERÄTEN ÜBER DAS MQTT-PROTOKOLL VERSION 1.1.0 INHALT Über das MQTT-Protokoll... 2 Verbindungsaufbau... 2 Verbindungsparameter... 2 Verbindungsbestätigung... 3 Topic-Übertragung...
MehrGrundlagen der Anwendung und Programmierung des ESP8266. Dennis Hoffmann Mittwoch, :30 Uhr Schulungsraum SW23/147
Grundlagen der Anwendung und Programmierung des ESP8266 Dennis Hoffmann Mittwoch, 11.01.2017 08:30 Uhr Schulungsraum SW23/147 Inhalt Mikrocontroller ESP8266 Entwicklungsumgebung Firmware Beispiele Projekte
MehrArduino für FunkAmateure
Arduino für FunkAmateure Arduino & graphische Programmiersprachen Workshop Sensoren aus ALLNET 4Arduino Set (ArdDevKIT1) Schaltung 1: Analoge Pins Schaltung 2: Digitale Pins Schaltung 3: Blinkende LED
MehrArduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach
Arduino Kurs Das LC-Display Stephan Laage-Witt FES Lörrach - 2018 Themen LC-Display zur Anzeige von Text Serieller Datenbus Ausgabe von Zeichen, Texten und Zahlen FES Lörrach Juli 2017 2 LC-Display zur
MehrJava - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue
Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem
MehrC++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
MehrFACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung
C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen
MehrProgramming 101. Carl Herrmann IPMB & DKFZ
Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen
MehrAnleitung zur Einrichtung des Bridge-Modus Für DIR-868L mit aktueller Firmware und deutschem Sprachpaket
Anleitung zur Einrichtung des Bridge-Modus Für DIR-868L mit aktueller Firmware und deutschem Sprachpaket Mit dem Bridge-Modus kann der DIR-868L per WLAN in ein Netzwerk eingebunden werden. Die per LAN
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für
Mehrqfix ASCII-Protokoll
www.qfix.de qfix ASCII-Protokoll Referenz qfix Dokument Nr. D100502R1 Inhaltsverzeichnis 1 Einleitung 3 1.1 Referenz................................... 3 2 qfix ASCII Protokoll 4 2.1 Verbindung und Zeichensatz.........................
MehrKURZANLEITUNG -COMMANDER / COMMANDER GSM Software Version 1.2.4
KURZANLEITUNG -COMMANDER / COMMANDER GSM Software Version 1.2.4 1. Inbetriebnahme Stromversorgung Verbinden Sie den Commander über das mitgelieferte Netzteil mit einer Steckdose. Hinweis: Nur der Commander
MehrKontrollstrukturen und Logik
Programmieren mit Java Modul 2 Kontrollstrukturen und Logik Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 1.1 Anweisungen und Blöcke........................... 3 2 Operatoren (Teil II) 4 2.1 Relationale
MehrGedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
MehrHomeMatic an die Cloud anbinden
36 So funktioniert s HomeMatic an die Cloud anbinden Teil 2: Ganz EASY mittels IFTTT IFTTT ist ein Cloud-Dienst, der es ermöglicht, beim Eintreten definierbarer Ereignisse oder Zustände Aktionen auszuführen.
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 4. Vorlesung 07.11.2017 1 Konzepte Imperative Programmierung neue Befehle erstellen Prozedurale Programmierung: Top/Down Programmierung Wiederholungen vermeiden (DRY-Prinzip:
MehrErste Gehversuche mit ARDUINO (DL6OAA)
Erste Gehversuche mit ARDUINO (DL6OAA) Zuerst die Software und Treiber installieren, siehe Anleitung auf der CD. Testen des Boards Arduino-Programm starten. Gehe zum Menüpunkt WERKZEUGE. Wenn die Installation
MehrEingaben. Themen heute. Taster. Eingaben Zuweisungen Zeitmessung. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes
Eingaben Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Themen heute Eingaben Zuweisungen Zeitmessung Taster Wikipedia Ziel Wenn Taste gedrückt, soll LED leuchten Wir
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
Mehr4 Formelsammlung C/C++
4 Formelsammlung C/C++ 4.1 Datentypen Datentyp stdint.h type Bits Sign Wertebereich (unsigned) char uint8_t 8 Unsigned 0.. 255 signed char int8_t 8 Signed -128.. 127 unsigned short uint16_t 16 Unsigned
Mehr7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele
MehrInhalt. Vorwort...5 Hinweise zum Buch... 7 Abbildungsverzeichnis...15 T abellenverzeichnis... 19
Inhalt Vorwort...5 Hinweise zum Buch... 7 Abbildungsverzeichnis...15 T abellenverzeichnis... 19 1 Grundlagen... 21 1.1 Informatik... 21 1.1.1 Was ist Informatik?...21 1.1.2 Wozu Informatik-Kenntnisse?...
MehrJava Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 2 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 19. April 2006 (UniDUE) 19. April 2006 1 / 13 Java Programme Java Programme bestehen aus (meist mehreren) Klassen. In den Klassen
MehrRGBWW WLAN LED Dimmer mit H801 (ESP8266)
RGBWW WLAN LED Dimmer mit H801 (ESP8266) Im Internet gibt bekommt man unter der Bezeichnung H801 WLAN LED Dimmer kostengünstiges Modul, dass über WLAN angesteuert werden kann. Eigenschaften H801: 5 Kanäle
MehrPython Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13
Python Intro Vorsemesterkurs Informatik Praktischer Teil WS2012/13 2.Oktober 2012 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral
MehrPROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrWLAN-Schaltrelais WLAN-SR1
Seite 1 von 11 WLAN-Schaltrelais Inhaltsverzeichnis 1. Einleitung... 2 2. Eigenschaften... 2 3. Web-Interface... 2 4. Initialisierung... 4 4.1 Anmeldung der Schaltung im lokalen WLAN mittel WPS-Verfahren...
MehrEinführung in die Programmierung für NF. Übung
Einführung in die Programmierung für NF Übung 01 23.10.2013 Inhalt Übungen und Übungsblätter Uniworx und Abgabeformate Plagiarismus Algorithmen und Pseudocode Variablen und Methoden Boolsche Operatoren
MehrQuick-Start Informatik Programmieren in Python Teil 1
Quick-Start Informatik 2011 Programmieren in Python Teil 1 Alles zum Praxisteil } Skript, Übungen, auf Folien... http://vorkurs.cs.uni-frankfurt.de Bücher: Gratis: http://learnpythonthehardway.org/ Fragen,
MehrSimple serial time and HTTP client API Version 00.75
Simple serial time and HTTP client API Version 00.75 (C) 2016 Christian Zietz Seite 1 von 5 Allgemeine Konventionen Die Einstellungen der seriellen Schnittstelle sind: 9600 bit/s, 8 Datenbits,
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrDie Technik hinter IoT: Arduino, Raspberry Pi & Co.
Die Technik hinter IoT: Arduino, Raspberry Pi & Co. Praxisbeispiele für den Hausgebrauch Uwe Steinmann MMK GmbH 25.-26. September 2017 Uwe Steinmann (MMK GmbH) Die Technik hinter IoT 25.-26. September
MehrPython Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14
Python Intro I Vorsemesterkurs Informatik Praktischer Teil WS 2013/14 1.Oktober 2013 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!
MehrRoboterprogrammierung
ReferenceGuide Einführungs Autor: Fachhochschule Südwestfalen Fachbereich Elektrische Energietechnik Campus Soest Hinweise zur Benutzung Dieses Dokument soll die Arbeit während des Praktikums erleichtern,
MehrKURZANLEITUNG -COMMANDER / COMMANDER GSM Software Version 1.5.0
KURZANLEITUNG -COMMANDER / COMMANDER GSM Software Version 1.5.0 1. Inbetriebnahme Stromversorgung Verbinden Sie den Commander über das mitgelieferte Netzteil mit einer Steckdose. Hinweis: Nur der Commander
MehrDatenblatt GCM (W)LAN GMM EC.1. ERP-Nr.: Datenblatt GCM (W)LAN GMM EC.1 V_1.1
Datenblatt GCM (W)LAN GMM EC.1 ERP-Nr.: 5206083 www.guentner.de Seite 2 / 8 Inhaltsverzeichnis 1 GCM (W)LAN GMM EC.1... 3 1.1 Funktionsbeschreibung... 3 1.2 Anschlüsse...4 1.3 LEDs...5 1.4 Schiebeschalter...
MehrBedienungsanleitung. Datenmess- und Speichersystem. PWBlogg. Tablet-PC Software PWB-Soft 3.0 App. Für Windows und Android
Bedienungsanleitung Datenmess- und Speichersystem PWBlogg Tablet-PC Software PWB-Soft 3.0 App Für Windows und Android Inhalt 1 Installation 3 1.1 Windows 3 1.2 Android 3 2 Einführung 3 3 Programmstart
MehrC++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.
C++ Teil 3 3.3 Schleifen Man kann bestimme en in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. for-schleife for-schleife while-schleife do-while-schleife for ( Ausdruck1;
MehrDMXface ACTIVE SEND mit RS232
DMXface ACTIVE SEND mit RS232 Für DMXface FW Version ab 5.07 Allgemeines... 2 Einstellen des ACTIVE Send für RS232 Port 1... 3 Daten Sendungen vom DMXface... 4 DMX Daten... 4 Infrarot Empfang... 4 Änderungen
Mehr4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen
. Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit
Mehr1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.
Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten
MehrNaturwissenschaftliche Grundlagen der Sensorik. WiFi und MQTT. Chemnitz 16. Oktober 2017 Prof. Dr.
WiFi und WiFi #include const char* ssid = XXXX"; const char* password = XXX"; WiFiClient espclient; Verwendet wird die Arduino Library ESP8266WiFi.h Zur Verbindung ins Internet werden ssid
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:
MehrWillkommen! Vorbereitung:
Willkommen! Und herzlichen Dank für den Kauf unseres AZ-Delivery ESP8266-01S mit Relais. Auf den folgenden Seiten gehen wir mit dir gemeinsam die ersten Schritte der Programmierung durch. Viel Spaß! Der
MehrInformatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe
Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrHelvePic32 Breadboard. Internet Data Logger
2016/04/03 21:14 1/10 HelvePic32 Breadboard Alle Beispiele, welche beim Helvepic32 angegeben sind, können unverändert natürlich auch beim HelvePic32 Breadboard verwendet werden. Daher nutzen wir die Gelegenheit,
MehrInformatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2017 1 und der Typ bool Typ bool Typ bool Vergleichsoperationen
MehrWS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 02. Oktober 2018 RBI-Account Account für das Rechnernetz der Informatik RBI-Account HRZ-Account zum Arbeiten an und auf den Rechnern des Instituts
MehrProgrammieren des ESP8266 mit OLED
Willkommen! Und herzlichen Dank für den Kauf unseres AZ-Delivery ESP8266 Mikrocontroller mit integrierten 0.91" OLED Display. Auf den folgenden Seiten gehen wir mit dir gemeinsam die ersten Programmierschritte
MehrArrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
MehrMicrocomputer be-greifbare Informatik
Microcomputer be-greifbare Informatik Abstraktionsstufen - Level of Abstraction Scratch bietet bereits einige Blöcke an, die theoretisch aus anderen Blöcken bestehen könnten. Diese Blöcke erleichtern den
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration
MehrDie Sonne spielt Musik
Die Sonne spielt Musik Magst du Musik? Spielst du ein Instrument? Wie wäre es, wenn du dein eigenes Instrument bauen könntest. Ein Fotowiderstand reagiert auf Licht. Je mehr Licht auf ihn trifft, je besser
MehrHello World! Eine Einführung in das Programmieren Variablen
Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrFlashen der OMOTON Wlan-Steckdose mit der Tasmota Firmware
Flashen der OMOTON Wlan-Steckdose mit der Tasmota Firmware ACHTUNG! Der Komplette Vorgang wird ausgeführt, OHNE dass die Steckdose am Strom hängt. LEBENSGEFAHR! 1. Vorbereitung - Software: o Arduino herunterladen
MehrMicrocontroller Praktikum SS2010 Dipl. Ing. R. Reisch
Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch Die wichtigsten Unterlagen/Tools Für das Praktikum Unterlagen/Kenntnisse/Tools wichtig: Datenblatt des AT80USB1287 µc Schaltplan des im Praktikum verwendeten
MehrAzure IoT Hub. Christian Kratky
Azure IoT Hub Christian Kratky 22.08.2017 Vorstellung Christian Kratky krátký (tschechisch) - eine geringe Länge habend, kurz Softwareentwickler seit 2005 Schwerpunkte.NET / Azure / IoT / Arduino / WPF
MehrImperative vs. Funktionale Programmierung
Beispiel: Entwerfe eine Funktion, die testet, ob eine Zahl n eine Primzahl ist oder nicht. Beobachtung: (1) Wenn n Primzahl ist, ist die Menge der Teiler von n leer. (2) Die Menge der Teiler von n sind
MehrDatentypen: integer, char, string, boolean
Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,
MehrESP32 Pico-Board. und Node-RED GUI ESP32 Addon. ESP32 und Node-RED Datenversand. Vers. 1.0
ESP32 Pico-Board und Node-RED GUI https://erik-bartmann.de/ ESP32 Addon ESP32 und Node-RED Datenversand Vers. 1.0 by Erik Bartmann, Juli 2018 ESP32 und Node-Daten D ieses ESP32-Addon baut auf das vorangegangene
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrStarten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:
Blinken Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein: // Projekt 1 - LED Blinker int ledpin = 13; void setup() pinmode(ledpin, OUTPUT); void loop() digitalwrite(ledpin, HIGH);
MehrSerielle Kommunikation - Kodierung
Serielle Kommunikation - Kodierung (1.) Erstellen Sie nachfolgende Klasse: Dabei haben die Methoden folgende Funktionen: exists(): Überprüft, ob eine serielle Schnittstelle existiert getproperties(): Liefert
MehrAlgorithmen und ihre Programmierung -Teil 2-
Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung -Teil 2- Veronika Waue WS 07/08 Wiederholung: Algorithmen Variablen und Datentypen Variablen haben einen Namen, einen Datentypen und einen
MehrAnleitung zur Einrichtung der Drahtlosverbindung (WLAN) Für DWR-730
Anleitung zur Einrichtung der Drahtlosverbindung (WLAN) Für DWR-730 Um Ihre Drahtlosverbindung (WLAN) abzusichern, müssen Sie die Verschlüsselung im DIR-Router konfigurieren. Ein ungesichertes WLAN kann
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
MehrArbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
Mehrfloat: Fließkommazahl nach IEEE 754 Standard mit 32 bit
Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrProgrammieren in C / C++ Internet der Dinge Mikrocontroller ESP8266
Programmieren in C / C++ Internet der Dinge Mikrocontroller ESP8266 Hochschule Fulda FB AI Wintersemester 2017/18 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Internet der Dinge 1 Programmieren
MehrRaspberry Pi meets Pocket Code. Tutorial: Ampelschaltung
Raspberry Pi meets Pocket Code Tutorial: Ampelschaltung Dieses Material steht unter der Creative-Commons-Lizenz Namensnennung 4.0 International. Um eine Kopie dieser Lizenz zu sehen, besuchen sie http://creativecommons.org/licenses/by/4.0/.
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrBridge/Bridge with AP Modus einrichten mit 3x DAP-1160
Bridge/Bridge with AP Modus einrichten mit 3x DAP-1160 Der Bridge Modus dient zur Funk Verbindung von zwei oder mehreren verkabelten Netzwerken (zum Beispiel Punkt-zu-Punkt Verbindung von 2 Gebäudenetzwerken).
Mehrund fordert sie auf sich anzumelden. Benutzername: admin Passwort: 1234
IC-7000PT/n Grundeinrichtung 1. Für die Ersteinrichtung ist eine Kabelverbindung zwischen Router und Kamera notwendig. Die Kamera erhällt jetzt eine gültige IP Adresse von ihrem Router und ist im Netzwerk
MehrInformatik Vorkurs - Vorlesung 2
Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs
Mehr