Zwischenpräsentation

Slides:



Advertisements
Ähnliche Präsentationen
INTERFACES und PROGRAMMIERUNG für das Physikalische Anfängerpraktikum Prof. Dr. R. Lincke.
Advertisements

Webinterface für eingebettete Systeme in Dual-Server-Architektur
Programmorganisation
Magdalena Kowalcze Thomas Litzinger
Multimediasteuerungen
HMI / HMI-SPS XV400 HMI oder HMI-PLC – die CompactFlashTM entscheidet
Kapselung , toString , equals , Java API
Fortgeschrittenenpraktika WS 2003/04 Database Research Group, Prof. Dr. Bernhard Seeger Department of Mathematics and Computer Science University of Marburg.
Entwicklung des Attiny-Boards
Institut MD Universität Rostock Real-Time Linux Szenario –Board, liest (sampled) analoge Daten –produziert 8 Bit Ergebnis und gibt dieses alle 100 ms aus.
eXist Open Source Native XML Database
SAP R/3 - Speichermanagement
Windows auf öffentlichen PCs
BUS-Systeme (PCI) Allgemeines über BUS-Systeme Allgemeines zum PCI-Bus
Java: Grundlagen der Sprache
Palm OS Project Martin Ochs Palm OS Project Inhalt Hardware Schnittstellen Die serielle Schnittstelle Entwicklungsumgebung Test-Programm Hardware-Test.
Eingabeaufforderung (EA) Windows I Nützliche Kommandos (Kommando und /? liefert meist eine Liste von Optionen): cd bzw. chdir: change directory, wechselt.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Embedded Applications
Aufgabe Hardwarenahe Programmierung Bluetooth/Lan-Gateway Frank Reichenbach LAN/WLAN Bluetooth Kommunikation zwischen zwei Clients über Client 1 verbindet.
Introducing the .NET Framework
Sicherheit von mobilem Code Hauptseminar: Sicherheit in vernetzten Systemen Sicherheit von mobilem Code Oliver Grassow.
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
Handling und Erstellung von: DLL, EXE, COM, DCOM
ODBC (Open Database Connectivity)
Robotikprojekte mit dem LEGO NXT und DER Programmiersprache NXC
Einführung in die Programmiersprache Java
Diplomarbeitspräsentation Christian Aichinger
Tobias Kluge: FAME Middleware / Karlsruhe / The FAME project – Middleware.
Robotik für Lehr- und Entwicklungszwecke. Entwicklung eines universellen Lehrsystems zur Verwendung und Weiterentwicklung im Schulbetrieb Robotik OS-unabhängig.
Universelles Lehrsystem für den Schulbetrieb Robotik Betriebssystemunabhängig Programmiersprachenunabhängig Erweiterbar Einfach zu bedienen Gut dokumentiert.
LEGO NXT Konkurrenzsysteme
Basic Input/Output System
Betriebssysteme & BIOS
Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik.
Reasoner Semantische Interoperabilität
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Embedded Systems Prof. Dr. H. Kristl
CGI (Common Gateway Interface)
Netzwerke Ein Referat.
auf kleinen Linux-Devices
Midgard – ein Content Management System
Eine Fernsteuerung für den Lego EV3 Roboter
Die verschiedenen Schnittstellen eines Computers und ihre Verwendung
Embedded Linux Portierung auf mobiles Datenerfassungsterminal
Infoscreen 2.0.
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Objektorientierung.
Funktionsgenerator auf PCI Karte
BIOS/UEFI Joschka Mick.
System zur Videokompression Simone Buzzi Simon Häne Giuseppe Schiavello.
Entwicklung des Attiny-Boards
Mikrocomputertechnik Jürgen Walter
Ein Vortrag von Marcel Siegert und Philipp Hoffmann
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
Projektarbeit – SS08 Kai Aras
Semesterarbeit SS06 LEGO Mindstorms NeXT Generation
Objektorientierte (OO) Programmierung
Human Plant Interfaces MakeyMakey Workshop by Florian Weil - Potsdam
Eine komplexe Netzanwendung Webserver und Datenbankserver im Netzwerk in einer Anwendung einrichten.
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
Entwurf, Implementierung und Test eines Java – Web Services als Kommunikationsschnittstelle für Webapplikationen mit Funktionen.
Wozu Mikrocontroller? Praxisbezug Lehrplanbezug Didaktische Erwägungen Schulpraktische Erwägungen.
Technische Universität München Praktikum Mobile Web Teil RFID Technologie in mobiler Umgebung Hubert Kreuzpointner
Programmieren in C / C++ ESP8266-Boards und das Internet der Dinge
Marsroboter Fernsteuern - Ein Projekt am DLR Modulphase 2010
Inhaltsverzeichnis Was ist Arduino? Hardwarekomponenten
 Präsentation transkript:

Zwischenpräsentation

Inhalt Grundaufbau - Konzept Komponentenauswahl Controller-Board USB-I2C-Converter Programmierung – Libraries Grundsystem Sprachen und Systeme I2C MCK Fortschritt

Grundaufbau - Konzept

Ziel Entwicklung eines universellen Robotiksystems zur Verwendung und Weiterentwicklung im Schulbetrieb OS-unabhängig flexibles, erweiterbares System hardwaretechnisch einfach zu bedienen Ausreichende Dokumentation

Konzept Module Verbindung Zwischenplatine DriveSystem I2C-Bausteine, Sensoren/Aktoren Verbindung USB-I2C-Converter, ev. Direktverbindung Zwischenplatine Aktorensteuerung (Motoren u.a.) DriveSystem Eigene Energieversorgung, auswechselbar Das Modulsystem dient zur Funktionserweiterung, basierend auf I2C-Bausteinen und weiteren Sensoren/Aktoren. Es werden mehrere Schnittstellen (Steckverbindungen) zur Verfügung gestellt, die die Verbindung zu den einzelnen Modulen darstellen.   Die Module werden über einen USB-to-I2C-Converter mit dem USB-Port des Mainboards verbunden. Hiermit ist die Universalität der Funktionen gewährleistet, denn solange die Regeln der I2C-Module eingehalten werden, kann der Fantasie freien Lauf lassen. Nicht-I2C-Komponenten werden direkt mit der Zwischenplatine verbunden. Das Mother Board ist entweder eine Komponente eines Schulrechners/Laptops etc., auf dem die entsprechenden Programme gestartet werden, oder aber ein Teil eines Roboters, z.B. ein MiniITX-Board. Mobil ist der – mögliche - Roboter über ein auswechselbares DriveSystem, was bedeutet dass die Entscheidung, ob die Fortbewegung nun mit Reifen oder Beinen erfolgt, zu jeder Zeit geändert werden kann. Dies wird über eine Zwischenplatine realisiert, die, ähnlich dem Modulsystem, eine Schnittstellte für das DriveSytem zur Verfügung stellt (Motoren-Ports). Hierfür wird ein Controller-Board verwendet, dass es ermöglichen soll zum einen Motoren, zum anderen auch weitere Aktoren anzusteuern. Das DriveSystem besteht aus einer Grundplatte und, je nach DS, entweder Beinen oder Reifen incl. der jeweiligen Motoren und Servos. Jedes DriveSystem stellt seine eigene Energieversorgung bereit.

Komponentenauswahl I2C-USB-Converter: i2c-tiny-usb (till@harbaum.org) Controller-Board: Make Controller Kit (makingthings.com)

Make Controller Kit - MCK Kleine Größe – großer Komponentenumfang Eigenbau: Zeitkomponente kritisch Viele Schnittstellen Aktoren/Sensoren Programmiersprachen Hohe Leistung Atmel AT91SAM7X256 Mikrocontroller 32-bit ARM7 core 256K Flash 64K SRAM Bis zu 55MHZ/48MIPS Hoher Preis Versand aus den USA

i2c-tiny-usb Einfache Handhabung – universelle Basis LibUSB Library zum USB-Handling In C, entwickelt für Linux, Windows Port existiert Direktes Übersetzten in I2C-Signale Kein simulierter COM-Port Geringer Preis, jedoch Eigenbau

Programmierung – Libraries

Grundsystem Bestehende Funktionen (z.B. von LibUSB) tlw. sehr komplex  Kapselung Basis-Funktionen erstellt Einfacher, jedoch ev. eingeschränkte Funktionalität Bestehende Funktionen beibehalten  Für erfahrende User Für beide Kernkomponenten unseres Systems (i2c-tiny-usb und MCK), steht eine Auswahl an Funktionen zur Verfügung, die jedoch mitunter sehr komplex sind und einiges an Einarbeitungszeit bedingen, was für die Verwendung im Unterricht natürlich nicht günstig ist, es wird deshalb eine Kapselung der Funktionen durchgeführt. Diese Kapselung erfolgt mit dem Ziel, für unerfahrene Benutzer einfache und verständliche, jedoch in ihre Flexibilität möglicherweise eingeschränkte Funktionen bereit zu stellen. Für Profis bzw. erfahrene Benutzer werden die komplexeren Funktionalitäten, volle Kontrolle über die Komponente wird so ebenso ermöglicht wie die simplen Funktionen (read/write/getStatus…) für Anfänger.

Sprachen und Systeme Sprachen C/C++ Java C# Systeme Windows Linux

MCK C# Baut auf der MCK Basic C# Lib auf. (Nur Windows) Java Baut auf NetUtil auf. (Plattformunabhängig) Es sollen einsteigerfreundliche Bibliotheken erstellt werden In C werden Samples erstellt Kompilierbar auf Windows und Linux

MCK – Example-Struktur Port wählen Port.USB oder Port.LAN Verbindung öffnen open() Verbindung testen isReady() Ticket generieren generateTicket() Kommando und Kommandotyp setzen Setter/Getter möglich Kommando ausführen 1. executeBlocking() -> warten, bis das Kommando beendet ist (nur für GETTER) 2. executeNonBlocking() -> manuell den Status abfragen (für GETTER und SETTER) Bei Getter Kommandos das Ergebnis auslesen getValue() Speicher den das Ticket belegt freigeben Dispose() Verbindung schließen close() Speicher den das MakingThings Objekt belegt freigeben

I2C Bauen auf LibUSB auf  OS-Unabhängig Einsteigerfunktionen sollen bereitgestellt werden Kapselung der bestehenden LibUSB-Funktionen C#-Lib: In DLL zusammengefasste C- Funktionen aufrufen Java-Lib: JNI Die Funktionen des i2c-tiny-usb USB-I2C-Converters bauen auf LibUSB auf, diese Bibliothek wurde für Linux entwickelt, ein Windows-Port existiert. Die Anforderung an die USB-I2C-Kommunikation ist, wie an die Diplomarbeit generell, OS-Unabhängigkeit, Unterstützung von Hoch- sowie Low-Level-Sprachen (C#, Java, C) und Benutzerfreundlichkeit für Einsteiger und Profis. Die OS-Unabhängigkeit wird durch LibUSB bereitgestellt. C#-Umsetzung unter Windows erfolgt durch verwenden der LibUSB-dll, unter Linux entfällt Sie. Java-Umsetzung erfolgt sowohl in Windows als auch in Linux über JNI. C-Umsetzung bindet sowohl in Windows als auch in Linux durch Einbinden der von LibUSB bereitgestellten USB.h.

I2C – Example-Struktur i2c_get_multiple_converters i2c_init_win_multiple i2c_tiny_usb_get_func i2c_lookup_address i2c_write_basic i2c_read_basic i2c_close_win i2c_get_multiple_converters Liefert die Adressen der an- geschlossenen Converter Wenn nur ein Converter i2c_init_win()

Fortschritt

Done Hardwareplanung und Bau Programmierung MCK I2C Windows – C Windows – Java – Basisfunktionalitäten I2C Linux – C Windows – C# - Grundfunktionen

ToDo Programmierung Testsysteme I2C-Converter Neubau I2C MCK Windows – C# (Kosmetik- und erweiterte Funktionen) Windows – Java Linux – Java MCK Windows C# (Kosmetik- und erweiterte Funktionen) Windows – Java (Kosmetik- und erweiterte Funktionen) Linux – Java (Test) Linux/Windows – C (Mehr Samples) Testsysteme Auswahl erweitern I2C-Converter Neubau

Danke