Blog

Unser Laser Cutter ist abgebrannt

Update: Ihr müsst euch keine Gedankenmehr über Lieferverzögerugen machen. Der Laser-Cutter ist ab dem 25. Juli wieder voll funktionstüchtig.

Leider hatten wir einen kleinen Unfall. Unser Laser-Cutter hat Feuer gefangen. Aber keine Sorge: Niemand wurde verletzt und das Firmengebäude steht auch noch!

Es ist noch nicht klar ob es sich um einen Totalschaden handelt oder ob es wirtschaftlich vertretbar ist den Laser-Cutter zur Reparatur zurück zum Hersteller zu schicken. Beide Optionen (neuer Laser-Cutter oder Reparatur) werden allerdings mehrere Wochen in Anspruch nehmen).

Wir nutzen den Laser-Cutter für die Kits (Teile für die Wetterstation, Serverraumüberwachung, Blinkenlights, etc), für die ganzen Gehäuse und Montageplatten. Wir haben von diesen Teilen kein großes Lager, sie werden meistens just-in-time gefertigt wenn eine Bestellung eintrifft.

Bei Bestellungen die laser geschnittene Plastikteile beinhalten machen wir aktuell Teillieferungen. Die Plastikteile werden sobald möglich hinterher geliefert.

Wir wissen noch keine genaue Zeit wann alles wieder normal laufen kann, allerdings steht jetzt schon fest das es leider zu signifikanten Verzögerungen kommen wird.

Entschuldigung für die Probleme und bereits voraus zu sehenden langen Lieferzeiten!

Tinkerforge und DSGVO

Wie Ihr wahrscheinlich schon mitbekommen habt tritt am 25. Mai 2018 die neue Datenschutz-Grundverordnung (DSGVO / GDPR) in Kraft. Die DSGVO ist eine EU Verordnung zur Verbesserung des Datenschutzes.

In diesem Blogpost wollen wir euch darüber informieren, wie die DSGVO bei uns umgesetzt wird:

Wir haben uns detailiert angeschaut welche Daten wir sammeln und diese im Hinblick der DSGVO betrachtet. Die einzige relevante Datenquelle die wir in der Firma ausfinding machen konnten, ist unsere Matomo-Installation (früher Piwik). Matomo setzte bisher einen Tracking-Cookie, für diesen Cookie gab es einen opt-out Button auf der Datenschutzseite. Da dies jetzt opt-in sein müsste um DSGVO-konform zu sein, haben wir den Cookie einfach aus unserem Matomo-Setup entfernt. Dies ändert in Wirklichkeit gar nicht viel, da wir auch vorher schon die "do-not-track"-Anfragen der Browser anerkannt hatten. Eigentlich alle modernen Browser setzen das "do-not-track" Flag standardmäßig, so dass Matomo auch vor der Änderung bereits keine Cookies gesetzt hatte.

Unsere Matomo-Installation sammelt jetzt anonymisiert Daten der Seitenbesucher. Diese können nicht mit einem Benutzerkonto, einer IP Adresse o.ä. korreliert werden. Die gesammelten Daten beinhalten

  • besuchte Seiten,
  • Besuchszeiten,
  • Herkunftsland,
  • Browser
  • und vergleichbares.

Die Daten werden genutzt um

  • tote Links zu finden (404),
  • Seiten zu finden die über Tinkerforge reden,
  • Auslastung des Servers anhand von Besucherzahlen/Ladezeiten zu bestimmen,
  • Effektivität von Artikeln/Werbung zu bestimmen
  • und vergleichbares.

Die Daten werden nicht

  • mit den Shop-Accounts in jeglicher Art und Weise korreliert,
  • genutzt um wiederkehrende Besucher zu tracken
  • oder genutzt um permanente Profile von Besuchern anzulegen.

Damit entsprechen wir den Vorgaben der DSGVO.

Zusätzlich betreiben wir einen Shop. Wenn Ihr ein Benutzerkonto in unserem Shop anlegt speichern wir die Adressinformationen und die Bestellungen. Diese Daten sind (offensichtlich) notwendig und unvermeidbar um einen Online-Shop zu betreiben. Wenn Ihr Euer Benutzerkonto aus unserem Shop entfernt haben wollt (Stichwort "right to be forgotten", Recht auf Vergessenwerden) schreibt uns eine Email. Wir können einen SQL-Query ausführen der alle Daten die zu einem Benuzterkonto gehören entfernt. Was bleibt ist eine archivierte ausgedruckte Kopie sowie eine archivierte digitale Kopie der Rechnungen die Ihr zu Euren Bestellungen bekommen habt. Wir sind dazu verpflichtet diese aufzubewahren (Stichwort Aufbewahrungspflicht). Wenn Ihr einsehen wollt, welche Daten wir über Euch speichern, könnt Ihr euch einfach in Euer Benutzerkonto einloggen und auf die "Mein Benutzerkonto"-Seite gehen. Dort befindet sich Euer Adressbuch sowie die Bestellinformationen. Diese Informationen entsprechen allen persönlichen Daten die wir haben.

