+ All Categories
Home > Technology > digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwicklung

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

Date post: 02-Jul-2015
Category:
Upload: digitalstromorg
View: 5,372 times
Download: 2 times
Share this document with a friend
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.
21
aizo dSS Entwicklung – Jump start Zürich, 27.01.2011, Johannes Winkelmann
Transcript
Page 1: digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwicklung

aizo

dSS Entwicklung – Jump start

Zürich, 27.01.2011, Johannes Winkelmann

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

01/31/11 2

Outline• Erste Schritte• dSS-Applikation & Entwicklungsinfrastruktur• Compilation und Ausführung• Reference Platform

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

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

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

01/31/11 4

dSS System-Architektur

digitalSTROM-Server - dSS

dS485 stack Third party Bibliotheken

Betriebssystem

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

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

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

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

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

01/31/11 7

Verteile Versionskontrolle im dSS-Projekt

Integration /Code review

1. Push

Master -Repository

Lokales Repository Lokale commits

Persönliches Repository

Clone

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

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

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

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

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

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

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

01/31/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

$ make

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

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

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

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

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

01/31/11 14

Demo• gitorious• git clone• Compilation• Setup (Datenverzeichnis, SSL)• Ausführen• JSON-Interface

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

01/31/11 15

Embedded Target: dSS11

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

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

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

01/31/11 17

Reference Platform

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

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

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

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

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

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]

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

aizo

Vielen Dank für Ihr Interesse!


Recommended