Programmieren in C / C++ Software Serial, Bluetooth

Slides:



Advertisements
Ähnliche Präsentationen
Entwicklung des Attiny-Boards Version 1.0 – 2.1 Prototyp.
Advertisements

Aufbau einer Punkt zu Punkt Kommunikationsverbindung zwischen PG/PC mit STARTER und MICROMASTER 4 Geräten. BOP-Link Bitte beachten Sie: - Die Hardware.
USB - Universal Serial Bus
Hochschule Fulda – FB ET Sommersemester 2010
Bluetooth Security.
Multimediasteuerungen
Übertragungsgeschwindigkeit: Bandbreite und Durchsatz
E / IDE Enhanced / Integrated Device Elektronics
Sicherheit in drahtlosen Netzen
RS232 Register und ihre Bits
Steuerung externer Komponenten über ein USB-Interface.
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
1. Was ist Hardware? Hardware nennt man alle Geräte und Bauteile, die zu einem Computer gehören – also alles was man am Computer anfassen kann. Bsp: Monitor,
DYNTEST –Control Systems -Probleme beim Auslesen-
Bluetooth Autor: Ron Nitzsche IAV02 14.April 2008.
Warum gibt es Netzwerke?
Netzwerke.
Programmieren in C Dynamische Listen / Bäume
Programmieren in C Grundlagen C 5
Informatik II Grundlagen der Programmierung Programmieren in C Benutzerinteraktion / Ein- und Ausgabe Hochschule Fulda – FB ET Sommersemester
Informatik II Grundlagen der Programmierung Programmieren in C printf() mit variabler Feldbreite Hochschule Fulda – FB ET Sommersemester 2014
Informatik II Grundlagen der Programmierung Programmieren in C Funktionen, Adressen, Zeiger Hochschule Fulda – FB ET Sommersemester 2014
Mathias Schultz Benjamin Skirlo
Programmieren in C Module und Bibliotheken Hochschule Fulda – FB AI Sommersemester Peter Klingebiel, HS Fulda, DVZ.
Programmieren in C Grundlagen C 2
Programmieren in C Sortieren, Suchen
I/O Schnittstellen.
Die einfachste Variante! Anlegen, ausfüllen und senden !
USB.
Smartphone Verbindungen
Entwicklung des Attiny-Boards
Bussysteme WS 05/06 Dominik Fehrenbach EN5:
Referat über USB von Ralph Heinz.
Robotermechanik Trippelmechanismus Schussmechanismus Antriebsmotoren
Entfernungsmessung mit Ultraschall
Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Hardwareprogrammierung.
HMI /// GOT1000 /// HMI /// GOT1000 /// HMI /// GOT1000 /// HMI /// GOT1000 /// HMI /// GOT1000 /// HMI Mitsubishi Electric – GOT1000 – GT10 und Alpha2.
Markus Heller, M.A. (DL8RDS)Datum: Folie Nummer 1 File: Einsatz von Mikrocontrollern in Amateurfunkprojekten Microcontroller in Selbstbauprojekten.
4. Graphische Oberflächen mit Qt-Framework. Was ist Qt? ● gesprochen englisch cute = hübsch ● C++-Klassenbibliothek ● Erweitert C++ um zusätzliche Features.
Programmieren in C / C++ Internet der Dinge Mikrocontroller ESP8266
Programmieren in C / C++ ESP8266-Boards und das Internet der Dinge
C / C++ für das Internet der Dinge und Hausautomatisierung Arduino Uno / Nano / … Input, Interrupts, Timer, Sleepmode Hochschule Fulda – FB AI Sommersemester.
Microsoft Windows Theresa Grüter
Programmieren in C / C++ Klassen und Vererbung, Templates
Schnittstellen Externe Anschlüsse auf dem Motherboard
Erste Schritte im Internet of Things
Marsroboter fernsteuern
Programmieren in C Dynamische Listen / Bäume
Programmieren in C Einführung
Projektmodul DM Wearables
Programmieren in C Grundlagen C 2
Inhaltsverzeichnis Was ist Arduino? Hardwarekomponenten
>> Analogwerte senden über serielle Schnittstelle
Unser Mikrocontroller – Der Arduino
Hochschule Fulda – FB AI Sommersemester 2017
Programmieren in C Wie speichert C
Schnittstellen (externe Anschlüsse auf dem Motherboard)
Hochschule Fulda – FB AI Wintersemester 2014/15
Tablet Suada Kerimi.
Smartphone Verbindungen
Projektmodul DM Kurze Einführung Arduino und Arduino-Programmierung
Projektmodul DM Wearables
Produktschulungspräsentation – Switches, Access-Point, Docking-Station
Programmieren in C Module und Bibliotheken
Verbindung mit einem Netzwerk
I2C-HC / SCB Verifikation
Kapitel XV: Weitere drahtlose Übertragungsverfahren
Den Bus erkunden ….
Ich brauche eine Web-Seite vom Server im Internet
ESP32 Arduino Herzlich willkommen zum Edison Quickie. „ESP32-Blink“
 Präsentation transkript:

Programmieren in C / C++ Software Serial, Bluetooth Hochschule Fulda – FB AI Sommersemester 2017 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI

Software Serial 1 viele an Microcontroller angeschlossene Geräte kommunizieren mittels serieller Schnittstelle z.B. GPS, WiFi, Bluetooth, … Beispiel: Arduino UNO und Adafruit GPS Modul Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Software Serial 2 Problem: viele Microcontroller bieten nur eine serielle Schnittstelle an, z.B UNO, Nano usw. diese wird meist über die USB-Schnittstelle angesteuert und zum Flashen der Programme sowie zur Kommunikation über den seriellen Monitor verwendet. Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Software Serial 3 Lösung: serielle Schnittstelle mittels Software realisieren  Software Serial die Arduino-Klasse SoftwareSerial implementiert eine funktionale serielle Schnittstelle mit einigen wenigen Einschränkungen (siehe Doku) benötigt werden zwei digitale Pins: ein Receiver-Pin (RX) und ein Transmitter-Pin (TX) #include <SoftwareSerial.h> #define RXPin 2 // Receiver Pin #define TXPin 3 // Transmitter Pin // Instantiierung eines Objekts SoftwareSerial mySerial = SoftwareSerial(RXPin, TXPin); Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Software Serial 4 weitere Kommunikation: // in setup()  initialisieren mySerial.begin(9600); // in loop()  kommunizieren char c; // solange Daten anliegen while(mySerial.available()) { // ein Zeichen lesen c = mySerial.read(); // und verarbeiten handle(c); }  www.arduino.cc/en/Reference/SoftwareSerial Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 1 Bluetooth  Industriestandard für Datenübertragung zwischen Geräten über kurze Distanzen per Funk nutzt das 2.4 GHz-Band (wie WiFi) standardisiert gemäß IEEE 802.15.1 durch die Bluetooth Special Interest Group (SIG) enstanden in den 1990er Jahren um kabelbasierte durch kabellose Verbindungen zu ersetzen 1999 Bluetooth 1.0 – erste standardisierte Version Empfang bis 706.25 kBit/s, Senden bis 57.6 kBit/s 2004 Bluetooth 2.0-EDR – bis zu 2.1 Mbit/s ab 2009 Bluetooth 4.0 – BLE (Low Energy) ab 2014 Bluetooth 4.2 (Sicherheit , Bandbreite ) Ab 2016: Bluetooth 5.0 (Reichweite , Bandbreite ) Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 2 48 Bit MAC-Adresse, Form: xx:xx.xx:xx:xx Reichweiten und Leistungen Master-Slave Konzept Master: inquiry message, danach page message Slave: sendet Adresse und Namen, dann pairing BLE lässt auch verbindungslosen Betrieb zu BT: bis zu 7 Verbindungen gleichzeitig BT-Netze - Piconet Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 3 Bluetooth für Arduino über BT-Module z.B. von adafruit, Sparkfun u.v.a.m. preisgünstige Module z.B. HC-05, HC-06, HM-10 BLE HC-05: BT classic, serielle Verbindung, Master und Slave HC-06: BT classic, serielle Verbindung, nur Slave Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 4 Verbindung Nano mit HC-06 Module: 3.3 Volt-Level (Spannungsteiler bei Receive RX!) Nano-TX-Pin  BT-RX und Nano RX-Pin  BT-TX Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 5 Programmierung mittels Software Serial #include <SoftwareSerial.h> #define RXPin 2 // pin d2 -> txd #define TXPin 3 // pin d3 -> rxd SoftwareSerial btSerial(RXPin, TXPin); void setup() { Serial.begin(9600); btSerial.begin(9600); } void loop() { while(Serial.available() > 0) btSerial.write(Serial.read()); while(btSerial.available() > 0) Serial.write(btSerial.read()); } Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 6 1. Schritt: Koppeln mit Windows (z.B. Windows 8.1) PC-Einstellungen  PC und Geräte  Bluetooth BT-Device auswählen und Koppeln (pairing) HC: Standard Kode 1234 HC: Standard Baudrate 9600 rote und blaue LEDs am Modul blinken HC ist nach Koppeln noch nicht verbunden! 2. Schritt: Verbindung mit HC-Modul COM-Port des HC-Moduls ermitteln (aus BT-Eigenschaften ermitteln oder mit Arduino Monitor / putty o.ä. ausprobieren) Aufbau einer (seriellen) Verbindung zum HC-Modul z.B. mit putty: Serial, Baudrate (Speed) auf 9600 und COM-Port (Serial Line) auswählen und verbinden rote und blaue LEDs leuchten dauerhaft Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 7 HC-Module werden mit AT-Kommandos konfiguriert Format: AT bzw. AT+KOMMANDO einige wichtige AT-Kommandos AT // Testkommando  OK AT+VERSION // -> Version der Firmware AT+NAMEname // Name name setzen  OKsetname AT+PINpin // PIN pin setzen  OKsetPIN AT+BAUDbaud // Baudrate default 4=9600 Konfigurieren: HC-Modul nicht verbinden, direkt über den Arduino Monitor mit Modul kommunizieren, auf Baudrate und Linedisziplin achten, evtl. ausprobieren. HC-Module: viele verschiedene Hersteller mit oft unterschiedlicher Firmware und AT-Kommandos Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 8 einfaches Beispiel: Schalten einer LED #define LEDPin 6 // LED an Pin 6 int led = LOW; // Zustand der LED void setup() { pinMode(LEDPin, OUTPUT); } void loop() { while(btSerial.available() > 0) { char c = btSerial.read(); if(c == ’#’) digitalWrite(LEDPin, led = !led); } } Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 9 Weiteres einfaches Beispiel: Schalten einer LED mittels Android-App App-Entwicklung mit MITs APP-Inventor  ai2.appinventor.mit.edu vor Nutzung ist Anmeldung erforderlich Aufbau der App Label: Titel Button: BT Select Button: LED On/Off Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 10 Ansicht App-Inventor Designer Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 11 Ansicht App-Inventor Blocks Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 12 Erweiterung: Schrittzähler schaltet LED Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

Bluetooth 11 … in der Ansicht App-Inventor Blocks Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI