Sonntag, 24. Juni 2012

Dark Side Bakery - Review

Vorwort:
Dieser Blogpost wartet seit dem 21.05. auf seine Veröffentlichung. Zwischendurch gab es ein paar Zusätze und weiter Bilder aber der eigentliche Grund der Verzögerung ist folgender: Das "Entwickeln" der Bilder benötigte einige Zeit, denn sie wurden mit der Digicam meiner Freundin gemacht - Betroffene wissen das kann dauern ;)

Was ist eigentlich die Dark Side Bakery fragen sich viele Leute. Da ich es glücklicher weise schon einrichten konnte der "Dunklen Seite" einen Besuch abzustatten wird auch mir diese Frage hin und wieder gestellt.
Und hey Ihr habt Glück - ich werde versuchen die Frage mit einem kurzem Review zu beantworten und damit auch gleich meinen Blog am Leben halten.

Die Adresse der Dark Side Bakery (DSB) kann mittlerweile ohne viel Suchen im Internet gefunden werden. Aber seid gewarnt, wenn Ihr wie ich das ganze mit einem Zahlendreher abspeichert steht Ihr offensichtlich vor dem falschem Haus (bei mir kam für eine Sekunde der Zweifel auf ob es dieses Dark Side Ding vielleicht ein Fake ist).
So sieht die DSB nicht aus, das ist die Torstraße 146.

Nun gut wer es denn zur Nummer 164 schafft erkennt schnell: "Hier bin ich richtig!" Das Türschild lädt regelrecht zum klingeln ein!
So viel Text, zwei Bilder und noch kein Wort was die DSB ist, jetzt spanne ich Euch nicht weiter auf die Folter:
Es ist ein gigantischer obercooler total genialer von einem Croissant bewohnter Co-Working-Space.
Dieser wird unterhalten von Microsoft, genauer von Tom Wendel, Patric Boscolo und Felix Rieseberg. Es gibt dort mehrere Räume mit Schreibtischen, Monitoren, Whiteboards und allem was das Entwicklerherz höher schlagen lässt.

Gedacht ist es für Entwickler, Startups und alle anderen die gern eine App in den neuen Windows 8 Store bringen wollen und dazu etwas Unterstützung oder einfach nur einen ruhigen Arbeitsplatz benötigen. Die Unterstützung gibt es sowohl von den Microsofties als auch von allen Anderen die dort Arbeiten denn die Atmosphäre ist sehr freundschaftlich und Jeder hilft jedem gern weiter.

Auch für das leibliche Wohl ist gesorgt, so wird am Abend schnell mal Pizza bestellt und es steht ein großer Kühlschrank im Loft der mit einer reichhaltigen Auswahl an Getränken stets gut gefüllt ist.

Bei meinem zweiten Besuch in der Dark Side Bakery gab es neben dem alltäglichen Arbeiten und sich gegenseitig Helfen auch noch ein paar zusätzliche Highlights.

Zum einen gab es eine Reihe von Vorträgen welche durch Sebastian Weber initiiert wurden. Hier gab es jede Menge Informationen für Startups und die die es werden wollen. Da war echt was los im Loft, das kann ich Euch sagen.

Zum zweiten hatte ich die Möglichkeit mit einer App, die sich gerade in Entwicklung befindet, an einem sogenanntem App Excellence Lab (AEL) teilzunehmen. Hier bekommt man von einem Microsoft Mitarbeiter ein kostenloses Consulting für seine App. Wenn die App gut aufgebaut ist und einige Rahmenbedingungen erfüllt sind, dann bekommt man sogar einen Token um in den Store zu kommen bevor dieser offiziell eröffnet ist.

So nun gibt's kein Geschwafel mehr sondern nur noch ein paar Bilder von der DSB. Denn tausend Worte können nicht vermitteln was Ihr selbst dort erleben könnt. Deshalb: Schnappt Euch die kleine Schwerster - ach quatsch - Eure App-Idee und fahrt nach Berlin, Ihr werdet es nicht bereuen!!








Also ich hoffe ich konnte etwas Licht ins Dunkel bringen auch wenn die Dark Side Bakery Mittlerweile schon richtig berühmt ist :)
Siehe z.B.


Und sogar bei Welt der Wunder , wer genau hinsieht findet mich auch :)


Ach ja .. ich habe sogar ein Foto vom Crossiant für Euch als es seine Filmszene schon abgedreht hatte, aber noch kein internationaler Star war:

P.S. Auch wenn einige durch Bilder & Co. auf Facebook denken die gut 2 Monate DSB wären für Felix, Patric und Tom eine verdammt entspannt Art Arbeitszeit abzusitzen lasst mich sagen: Das ist echt harte Arbeit und die Jungs machen da einen super Job der viel von Ihnen abverlangt!
<Ironie> Um das zu bestätigen noch ein letztes Foto.

</Ironie>

Montag, 18. Juni 2012

Debug Metro Apps - Terminated State & Background Task

Hallo Jungs & Mädels,
ich habe am Wochenende von Felix Rieseberg einen Tipp bekommen der für mich und andere im Büro Gold wert ist. Es ist eine kleine Sache aber die meisten kennen sie nicht, daher mein Post dazu.

