Skip to content

Instantly share code, notes, and snippets.

@hemmerling
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hemmerling/10f11bb9ef9302bb80f1 to your computer and use it in GitHub Desktop.
Save hemmerling/10f11bb9ef9302bb80f1 to your computer and use it in GitHub Desktop.
Gründergarage - Description of the "Brick Firmware" business idea, in German language

Brick Firmware

veröffentlicht am 25. August 2014 um 12:18

Kurzbeschreibung der Idee

Bislang musste die Zielgruppe teure original Tinkerforge Mikrocontroller-Module und Zubehör kaufen. Nun können viele andere, preiswertere oder bei der Zielgruppe schon vorhandene Mikrocontroller-Module mit meiner OpenSource-Software verwendet werden

Beschreibung der Idee

Die in Java geschriebene OpenSource Software "Brick Daemon" ( http://github.com/Tinkerforge/brickd ) für PCs unter Linux oder Windows kann über USB-Kabel mit elektronischen Hardware-Modulen der Fa. Tinkerforge kommunizieren und so mit dieser Hardware verbundene Aktoren ( z.B. Schalter ) und Sensoren ( z.B. Lichtsensor ) ansprechen. Dies erlaubt eine schnelle und komfortable Implementation von Protoypen-Hardware und -Software zur Messdatenerfassung, Gebäudeautomatisation u.a. ).

Bislang kann die "Brick Daemon" PC-Software für Linux und Windows nur elektronische Hardware des Herstellers Tinkerforge ansteuern. Andere durchaus ähnliche elektronische Hardware anderer Hersteller ( z.B. Mikrocontroller-Boards ) lässt sich bislang nicht verwenden.

Da die komplette Software OpenSource ist, ist es möglich, Firmware für Dritthersteller-Hardware zu entwickeln, die mit dem "Brick Daemon" kommuniziert.

Meine Firmware löst also das Problem, daß man bislang einseitig auf das Hardware-Angebot von Tinkerforge angewiesen ist, um mit Hilfe von "Brick Daemon" mit selbstgeschriebener PC-Software seine eigenen Messdatenerfassungs- und Gebäudeautomatisations-Projekte zu realisieren.

Warum die Idee zu mir passt:

Ich bin Elektroingenieur - Dipl.-Ing.(FH) Informationstechnik -, habe also den ingenieurmäßigen Verstand, Kenntnisse und prakische Erfahrung, Software und Hardware in einer Anwendung zu kombinieren, wie es bei Brick Firmware fall ist ( Mikroncontroller-Boards mit einer speziellen Firmware zu bestücken, damit sie mit einer speziellen PC-Software zusammenarbeiten können )

Welches Problem wird gelöst?

Meine Firmware löst also das Problem, daß man bislang einseitig auf das Hardware-Angebot von Tinkerforge angewiesen ist, um mit Hilfe von "Brick Daemon" mit selbstgeschriebener PC-Software seine eigenen Messdatenerfassungs- und Gebäudeautomatisations-Projekte zu realisieren.

Zielgruppe

sind Schüler in Informatik-Kursen, Informatik-Studenten, IT-Auszubildende, Software-Ingenieure in Testlabors, Maker - die keine oder nur geringe Hardwarekenntnisse haben, aber sich mit dem Programmieren auf dem PC unter Linux oder Windows auskennen, aber keine oder nur geringe Erfahrung mit hardwarenaher Programmierung verfügen und auch den hohen Einarbeitungsaufwand in das Kennenlernen eines Mikrocontroller-Boards scheuen ( u.a. welche I/O Geräte hat der Hersteller zusätzlich zum Mikrocontroller-Kernel auf dem Board bzw. im Chip implementiert, und wie lässt diese sich ansprechen? ). Gemeinsame Vorteile der Tinkerforge- und Brick Daemon-Plattform:

Bei elektronischer Hardware von Tinkerforge handelt es sich um Mikrocontroller-Boards, die normalerweise für jede Aufgabe individuell in der Programmiersprache C oder gar Assembler programmiert werden. Dank des "Brick Daemon" Konzepts ist das für den Anwender von Tinkerforge-Hardware nicht mehr notwendig, da Tinkerforge die notwendige Software zum Ansprechen der Aktoren und Sensoren fest in den MIkrocontroller einprogrammiert hat.

Die eigentliche Geschäftslogik ( wann wird was getan? ) hingegen liegt auf einem ständig angeschlossenen und laufenden PC unter Linux oder Windows. Alle üblichen Programmiersprachen werden unterstützt, z.B. Java, Python, C# ) werden unterstützt, für beliebige weitere Programmiersprachen lassen sich die notwendigen Software-Schnittstellen leicht implementieren. Alleinstellungsmerkmale der Brick Daemon-Plattform:

Nun können vielfach bei Ausbildungseinrichtungen, Hochschulen, Elektronik-Werkstätten und Entwicklungslabors von Unternehmen sowie Maker-Hobbyisten vorhandene ( und augenblicklich ungenutzte ) Mikrocontroller-Hardware einem neuen Zweck zugeführt werden: Sie kann im Zusammenspiel mit der auf PCs laufenden Software "Brick Daemon" verwendet werden, anstatt dass neue ( Tinkerforge -) Hardware gekauft werden muss

Welche Vorteile vor anderen Produkten/Dienstleistungen hat die eingereichte Idee?

Die OpenSource Software "Brick Daemon" wird von der bisherigen Hardwareabhängigkeit gelöst - sie arbeitete bislang nur mit Mikrocontroller-Hardware der Fa. Tinkerforge zusammen, nun mit jeder Menge Third-Party Hardware -, und damit endlich wirklich "frei" verwendbar für Jedermann.

Wofür engagierst Du Dich mit dieser Idee?

Nachhaltigkeit - Die Mikrocontroller-Chiphersteller verschenken teilweise viele Evaluation-Boards oder geben diese zu günstigen Preisen an Entwickler ab. In vielen Fällen verschwinden dies Boards aber nach kurzer Zeit der Aufmerksamkeit in der Schublade oder stapeln sich gar dort . Oder in Ausbildungsstätten und Hochschulen steht "alte" Mikrocontroller-Hardware aus alten Projekten und Kursen ungenutzt herum. Nun wird solcher häufig hochwertiger Hardware eine neue Bestimmung gegeben - Sie können für Messdatenerfassungs- und Gebäudeautomatisations-Projekte im Zusammenspiel mit der "Brick Daemon" Software verwendet werden.

Risiken & Herausforderungen

Da die komplette Software, implementierten Protokolle und Schnittstellen des "Brick Daemon" Projekts und insbesondere auch die "Brick Firmware" Referenzimplementierung für Hardware-Module der Fa Tinkerforge als OpenSource Software über GitHub zur Verfügung stehen, sind rechtlich Probleme nicht zu erwarten.

Grundsätzliches Problem ist die Möglichkeit, dass der Ideengeber ( hier: Ich ) von Dritten "überholt" bzw. "überrollt" wird, also dass meine dann ebenfalls OpenSource gestellten Implementierungen der "Brick Firmware" von anderen leistungsstarken Softwareentwicklern oder gar Softweentwicklungs-Teams ( mit viel mehr möglichen Personentagen/Jahr als ich ) aufgenommen und selber weiterentwickelt werden, so daß ich nicht den gewünschten und beabsichtigten Ruf als "Master of Third-Party Brick Firmware" erhalte, sondern in der Bedeutungslosigkeit versinke und andere berühmt und bekannt werden. Aber so ist das eben mit dem Internet, OpenSource Software und überhaupt - Erfolgsgarantie gibt's nicht.

Nicht ganz auszuschließen, aber doch eher unwahrscheinlich sind "Gegenmaßnahmen" der Firma Tinkerforge, also z.B. indem Sie die Idee übernehmen und meine Implementierungen und Konzepte "überflüssig" machen.

Risiko: Die Firma Tinkerforge als "Leit-Entwickler" könnte auch tiefgreifende Änderungen an Ihrer OpenSource-Software vornehmen, für die ich dann jeweils in meinen Implementierungen Anpassungen vornehmen müsste, damit meine "Brick Firmware" noch mit aktuellen "Brick Daemons" läuft. Dadurch dass man auf GitHub Projekte clonen kann, ist zumindest auch langfristig sichergestellt, daß für eine einmal entwickelte "Brick Firmware" auch weiterhin eine - eventuell irgendwann veraltete - "Brick Daemon" Software zum freien Download gibt. Es kann also nichts verloren gehen.

Kategorie

Bildung, Digitale Technologien, Dienstleistungen, Internet of Things, Nachhaltigkeit / Umwelt

Kommentare

Rolf Hemmerling's Antwort, 25. September 2014 23:11

Ich habe GRÜNDLICH darüber nachgedacht, wie man "berühmt" werden kann, um daraufhin bezahlte Aufträge oder Festanstellungs-Jobs zu erhalten:

http://www.hemmerling.com/doku.php/en/reputationhowto.html

eine der dümmsten Ideen ist, sich wo anzuschließen, also als kleines Rädchen 1000ende von Stunden unbezahlter Arbeit leisten :-(, denn nur der Gründer / Leader erhält den Ruhm :-).

Anders sieht das bei Trittbrettfahrerei aus - das versuche ich ja gerade, mich durch die Implementierung der OpenSource Firmware für Drittsysteme an den Erfolg des BrickServers "dranzuhängen" :-).

Und wenn man als Einzelgänger anfängt, kann einen auch so ohne weiteres keiner einen überholen :-).

Viele Grüße Rolf

Kommentar, 25. September 2014 18:59

Hallo Rolf, ich bin kein Techniker und gehöre auch nicht zu der Zielgruppe deiner Geschäftsidee, und muss zugeben, dass ich mich zu wenig in deinem Bereich auskenne, um alles an deiner Idee zu verstehen. Verstanden habe ich aber, dass du mit deiner Idee die Hardware-Abhängigkeit von einem bestimmten Hersteller lösen willst und schon allein deshalb wünsche ich dir viel Erfolg bei der Umsetzung deiner Idee. Schönen Gruß

Kommentar, 25. September 2014 17:51

Hallo Rolf, du hörst dich wirklich sehr frustriert an. In der Gründer Garage gibt es viele neue Projekte die eine IT-Unterstützung benötigen. Hast du schon mal drüber nachgedacht dich dem ein oder anderen Team anzuschließen? So könntet ihr vielleicht beide voneinander profitieren? Das Team hat Hilfe im Bereich IT und du vielleicht demnächst einen festen Arbeitgeber?

Rolf Hemmerling's Antwort, 25. September 2014 16:32

Es ist die typische Zwangsselbstständigkeit-ohne-eigene-Geschäftsidee, die für die IT-Branche inzwischen üblich ist, da es ja keinen Fachkräftemangel, sondern nur viele auftragssuchende Fachkräfte gibt, die wenn sie sich bewerben, abgelehnt werden.

