SlideShare a Scribd company logo
1 of 21
Download to read offline
aizo

dSS Entwicklung – Jump start
Zürich, 27.01.2011, Johannes Winkelmann
Outline
•   Erste Schritte
•   dSS-Applikation & Entwicklungsinfrastruktur
•   Compilation und Ausführung
•   Reference Platform




01/31/11                                          2
Erste Schritte
Entwickler-Webseite:
     − http://developer.digitalstrom.org
Wiki (Dokumentationssammlung):
     − http://developer.digitalstrom.org/redmine/projects/dss/wiki



Benötigte Hardware: konventioneller PC




01/31/11                                                             3
dSS System-Architektur

                    digitalSTROM-Server - dSS




           dS485 stack              Third party Bibliotheken




                         Betriebssystem



01/31/11                                                       4
dSS Applikation
C++ 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                                                     5
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                                                             6
Verteile Versionskontrolle im dSS-Projekt
                        Integration /
                        Code review
            Master -                       Persönliches
           Repository                       Repository




                                        1. Push
               Clone



                          Lokales
                                                  Lokale commits
                         Repository




01/31/11                                                           7
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                                                         8
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                                                  9
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                                                            10
Compilation in 5 Schritten
Visit: http://gitorious.digitalstrom.org/dss/dss-mainline

$ git clone 
   git://gitorious.digitalstrom.org/dss/dss­mainline.git
$ cd dss­mainline
$ mkdir build && cd build
$ cmake .. ­DWITH_DATADIR=data
$ make




01/31/11                                                    11
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                                             12
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                                                13
Demo
•   gitorious
•   git clone
•   Compilation
•   Setup (Datenverzeichnis, SSL)
•   Ausführen
•   JSON-Interface




01/31/11                            14
Embedded Target: dSS11




01/31/11                 15
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                                                            16
Reference Platform




01/31/11             17
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                                         18
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                                            19
Weitere Informationen
• http://developer.digitalstrom.org
     − Wiki
     − Bug Tracking und Release-Planung

• http://gitorious.digitalstrom.org

• Mailinglisten:
     − dss-announce@forum.digitalstrom.org
     − dss-developer@forum.digitalstrom.org




01/31/11                                      20
aizo

Vielen Dank für Ihr Interesse!

More Related Content

What's hot

"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?inovex GmbH
 
Groups 2010.03: PDF-Reader empfehlen (Digital Sustainability)
Groups 2010.03: PDF-Reader empfehlen (Digital Sustainability)Groups 2010.03: PDF-Reader empfehlen (Digital Sustainability)
Groups 2010.03: PDF-Reader empfehlen (Digital Sustainability)Marcus Dapp
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen B1 Systems GmbH
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 

What's hot (6)

Was ist Docker ?
Was ist Docker ?Was ist Docker ?
Was ist Docker ?
 
"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?
 
Groups 2010.03: PDF-Reader empfehlen (Digital Sustainability)
Groups 2010.03: PDF-Reader empfehlen (Digital Sustainability)Groups 2010.03: PDF-Reader empfehlen (Digital Sustainability)
Groups 2010.03: PDF-Reader empfehlen (Digital Sustainability)
 
GIT / SVN
GIT / SVNGIT / SVN
GIT / SVN
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 

Viewers also liked

Clases de libros contables
Clases de libros contablesClases de libros contables
Clases de libros contablesVeronica Caro
 
Sala de 5 "Los Delfines"
Sala de 5 "Los Delfines"Sala de 5 "Los Delfines"
Sala de 5 "Los Delfines"martinyomar
 
DINOSAURS AND FERNS ,OH MY!
DINOSAURS AND FERNS ,OH MY!DINOSAURS AND FERNS ,OH MY!
DINOSAURS AND FERNS ,OH MY!joe133952
 
Multiplikatoren der Online-PR
Multiplikatoren der Online-PRMultiplikatoren der Online-PR
Multiplikatoren der Online-PRRainer Bartel
 
Social Media Einführung - 2011
Social Media Einführung - 2011Social Media Einführung - 2011
Social Media Einführung - 2011Jesko Arlt
 
2 situacion actual_robotica
2 situacion actual_robotica2 situacion actual_robotica
2 situacion actual_roboticaDavid Sancho
 
Statistik Veroeffentlichungen Jahrbuch 2009 Niedrig
Statistik Veroeffentlichungen Jahrbuch 2009 NiedrigStatistik Veroeffentlichungen Jahrbuch 2009 Niedrig
Statistik Veroeffentlichungen Jahrbuch 2009 Niedriggreenpolarbear
 
Holografische Folientechnologien _ documentation design thesis (german)
Holografische Folientechnologien _ documentation design thesis (german)Holografische Folientechnologien _ documentation design thesis (german)
Holografische Folientechnologien _ documentation design thesis (german)Ralph Schneider
 
Etimología de informática
Etimología de informáticaEtimología de informática
Etimología de informáticaJasmin Cárdenas
 
Web Tour
Web TourWeb Tour
Web Tourmchoeve
 
“La banca tradicional no ha sabido adaptarse aún a la era digital”
“La banca tradicional no ha sabido adaptarse aún a la era digital”“La banca tradicional no ha sabido adaptarse aún a la era digital”
“La banca tradicional no ha sabido adaptarse aún a la era digital”Hugo Najera
 
Zielmedien der Online-PR
Zielmedien der Online-PRZielmedien der Online-PR
Zielmedien der Online-PRRainer Bartel
 

Viewers also liked (20)

Clases de libros contables
Clases de libros contablesClases de libros contables
Clases de libros contables
 
Sala de 5 "Los Delfines"
Sala de 5 "Los Delfines"Sala de 5 "Los Delfines"
Sala de 5 "Los Delfines"
 
DINOSAURS AND FERNS ,OH MY!
DINOSAURS AND FERNS ,OH MY!DINOSAURS AND FERNS ,OH MY!
DINOSAURS AND FERNS ,OH MY!
 
Multiplikatoren der Online-PR
Multiplikatoren der Online-PRMultiplikatoren der Online-PR
Multiplikatoren der Online-PR
 
Illik verteilte systeme
Illik verteilte systemeIllik verteilte systeme
Illik verteilte systeme
 
Social Media Einführung - 2011
Social Media Einführung - 2011Social Media Einführung - 2011
Social Media Einführung - 2011
 
Hansimglueck
HansimglueckHansimglueck
Hansimglueck
 
2 situacion actual_robotica
2 situacion actual_robotica2 situacion actual_robotica
2 situacion actual_robotica
 
Statistik Veroeffentlichungen Jahrbuch 2009 Niedrig
Statistik Veroeffentlichungen Jahrbuch 2009 NiedrigStatistik Veroeffentlichungen Jahrbuch 2009 Niedrig
Statistik Veroeffentlichungen Jahrbuch 2009 Niedrig
 
Holografische Folientechnologien _ documentation design thesis (german)
Holografische Folientechnologien _ documentation design thesis (german)Holografische Folientechnologien _ documentation design thesis (german)
Holografische Folientechnologien _ documentation design thesis (german)
 
Libro 2º evaluación
Libro 2º evaluaciónLibro 2º evaluación
Libro 2º evaluación
 
Parlez Vous Turc
Parlez Vous TurcParlez Vous Turc
Parlez Vous Turc
 
Etimología de informática
Etimología de informáticaEtimología de informática
Etimología de informática
 
Informatica memorias
Informatica memoriasInformatica memorias
Informatica memorias
 
Networld Team
Networld TeamNetworld Team
Networld Team
 
Web Tour
Web TourWeb Tour
Web Tour
 
(227)+méx..
(227)+méx..(227)+méx..
(227)+méx..
 
“La banca tradicional no ha sabido adaptarse aún a la era digital”
“La banca tradicional no ha sabido adaptarse aún a la era digital”“La banca tradicional no ha sabido adaptarse aún a la era digital”
“La banca tradicional no ha sabido adaptarse aún a la era digital”
 
Geschaeftspraesentation
GeschaeftspraesentationGeschaeftspraesentation
Geschaeftspraesentation
 
Zielmedien der Online-PR
Zielmedien der Online-PRZielmedien der Online-PR
Zielmedien der Online-PR
 

Similar to digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwicklung

Lokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVLokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVPeter Kraume
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCBild GmbH & Co. KG
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien DNUG e.V.
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionOliver Busse
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...NETWAYS
 
Die Containerplattform Lego für DevOps
Die Containerplattform Lego für DevOpsDie Containerplattform Lego für DevOps
Die Containerplattform Lego für DevOpsATIX AG
 
Li So G Osci
Li So G OsciLi So G Osci
Li So G OsciCloudcamp
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
 
ownCloud - Meine Daten gehören mir!
ownCloud - Meine Daten gehören mir!ownCloud - Meine Daten gehören mir!
ownCloud - Meine Daten gehören mir!Björn Schießle
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions
 
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISGeoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISPeter Löwe
 
DNUG Domino Day 2017 - ApplicationInsights & IBM Domino Doublecheck
DNUG Domino Day 2017 - ApplicationInsights & IBM Domino DoublecheckDNUG Domino Day 2017 - ApplicationInsights & IBM Domino Doublecheck
DNUG Domino Day 2017 - ApplicationInsights & IBM Domino DoublecheckChristoph Adler
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Agenda Europe 2035
 

Similar to digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwicklung (20)

Lokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEVLokale TYPO3 Entwicklungsumgebung mit DDEV
Lokale TYPO3 Entwicklungsumgebung mit DDEV
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
 
Ant im Detail
Ant im DetailAnt im Detail
Ant im Detail
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
 
Die Containerplattform Lego für DevOps
Die Containerplattform Lego für DevOpsDie Containerplattform Lego für DevOps
Die Containerplattform Lego für DevOps
 
openHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG DüsseldorfopenHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG Düsseldorf
 
Li So G Osci
Li So G OsciLi So G Osci
Li So G Osci
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay Portal
 
ownCloud - Meine Daten gehören mir!
ownCloud - Meine Daten gehören mir!ownCloud - Meine Daten gehören mir!
ownCloud - Meine Daten gehören mir!
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISGeoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
 
DNUG Domino Day 2017 - ApplicationInsights & IBM Domino Doublecheck
DNUG Domino Day 2017 - ApplicationInsights & IBM Domino DoublecheckDNUG Domino Day 2017 - ApplicationInsights & IBM Domino Doublecheck
DNUG Domino Day 2017 - ApplicationInsights & IBM Domino Doublecheck
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)
 
Cinema in the Cloud
Cinema in the CloudCinema in the Cloud
Cinema in the Cloud
 

More from digitalSTROM.org

digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IIdigitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IIdigitalSTROM.org
 
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IdigitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IdigitalSTROM.org
 
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM.org
 
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM.org
 
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...digitalSTROM.org
 
digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten...
digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten...digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten...
digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten...digitalSTROM.org
 
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-ServerdigitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-ServerdigitalSTROM.org
 
digitalSTROM Developer Day 2011: Referat Ludger Hovestadt
digitalSTROM Developer Day 2011: Referat Ludger HovestadtdigitalSTROM Developer Day 2011: Referat Ludger Hovestadt
digitalSTROM Developer Day 2011: Referat Ludger HovestadtdigitalSTROM.org
 
digitalSTROM Interaction Design Concepts
digitalSTROM Interaction Design ConceptsdigitalSTROM Interaction Design Concepts
digitalSTROM Interaction Design ConceptsdigitalSTROM.org
 
digitalSTROM Server Development
digitalSTROM Server DevelopmentdigitalSTROM Server Development
digitalSTROM Server DevelopmentdigitalSTROM.org
 
Contributing to dSS development
Contributing to dSS developmentContributing to dSS development
Contributing to dSS developmentdigitalSTROM.org
 

More from digitalSTROM.org (13)

digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IIdigitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
 
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IdigitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
 
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
 
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
 
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
 
digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten...
digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten...digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten...
digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten...
 
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-ServerdigitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
 
digitalSTROM Developer Day 2011: Referat Ludger Hovestadt
digitalSTROM Developer Day 2011: Referat Ludger HovestadtdigitalSTROM Developer Day 2011: Referat Ludger Hovestadt
digitalSTROM Developer Day 2011: Referat Ludger Hovestadt
 
digitalSTROM Interaction Design Concepts
digitalSTROM Interaction Design ConceptsdigitalSTROM Interaction Design Concepts
digitalSTROM Interaction Design Concepts
 
digitalSTROM Server Development
digitalSTROM Server DevelopmentdigitalSTROM Server Development
digitalSTROM Server Development
 
UPnP and digitalSTROM
UPnP and digitalSTROMUPnP and digitalSTROM
UPnP and digitalSTROM
 
dSS API by example
dSS API by exampledSS API by example
dSS API by example
 
Contributing to dSS development
Contributing to dSS developmentContributing to dSS development
Contributing to dSS development
 

digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwicklung

  • 1. aizo dSS Entwicklung – Jump start Zürich, 27.01.2011, Johannes Winkelmann
  • 2. Outline • Erste Schritte • dSS-Applikation & Entwicklungsinfrastruktur • Compilation und Ausführung • Reference Platform 01/31/11 2
  • 3. Erste Schritte Entwickler-Webseite: − http://developer.digitalstrom.org Wiki (Dokumentationssammlung): − http://developer.digitalstrom.org/redmine/projects/dss/wiki Benötigte Hardware: konventioneller PC 01/31/11 3
  • 4. dSS System-Architektur digitalSTROM-Server - dSS dS485 stack Third party Bibliotheken Betriebssystem 01/31/11 4
  • 5. dSS Applikation C++ 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 5
  • 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 6
  • 7. Verteile Versionskontrolle im dSS-Projekt Integration / Code review Master - Persönliches Repository Repository 1. Push Clone Lokales Lokale commits Repository 01/31/11 7
  • 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 8
  • 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 9
  • 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 10
  • 11. Compilation in 5 Schritten Visit: http://gitorious.digitalstrom.org/dss/dss-mainline $ git clone     git://gitorious.digitalstrom.org/dss/dss­mainline.git $ cd dss­mainline $ mkdir build && cd build $ cmake .. ­DWITH_DATADIR=data $ make 01/31/11 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 12
  • 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 13
  • 14. Demo • gitorious • git clone • Compilation • Setup (Datenverzeichnis, SSL) • Ausführen • JSON-Interface 01/31/11 14
  • 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 16
  • 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 18
  • 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 19
  • 20. Weitere Informationen • http://developer.digitalstrom.org − Wiki − Bug Tracking und Release-Planung • http://gitorious.digitalstrom.org • Mailinglisten: − dss-announce@forum.digitalstrom.org − dss-developer@forum.digitalstrom.org 01/31/11 20
  • 21. aizo Vielen Dank für Ihr Interesse!