Archive for the ‘Octopus’ Category

Neue Blöcke für den Octopus und WLAN Zugang mit QR Code

5. November 2020

Ohne das sie es groß bekannt gemacht haben, haben die netten Leute vom Umweltcampus Birkenfeld gleich ein paar neue Blöcke für die Octopus Platine bereitgestellt.

Recht unspektakulär aber nützlich, sind die beiden C code Blöcke. Mit diesen kann man freien, eigenen C Code einfügen, bereits im Ardublockly und nicht erst in der Arduino IDE. Die finden sich bei Kontrollstrukturen.

Viel spektakulärer ist der CO2-Server Block. Er stellt auf dem Octopus einen kleinen Server zur Verfügung, der eine kleine Ampel darstellt. Diese kann mit jedem Gerät, das sich in ein WLAN einwählen kann und Webseiten darstellen, ausgelesen werden.

Ich habe sie mit dem AcessPoint Block kombiniert. Nun spannt der Octopus sein eigenes WLAN auf und man kann auf der Adresse http://192.168.4.1 auf die Website zugreifen. Die Werte die er unter Value empfängt, etwa aus dem SCD30 Block werden zum einen als Wert dargestellt, zum anderen lassen sich auch „Limits“ Schwellen eintragen, ab denen das Smiley gelb und rot wird. Die Adresse wird beim hochfahren im Seriellmonitor angezeigt. Zugriff auf diesen im Ardublock Übersicht Button „Seriellmonitor“

Bei Sensor 1 und Value 1 lassen sich dann einfach weitere Sensoren hinzufügen. Das praktische ist, das sich so ohne eine zusätzliche Anzeige, mit einem Mobilgerät die Werte auslesen lassen. Wodurch man nochmal den Preis senken kann (nicht jede Platine hat ja Neopixel dran).

Man kann die Daten für den WLAN Acesspoint etwa in einen QR Code eingeben, dann können es die Anwesenden gleich abscannen. Und ggf. einen zweiten QR Code mit dem Link.

SSID: MeinOctiWLAN mit Passwort: MeinOctiWLAN zum scannen
URL: http://192.168.4.1

Build your own Covid Stop Lights or Better Lüften like a German

16. Oktober 2020
While building your own Co2 Sensor and Warning Lights

More an more Germany are more and more concerned with Lüften. Lüften means to open the Windows of the room you are in and then venilate it properly. It’s done best, by opening two windows on walls opposing each other, thus letting air blow through.

Because Germans are masters in „Lüften“ and because many people wanted to know, how to build these little warning lights, in order to know when they should open the Windows and let fresh air in, I wrote a lot of articles on my blog. But these were all in German. So Miska Knapek translated one article into English and I did some editing.

During the Corona Crisis venting has become even more important. Corona spreads through droplets but also through aerosoles.  Since it’s considered very likely that aerosol can also be a carrier of the SARS-CoV-2 virus, in addition to exhaled (humidity) droplets, we need a way to measure them. However the problem is this:

Whereas the comparatively larger droplets fall to the ground relatively quickly, aerosol can stay in the air longer and may disperse and distribute itself within a closed space” (My translation of a Robert Koch Institute (RKI) statement (RKI is a  German Institute for disease control and prevention).

As aerosol is difficult to measure, but it roughly correlates with CO2 concentration in the air of an enclosed space, clever people like Guido Burger and the Umweltcampus Birkenfeld have devised a way to easily measure CO2 concentrations.

Building instructions for the  CO2 Ampel / CO2 Light, by Guido Burger, published in Make Magazine’s website (in German).

Fortunately, Sensirion makes a CO2 sensor and Guido Burger has ready to tinker microcontroller, the Octopus Board, which can interface and control the CO2 sensor. It is possible to use a Node MCU as well.

The microcontroller can be programmed using the ArduBlocks visual Arduino programming language. Of course you can still do text based programming, if you want it. See the ArduBlocks equivalent code towards the bottom of this article.

With ArduBlocks, using visual ‘programming blocks’, one can do the essential bits of a programming language – loops, conditional statements (if/then), and send/receive signals from various sensors, or send and receive data via MQTT, Thingsspeak or Blynk. (Sorry the Articles are in German, but you may use Google Translate)

The Campus Birkenfeld of Technische Hochschule Trier has more material about this CO2 measuring device, including relevant considerations, background, as well assembled a bit of a building instruction (but it’s all in German).
While I enjoy tinkering, in the end I was mostly interested in having a working measuring device. Thus I’ve assembled a quick assembly guide here, below.

Parts list

I have provided links to the Mouser Onlineshop and to Tindie. You may find the parts elsewhere and they are not affiliate links. 

  • Ocotopus Board – which you can get via Tindie. Even if it says it’s sold out, you can still try ordering one. In the worst case, send its inventor Guido Burger a message, to ask if they’re available. Ca. 30 EUR
  • CO2 sensor SCD30 – these are available with different interfaces. Eg. With a Grove connector – although often sold out – as well as without. In the case of the CO2 sensors without a grove connector, one needs to solder or otherwise connect it to the microcontroller. Slightly cumbersome but manageable. Ca. 45 EUR
  • Grove cabelconnecting straight to the Octopus Platine, one can use this to attach sensors, displays and other electronics with Grove interfaces. Ca. 3 EUR
  • LCD panel – To display the data from the CO2 sensor. There are several variants, also with Grove connectors. From 6 EUR. from Mouser.
  • A power source Likely you already have one – a USB charger. Just make sure you  have  a Micro-USB cable. Powerbanks are an alternative, especially if you want to carry the device around. 
  • A case There are many ideas around. From Ikea picture frames, to Bird houses.
  • A Data ready USB cable You probably have one at home, but may have to try several USB cables before you find one that can transmit data as well as power. Very often Electronics come with a cheap cable that can only carry power.

In total, this makes for ca 90 EUR in parts.

(more…)

Daten mit dem Octopus an Blynk verschicken

28. September 2020

Ein weitere Möglichkeit, neben Thingsspeak, Daten zu verschicken und visuell sichtbar zu machen, ist Blynk. Wir brauchen dazu immer die Blynk App für das Smartphone (iOs, Android), dort müßen wir uns anmelden, mit einer E-Mail Adresse.

Blynk einrichten

Wir gehen in der App auf „new project“, by „choose device“ wählen wir „esp8266“. Wenn wir dann auf „create project“ drücken, bekommen wir den „Auth Token“ per E-Mail zugeschickt. Das ist ganz praktisch, denn so können wir ihn einfach per copy and paste in die Ardublocks Umgebung überführen.

In den Setup Bereich habe ich die WLAN Daten (Name und Passwort) eingetragen und den Auth token von Blynk (den unter API-Key). Beides sollte man im „Setup“ platzieren und nicht in der Schleife, weil der Octopus diese einmal laden sollte und dann ja im WLAN bleibt.

Über den „Pin“ im Blynk Block können wir unterschiedliche Werte in die App übermitteln. Wir setzen als Pin = 1 für den ersten Wert, etwa IAQ und dann Pin = 2, für den nächsten.

Noch ein Hinweis für diesen Sketch. Anstelle jedes mal den Sensorwert neu messen zu lassen, setze ich den Messwert als „Zahl Variable“ und verwende pro Durchgang (Schleife) immer diesen Wert. Dann muss der Sensor nicht immer neu messen und es geht auch schneller, bzw. es würde auch immer der Wert der angezeigt wird, auch seriell ausgegeben und weitergemeldet.

„Zahl Variable“ ist übrigens eine coole Sache. Damit kann man einmal eine Variable definieren und an zentraler Stelle ändern. Dazu sollte sie immer weit oben stehen (und als erstes gesetzt werden), das kann man auch etwa bei Wartezeit nutzten, anstelle eine feste Wartezeit einzugeben, die etwa ein Wert angezeigt werden soll, einfach eine „Zahl-Variable“ Wartezeit definieren und dann bei Bedarf zentral ändern.

(more…)