In den 1980/1990er Jahren führte das in den USA zur Shareware-Industrie ( "probieren vor dem Kauf" ), wo hochwertige Software-Produkte quasi dauerhaft verschenkt wurden in der Hoffnung, daß der eine oder andere Kunde auch mal zahlt.

Seit der Internet-Blase gibts die OpenSource-Bewegung, also wer keinen Job hat und auch nicht gleich erhält wenn er sich (weiterhin) bewirbt, hat 2 Wahlmöglichkeiten:

Nach 4 Jahren vergeblichen Bewerbens mit den bisherigen Qualifikationen ( Software entwickeln zu können, auf der Hochschule in Projekten gelernt und geübt.. ), sich damit zu bewerben 1.) dass man sich die 4 letzten Jahre halt "beworben" hätte, aber nicht als Software-Entwickler gearbeitet hätte 2.) dass man die letzten 4 Jahre mehrere 1000ende Stunden als Software-Entwickler unbezahlt hätte, in einem OpenSource Projekt ohne ( zahlenden ) Auftraggeber, ohne ( zahlenden ) Kunden und eventuell sogar ohne ( nichtzahlenden ) Nutzer.

Wen würdest Du als Auftraggeber nehmen ? 1.) Den der 4 Jahre nur Bürotätigkeit des "sich bewerbens" gemacht hat 2. ) Den der 4 Jahre lang sich DEUTLICH WENIGER beworben hat als Zeit da war, also nur einen Bruchteil der Zeit für VERGEBLICHE Bewerbungen verwendet hat, die restliche Zeit aber SINNVOLL genutzt hat, Arbeitspraxis zu erwerben, wenn auch nicht in einem Betrieb.