Beim ersten ausführen des Windows App Cert Kits scheiterte meine Anwendung einzig beim Punkt "Performance suspend" mit der Meldung:
Error Found: The performance suspend test collected the following results:
  • Application Error: Application Suspend was not detected for application App. This could be because your application failed to suspend correctly. Please consider re-running the test avoid interacting with the application while tests are running.
So sieht das im Report aus:

Der Fehler kam von Suspension Manager an folgender Stelle in der App.xaml.cs:
if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
{    // Restore the saved session state only when appropriate
    await SuspensionManager.RestoreAsync();

Aber der Weg das herauszufinden war für mich schwer, denn hier an meinem Entwicklerrechner "terminierte" die App so gut wie nie.
Wie also bewusst den Termination State hervorrufen? Ähnliche Probleme gibt es auch mit BackgroundTask's.

Hier nun der eigentliche Tipp:

Im Visual Studio 2012 unter View -> Toolbars eine Toolbar mit dem Namen "Debug Location" hinzufügen. Verdammt unscheinbarer Name für die genialen Mittel die hier verborgen liegen.

Erst mal ein Screenshot vom Helferlein:

Und da seht Ihr auch schon um was es hier geht, man kann die Anwendung (bei mir ein Beispiel von Microsoft) in den Suspend Status schicken, sie wieder aufwecken (Resume) und das aller Beste, sie gezielt in den Terminated State schicken. Dazu einfach "Suspend and shutdown" anklicken und schon geht's ab. Beim nächstem anwerfen der App steht der PreviousExecutionState auf Terminated *Yeah*.

Und für die unter Euch die sich wie mein Kollege Lars schon intensiv mit den Background Task auseinander gesetzt haben gibt's noch ein weiteres Highlight. Der Eintrag "SampleBackgroundTask" entspricht dem Namen eines von der App registrierten Tasks. Mit einem herzhaften Klick werden Träume wahr - Ihr stoßt den Task an ohne auf den Ablauf einer Zeit oder das auftreten eines anderen Triggers zu warten. Ist das geil? Ich finde schon!

Dafür DANKE Felix, schon damit hat sich der Besuch beim Mobile Camp in Dresden gelohnt.

So einen habe ich noch... Nur ein Tipp am Rande. Vielleicht habt Ihr euch auch den SuspensionManager aus den Templates geschnappt um Euren App-LifeCycle damit zu verarbeiten.

Meine Suche nach den Fehler der die App im Cert Kit scheitern lies führte mich zu folgender XML Exception (Unexpected end of file):


Daneben gab es noch eine weiter System.Runtime.InteropService.COMException:


Also lange Reder kurzer Sinn, wie beim neuen Grid-Template gut zu sehen wird es empfohlen als Navigation-Parameter Strings (Zeichenketten) statt Objekten zu verwenden. Oder man baut entsprechend den SuspensionManager um.

Auf jeden Fall klappt es danach (dem Umstellen auf Strings) auch mit den Windows App Cert Kit und man ist mit seiner Metro Style App einen Schritt weiter in Richtung Windows 8 Store.

Ich freue mich immer über Kommentare, Fragen und Hinweise - naja und wenn's sein muss dürft ihr auch Kritik hier abladen!

Sonntag, 13. Mai 2012

RolloTron 9300 goes HomeMatic

Hallo Allerseits,
ich hatte ja schon eine ganze Weile lang vor, endlich mal einen Blog zu starten und mein neues Spielzeug gibt jetzt endlich den passenden Anlass dazu.
Kurzum es geht darum, einen Gurtwickler der Firma Rademacher mit dem Heimautomatisierungssystem HomeMatic der Firma EQ3 anzusteuern.

Ein Rollo mit dem HomeMatic System ansteuern ist kein Problem, dazu gibt es den passenden Aktor - dachte ich. Dieser ist leider nur für das direkte Anschließen an einen Motor geeignet.
Da ich zur Miete wohne, fällt der Einbau eines Rohrmotors leider aus und die Amazon Bewertungen sprechen eindeutig für einen Rolladenantrieb der RolloTron-Serie. Diese bieten leider keine offene Schnittstelle, welche mit einem HomeMatic-Aktor angesprochen werden könnte, also kurz nach Alternativen suchen - und keine finden.

Okay die Sache mit dem Gurtwickler war geklärt und das gute Stück bestellt, fehlt also noch ein passender Aktor um das Ganze mit dem HomeMatic System zu verbinden. Nach kurzer Recherche kristallisierte sich der 4-Kanal-Schaltaktor HM-LC-SW4-PCB als geeignet heraus.

Als beide Komponenten bei mir eingetroffen waren und ich ein wenig Zeit hatte, ging es an das "Zusammenbringen".
Dazu erst einmal den Gurtwickler wieder ausbauen (er kam 3 Tage vor dem Schaltaktor an und wollte getestet werden :) und einen Blick hinter die Frontblende werfen.
Erste Begeisterung. Da sind normale SMD-Taster verbaut, die sollten sich doch super mit den Relais des  HM-LC-SW4-PCB überbrücken lassen.
So sieht die Platine im Auslieferungszustand aus.

Die Frontblende ist übrigens nur an vier Stellen festgeklemmt und die Platine auf einen Sockel aufgesteckt - lässt sich also zum bearbeiten super abziehen.

Ein erster Versuch mit zwei Litzen an den Schaltaktor scheiterte, es gab ein Klicken und der Gurtwickler machte einen Reset - nicht so toll.

Ich habe erst mal ein bisschen mit dem Multimeter geforscht was auf der Steuerplatine denn so passiert. Dabei bin ich zu der Feststellung gekommen, die machen mit dem PIC-Mikrokontroller ein Polling auf die Taster.
Was aber noch nicht erklärt, warum ein einfaches Kurzschließen der Taster nicht funktioniert. Also zweiter Test: Den Taster mit einem kurzem Draht kurzschließen und siehe da - ging wie gewollt.
Nach ein paar weiteren Versuchen mit dem Relais des Funkschalters habe ich die Suchmaschine meines Vertrauens bemüht und bin auch fündig geworden.
Im FHZ-Forum gibt es zu meinem Problem einen sehr schönen und ausführlichen Post mit einer genauen Anleitung was zu tun ist. Lieder bezieht sich der Thread auf den RolloTron9200 und Nutzer die einen Nachbau mit dem 9300er versuchen hängen an den Problemen die mich bis dahin auch beschäftigten.

Nach einer Woche Ruhezeit ging ich die Sache auf ein neues an und habe eine gut funktionierende Lösung für mich gefunden die ich euch jetzt vorstellen möchte.

Benötigt wird:
Bei den Optokopplern und Widerständen könnt Ihr ein bisschen variieren, ich hab die in Klammern gesetzten Varianten verwendet, da diese im lokalem Conrad-Shop verfügbar waren.

Zuerst ganz kurz was gemacht wurde. Ich habe mir die Versorgungsspannung für das Funkmodul von der Rademacher Steuerung abgegriffen und die Taster mit Optokopplern überbrückt. Zur Ansteuerung der Optokoppler wurde im Funkmodul das Relais durch einen Widerstand ersetzt.

So nun Schrittweise:
 Zuerst die Änderungen am 4-Kanal-Schaltaktor HM-LC-SW4-PCB.
Ihr müsst den vormontierten IC3 (MC7805) ablöten und dessen Ein- und Ausgang überbrücken. Ich habe das mit einem "LED-Beinchen" realisiert.
Dies ist nötig da der IC eine Eingangsspannung von 7 Volt benötigt und daraus stabilisierte 5 Volt macht, diese bekommen wir schon vom RolloTron.

Dann muss das Relais durch eine Drahtbrücke und einen Widerstand ersetzt werden, so dass der Controller nicht mehr das Relais ansteuert sondern die Ausgangsklemmen direkt. Ich habe an diese Stelle gleich den Widerstand eingelötet der zum Betrieb der Optokoppler an 5V notwendig ist.

Fertiggestellt mit bunten Markierungen sieht das dann so aus:

Rot: Die Brücke an der sich vorher der Spannungsregler IC3 befand
Blau: Der 160 Ohm Widerstand an Masse (daher das - an der Klemme)
Gelb: Die Drahtbrücke zwischen 5V und dem Pin der zu Klemme mit + führt

Damit ist der Schaltaktor vorbereitet. Wenn man nicht wie ich die Relais wieder auslöten muss, geht das recht flott.

Nun zur Steuerung des RolloTron: Ich habe leider vergessen nach der Fertigstellung ein Foto zu machen. Aber mit dem Bild der Platine und meinen grafischem Talent bekommen wir das auch so hin. 

Also um es kurz zu machen:
Rot: 5V Plus zur Versorgung des Funktaktors
Grün: Masse (GND) ebenfalls für die Spannungsversorgung des HM-LC-SW4 ( Blau oder Schwarz war so schlecht zu erkennen)

Pink: Der Emitter des Optokopplers(Pin 4)
Gelb: Der Collector des Optokopplers (Pin 3)
Dabei ist anzumerken, dass ich die Optokoppler mit recht kurzen Kabeln angelötet habe, je nur zwei - drei Zentimeter lang. Die Optokoppler habe ich dann mit einem tropfen Heißkleber so an der Platine befestigt das die Frontverkleidung weiterhin passt und alle Taster funktionsfähig bleiben. 

Pin 1 (Anode) der Optokoppler kann dann mit einem recht langen Kabel/Draht an die linke Schraubklemme von K1 angeschlossen werden, Pin 2 (Kathode) entsprechend an die rechte mit "-" gekennzeichnete Klemme.

Tja und das war es auch schon mit den kleinen Opto-ICs die unter der Frontblende des RolloTron verschwinden kann ich jetzt den Funkaktor einsetzen und alles per HomeMatic steuern. Was jetzt noch fehlt ist ein passendes weißes Gehäuse für den HM-LC-SW4 vielleicht hat ja einer von Euch einen Tipp?!

Bei Fragen und Anregungen bitte ich euch unbedingt die Kommentarfunktion zu nutzen!