Wenn Ihr Euch nicht in unserem Shop anmeldet und Produkte in den Warenkorb legt, setzt der Shop ein Cookie mit der ID des Warenkorbinhaltes. Wenn Ihr dann z.B. einen weiteren Tab öffnet wird der Warenkorbinhalt dort mit Hilfe dieser ID persistent angezeigt. Die ID beinhaltet keinerlei persönliche Informationen und kann auch nicht mit solchen korreliert werden. Die Dokumentation kann einen Cookie setzen falls Ihr explizit eine Sprache auswählt die nicht eurer Browser-Sprache entspricht. Dadurch werdet Ihr beim nächsten Besuch direkt auf die Seite mit der korrekten Sprache weitergeleitet. Hier falllen wieder keine persönlichen Informationen oder vergleichbares an.

Im Allgemeinen kann man sagen das wir unser Geld damit verdienen Hardware zu entwerfen, herzustellen und zu verkaufen. Wir sammeln nur die persönlichen Informationen die absolut notwendig sind dafür. Entsprechend sehen wir keine großen Probleme bei der Umsetzung der neuen DSGVO-Regeln.

Instagram

Wir haben jetzt ein Nutzerkonto bei Instagram: https://www.instagram.com/tinkerforge.

Wir werden immer wieder nach mehr Informationen über neue Bricks/Bricklets und unseren Produktionsablauf und vergleichbarem gefragt. Mit Instagram hoffen wir viele kleine schnelle Updates machen zu können und auch mehr Details von unserem Entwicklungsprozess und Entwicklungs/Test-Aufbauten zeigen zu können!

RED Brick Image 1.11: Große Leistungssteigerung

Das RED Brick Image Version 1.11 ist jetzt Verfügbar: http://download.tinkerforge.com/red_images/full/

Im RED Brick Image 1.10 hatten wir eine große Menge signifikanter Änderungen im Vergleich zu 1.9. Neben anderen Dingen haben wir den Linux Kernel von 3.4 auf 4.13 aktualisiert. Das war eine Menge Arbeit, wir mussten Treiber portieren, unseren SPI-Kommunikations-Code anpassen etc. Dadurch konnten wir einige notwendige Sicherheitsaktualisierungen einpflegen (z.B. der Fix für KRACK WPA) und neuen Treibersupport hinzufügen (z.B. für Bluetooth 5.0). Auf Grund der Sicherheitslücken im 3.4er Kernel war das Kernelupdate aus unserer Sicht alternativlos.

Leider gab es durch das Update einen Rückschritt in der Performance. Diese Regression kam hauptsächlich zustande durch Änderungen am Linux Kernel für Multi-Core Prozessoren (z.B. Busy Waiting auf IO in Interrupts). Diese Änderungen erhöhen die Performance in Multi-Core Systemen, wir hatten allerdings eine Verringerung der Performance des RED Bricks (ein Single-Core System). Der Performanceverlust war bei hohen IO-Belastungen besonders auffällig.

Da wir immernoch viele RED Bricks verkaufen und das Feedback durchgängig sehr positiv ist, haben wir uns dazu entschieden das "Großprojekt" anzugehen die Performance für die nächste Image Version wieder zu verbessern.

Unter anderem haben wir

Um diese Änderungen zu machen und vernünftig zu testen mussten wir zwei Monate Arbeit investieren. Es benötigte eine Menge "trial-and-error" um die eigentlichen Performance-Flaschenhälse ausfindig zu machen.

Wir haben mti drei verschiedenen Benchmakrs getestet:

Benchmark 1: CPU-Bound

Für die CPU-Bound Performance-Tests haben wir sysbench mit den Parametern "--test=cpu --cpu-max-prime=4096 run" genutzt.

Der governor (wenn zutreffend) war auf "performance" gestellt und die Verbindung zum RED Brick wurde über SSH durch die Ethernet Extension hergestellt.

Die durchschnittliche Ausführungszeit konnte von Version 1.10 auf 1.11 um 5,4ms verringert werden. Das entspricht einem Leistungsanstieg von 25%. Die Performance ist zusätzlich auch etwas besser als in dem 1.9 Image mit 3.4 Kernel.

Benchmark 2: IO-Bound

Für die IO-Bound Performance-Tests haben wir iper3 mit den Parametern "-c ishraq-tinkerforge -N -t 120" genutzt.

Der governor (wenn zutreffend) war auf "performance" gestellt und die Verbindung zum RED Brick wurde über SSH durch die Ethernet Extension hergestellt.

Wir haben mit und ohne Stapel getestet. In den Tests mit Stapel haben wir einen Master Brick mit Thermal Imaging Bricklet genutzt. Das Thermal Imaging Bricklet ist gut geeignet, da es hinreichend viele Daten generieren kann um die Stapel-Kommunikation zu saturieren.

Der Graph spricht für sich selbst. Wir konnten konnten einen Leistungsanstieg von 220% verglichen zu 1.10 und 23% verglichen zu 1.9 messen!

