Archiv der Kategorie: Allgemein

#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.

Bascom Font Converter

Viele Jahre habe ich BASCOM-AVR begleitet und mein Buch „Programmieren der AVR RISC Mikrocontroller mit BASCOM-AVR“ (ISBN 978-3-907857-14-4) hat eine große Verbreitung gefunden. Dafür bin ich meiner Leserschaft sehr dankbar.

Ich unterstütze deshalb gern auch Aktivitäten anderer rund um dieses Thema und möchte hier auf den

FontConv

hinweisen, der  jeden Windows©-Font in eine Font-Datei für BASCOM-AVR konvertieren kann.

Für Bascom-AVR werden von vornherein wenige Fonts angeboten. Windows© und das Internet bieten hingegen eine Fülle von Fonts an. Will man diese Fonts für ein grafisches LCD unter Bascom einsetzen, so ist dies nun mit dem Font Converter von Daschke Ltd. sehr einfach möglich.

Die Software bietet sogar eine Datenreduktion an, indem sie es dem Anwender ermöglicht, leere Zeilen und Spalten im globalen Datensatz zu löschen. Dazu legt der Font Converter alle Zeichen in eine Maske übereinander. Der Anwender kann diese maximale Fläche aller Zeichen reduzieren, indem er nicht gewünschte leere Zeilen und Spalten löscht.

Auch die Länge des Zeichensatzes kann vom Anwender bestimmt werden, was wiederum Speicher im AVR-Mikrocontroller spart.

Das Endergebnis ist eine Datei des Typs xxxx.font, die sofort nach Abspeicherung in Bascom-AVR eingesetzt werden kann.

Grundlage dieser Mitteilung:
Pressemitteilung erstellt von Dipl. Ing. Rudolf Rautert, Geschäftsführer von Daschke Ltd.

Ledunia

Gratulation zur erfolgreichen Kickstarter-Kampagne. 

b869c7b701372a7d631d0ef86ba71c33_original

Ich freue mich, meine Programmbeispiele (https://www.amazon.de/Building-IoT-Node-less-than-ebook/dp/B018J1OVC4/) auf der neuen Plattform zu testen.

Auf den erweiterten Speicher und die Vorkehrungen für die Deep Sleep Option bin ich gespannt. Die RGB-LEDs sind eine gelungene Erweiterung in Verbindung mit dem semi-transparenten Gehäuse.