15 CO2 Ampeln für das Droste Hülshoff Gymnasium gesponsert von “Techies vs Corona” und dem Klimaschutz Verein

Schülerinnen und Schüler des Naturwissenschaft und Technik (NwT) Kurses der 10. Klasse Droste-Hülshoff Gymnasiums bastelten am Donnerstag CO2 Ampeln. 

“Mit den Ampeln ist es möglich zu messen wie viel CO2 in der Luft eines Klassenzimmers oder eines anderen Raums vorhanden ist und ab einer bestimmten Konzentration einen Hinweis auf das Lüften zu geben.”, erläutert Lehrer Schreier. “Die Schulen sind vom Kultusministerium gehalten alle 20 min zu lüften. Aber wie lange soll man lüften? Bis alle frieren oder bis die Raumluft erneuert wurde? Das können wir jetzt bestimmen”

CO2 ist ein gutes Maß für die Konzentration von Aerosolen, die neben Tröpfchen, als dem direkten Anhusten, für die Übertragung von SARS-COV2 verantwortlich sein können. 

15 CO2 Ampeln für das Droste Hülshoff Gymnasium gesponsert von “Techies vs Corona” und dem Klimaschutz Verein weiterlesen

Ampel Beispiel mit Gehäuse und Blöcken

Weil mich immer mal wieder Menschen nach einem Beispiel für Code und Installation der CO2 Ampel mit dem Octopus und SCD30 Sensor fragen, hier mal als Inspiration ein Beispielprojekt:

Hier die Ansicht auf der vom Ocotopus aufgemachten Acesspoint:

Da dieser Code sehr einfach mit den Blöcken zusammen gestellt werden kann, verzeichte ich darauf diesen hochzuladen.

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

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

Fertige Ardublock & Code für CO2 Ampel auf Octopus Basis

Lange habe ich mich gesträubt einen fertigen Code bzw. ein Bild eines fertigen Ardublock Codes zu veröffentlichen für die CO2, so ist ja ein Teil des Spaßes an den Workshops selbst mithilfe der Fallunterscheidungen (wenn/dann/sonst) herauszufinden, wie man sich so eine Ampel baut. Aber im letzten Bastelworkshop hat ein Teilnehmer den folgenden coolen Code für einen CO2 Ampel auf Octopus Platinen Basis entwickelt:

Was macht der Code: Ganz oben sehen wir die Zahl-Variabel, die bezeichnet die Werte aus dem CO2 Sensor. Als erstes wird der Wert im LCD Display angezeigt. So weit unspektakulär. Dann aber wird es spannend.

Pi & Octopus ?

Die erste Falls/Sonst Unterscheidung testet ob der CO2 Sensor überhaupt einen sinnvollen Wert liefert. Wenn er aber 0 ausgibt, dann blinkt der rechte Neopixel blau/weiß. Die nächsten beiden Fall/Sonst Unterscheidungen arbeiten dann wie immer bei den Ampeln: Zunächst wird geprüft ob der Wert größer ist als 1000 ppm CO2. Wenn ja dann blinkt der rechte Neopixel rot. Wenn nein dann bei über 700 leuchtet sie gelb und bei unter 700 leuchtet sie grün.

Fertige Ardublock & Code für CO2 Ampel auf Octopus Basis weiterlesen

IoT Octopus : send data using Blynk

Blynk is another way of sending and visualising data, from the Octopus, besides using Thingsspeak. To use Blynk, one needs to register with Blynk and download the Blynk app (available on iOS and Android).

Set up a remote sensing device on Blynk

To set up a data transmitting device on Blynk, one needs to do the following:

From the Blynk app :
– Open the Blynk app on your smartphone.
– Click on “new project”.
– Choose “esp8266” for the “choose device” question.
– Wait for the “Auth Token” email that Blynk has sent.

(then) In ArduBlocks :
– In the Setup part of your ArduBlocks sketch, add aWLAN block and a Blynk-Cloud block.
– In the WLAN block : specify the name of your wifi network and the password.
– In the Blynk-Cloud block : the Copy the Auth Token from the Blynk email, and paste it into the API-Key part of the ArduBlocks Blynk-Cloud block.

IoT Octopus : send data using Blynk weiterlesen

Measure CO2 with a Node MCU microcontroller, if you don’t have a IoT Octopus

This article is a variation on the tutorial explaining how to make a CO2 measuring device using a Octopus microcontroller, plus CO2 sensors and optional displays.

As one might not always have an Octopus microcontroller at hand, people have asked me how to build a CO2Ampel – CO2 traffic light warning gadget – with a different microcontroller. Thankfully, such a device was recently assembled at Chaos Computer Club Freiburg.

To keep things inexpensive, we’re skipping the NeoPixel LED of the other tutorial, in this tutorial. Thus parts could be obtained for around 55 EUR.
Later, we’ll cover how to connect the measuring device described here, to various displays . Also, those interested in finding further tips and information, can find more information in the Octopus section of this blog.
(This post is for the most part identical with the CO2 Messen mit dem Octopus tutorial, also on this blog.)

Parts

I have provided links to the Mouser Onlineshop and to Tindie. You can also find the parts elsewhere, and my links aren’t affiliate links. 

  • Node MCU (microcontroller, controlling the other elements ), via Amazon or Mouser.
  • 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. (Digikey from 53 EUR, RS Online from 72 EUR, Mouser around 50 EUR – at time of writing these were sold out, but new ones are orderd)
  • 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. 
  • Grove connector cable – 2.5 EUR by Mouser.
  • I2C Hub – a hub connecting several Grove connector cables. Grove connector cable – 2.5 EUR by Mouser.
  • 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. Please note, quite often the USB cables one gets with various bits of electronics can only carry power. So it makes sense to try different USB cables if USB cable one doesn’t work.

Programming

To program Arduino code with visual programming (Ardu)blocks, we need to modify the Ardunio IDE code editor a bit. (For those that prefer text-code, you’ll find the produced Ardublocks code, in text form, at the end of this tutorial).

The easiest way to get going is to use a Windows PC and install the software following the instructions (including download links ) from the Umwelcampus Birkenfeld website. Instructions for MacOS and Raspberry PI can also be found, via the website’s overview page. I’ve also made some tutorials for Mac OS here on my blog. There is a (German language) Tutorial for Raspberry Pi, too.

Windows: download the zip file with the ‘blocky’ Arduino IDE and then install the relevant hardware driver software. Install the Arduino into a very short File tree, et. C:/iotw. You may also have to take care if you have another Arduino Version already installed. Pay attention which do you start. Start by double clicking on the „IOTWerkstatt.bat“ file.

Raspberry Pi: Setup RaspberryPi Os (Raspbibian) for your Pi and then download the modified Arduino IDE from here.

Mac OS: this is a bit more complicated compared to Windows, but accomplishable using these instructions (in German, again), or the ones below. Here too, you need to install the relevant hardware driver software, and download the special Arduino IDE. This is done as follows:

  1. Download the Driver.
  2. Download and install the Arduino IDE.
  3. Following the installation of the Arduino IDE, right-click on the Arduino IDE icon, and select “Show package content” from the menu. This shows the files that make up the Arduino IDE.
  4. Open the “Contents” folder of the just-opened Aruduino package.
  1. Open the downloaded IoTW.zip file.
  2. Drag the “Portable” folder (of the expanded IoTW.zip file ) into the “Java” folder of the expanded Arduino IDE files.
  1. Now open the Arduino IDE.
  2. Open the “Tools” menu and go to Port submenu, and select “Dev/cu.SLAB_USBtoUART” option, to select the right port.
  3. Open the “Tools” menu, as before, and now open the “Board” submenu, and select the “Generic ESP8266 Module”, as our board.

Cabling

The ESP9266 is cheap and can be used as the microcontroller for the CO2 Traffic lights.

Connect yellow on the D1, white on the D2, black on the GND, and red on the 3V. The cables connect with the Node MCU as shown in the table below. Now we need to solder them into place.

Node MCU pinI2C / Grove Cable
3.3 Vred
GNDblack
D1yellow / SCL
D2white / SDA

Here and now is a good time to solder the (Grove) cables to the Node MCU.
Then we can do fun things like connect a Grove LCD and a SCD30 CO2 sensor to the Node NCU, via a I2C hub. As the grove Cables have preset colours, this should be simple.

Measure CO2 with a Node MCU microcontroller, if you don’t have a IoT Octopus weiterlesen

Besser lüften mit CO2 Ampel

Nach der Anleitung von Guido Burger im Make Magazin habe ich mir eine CO2 Ampel gebaut. Meine Octopus Platine zeigt nun nicht nur eine Warnung an (gelb ab 700, rot ab 1000) sondern überträgt die Daten nicht nun auch noch per Thingsspeak (Anleitung im Link).

Damit habe ich nun daheim und im Büro ein wenig die Luft ausgewertet und auch schöne Dashboards gebaut.

Was man an meiner kleinen Wohnung gut sieht: Nachts steigt der CO2 Wert auf über 2000 ppm – im Winter wenn es kalt ist, mache ich beim Schlafen die Fenster zu – sobald morgens gelüftet wird ,sinkt aber der Wert wieder deutlich.

Diesen Wert Messe ich in der Nähe der Wohnungstür, denn da war noch eine Steckdose frei. Auch das Öffnen der Wohnungstür, senkt den Wert deutlich. Querlüften ist übrigens effizienter, wenn ich entweder die Wohnungstür offen lasse oder aber auch den Lüfter im Bad angeschaltet.

Gleichzeitig messe ich auch noch Werte aus dem BME680 Sensor von Bosch: Den Indoor Air Quality Index (IAQ), das CO2 Äquivalent (rechnet der aus dem IAQ raus) und auch noch die Volatilen Organischen Komponenten. Optisch verlaufen die im gleichen Trend, sogar mit dem CO2 aus der Ampel.

Besser lüften mit CO2 Ampel weiterlesen

CO2 messen mit Node MCU (falls man keinen Octopus zur Hand hat)

Nicht immer hat eine Octopus Platine zur Hand. Deshalb haben mich einige gefragt, wie man eine CO2 Ampel bzw. eine Meßgerät mit einer anderen Platine bauen kann. Im Chaos Computer Club hier in Freiburg wurde schließlich so eine Ampel gebaut. Wir haben hier – auch aus Kostengründen, diese Teile dürften etwa bei 55 EUR liegen – etwa auf eine NeoPixel LED verzichtet. Später wird es hier Tipps geben, wie man dieses Meßgerät mit anderen Ausgabegeräten verbinden kann. Wer aber dazu noch Tipps sucht, dem seien die anderen Artikel zum Thema Ocotopus auf dem Blog angeraten. Dieser Post ist in Teilen identisch mit der Anleitung CO2 Messen mit dem Octopus.

Teile

  • Node MCU (Platine die steuert) (bei Amazon, bei Mouser)
  • SCD30 (CO2 Sensor) (Digikey ab 53 EUR inklusive Mwst, RS Online ab 72 EUR mit MwSt, bei Mouser derzeit ausverkauft)
  • Grove LCD Display (bei Mouser)
  • I2C Hub (für die Bequemlichkeit, bei Mouser)
  • Kabel (es reicht eine Packung, bei Mouser)
  • USB Kabel (zur Stromversorgung und zum flashen)
  • Stromversorgung, entweder Powerbank oder Handyladegerät

Programmcode

Hier gibt es zunächst eine Anleitung, eigenen Code mithilfe der Ardublock Software zu schreiben bzw. zusammen zu klicken, wer das nicht will und einfach mit der Arduino IDE Code reinkopieren, der findet unten ein Beispiel mit einer Anleitung.

ein ganz einfacher Code im Ardublockly, der aber alles zeigt was wir zum Meßen brauchen.

Am einfachsten verwendet man ein Windows PC und installiert es sich nach Anleitung (mit Downloadlinks) auf der Website vom Umweltcampus Birkenfeld. Auf der Übersichtsseite zum Projekt Octopus finden sich auf die Anleitungen für Pi und MacOs. Ich habe für MacOs auch eine Anleitung auf diesem Blog.

Für Windows ist es relativ einfach, download des aktuellen Zip-File der Werkstatt-Plattform und dann den Chipsatz Treiber installieren. Wie es geht haben sie in einem PDF erklärt. Wichtig ist unter Werkzeuge den richtigen „Com“ Port auszuwählen.

Für MacOS ist es ein wenig komplizierter, aber mit der Anleitung auch gut zu machen. Auch hier den Chipsatz Treiber installieren, die Arduino IDE von Arduino herunterladen, dann installieren. Dann in den Ordner Programme gehen, dort rechtsklick und „Paketinhalt zeigen“ auswählen. Wir sehen dann was sich hinter dem Icon verbrigt, nämlich die Struktur des Arduino Programms. Jetzt das Archiv „IoTW.zip“ herunterladen, dann entpacken und öffnen. Da gibt es ein Unterordner namens „Portable“, diesen nehmen und in die auf dem Mac installiere Arduino IDE und da in den Unterordner „Java“ ziehen.

Noch sind wir nicht ganz fertig, wir gehen noch unter „Werkzeuge“ auf „Boardverwalter“, da gibt es ganz viele Boards. Wir gehen auf „ESP Community“ Package und führen ggf. eine Update durch.

Bei „Werkzeuge“ wählen wir noch unter Port: „/dev/cu.SLAB…“ aus. Als Board stellen wir „Generic ESP8266 Module“ ein. Mehr müßen wir nicht einstellen.

Sollte etwas beim flashen der Software auf das Board nicht klappen, vielleicht mal ein anderes USB Kabel verwenden.

Verkabelung

Gelb an D1, Weiß an D2, Schwarz an GND und Rot and 3V.

Wir verkabeln an den Node MCU wie folgt und löten dann ggf.:

Node MCU BeinchenI2C / Grove Kabel
3,3 Vrot
GNDschwarz
D1gelb / SCL
D2weiß / SDA

Hier können wir die Kabel auch schon an den Node MCU anlöten. Danach stecken wir auf dem I2C Hub sowohl das Kabel an das Grove LCD Display als auch an den SCD 30 CO2 Sensor.

Auch hier werden wir löten müßen.
SensorKabel
VINrot
GND (schlecht zu lesen)schwarz
SCLgelb
RXSDAweiß
Verkabelungsschema

Die Umweltwerkstatt Birkenfeld hat die Überlegungen, Hintergründe und ein wenig eine Anleitung auch auf ihrer Website zusamemngefasst.

CO2 messen mit Node MCU (falls man keinen Octopus zur Hand hat) weiterlesen