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

5,541 views
5,468 views

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,541
On SlideShare
0
From Embeds
0
Number of Embeds
3,916
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. aizodSS Entwicklung – Jump startZürich, 27.01.2011, Johannes Winkelmann
  2. 2. Outline• Erste Schritte• dSS-Applikation & Entwicklungsinfrastruktur• Compilation und Ausführung• Reference Platform01/31/11 2
  3. 3. Erste SchritteEntwickler-Webseite: − http://developer.digitalstrom.orgWiki (Dokumentationssammlung): − http://developer.digitalstrom.org/redmine/projects/dss/wikiBenötigte Hardware: konventioneller PC01/31/11 3
  4. 4. dSS System-Architektur digitalSTROM-Server - dSS dS485 stack Third party Bibliotheken Betriebssystem01/31/11 4
  5. 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 v301/31/11 5
  6. 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 muss01/31/11 6
  7. 7. Verteile Versionskontrolle im dSS-Projekt Integration / Code review Master - Persönliches Repository Repository 1. Push Clone Lokales Lokale commits Repository01/31/11 7
  8. 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.org01/31/11 8
  9. 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, XEmacs01/31/11 9
  10. 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 Engine01/31/11 10
  11. 11. Compilation in 5 SchrittenVisit: 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$ make01/31/11 11
  12. 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 vorhanden01/31/11 12
  13. 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. 14. Demo• gitorious• git clone• Compilation• Setup (Datenverzeichnis, SSL)• Ausführen• JSON-Interface01/31/11 14
  15. 15. Embedded Target: dSS1101/31/11 15
  16. 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 gehostet01/31/11 16
  17. 17. Reference Platform01/31/11 17
  18. 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öglich01/31/11 18
  19. 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ältlich01/31/11 19
  20. 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.org01/31/11 20
  21. 21. aizoVielen Dank für Ihr Interesse!

×