Die Antwort ist klar 3. ) Der der in einem Betrieb in den letzten 4 Jarhen gearbeitet hat als Software-Entwickler, und ein vernünftiges Arbeitszeugniss vorlegen kann

Wer aber (3) nicht hat, ist mit (2) besser dran, das Wichtigste ist eh nicht der Möhre - vor - dem - Esel nachzulaufen a) "wenn ich diesen Monat noch 2 Bewerbungen mehr schreibe, dann habe ich einen Job sicher", b) oder noch schlimmer "hätte ich mich noch da und da beworben, also bloss 2 Bewerbungen mehr getan pro Monat, hätte ich schon vor Jahren einen Job erhalten".

Ich bin in der Phase (2), nachdem (3) nun mal nicht klappt .... :-(

Kommentar, 25. September 2014 13:30

Hallo Rolf,

du klingst irgendwie nicht besonders überzeugt von deiner Idee, was ich schade finde. Warum strebst du eine Existenzgründung an, wenn du sie nach eigenen Wort nicht für sinnvoll und wirtschaftlich hältst?

Ich dachte eigentlich auch immer, dass IT-Fachkräfte sehr gefragt sind und sich ihre Jobs mehr oder weniger aussuchen können.

Viele Grüße

Rolf Hemmerling's Antwort, 24. September 2014 21:53

Ich entwickle kostenlos OpenSource-Software, in der geringen Hoffnung daraufhin bezahlte Aufträge zu erhalten

a) für das gleiche Thema, BrickFirmware, nur halt Hardware einer Firma die noch nicht unterstützt wird, nur jetzt bezahlt b) für ganz andere Microcontroller-Firmware ( z.B. Kaffeemaschine ) wo ich dann von Unternehmen fest eingestellt und bezahlt werde, oder als Freiberufler einen Projektauftrag bekomme.

Das ist das Aussichtlosigkeits-Geschäftsmodell, der im Augenblick Millionen "arbeitsloser unbezahlter" IT-Fachkräfte im Web 2.0 hinterherhecheln... "aufgekauft zu werden", "aufgrund der kostenlosen Leistung sich einen Ruf aufbauen, dann plötzlich doch bezahlte Aufträge zu erhalten".

Sinnvolle und wirtschaftlich erfolgreiche Existenzgründung sieht anders aus, LOL.

Nur wenn ich das o.g. in mein zeichenmäßig stark beschränkten Ideen-Beschreibungsfeld schreibe, versteht's ja erst recht keiner mehr, worum es geht.

Viele Grüße Rolf

Kommentar, 24. September 2014 2:59

deine Idee ist zu sehr technisch, ich verstehe gar nicht was du genau machen willst. wäre gut, wenn du deine Idee für nicht technische Menschen runterbrechen könntest.

Rolf Hemmerling's Antwort, 22. September 2014 20:42

Nein ich meine dass meine Idee gut präsentiert ist, das Geschäftsmodell ist schon das von "OpenSource" - erstmal was leisten, dann nix verdienen, aber dann gekauft bzw. für Kohle engagiert werden von Dritten:-),

eigentlich egal was man vorher so macht :-)

Viele Grüße Rolf

Kommentar, 22. September 2014 18:03

Hallo,

deine Idee ist sehr technisch und ehrlich gesagt habe ich nur sehr wenig davon verstanden.

Vielleicht kannst du in deiner Beschreibung die Zielgruppen, den Nutzen und das Geschäftsmodell noch etwas besser herausarbeiten. Man muss ja als Laie nicht alles verstehen, aber diese Punkte sind doch essentiell. In den Kommentaren hast du ja teilweise schon Antworten gegeben.

Viele Grüße

Rolf Hemmerling's Antwort, 16. September 2014 15:55

Es gibt folgende Zielgruppen für die Projekte:

