Date post: | 02-Jul-2015 |
Category: |
Technology |
Upload: | digitalstromorg |
View: | 5,372 times |
Download: | 2 times |
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!