Benchmark 3: Stapel-Kommunikation

Zusätzlich haben wir auch noch Tests zur reinen Stapel-Kommunikation durchgeführt. In diesem Test nutzen wir ein Python-Script welches auf dem RED Brick ausgeführt wird und Daten vom Thermal Imaging Bricklet mit Getter/Callback sammelt und diese ohne zusätzliche CPU-Last zu erzeugen verwirft. Dabei berechnen wir die Bilder pro Sekunde (FPS).

In diesem Test konnten wir die Performance im Verglich zu 1.10 steigern, haben allerdings immer noch eine kleine Regression verglichen zu 1.9. Allerdings läuft die CPU im 1.9er Image in diesem Test bereits am Limit, während im neuen 1.11er Image noch CPU-Zeit für Berechnungen übrig ist. Das lässt sich auch gut im IO-Bound Test beobachten, dort wird CPU-Last hinzugefügt durch das zusätzliche Senden der Daten zum PC.

Insgesamt sind wir mit dem erreichten Kompromiss aus Stapel-Kommunikations-Durchsatz und verfügbarer CPU-Zeit sehr zufrieden. Wir sind zuversichtlich das die Performance in Image 1.11 in echten Anwendungen im Vergleich zu 1.10 erheblich und im Vergleich zu 1.9 moderat verbessert wurde.

Neue Bricklets Februar 2018 Teil 2: Outdoor Weather Bricklet und mehr

Im letzten Blogeintrag haben wir euch das Remote Switch Bricklet 2.0, Motion Detector Bricklet 2.0, Analog In Bricklet 3.0 und das NFC Bricklet vorgestellt.

Im heutigen Teil stellen wir euch das Outdoor Weather, Temperature IR Bricklet 2.0, Rotary Encoder Bricklet 2.0 und das Solid State Bricklet 2.0 vor.

Wie bereits im vorherigen Blogeintrag erwähnt, werden auch diese Bricklets mit dem 7-Pol Anschluss ausgestattet.

Outdoor Weather Bricklet

Wir mussten immer wieder feststellen dass es eine große Hürde ist ein eigenes sprtizwassergeschütztes Gehäuse zum Messen von Umweltdaten mit dem Baukastensystems zu bauen. Um dieses Problem zu umgehen bieten wir jetzt das Outdoor Weather Bricklet an. Das Bricklet dient als Funkempfänger für die Außen-Wetterstation WS-6147 sowie den Temperatur/Luftfeuchte Sensor TH-6148.

Über den eingebauten 433MHz Empfänger kann das Bricklet Messdaten von bis zu 255 Außen-Wetterstationen und zusätzlich von bis zu 255 Sensoren empfangen. Dabei bekommt jeder Sensor beim ersten Start automatisch eine eindeutige ID, damit die Daten einzeln ausgewertet werden können.

Die Außen-Wetterstationen WS6147 ist einfach aufzubauen und führt verschiedenste Messungen durch. Neben Temperatur, Windgeschwindigkeit und Windrichtung, misst es zusätzlich die Luftfeuchtigkeit und den Niederschlag und überträgt diese Werte kabellos im 45 Sekunden Takt an das Bricklet. Zusätzlich haben wir noch den Temperatur/Luftfeuchte Sensor TH-6148 mit in unser Sortiment aufgenommen. Der Sensor misst Temperatur in °C sowie die Luftfeuchtigkeit in %RH.

Das Outdoor Weather Bricklet in Kombination mit der Außen-Wetterstationen und/oder dem Temperatur/Luftfeuchte Sensor ist die perfekte Lösung um das Starter Kit: Wetterstation mit Außen-Umweltdaten zu erweitern.


Temperature IR, Solid State Relay und Rotary Encoder Bricklet 2.0


Das Temperature IR Bricklet, Solid State Relay Bricklet sowie das Rotary Encoder Bricklet haben ein Update auf Hardware-Version 2.0 bekommen. In der neuen Version haben die drei Bricklets jetzt eine einstellbare Status LED sowie den neuen 7-Pol Stecker. Zusätzlich nutzen das Temperature IR Bricklet 2.0 sowie das Rotary Encoder Bricklet 2.0 jetzt die neue verbesserte Callback API. Mit der Verwendung des Co-Prozessors konnten wir beim Rotary Encoder die Abtastrate signifikant erhöhen, so dass es jetzt nahezu unmöglich ist Schritte zu verlieren.

Ansonsten ist die technische Spezifikation der drei Bricklets im wesentlichen gleich geblieben. Das Temperature IR Bricklet 2.0 erlaubt Infrarot-Temperatur-Messungen im Bereich von -70°C bis zu 380°C, mit dem Solid State Relay Bricklet 2.0 können Solid State Relais mit Leistungen von bis zu 380V/25A AC oder 50V/80A DC geschaltet werden und das Rotary Encoder Bricklet 2.0 ist um 360° drehbar und hat insgesamt 24 Einzelschritte.