a) Nutzung 1.Embedded-Software Ingenieure, Ingenieure die Rapid-Prototypes basteln, oder Ausbildungsstätten, die noch einen Sack alter Mikrocontroller-Boards rumliegen haben, die durch unser Projekt leicht ( auch durch Eigenarbeit Dritter an der wir unbeteiligt sind ) wieder neuer Verwendung zugeführt werden.

  1. Hobbyisten die "ein" Board haben und nur das irgend einer Verwendung zuführen wollen.

  2. Unternehmen oder Ausbildungsstätten, die das Konzept interessant finden und "ihre" Hardware durch uns unterstützt sehen wollen - die könnten "zahlen" für Beratung

b) Reputation erzeugen Die Zielgruppen 1,2,3 von (a) dienen als Meinungs-Multiplikatoren, so daß uns Teammitgliedern oder zumindest einigen davon ( ich hoffe mal ich auch :- ) ) ihre Bewerbungschancen als Selbstständige bzw. für Festanstellung verbessern, da trotz mangelnder bezahlter Aufträge ein "vollwertiges" Produkt mit jahrelangem Aufwand bearbeitet wurde, und das auch noch völlig stressfrei abseits von einzuhaltenden Terminen oder der Bedrohung durch mangelnde Verkaufserfolge wie bei herkömmlichen Produkten :-)

c) Reputation monetarisieren Aufgrund von (b) Aufträge erhalten, oder gar Festanstellung, und als "Hobby-Projekt" hier bei Brick FIrmware weitermachen, mit gebremstem Arbeitsschaum. Bezahlte Arbeit geht vor :-) !

Kommentar, 16. September 2014 13:59

Hallo Rolf,

ok, das verstehe ich. Es ist nur fraglich bei der Zielgruppe, die eher wenig Geld zur Verfügung hat, ob dann Geld für Beratung ausgegeben wird? Nur so als Gedanke in den Raum gestellt - ich weiß ja nicht, was du dafür verlangst...

Viele Grüße

Rolf Hemmerling's Antwort, 16. September 2014 6:38

Die Original-Entwickler der Brick Firmware / Brick Daemon-Software, in der Fa. Tinkerforge haben wohl auch ein Linux-Board als ein Brick-Hardware-Baustein in der Entwicklung:-).

Also "könnte" auch unser Team eine Brick Firmware für Linux-Rechner entwickeln, die die vorhandene Hardware anspricht.

Die Kommunikation mit dem Anwenderprogramm würde dann über einen auf dem Linux-System selber oder wie bisher auf einem weiteren "echten" PC laufen, mit dem der Anwender vertraut ist -

also im Zweifelsfall ist damit auch das physikalische Gerät, also sein PC-Notebook, gemeint, auf dem der Anwender seine Buttons geklebt hat die zeigen welche Programmiersprachen und Software-Frameworks er so mag :-)

Unsere "Brick Firmware" ist wie auch die bisherigen Original-Implementierungen für Mikrocontroller-Boards gedacht, die so wenig Speicher haben, z.B. nur 48KByte RAM und 128 KByte Flash-ROM, daß kein Linux drauf läuft. Sie werden in der Programmiersprache "C" programmiert, maximal läuft ein Echtzeitbetriebssystem wie FreeRTOS drauf. Man nennt das "Bare-Metall Software". Für die Anwendungen kann man den C-Code in das Flash-ROM brennen und benötigt den RAM-Speicher nur für Variablen, also dynamische Daten.

Ein Linux auf einem Raspberry PI hat hingegen 512 MByte RAM zur Verfügung ( das mehr als 1000 fache ), und benötigt das auch. Mit Flash-ROM Speicher kann es nicht wirklich etwas anfangen...

Diese Systeme mit wenig Speicher wird es auch in technischen Anwendungen weiter geben, auch wenn sie - zugegeben - bei Stückzahl 1 preislich sogar teilweise über dem Preis eines Raspberry Pi liegen. Der Pi ist wirklich ein Preis-Dumper. Andere Linux-Boards sind deutlich teurer als der Pi und damit auch als die von uns ins Auge gefassten Mikrocontroller-Boards.

Das Potential des Raspberry Pie und anderer Embedded-Systeme mit Linux haben wir aber durchaus erkannt.

