Railuino Hacking your Märklin



Ähnliche Dokumente
Railuino Hacking your Märklin. Jörg Pleumann OpenRheinRuhr

Railuino Hacking your Märklin

Pflichtenheft. Projektteam. Rexford Osei - Frey Michael Weichert Thomas Thutewohl. Pflichtenheft Seite 1 von 7

Quanton Manual (de) Datum: URL: )

Einfache Computersteuerung für Modellbahnen

serielle Schnittstelle/USB-Schnittstelle für das Velbus-System

Errata dspic-boards Fachbereich MDT TU-Berlin

Was ist Arduino? Historie Der Kern Entwicklungsumgebung Hardware Software Und wozu das Ganze? Workshop Mikrorechner 2012 A.

Meine neue CNC-Steuerung mit China CNC Karte. Vorderseite. Rückseite

Rückmeldungen werden zur Steuerung benötigt. Auf Grund einer Meldung erfolgt eine Reaktion.

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Sensor board EB

ICCS SSP 10. Merkmale. Anwendungsbeispiele

AndroidRCCar & Physical Computing mit Android

Funktionstest Ti2CA Compact

Informationen zum neuen Studmail häufige Fragen

Wir übertragen Daten mit Licht

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice

Facharbeit Informatik. Thema:

Waggonbeleuchtung. Stützkondensatoren

Das WeichenKeyboard CAN-DIGITAL-BAHN-PROJEKT


Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

Anschluss- und Anwendungsbeispiele für Rückmeldemodule RS-16-Opto!

hanazeder Montage, Anschluss HLC-EA-MP hanazeder electronic GmbH J.M. Dimmel Str Ried i. I.

s.beat DAP-10X White Paper USB Stromversorgung am Apple Macintosh und deren Auswirkung

Zusammenfassung Module CAN Digital Bahn. Stand August 2012

Simulation LIF5000. Abbildung 1

Zählen von Objekten einer bestimmten Klasse

Der Aufbau der Uhr ist sehr einfach, weil nur sehr wenige Bauteile eingelötet werden müssen.

3,2" Touch-LCD-Farbgrafikdisplay mit High-Level-Grafikcontroller

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)


Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

upsdrpc_c5_aufbau Anleitung zum Aufbau von upsdrpc für den Einsatz als Funkrufpapagei in einem Funkgerät C5.

BFI Industrie-Elektronik GmbH + Co. KG

ways2gether ipad App Guide

Anleitung. Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7. Palm SPT 1500 / 1550 Palm SPT 1700 / Bits & Bytes Seite 1

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Externe Abfrage von für Benutzer der HSA über Mozilla-Thunderbird

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

AVR Experimentierboard

Umwandelung einer Physikalischen Größe in eine Elektrische

USB-ZU-SERIELL-KONVERTER

Produktinformation TROXNETCOM-AS-Interface Planung

Vorläufiges. Handbuch

Enigmail Konfiguration

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Innovativer Unterricht mit Open Source Technologien

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

PROFIBUS-DP / INTERBUS-S / CAN-OPEN / DEVICE NET FÜR MULTIMACH

Summer Workshop Mehr Innovationskraft mit Change Management

HARDWARE. Öffnung Kensington Kabelschloss 2 Umschalttasten für Templates. USB-Buchse. 16 Drehregler. 4 Tasten für Navigation und Modus-Auswahl

Android + Arduino Hardware steuern mit Android. Entwicklertag Karlsruhe, Sebastian Wastl

Network Controller TCP/IP

MC-Hx 006. Einbindung des MC-Hx Modul als MODBus TCP Slave. MB DataTec GmbH. Stand:

DTMF-Decoder-Modul mit 6 Ausgängen & Morse-Transponder

7 Rechnen mit Polynomen

Emphatisches Beleuchten

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation.

MC-24 JetiBox. Kabelloses Jeti Lehrer/Schülersystem

Bauanleitung: Digitalumrüstung BR 01 Tillig

com.beck Produktübersicht Open Gateways

Hardware - Software - Net zwerke

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

HOTEL BÄREN. Familie Sauter Beobachtungen & Problembereiche. Interview mit Stefan Sauter (Miteigentümer)

Technische Informatik Basispraktikum Sommersemester 2001

Anleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Audiospektrum- Analyse mit Mikrocontrollern

Anleitung über den Umgang mit Schildern

Barcodedatei importieren

1. Kennlinien. 2. Stabilisierung der Emitterschaltung. Schaltungstechnik 2 Übung 4

Modem: Intern o. extern

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

Festigkeit von FDM-3D-Druckteilen

SOLARLADEGERÄT MIT USB ANSCHLUSS FÜR SMARTPHONES

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Unsichere Auslösung von Stoppkontakten von Friedel Weber

Vorschläge für kleine Bastel-Projekte im Rahmen des Arduino-Workshops

ESU LokProgrammer Software

Datenblatt GCM PROF GMM ECxx.1 Kommunikationsmodul Profibus für GMM EC GCM PROF GMM EC08.1 ERP-Nr.:

TECHNISCHE DOKUMENTATION ZUM TURBO-FREEZER XL 3 & XE 1

Steuerung DLS ECKLITE SC und SC xx-enc

Moderne Organisationen brauchen Flexibilität

Empfehlung für den Neubau/die Sanierung eines Einfamilienhauses

Mikrocontroller. CAN- Controller

Multimedia und Datenkommunikation

MyNav-Software-Installation

K.U.Müller November 2009

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

XY-Plotter. Hardware. Software µp. Software PC. von Thomas Wagner

Kurzinformationen zum Tracker GS818 von SECDET

DVB-T DA2 Hybrid Seite 1 von 10

Transkript:

Railuino Hacking your Märklin (Slightly extended edition) Jörg Pleumann LinuxTag 2012 26.05.2012

Fahrplan Arduino Digitale Modellbahn Steuerung Rückmeldung Beispiele

Arduino (I) Einfach zugängliche Microcontroller-Plattform Zielgruppe sind Bastler, Künstler, Schüler,... Open-Source (Hardware & Software) Sehr populär, viel Material & Zubehör Sehr günstig, ab 15 Euro aufwärts

Arduino (II) Basiert auf Atmel-Microcontrollern Programmierung basiert auf Wiring Untermenge von C++ Spezielle Bibliotheken Eigene Entwicklungsumgebung Möglichkeit zur Professionalisierung In Java implementiert Flashen z.b. über USB-Kabel

Hardware Boards Shields

Software ieru s i l a i Init ng hle c s s o Endl ife

Digitale Modellbahn (I) Analog: AC oder DC, v ~ U U, v t Digital: DC plus Protokoll U t

Digitale Modellbahn (II) Viele Vorteile Weniger Kabelsalat Spitzenlicht hat konstante Helligkeit Loks und Zubehör brauchen Decoder Alles hat eine eindeutige Adresse Verschiedene Protokolle MM2 Märklin-proprietär alt MFX Märklin-proprietär neu DCC Offenes Protokoll der NMRA

Digitale Modellbahn (III) Infrarot-Fernsteuerung Nur vier Lokomotiven Nur MM2, fixe Adressen Mobile Station 2 MM2, MFX und DCC Weichen schalten Central Station 2 Gleispläne darstellen Ethernet-Anschluss, iphone

Steuern Mobile Station 2 reines Bediengerät Digitalsignal wird in der Anschlussbox erzeugt Die beiden kommunizieren via CAN-Bus Das Protokoll ist (teilweise) offengelegt (Da (Damuss mussdoch dochetwas etwaszu zumachen machensein?) sein?) Es gibt einen CAN Shield von Sparkfun Dazu passend existiert eine Library Diese benötigt allerdings Anpassungen

CAN Shield von Sparkfun CAN-Bus SD-Karte Joystick GPS LCD-Display

Kabel zur Anschlussbox 9-Pol Sub-D auf 10-Pol Mini-DIN DIN-Stecker von www.can-digital-bahn.com Belegung der beiden Seiten Signal 9-Pol Sub-D 10-Pol Mini-DIN CAN_L 5 8 CAN_H 3 4 GND 2 2 Vcc 9 1 Versorgt den Arduino mit Strom

Protokoll (I) 11 Bit SID 18 Bit EID 44Bit Bit 88Bit Bit 11Bit Bit Prio Cmd Rsp Prio Cmd Rsp 16 16Bit Bit Hash Hash Länge Daten 44Bit Bit DLC DLC 88Bit Bit 88Bit Bit 88Bit Bit 88Bit Bit 88Bit Bit 88Bit Bit 88Bit Bit 88Bit Bit D1 D2 D3 D4 D5 D6 D7 D8 D1 D2 D3 D4 D5 D6 D7 D8 Jede Nachricht: 29 Bit Header, 8 Byte Daten Priorität immer 0x0 Hash identifiziert Gerät (z.b. 0xff10) In den meisten Fällen Frage / Antwort Nachricht kommt als Bestätigung zurück Nachricht enthält Antwort auf Anfrage Antwortbit gesetzt

Protokoll (II) Library kann senden und empfangen Der Rest ist Bitschubserei Die wichtigsten Kommandos sind dokumentiert Steuern von Lokomotiven, Funktionen, Zubehör MM2, DCC, MFX, Selectrix Darüber hinaus hilft Sniffing Mobile Station und Arduino anschließen Der Arduino sieht alle Kommandos auf dem Bus

Rückmeldung (I) Wissen, wo ein Zug gerade ist Möglichkeiten Schaltgleise Kontaktgleise Lichtschranken Magnetkontakte Achtung: Galvanische Trennung wichtig! An den Schienen liegen 18V Elektronische Bauteile mögen nur 5V

Rückmeldung (II) Variante 1: Schalter direkt an Arduino Einfach, skaliert aber nicht Man muss im richtigen Moment abfragen Variante 2: S88-Bus Sechsadriger Standardbus für Rückmeldung Parallele Eingänge, serieller Ausgang, Puffer Zur Zentrale Modul Modul11 Modul Modul22 Eingänge Eingänge1-16 1-16 Eingänge Eingänge17-32 17-32 Weitere Module

Schaltung

Software Timing (via Google) > LOAD > CLOCK > RESET < DATA 1 2 3 Auf dem Arduino leicht zu realisieren Zwei Stunden Arbeit Enthält eine Stunde Dummheit 4

Die Summe der Teile (I)

Die Summe der Teile (II) Einfach zugängliches API #include <Railuino.h> Klasse TrackController mit z.b. setlocodirection() setlocospeed() setaccessory() Klasse TrackReporter mit z.b. refresh() getvalue()

Beispiele & Demo Manuelle Steuerung Autonome Steuerung Steuerung über USB Weiche Weicheauf aufmm-adresse MM-Adresse11 Lok Lokauf aufmm-adresse MM-Adresse21 21 Action! Action! Schaltgleis Schaltgleis Rechts: Rechts: S88 S88Kontakt Kontakt11 Links: Links: S88 S88Kontakt Kontakt22 Achtung: Achtung:Masse Massevom vom Gleis getrennt!!! Gleis getrennt!!!

Weitere Möglichkeiten Unterstützung für Infrarot-Fernbedienung Noch einfacher (Standardbeispiel, drei Bauteile) Eingeschränktere Möglichkeiten Steuerung über Netzwerk Bluetooth / Ethernet / WLAN Steuerung mit Android-Smartphone Accessory Development Kit (ADK) USB Host-Funktionalität (seit 3.x) Eigene Platinen mit Fritzing

Erfahrungen mit Arduino Man kommt schnell zu Ergebnissen Es existieren viele Shields / Libraries Erst Breadboard, später eigene Hardware Spezialanwendung erfordert oft Anpassung Anzahl der IO-Pins begrenzt Shields kommen sich in die Quere Lösung 1: Arduino Mega (mehr Pins) Lösung 2: Mehrere Arduinos vernetzen (I2C) Es macht wirklich einen Heidenspaß!

Danke für Euer Interesse! joerg dot pleumann at gmail dot com

Anhang 1: Referenzen Homepage des Arduino-Projekts www.arduino.cc Shops für Arduino und Zubehör www.sparkfun.com www.watterott.com Informationen zu digitaler Modellbahn und Protokollen www.maerklin.de/de/produkte/modellbahnsteuerung/digital.html www.digital-bahn.de Alternative Projekte zum Thema Digitalbahn www.can-digital-bahn.com www.skrauss.de/modellbahn/index.html www.opendcc.de developer.berlios.de/projects/microsrcp

Anhang 2: Bauteile Arduino Uno CAN Shield USB-Kabel 10-poliger Mini-DIN-Stecker 9-poliger Sub-D-Stecker männlich mit Gehäuse Geschirmtes 3-Adriges Kabel Pfostenleiste 6 polig Breadboard mit Jumper-Kabeln