Upload
digitalstromorg
View
5.372
Download
2
Embed Size (px)
DESCRIPTION
Johannes Winkelmann, dSS-Entwickler, schloss an das Referat zum Entwicklungsprozess an. Er wies auf die konkreten Einstiegspunkte zu Informationen und Programmcode hin und zeigte die dafür notwendigen Entwicklungswerkzeuge. Ebenso stellte er die bereits erhältliche digitalSTROM Reference Platform vor – gewissermassen eine komplette digitalSTROM-Installation in einer Box, die es Entwicklern erlaubt, Scripts zu schreiben und ihre Ideen für Wohnen und Arbeiten mit digitalSTROM zu testen.
Citation preview
aizo
dSS Entwicklung – Jump start
Zürich, 27.01.2011, Johannes Winkelmann
01/31/11 2
Outline• Erste Schritte• dSS-Applikation & Entwicklungsinfrastruktur• Compilation und Ausführung• Reference Platform
01/31/11 3
Erste SchritteEntwickler-Webseite:
− http://developer.digitalstrom.org
Wiki (Dokumentationssammlung):− http://developer.digitalstrom.org/redmine/projects/dss/wiki
Benötigte Hardware: konventioneller PC
01/31/11 4
dSS System-Architektur
digitalSTROM-Server - dSS
dS485 stack Third party Bibliotheken
Betriebssystem
01/31/11 5
dSS ApplikationC++ Applikation
− C++: 28858 (85.76%)− C: 3246 (9.65%)− Shell: 1067 (3.17%)− Python: 327 (0.97%)
Quellcode offen verfügbar− Wiederverwendbar unter den Bestimmungen der GPL v3
01/31/11 6
Versionskontrolle: git• Versionkontrolle: git
− Stabiles und schnelles Versionskontrollsystem− Unterstützt dezentrale/verteilte Entwicklung− Wird von vielen anderen OpenSource-Projekten verwendet,
unter anderem vom Linux Kernel
• Verteilte Revisionskontrolle− Vereinfacht parallele Entwicklungszweige und deren
Rückführung ins Hauptrepository− Erlaubt Mitarbeit, ohne dass neuen Benutzern Schreibzugriff
auf das Hauptrepository gewährt werden muss
01/31/11 7
Verteile Versionskontrolle im dSS-Projekt
Integration /Code review
1. Push
Master -Repository
Lokales Repository Lokale commits
Persönliches Repository
Clone
01/31/11 8
Versionskontrolle: gitorious• Versionkontroll-Hosting: gitorious
− Webschnittstelle zu git− Code kann via Web-Browser eingesehen werden− Erlaubt bequemes Erstellen und Verwalten von Code-
Repositories, sowohl persönliche als auch solche für Gruppen
− Unterstützt komfortables Einsenden und Diskutieren von Änderungsvorschlägen (Merge Requests)
− gehostet auf http://gitorious.digitalstrom.org
01/31/11 9
Entwicklungsumgebung• Unterstützte Plattformen:
− Linux (typisch: Fedora und Ubuntu)− Mac OS X− Windows/Cygwin
• Toolchain / Compiler− GNU Compiler Collection GCC (http://gcc.gnu.org)
• IDE- / Editor unabhängig− KDevelop, Eclipse, Vim, XEmacs
01/31/11 10
Anhängigkeiten• Aizo: dS485 Software-Stack (ab 0.9.x)
− Ebenfalls erhältlich via http://gitorious.digitalstrom.org− Scripts zur vereinfachten Installation verfügbar
• Externe (third party) Bibliotheken:− Boost – C++ Library− Poco – C++ Library− Gsoap – C++ SOAP Implementation− Libical – iCal Kalenderdatenverwaltung− Spidermonkey – JavaScript Engine
01/31/11 11
Compilation in 5 SchrittenVisit: http://gitorious.digitalstrom.org/dss/dss-mainline
$ git clone \
git://gitorious.digitalstrom.org/dss/dssmainline.git
$ cd dssmainline
$ mkdir build && cd build
$ cmake .. DWITH_DATADIR=data
$ make
01/31/11 12
Vorbereitung vor dem ersten Start• Web-Interface herunterladen
− Separates Release
• Datenverzeichnis festlegen− Benutzer-Konfiguration− Ablage von Statusinformationen− Speicherort für Metering-Daten
• SSL-Zertifikat erstellen− Verschlüsselte Verbindung zum Web-Interface− Helper-Skript zur Generierung vorhanden
01/31/11 13
Connect and play!• dSS starten:
− $ ./dss
• Mit Webbrowser auf https://localhost:8080 verbinden• JSON-Interface verfügbar• Ohne digitalSTROM-Komponenten nur Simulation möglich
01/31/11 14
Demo• gitorious• git clone• Compilation• Setup (Datenverzeichnis, SSL)• Ausführen• JSON-Interface
01/31/11 15
Embedded Target: dSS11
01/31/11 16
OpenEmbedded• Build-Framework für Embedded-Linux
− Stellt System-Pakete und Cross-Compiler zur Verfügung− OpenSource-Projekt− Eingesetzt in kommerziellen und nicht-kommerziellen
Projekten
• dSS11-OpenEmbedded− Paketverwaltung− Kompiliert komplette Flash-Images für die Installation− Inkl. Root-Filesystem, Kernel, Bootloader− Auf http://gitorious.digitalstrom.org gehostet
01/31/11 17
Reference Platform
01/31/11 18
Reference Platform - Umfang• digitalSTROM Meter• digitalSTROM Server• 2 Lichtklemmen M• 2 Steckdosen• Ethernet-Anschluss• RS485-Anschluss
− USB-RS485-Adapter inbegriffen− Anschluss an Entwicklungssystem möglich
01/31/11 19
Reference Platform - Verfügbarkeit• Mieten im Rahmen des Entwicklerwettbewerbs
− Gratis für Mitglieder der digitalSTROM.org− 300 € Depotzahlung für Nicht-Mitglieder
• Kaufen− 1000 €
• Bestellformulare erhältlich
01/31/11 20
Weitere Informationen• http://developer.digitalstrom.org
− Wiki− Bug Tracking und Release-Planung
• http://gitorious.digitalstrom.org
• Mailinglisten:− [email protected]− [email protected]
aizo
Vielen Dank für Ihr Interesse!