Archiv der Kategorie: Allgemein

Raspberry Pi online over one year

My RPi 3 is running 371 days w/o any restart. Here is the actual pushover message:

Raspi3: Uptime:  18:30:01 up 371 days, 23:34,  2 users,  load average: 0.43, 0.36, 0.30; Disk: Filesystem      Size  Used Avail Use% Mounted on

/dev/sda        288G  3.8G  270G   2% /mnt/data

Advertisements

ESP8266 Programmierung

Mittlerweile gibt es zahlreiche unterschiedlich ausgestattet Mikrocontrollerboards auf Basis des ESP8266 von Espressif. Ledunia rundet das Angebot nach oben hin ab.

Was ist Eure bevorzugte Programmierumgebung?

Das ist eine der Fragen in meiner Umfrage. Ich würde mich über zahlreiche Einträge freuen, um einen Gesamteindruck zu erhalten. Persönliche Angaben sind nicht erforderlich.

Selbst Feinstaub messen

Unter dem Titel „Open Data im Alltag – Selbst Feinstaub messen“ habe ich in der Zeitschrift Elektronik 9/2017 einen Beitrag zur Feinstaubmessung veröffentlicht.

Herz der Feinstaub-Messstation ist der nova PM Sensor SDS011 der chinesischen Fa. Nova Fitness Co. Dieser Sensor misst die Partikelkonzentration für Partikel mit einer Größe zwischen 0.3 und 10 um mit einem relativen Fehler von 15 % oder ± 10 ug/m3.

nova PM sensor

Die gesamte Messstation besteht aus einem Linux-Device C.H.I.P., an welches der Sensor über einen zum Lieferumfang gehörenden RS232-USB-Converter angeschlossen wird und einem über I2C angeschlossenen SHT31-Modul zur Messung von Temperatur und Luftfeuchtigkeit. Über WLAN können die erhobenen Daten dann ins Netz zur Verfügung gestellt werden.

Messstation

Auf meiner Website http://www.ckuehnel.ch/ReEnviDa.html können die Daten verfolgt werden.

Installiert man sich die Android App ThingView Full auf seinem Smartphone oder Tablet, dann hat man die Daten auch auf seinem Mobilgerät zur Verfügung.

Das folgende Bild zeigt beispielsweise die ermittelten PM10-Daten zwischen dem 26.08. und 30.08.2017 an meinem Standort.

Screenshot_20170909-114823.png

#Calliope mini als #BLE #Beacon

Das Physical Web ist ein offener Ansatz, der von Google entwickelt wurde, um schnelle und nahtlose webbasierte Interaktionen mit physischen Objekten und Orten zu ermöglichen. Das Physical Web nutzt Bluetooth Low Energy (BLE) wegen seiner Verfügbarkeit auf mobilen Geräten und basiert auf dem Eddystone-URL-Format.

Dienste auf Ihrem Mobilgerät wie Google Chrome oder Nearby Messages können nach Übergabe der URL nach diesen suchen und diese anzeigen. Jedes Objekt kann mit einem Bluetooth Low Energy (BLE) Beacon, einem leistungsstarken, batteriebetriebenen Gerät, verknüpft werden.

Calliope mini kann sehr einfach als Eddystone Beacon eingesetzt werden. Zur Programmierung musste allerdings der JavaScript Blocks Editor des BBC micro:bit verwendet werden, da der betreffende Calliope Editor diese BLE Features (noch) nicht aufweist.

Im BBC micro:bit JavaScript Blocks Editor (https://makecode.microbit.org/) ist das Bluetooth Paket nach zu installieren. Es ersetzt dann das Radio Paket. Der folgende Code muss eingegeben und dann auf dem Calliope mini installiert werden..

Eddystone URL

Beim Programmstart wird das Bluetooth Advertisement mit der gewünschten URL gestartet. In der Endlosschleife wird die mittlere LED der 5×5-LED-Matrix periodisch kurz eingeschaltet, um von der laufenden Applikation ein Lebenszeichen zu erhalten.

Die folgenden beiden Bilder zeigen den detektierten Beacon mit der übergebenen URL http://calliope.cc im BLE Scanner sowie die sich nach einem Klick auf den Link OPEN URL öffnende Website.

Screenshot_20170811-162559

Screenshot_20170811-161602

Da das Programmbeispiel mit dem JavaScript Blocks Editor des BBC micro:bit erstellt wurde, ist es sicher kaum verwunderlich, dass das Programm auf dem BBC micro:bit gleiches Verhalten zeigt.

Mit den Tools Show.io und locly gibt es komfortable Tools, die die Anwendung von Beacons sehr komfortabel gestalten.

 

 

Calliope in Python programmieren

Will man den Calliope mini nicht im Schulkontext verwenden, dann bietet sich, wie beim micro:bit, die Programmierung in Micro-Python an.

Einen Editor findet man beispielsweise unter http://python.microbit.org/editor.html. In diesen Editor pastet man dann einfach den Python-Quelltext, wie z.B. das folgende Programmbeispiel zur Temperaturmessung.

# Measuring chip temperature on Calliope mini & output to console
from microbit import *
import os

uart.init()
uart.write(os.uname().machine +" measuring chip temperature\r\n")

while True:
 temp = temperature() - 3 # offset to ambient temperature
 display.scroll(str(temp)+" C")
 uart.write("Calliope mini chip temperature = "+str(temp)+" C\r\n")
 sleep(5000)

Nach dem Compilieren kann das  erstellte File microbit.hex einfach in das Laufwerk kopiert werden, als das sich der Calliope mini beim Anschluss über USB meldet.

Zum Beobachten der seriellen Ausgaben kann bspw. mit PuTTY auf das betreffende COM-Port zugegriffen werden. Die Baudrate beträgt hier 9600 Bd. Die LED-Matrix zeigt die Ausgabe als Laufschrift an.

Screenshot

Zugang zu den verschiedenen Ressourcen des eingesetzten Mikrocontrollers erhält man über die micro:bit Python API.