Da es im Wesentlichen darum geht, daß die Projektteilnehmer eine Arbeitsprobe im Bereich Embedded Systems Softwareentwicklung zu generieren, mit denen sie sich für andere ( bezahlte ) Projekte als geeignet gegenüber potentiellen Kunden und Arbeitgebern darstellen können,

reicht uns zunächst mal die Entwicklung von Embedded System Software auf denen kein Linux oder Windows läuft.

Unter Linux benötigt man in der Regel Treiber, um Hardware anzusprechen, also z.B. um einen Sensor-Wert auszulesen.

Treiber-Entwicklung unter Linux oder Windows ist wesentlich komplexer als die Entwicklung einer Bare-Metall Software.

Das Projekt also gleich mit Linux-Treiber oder WIndows-Treiber Entwicklung starten, würde für viele Projektteilnehmer heissten, daß "die Latte zu hoch gelegt wird", sie würden daran scheitern.

Ein Einstiegsjob als Embedded Software-Entwickler oder auch Embedded Hardware/Software-Entwickler, wie ihn viele Projektteilnehmer anstreben, ist also eher realistisch als der eines Linux-Treiber-Entwicklers. Dafür "üben" wir im Projekt.

Ansonsten, auch wenn's scheinbar destruktiv ist für unser Projekt, verfolgen wir durchaus die Linux-Entwicklung, bei der ab Kernel 3.10 o.ä. die Hardware des Mikrocontrollers ohne Treiber angesprochen werden kann. Auch hier: Das würde eher die Brick-Firmware Entwicklung auf Linux-Systemen vereinfachen,

die "geniale" einfache Schnittstelle hardwarenahe Softwareentwicklung über einen Brick Daemon-Server zu machen, würde bleiben.

Kommentar, 15. September 2014 23:07

Hallo,

hast du schon einmal von Raspberry Pi gehört? Dieses mittlerweile sehr populäre Produkt ist mehr oder weniger ein Microcontroller, der mit Linux betrieben wird und auch dementsprechend programmierbar ist.

Wenn ich deine Idee richtig verstanden habe, dann ist der Raspberry ein Konkurrenzprodukt zu deinem. Wie grenzt sich dein Controller von dem Produkt ab?

Viele Grüße und viel Erfolg

Rolf Hemmerling's Antwort, 13. September 2014 23:44

Wie bei OpenSource üblich, verdient man Geld durch "Beratung" ( Mein Team und in jedem Land das einzelne Teammitgied das Aufträge & Jobs sucht, also in Deutschland ICH, wissen wie's geht und können bei der Implementierung helfen, oder diese gar komplett vornehmen - natürlich gegen Bezahlung )

und dadurch, daß man aufgrund der gezeigten Leistung bei der "Open Source Arbeitsprobe" andere ähnliche bezahlte Aufträge und Festanstellungs-Job erhält. Das klappt nicht immer, ist aber ein Erfolgsmodell !

Viele Grüße Rolf

Kommentar, 13. September 2014 22:35

Hallo Rolf, das ist ein sehr spezielles technisches Thema und ich verstehe es nicht komplett. Deine Zielgruppe sind vor allem Bildungs- und Forschungseinrichtungen und wenn ich es richtig verstanden habe, ist dein einziges Produkt eine OpenSource Software. Wo ist da das Geschäftsmodell? Wie verdienst du Geld? Viele Grüße

Kommentar, 12. September 2014 23:42

Ich habe mich bisher nicht mit den Tinkerforge-Bricks beschäftigt, aber das könnte ein interessantes Thema sein, wenn es da noch nichts Anderes gibt. Was mir nicht ganz klar ist: Wie kann man damit Geld verdienen?

Kommentar, 27. August 2014 22:28

Hallo Rolf, wir kennen uns ja aus dem Online Labor. Wie damals schon erwähnt ist das Thema doch sehr technisch und speziell. Hast du schon einmal darüber nachgedacht, Andere zu suchen, die Ähnliches vorhaben und dich mit ihnen zusammenzuschließen? Und so vielleicht ein Onlineportal zu eröffnen das Open-Source Software für verschiedenste Sensoren anbietet? Also nicht nur die Sensoren von Tinkerforge?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment