Schlagwort-Archive: Programmierung

RaspiLab Wetterstation sechste Mission Druck messen mit dem BMP280

Sei die erste, die diesen Beitrag teilt.

Das ist die sechste von sieben Missionen in einem dreistündigen Program für Schüler mit ihren Lehrern. Ziel des Programms ist, Schüler dazu fit zu machen, dass sie eine Wetterstation aufzubauen können. Die sechste Mission behandelt die Luftdruckmessung mit dem Bosch-Sensor BMP280.

BMP280

Der Sensor BMP280 ist ein Barometer und kann den Luftdruck und auch Temperaturen messen. Der BMP280 verwendet den sogenannten I2C-Bus. Es gibt einen (teureren) Sensor BME280, der auch die Luftfeuchtigkeit messen kann.

Schaltplan

Abb. 11 zeigt die Beschaltung des BMP280. Der BMP280 benötigt keinen Pull-Up-Wiederstand.

Abb. 11: Die Anschlüsse des Drucksensors BMP280

Achtung: In Abb. 12 finden Sie den BMP180. Je nach Ausführung des BMP208 liegen die Anschlüsse an anderer Stelle. Passen Sie entsprechend an.

Abbildung 12: Verkabelung des Raspberry Pi mit dem Drucksensor BMP280

Breadboard Verkabelung

Sensor in B30, B31, B32, B33, B34 und B35
Jumperkabel A32 zu Pin 3 (I2C SDA)
Jumperkabel A33 zu Pin 5 (I2C SCL)
Jumperkabel A34 zu Pin 6 (Ground)
Jumperkabel A35 zu Pin 1 (3.3 V)

Vorbereiten des Raspberry Pi für die Druckmessung

Schritt 1 (I2C Bus einstellen)

a Konfigurationsmenü aufrufen mit dem Befehl

sudo raspi-config

b Wählen Sie den Unterpunkt 5 Interfacing Options aus
c Wählen Sie den Unterpunkt 5 I2C aus und Bestätigen Sie.
Schritt 2: Führen Sie einen Neustart des Raspberry Pi durch:

sudo reboot

Schritt 3: Installieren Sie die praktischen I2C-Tools und testen Sie mit dem Befehl i2cdetect, ob der Sensor erkannt wurde.
a Installation der I2C-Tools und der I2C-Untestützung für Python mit

apt-get update
apt-get install i2c-tools
apt-get install python-smbus

Dann Test mit

i2cdetect -y 1

Die Ausgabe sollte wie folgt aussehen:

0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --

Schritt 3: Laden Sie eine Bibliothek für den Sensor mit dem Befehl wget

wget -O bme280.py http://bit.ly/bme280py

Überprüfen Sie mit

nano bme280.py

ob in der Datei bme280.py die richtige DEVICE-Adresse eingetragen ist. Die Zeile

DEVICE = 0x76 # Default device I2C address

sollte die mit i2cdetect ermittelte Zahl (hier 0x76) adressieren. Ggf. ändern Sie das.

Das Programm für die Druckmessung erstellen

Schritt 1: Erstellen Sie das Programm mit nano
nano sensorbmp280.py
Schritt 2: Fügen Sie den Inhalt des Quellcodes ein.

#!/usr/bin/python
import bme280
#Messdaten Holen
temperatur,druck, x = bme280.readBME280All()
print "Temperatur : ", temperatur, "C"
print "Druck: ", druck, "hPa"

Schritt 3: Geben Sie Ihren Script Rechte mittels des folgenden Befehls:

sudo chmod 777 sensorbmp280.py

Schritt 4: Testen Sie Ihr Script mit den folgenden Befehl:

./sensorbmp280.py

Bisher erschienene Artikel zur RaspiLab Wetterstation

  1. Raspilab Wetterstation Grundsystem aufsetzen
  2. RaspiLab Wetterstation sechste Mission Druck messen mit dem BMP280

 

Raspberry Pi mit openCV beobachtet Callibot

openCV mit dem Raspberry Pi – ein Einstieg

Sei die erste, die diesen Beitrag teilt.

Computer Vision ist der Einstieg in KI. Mit dem Raspberry Pi lassen sich handliche Geräte bauen, die mit entsprechenden Bibliotheken erstaunliche Dinge tun können. Z.B. Bienen oder LKW zählen. Als Basis lohnt der Blick auf openCV. Mittlerweile ist die Installation recht einfach.

Die Grundinstallation

Als Basis dient ein Raspberry Pi 3 B mit dem Betriebssystem Raspbian Stretch inkl Desktop, aber ohne Softwareschnickschnack. Dann passt alles so gerade auf eine 8 GB SD-Karte. Eine schnelle Karte sei empfohlen. Ebenso ist eine Raspberry Pi Kamera sinnvoll.

Die Installation erfolgt in vier Schritten:

  1. Raspbian aufsetzen
  2. Verbindung zum Raspberry Pi Desktop mit VNC aufbauen
  3. openCV für Python installieren
  4. Mit einem kleinen Python-Script die Installation testen.

Für den späteren Betrieb ist es sicher sinnvoll, auf den Desktop zu verzichten und den Raspberry headless einzurichten (Das empfehle ich meinen Studenten grundsätzlich). Bei der Entwicklung und den ersten Tests ist  für Video allerdings ein Fernzugriff auf eine grafische Benutzungsoberfläche hilfreich. Daher wird hier auf VNC gesetzt.

Raspbian aufsetzen

Zunächst laden Sie das das 3,4 GB große Image (Raspbian Stretch with desktop) und entpacken es:

https://www.raspberrypi.org/downloads/raspbian/

Auf einem Windows Rechner laden Sie WinDiskImager und brennen die SD-Karte. Auf einem Mac gelingt dies am Besten in der Konsole.:


df -h
sudo unmount disk2s1
sudo dd of=/dev/rdisk2 if=Downloads/raspbian.img bs=1m

Der Brennprozess dauert etliche Minuten.

Auf der SD-Karte finden der Rechner eine Partition „boot“. In dieser partition erzeugen Sie eine leere Datei ssh mit

nano ssh

und eine Datei


nano wpa_supplicant.conf

mit folgendem Inhalt:

# Datei wpa_supplicant.conf in der Boot-Partition (Raspbian Stretch)
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
       ssid="wlan-bezeichnung"
       psk="passwort"
       key_mgmt=WPA-PSK
}

Eine detaillierte Beschreibung finden Sie unter

https://pi-buch.info/wlan-schon-vor-der-installation-konfigurieren

Danach bindet sich der Raspberry in Ihr WLAN ein und ist über SSH erreichbar.

Die IP Adresse des Raspberrys finden Sie mit einem Tool wie Fritz Box WLAN auf dem Smartphone oder in der Konsole des Mac mit

sudo arp-scan -l

Sie können sich nun mit SSH direkt auf den Raspberry schalten mit Ihrer IP-Adresse

ssh pi@192.168.1.103

Die erste Aktion auf dem Raspberry sollte dann die Aktualisierung sein mit

sudo apt-get update
sudo apt-get upgrade

Remote Desktop einrichten

Sie benötigen zwei Komponenten: einen Serverprozess auf dem Raspberry und einen VNC-Client auf Ihrem Rechner.

Auf dem Raspberry ist unter Stretch schon der RealVNC Server installiert. Er muss nur mit

sudo raspi-config

eingeschaltet werden.

Als VNC-Client auf dem Mac funktionierte bei mir problemfrei RealVNC, alle anderen Lösungsvorschläge im Internet hakelten.

https://www.realvnc.com/de/connect/download/viewer/macos/

Eine detailliertere Beschreibung gibt es unter

https://www.elektronik-kompendium.de/sites/raspberry-pi/2111301.htm

Es empfiehlt sich, parallel ein Terminal mit SSH-Verbindung und eine Remote Desktop Sitzung gleichzeitig offen zu halten. So können im Terminal Scripte erstellt und gleich im Desktop getestet werden.

openCV installieren

Bislang war die Installation von openCV ein Abenteuer für Fortgeschrittene, mit etlichen vorbereitenden Schritten musste openCV aus den Quellen selber kompiliert werden. Eine (nicht einfache) Anleitung, wie das geht finden Sie hier:

https://blog.helmutkarger.de/raspberry-video-camera-teil-14-sw-installation-computer-vision-opencv-3-2/

Zumindest für Python 3 gibt es inzwischen eine einfache Alternative, die direke Installation mit PIP.

Die Anleitungen im Internet führten bei mir nicht direkt zum Erfolg, es war folgende Befehlskette erforderlich:

pip install --upgrade pip
sudo apt install libatlas3-base libwebp6 libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
sudo pip3 install opencv-python

Danach sollte ein interaktiver Test das Ergebnis zeigen, z.B.:

pi@raspberrypi~ $ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.4'>
>>> 

Eine Anleitung die als „Pate“ diente, ist

https://pypi.org/project/opencv-python/ , ergänzt durch

https://blog.piwheels.org/new-opencv-builds/

Erster Test

Der folgende Python Code ist auf vielen Webseiten zu finden und eignet sich als Einstieg:

# import the necessary packages
from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
 
# initialize the camera and grab a reference to the raw camera capture
camera = PiCamera()
camera.resolution = (320, 240)
camera.framerate = 25
rawCapture = PiRGBArray(camera, size=(320, 240))
 
# allow the camera to warmup
time.sleep(1.0)
 
# capture frames from the camera
for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_p$
        # grab the raw NumPy array representing the image, then initialize t$
        # and occupied/unoccupied text
        image = frame.array
 
        # show the frame
        cv2.imshow("Frame", image)
        key = cv2.waitKey(1) & 0xFF
 
        # clear the stream in preparation for the next frame
        rawCapture.truncate(0)
 
        # if the `q` key was pressed, break from the loop
        if key == ord("q"):
                break

Mit

nano bild.py

kann das Programm angelegt werden.

Ein Start erfolgt dann im Desktop über VNC-Client, so dass direkt der Videostrom kontrolliert werden kann.

Der Screenshot in Abb.1 zeigt den VNC-Client mit einem Bild 320×240 Pixel und dem geöffneten Terminal, daneben die Mac-Konsole mit SSH und dem in nano geöffneten Quelltext.

Abb. 1: Screenshot erster Test

 

Callibot – eine Roboterplattform für den Calliope Mini

Sei die erste, die diesen Beitrag teilt.

Der Calliope Mini ist ein cooler Minicomputer, den schon GrundschülerInnen spielerisch einfach programmieren können. Google, SAP, Fischer Technik und weitere Firmen setzen auf den vielseitigen Kleinstrechner. Mit Callibot gibts nun bald auch eine Roboterplattform, die sich ohne Werkzeug einfach und schnell zusammensetzen lässt.

Was ist Callibot?

Callibot ist als Bausatz konzipiert, aus dem sich schnell und ohne Werkzeug ein Fahrroboter für den Calliope Mini zusammenbauen lässt. Callibot besteht aus einer Grundplatte, zwei Motoren mit Rädern, ein paar Kabelbindern für die Montage und einer Steckerleiste. Alles, was sonst noch zum Experimentieren nötig ist, befindet sich im Calliope-Paket.

Die Design-Prinzipien hinter Callibot sind:

  1. einfach
  2. offen für eigene Ideen
  3. schnelle Erfolgserlebnisse ermöglichen
  4. offen für eigene, kreative ideen
  5. einsetzbar in Grundschulen, weiterführenden Schulen und Hochschulen

Auslöser für die Entwicklung war die Erkenntnis, dass gängige Fahrroboter-Plattformen häßlich und schwer aufzubauen sind. Selbst Studierende der Wirtschaftsinformatik taten sich damit schwer.

Was kann man mit Callibot machen?

Mit Callibot können Programmierneulinge – Kinder und Studenten – die ersten Programmierschritte erleben und gleich sehen, was ihr Programm bewirkt. Programmierung bleibt nicht abstrakt, sondern wird konkret in Bewegung umgesetzt. Der Fokus liegt auf dem Calliope Mini als Steuerrechner. Der bringt schon allerhand Sensoren und eine Motorsteuerung mit, es werden also keine Elektronikbauteile benötigt-

Allerdings sind bereits Nutzungsszenarien mit Raspberry Pi Zero, Arduino, ATtiny85 im Test. Damit erschließt sich dann die ganze IoT-Welt. Die Steuerung über iPhone und Android-Smartphone ist in ebenso Vorbereitung. Damit kann dann Intelligenz in den Callibot einziehen: Mit Kamera, OpenCV und Tensorflow sind dann völlig neue innovative Anwendungen für den Fahrroboter denkbar – das richtet sich dann eher an Fortgeschrittene.

Aktuelle Entwicklung rund um Callibot

Für die Vermarktung und die Serienproduktion wird derzeit eine Abschlussarbeit vergeben. Auf dem Girls`Day 2019 der Hochschule Niederrhein erfolgt ein Feldtest des Callibot.

Girls Day 2019 Materialien

Abb. 1: Materialien für den Feldtest des Callibot

Warum gibt es Callibot?

Für Arduino und Co gibt es funktionierende und preiswerte Fahrroboter-Chassis am Markt. Die Montage ist jedoch fummelig und es wird Werkzeug benötigt. Zudem sind die existierenden Modelle optisch wenig ansprechen. Eine positive emotionale Wirkung und Anmutung ist jedoch mitentscheidend, ob z.B. ein Workshopangebot als attraktiv angesehen und angenommen wird.

Das war in 2018 der Auslöser, nach einem anderen, vor allem kompakteren Modell zu suchen. Einen frühen Entwurf zeigt Abb. 2, die nur zum Test der Außenabmessungen diente.

Abb. 2: Ein früher Entwurf des Callibot aus 2018, hier noch als Pappmodell mit mehrfach verwendbaren Kabelbindern.

weitere Quellen

Erlkönig-Video zum Callibot auf Youtube:

Zur Calliope Seite.

 

Raspberry Pi mit Temperatursensor DS18B20

IoT und Webanwendungen – aktuelle Ideen für studentische Projekte

Sei die erste, die diesen Beitrag teilt.

Im Modul Webanwendungen realisieren Studierende der Hochschule Niederrhein, Fachbereich Wirtschaftswissenschaften, Projekte im Internetumfeld (inkl. IoT). Informationen zu den Rahmenbedingungen im Modul erhalten Studierende unter

http://claus-brell.de/webanwendungen.php.

Die Projektangebote für das laufende Semester sind:

  1. simpleWhatsApp (für spontane Gruppen)
    Es soll ein einfacher WhatsApp Clone erstellt werden, der die spontane Kommunikation für Gruppen ermöglicht. Der Client soll in Javascript erstellt werden, Server in PHP mit SQLite. die Oberfläche besteht aus vier Feldern: einem Namensfeld, einem Gruppenfeld, einem Nachrichteneingabefeld, einem Chatausgabefeld. Ein Nutzer trägt in die Weboberfläche lediglich einen ausgedachten Nutzernamen (z.B. JanaProudmoore99 und einen Gruppennamen z.B Karnevalsparty) ein. Sofort sieht ein Nutzer, was andere mit dem gleichen Gruppennamen so tippen. in das Nachrichteneingabefeld kann ein Nutzer nun selber Nachrichten eingeben. Je Gruppennamen werden nur die letzten 15 Nachrichten auf dem Server aufbewahrt.
  2. dataGuardian – Datenvisualisierung für Messdaten (Umweltdatennetzwerk MG)
    Aus einigen studentischen Projekten sind Datensammlungen entstanden. Im geplanten Umweltdatenmessnetzwerk Mönchengladbach werden viele Daten anfallen. Hierfür soll eine einfache generische Visualisierungsmöglichkeit geschaffen werden.Beispiel einer Visualisierung: https://cbrell.de/biene40.
    Beispiel für noch unvisualisierte Daten: https://cbrell.de/raspilab/umweltdaten.php?pin=hummel2&modus=tab
  3. showMyData – Generisches Internet-Anzeige-Modul
    Ein Raspberry Pi mit einem e-Ink-Display holt sich aus dem Internet alle 10 Minuten über einen Webservice ein Bild und stellt das dar. Das Bild ist eine einfache Darstellungen von z.B. allgemein verfügbaren Wetter- oder Börsendaten.
    DiesesSystem ließe sich leicht an  ganz unterschiedliche Fragestellungen anpassen.
  4. moveDetect Abschätzung von Aktivitätsintensität über das Internet
    Ein Projekt zu KI und Computer Vision. Ein System aus Raspberry Pi mit Kamera und Webservice beobachtet eine Situation und bewertet lediglich Veränderungen. (Stichworte: OpenCV, Kantendetektion, Canny-Algorithmus). Der Veränderung wird eine Prozentzahl zugeordnet (aktuelle Veränderung gegenüber maximal beobachtbarer). Statt einer realen Situation kann eine Video vom Einflugloch einer Bienenbeute genutzt werden. Jede Minute wird die minimale, durchschnittliche und maximale Veränderung an einen Webservice übertragen. Die Daten werden im Interne geordnet angezeigt.
  5. learningRaspi
    Ein Projekt zu KI und Computer Vision. Ziel ist, auf einem Videostream (auf jedem Bild) Objekte zu identifizieren und zu zählen. Es geht (noch) nicht darum, die Objekte zu klassifizieren.  Die Anzahl der Objekte im Bild soll an einen Webservice übertragen werden. Die Daten werden im Interne geordnet angezeigt. Vermutlich ist die Aufgabenstellung mittels OpenCV und YOLO zu lösen. Ggf. ist die Implementierung von Tensorflow Lite auf dem Raspi sinnvoll.
  6. digitalHumidor – der elektronische Zigarrenschrank
    Nichts ist schlimmer als zu feuchte oder zu trockene Zigarren. In einer Kiste soll die Temperatur und die Luftfeuchte gemessen und über das Internet dargestellt werden. Die Messung kann (für Arduino-geübte) mit einem ESP8266 (in Form von NodeMCU) erfolgen. Das Team soll sich Gedanken über einen geeigneten Alarmierungsmechanismus machen.
    Siehe auch: Tabakgarage – Eine Fallstudie für die Wirtschaftsinformatik
  7. CalliBot goes Raspi: Websteuerung für den CalliBot
    Die Plattform für den CalliopeBot wird über einen Raspbery Pi gesteuert. Der Raspberry Pi holt sich ein „Fahrprogramm“ von einem Webservice und fährt das „Fahrprogramm“ einmal ab (so ähnlich wie im Brettspiel Roborally).
    Es gibt eine einfache Online-Eingabemöglichkeit für das Fahrprogramm.
    siehe Videos zum Girls Day, google Suche: „hochschule mönchengladbach girls day calliope youtube“.
  8. Infokiosk für den stationären Handel
    Zusammenführung der Projekte InKi und iKiosk zu einem funktionierenden Prototypen mit einheitlicher Schnittstelle.
  9. eyePi – Augen für den CalliBot
    Analog zum Anki Cozmo sollen „emotionale Zustände“ über Augen visualisiert werden. Dazu ist ein Anzeigemedium (128 x 64 Pixel, entweder als App auf dem Smartphone oder Mini-Display mit Raspberry oder Ajax-Anwendung) zu programmieren, das einen emotionalen Zustand von einem Webservice holt und visualisiert.
    Die passenden Webservices und eine Eingabemöglichkeit für die emotionalen Zustände sind zu erstellen.
    Eine alternative Nutzungsform (auf einem Tablet, „Cozmo-like-eyes“) wäre die Funktion als eye-Catcher für Schaufenster im stationären Handel. Hier wäre es sinnvoll, wenn die Augenbewegungen einem Schaufensterbummler vor dem Schaufenster folgen würden.
  10. SMS-Web-Gateway
    Mit einem Raspberry Pi und einem UMTS-Stick wird ein Gateway aufgebaut. Das Gateway hat eine Telefonnummer. An diese Telefonnummer kann man eine SMS schicken. Das Gateway überträgt die SMS an einen Webservice. Die 10 letzten SMS werden auf einer Übersichtsseite im Internet dargestellt (mit Absender und Uhrzeit).
  11. particlePi – Feinstaub Messstation für das Umweltdatennetzwerk Mönchengladbach
    Demonstrator für das Umweltdatenmessnetzwerk MG.
    Mit einem Raspberry Pi und einem Feinstaubsensor soll eine System mit folgenden Eigenschaften aufgebaut werden:
    * Messung der Feinstaubdaten alle 10 Minuten, Speicherung auf SD-Karte.
    * headless Betrieb
    * Gesamtsystem geeignet für mehrere Messstationen (Anzahl vorher nicht bekannt)
    * Übertragung der Daten ins Internet jede Stunde.
    * grafische Aufbereitung der Daten im Internet.
  12. Raspberry Internet-Wetterstation
    Mit einem Raspberry Pi und einem 7 Zoll Display soll eine Wetterstation aufgebaut werden. Die Wetterstation als Gesamtanwendung zeigt die aktuellen Wetterdaten der Region (anhand der IP Adresse) in Textform und „Ü50-Buchstaben“ an.
    * Webservice, der Wetterdaten im Internet sammelt und aufbereitet
    * schlanke Webschnittstelle zu Raspberry (REST, http GET, Daten im CSV-Format, Aktualisierung alle 10 Minuten)
    * headless Betrieb, einfaches Plug-und Play System
    * Raspberry zeigt Daten lediglich an.
  13. QR-Code-Schnitzeljagd
    Demonstrator für Gamification der Verkaufsförderung im stationären Handel oder zum Einsatz in Naturschutzgebieten.
    Anwendung auf dem Smartphone (Android-Studio oder X-Code oder Xamarin). Das Smartphone holt sich beim Start eine Liste von QR-Codes (mit gestuften Findehinweisen und Geokoordinaten) von einem Webserver. Der Nutzer macht sich der Anwednung bekannt durch einen Spielernamen. Der Nutzer bekommt eine Liste der QR-Codes mit jeweiliger Entfernung vom eigenen Standort. Durch Klick auf den Code bekommt der Nutzer Findehinweise. Hat ein Nutzer den QR-Code gefunden, kann er ihn scannen. Das wird auf einem Webservice registriert. Der Nutzer erhält dafür einen Fortschritt ( z.B. 4 von 10 QR-Codes gefunden). Die QR-Codes liegen auf dem Webservice in einer SQLite-Datenbank. Dazu gibt es eine minimalistische Administratonsseite (Anlegen, Ansehen, Ändern, Löschen). Es wird gelogt, wann welcher Nutzer welchen QR-Code gescannt hat. Für die Logdaten gibt es auf dem Server eine Übersichtsseite.
    * geolocation erfassen auf dem Smartphone.
    * Entfernungen berechnen.
    * Webservice aufrufen
    * QR-Codes Scannen
    Geeignet für Teams, die schon einmal eine Android-App geschrieben haben.
  14. PflanzenFreund
    Beleuchtungssteuerung über das Internet mit dem Raspberry Pi
    Die Anwendung soll mittels einer LDR die Belichtung in der Nähe einer Pflanze messen. Dann soll der Sollwert aus dem Internet mittels Webservice geladen werden. Ist der gemessene Wert kleiner, so soll eine Lampe mittels 433 MHz Sender eingeschaltet werden. Das soll nur tagsüber geschehen.
  15. PowerBank-Checker
    Reale Kapazitäten von Powerbanks bestimmen mit dem Raspberry Pi
    Es wird eine „Last“ mit einer Glühlampe (0,4 A bei 5 Volt), einer Leuchtdiode, und einer LDR zum Messen zur Verfügung gestellt. Der Raspberry soll jede Minute an einen Webservice übermitteln, ob die LED noch leuchtet. Die Gesamtleuchtdauer soll geeignet grafisch dargestellt werden, auch während der Messung. Drei verschiedene Spannungsquellen (Aldi-Powerbank 5Ah, Pearl Powerbank 10 Ah, Paket mit 4 Eneloops mit 2 Ah) sollen vermessen werden.
  16. ideaCollector
    Ausgangssituation: Spontane Ideen, gefundene Zitate und Links, mündliche Mitteilungen … gehen verloren oder stehen nicht auf allen eigenen Geräten zur Verfügung.
    Lösungsansatz: webbasierte Textschnipselsammlung. Über ein einfaches, responsive Interface können Ideen festgehalten werden.
    Technik: REST Schnittstelle, um ggf. auch eine App ankoppeln zu können. Datensparsam mit Javascript / AJAX.
    Anforderungen: Mehrbenutzerfähig (keine explizite Nutzerverwaltung), eigene Ideen chronologisch auflisten, Grafik mit Ideenstatistik.
  17. Zugangskontrolle für den Internet-Meisenkasten
  18. Fledermauskasten 4.0 – Optische Überwachung mit Bewegungsmelder und IR-Kamera
  19. Internet-Verlängerung für Funksteckdosen – IoT-lite und smart home
  20. Javascript Geotracker
  21. Wissensmanagement und Kollaboration mit Etherpad Lite auf dem Raspberry Pi
    Auf dem Raspberry Pi ist eine headless Server mit Etherpad Lite zum Laufen zu bringen (Achtung: node.js). Es sind zwei Konfigurationen zu testen: a) zuhause (privates WLAN) und b) im WLAN der Hocchschule. Es ist eine Anleitung so zu verfassen, dass sie für RaspiLab Schülerworkshops nutzbar ist.
  22. Indoor-Navigation für Roboter
    Es soll mit zwei Raspberry Pi eine Positionsbestimmung und Überwachung der Position im Internet entwickelt werden. Als technischer Demonstrator soll nur eine einfache lineare Anordnung untersucht werden. Die Position wird aus den Feldstärken eines Accesspoint, wer auf einem Robotermodell besetigt wird, ermittelt. Die Positionen sind regelmäßig (jede Sekunde) über Funk an einen Webservice zu übertragen. Auf dem Webserver sollen die Informationen durch eine Grafik visualisiert werden.
    Ressourcen (werden zur Verfügung gestellt): zwei Raspberry Pi WLAN, Router, Webserver.
  23. Paketverfolgung mit dem Smartphone
    Für einige Anwendungsfälle kann kann ein GPS-Tracker auf einem Smartphone die preiswerteste Lösung sein („Billig-Handy“ für 60 Euro). Es soll ein GPS-Tracker entwickelt werden, der automatisch jede 10 Minuten die aktuellen Koordinaten und die Telefonnummer des Smartphones (aus der SIM karte) an einen Webservice überträgt. Im Netz kann man sich dann die Karte mit den Positionen der Smartphones anschauen und für jede Telefonnummer die Liste der Trackpunkte mit Zeitstempel als CSV Datei herunterladen.

Testaufbau: Natur-Sound-Schnipsel mit dem Raspberry Pi aufnehmen

Natur-Soundschnipsel mit dem Raspberry Pi Zero aufnehmen

Sei die erste, die diesen Beitrag teilt.

Mit wenig Aufwand kann ein Raspberry Pi Zero als automatischer Natur-Sound-Aufnahmeroboter fungieren. Erster Einsatz dieser Lösung wird die akustische Überwachung eines Bienenvolkes im Vorhaben #biene40 des Fachbereichs Wirtschaftswissenschaften der Hochschule Niederrhein sein. Die kleine Anleitung zeigt im ersten Teil die Basics zum Nachbauen in 30 Minuten.

Benötigte Materialien

Sie benötigen:

  1. Einen Raspberry Pi Zero W.
  2. Einen OTG Adapter.
  3. Eine Electret Mikrofon Kapsel. Alternativ nehmen Sie ein fertiges Mikrofon, das schon einen passenden kleinen Klinkenstecker hat.
  4. einen kleinen Lautsprecher oder Kopfhörer.
  5. Einen Audio USB Konverter.

Die Gesamtausgaben sollten 25€ nicht übersteigen. Im Netz gibt es einige Hinweise, welche Audio USB Konverter geeignet sind. Hier wurde mit einem billigen Modell („Sabrent USB Externe Soundkarte für Windows und Mac“, 6,99 bei einem großen Versender) experimentiert, dessen Klangqualität des Mikrofoneingangs subjektiv selbst die eines Macbook schlägt. 

Aufbau

Der Aufbau ist denkbar einfach. Über den OTG-Adapter schließen Sie den Audio USB Konverter an den Raspberry Pi Zero an. An die rosa Buchse kommt das Mikrofon. Dazu löten Sie an das Anschlusskabel einen kleinen Klinkenstecker und stecken den in die rosa Buchse. In die grüne Buchse kommt ein Lautsprecher oder ein Kopfhörer für den Test, ob die Audioaufnahme funktioniert.

Zum Soundschnipsel in fünf Schritten

  1. Zuerst stellen Sie mit lsusb fest, ob der Raspberry den Audio USB Konverter erkannt hat.
pi@raspberrypi:~ $ lsusb
Bus 001 Device 002: ID 0d8c:0014 C-Media Electronics, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

2. Eine Anzeige der Eingabegeräte erhalten Sie mit arecord -l (ein „L“, keine „1“), eine Anzeige der Ausgabegeräten mit aplay -l.. In diesem fall ist es „card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]„.

pi@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

3. Bevor Sie das Mikrofon testen können, schalten Sie es mit amixer ein. Andernfalls kann es sein, dass sie sehr stille Sounddateien aufnehmen.

pi@raspberrypi:~ $ amixer -c 1
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 37
  Mono:
  Front Left: Playback 17 [46%] [-20.00dB] [on]
  Front Right: Playback 17 [46%] [-20.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: Playback 0 - 31 Capture 0 - 35
  Mono: Playback 16 [52%] [-7.00dB] [off] Capture 20 [57%] [8.00dB] [on]
Simple mixer control 'Auto Gain Control',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
pi@raspberrypi:~ $ 

4. Testen Sie mit arecord, ob Sie mit dem angeschlossenen Mikrofon nun eine Aufnahme anfertigen können. Die Sounddatei sollten Sie dann mit ls sehen.

pi@raspberrypi:~ $ arecord -d 5 -f cd -t wav -D plughw:1,0 test1.wav
Recording WAVE 'test1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
pi@raspberrypi:~ $ ls -l
total 2592
-rw-r--r-- 1 pi pi  882044 Feb 22 12:15 test1.wav
-rw-r--r-- 1 pi pi 1764044 Feb 22 11:22 test.wav
drwxrwxrwx 2 pi pi    4096 Feb  9 23:20 wave27
pi@raspberrypi:~ $

5. Ob die Aufnahme gut funktioniert hat, testen Sie, indem Sie die Datei gleich über den USB-Audioconverter mit aplay ausgeben.

pi@raspberrypi:~ $ aplay --device=hw:1,0 test1.wav
Playing WAVE 'test1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
pi@raspberrypi:~ $

Wenn Sie bis hierhin erfolgreich waren, können  Sie den Aufbau nun in eigene Projekte einbinden.

Energieverbrauch

Der Aufbau benötigt im Betrieb mit 5V durchschnittlich 153mA. Bei Ausgabe von Audiodaten steigt der Stromhunger auf über 200 mA. Entfernt man den USB-Audio-Konverter, sinkt der Strombedarf auf 118 mA. Der Konverter benötigt also im „Leerlauf“ 35 mA. Das sollte bei einer Versorgung mit Batterien oder Power Bank berücksichtigt werden. Einen Test verschiedener Betriebsweisen mit Batterie- und Akkusorten finden Sie in einem separaten Beitrag.

Es ist möglich, im laufenden Betrieb den USB-Audio-Konverter abzuziehen und wieder anzustecken. Nach etwa 3 Minuten wird der Konverter wieder  erkannt.

Anwendungsmöglichkeiten

Basierend auf diesem Testaufbau lassen sich verschiedene Projekte leicht realisieren:

    • Mit CRON können Sie die Aufnahmen automatisieren, z.B. jede Stunde einen kurzen Soundschnipsel aufnehmen.
    • Die Soundschnipsel können Sie mit scp auf Ihre Notebook übertragen und dann mit z.B. Audacity analysieren.
    • Die Soundschnipsel können Sie auf einen Internetserver übertragen und damit aus der Ferne kontrollieren, was sich gerade in Ihrem Haushalt so tut.
  • Mit Hilfe des Testaufbaus könnten Sie Ihren Hummelnistkasten überwachen, ob schon Hummeln eingezogen sind.

Quellen

Ausgabe über USB Testen: https://learn.adafruit.com/usb-audio-cards-with-a-raspberry-pi/testing-audio

Sprachsteuerung selber bauen für die Hausautomatisierung: https://tutorials-raspberrypi.de/raspberry-pi-sprachsteuerung-selbst-bauen/

Audio über Raspberry Pi abspielen: https://dafrk-blog.com/de/audio-ueber-raspberry-pi-abspielen-mittel-und-wege/

Yvonne Hommen und Alexandra Hausmann gestalten den Girls`Day 2019

Girls Day 2019 Hochschule Niederrhein Fachbereich Wirtschaftswissenschaften

Sei die erste, die diesen Beitrag teilt.

Die ersten Programme schrieb eine Frau: Ada Lovelace. Und sie wusste genau: Menschen und Digitalisierung gehören zusammen, so wie in der Wirtschaftsinformatik. Das schließt die effiziente Nutzung von Whats App, Snapchat, Instagram und Co, die Beobachtung von brütenden Singvögeln über das Internet ebenso mit ein wie Roboter, künstliche Intelligenz, Spiele, und natürlich auch die Gestaltung von ganz neuen, noch unbekannten IT-Systemen. Hier gilt: Wer coden kann, ist klar im Vorteil.

In 2019 wollen wir einen Fahrroboter mit dem Calliope Mini bauen und programmieren.

Alexandra Hausmann und Yvonne Hommen gestalten den Wirtschaftsinformatik-Girls`Day

Alexandra und Yvonne, Wirtschaftsinformatik Masterstudentinnen am Fachbereich Wirtschaft der Hochschule Niederrhein, meinen dazu: „Bei uns lernst Du die ersten Schritte, um Deine Programme für den Calliope, Deinem Mini-Computer, zu schreiben. Schnell bringst Du den Calliope dazu, Dir auf Knopfdruck Deinen Namen anzuzeigen, Melodien abzuspielen und und und…Du brauchst nichts mitbringen, wir haben alles da. Nebenbei erzählen wir Dir, wie das Leben einer Wirtschaftsinformatikerin aussieht. Deine Meinung ist wichtig, sage sie uns. Was könnte Dich davon abhalten, an der Hochschule Niederrhein digital durchzustarten?“

Ein Video zeigt Alexandra und Yvonne bei den Vorbereitungen:

 

Das erwartet Euch:

  1. Keine Scheu vor dem Programmieren – Coden macht Spaß.
  2. Praktischer Teil: Den Calliope kennenlernen, in Minutenschnelle programmieren, Blumen bewachen  und  einem kleinen Roboter (Abb.1) das Fahren beibringen.
  3. Mit Klischees aufräumen: Wirtschaftsinformatik ist nur so ein Technik-Ding – Information über das Studium der Wirtschaftsinformatik. Alexandra und Yvonne stellen den „JuwelenFinder“ vor, eine Outdoor-Sammel-App, die sie selber programmiert haben.

Hier gibt es die Unterlagen-Girls-Day-2019

Calliope Mini – kleiner Computer, große Möglichkeiten

In 2019 wollen wir mit dem Calliope Mini arbeiten. Der Calliope Mini ist ein kleiner Computer wie ein Arduino, hat aber schon viele Sensoren und eine LED-Anzeigematrix mit an Bord. Geräusche machen kann er auch. Der Calliope Mini wird von vielen Schulen und Hochschulen eingesetzt.

Abb.: Der Calliope-Mini, hier zur Säuremessung in einer Zitrone

Callibot – ein kleiner Fahrroboter für den Calliope Mini

Speziell für den Calliope haben wir eine Fahrroboterplattform entwickelt. Die kann ganz einfach und ohne Werkzeug zusammengebaut werden.

Abb.: Der Callibot-Prototyp für den Girls`Day 2019. Das finale Modell wird pink.

Wie der Callibot zusammengesetzt wird, zeigt das folgende Video:


Wie das Modell dann fährt, seht Ihr hier:

Die Plattform für den Callibot hat schon mehrere Entwicklungsstufen hinter sich und soll nun über eine Kickstarter-Kampagne für viele erreichbar werden.

Girls Day 2019 der Calliopebot

Abb. : Der erste Prototyp des Callibots. Bis zum Girls Day wird sich das Modell noch ändern.

Abb.: So hat es mit dem Callibot angefangen. Als Pappmodell.

Wann und Wo?

Der Calliope-Workshop findet in der Hochschule Niederrhein, Fachbereich Wirtschaft, Webschulstraße 41, Mönchengladbach, statt.

Treffpunkt ist am Do 28.03.2018 9:00 am Info-Point.
Der Workshop dauert etwa 3 Stunden.

Ich bin nur ein grafischer Seitenzähler