Wie finden Sie diesen Artikel? Helfen Sie uns, bessere Inhalte für Sie bereitzustellen.
Vielen Dank! Ihr Feedback ist eingegangen.
There was a problem submitting your feedback, please try again later.
Was denken Sie über diesen Artikel?
Das Herzstück
Den Aufmerksamen unter uns, oder den Gutinformierten, die den aktuellen Blog von Andrew Back lesen, dürfte das kleine Bluetooth-Logo und die geätzte Leiterbahnantenne in der Ecke der neuen Genuino 101-Platine aufgefallen sein. Auch wenn das Ganze so aussieht, als wäre ein Fehler mit der Lötmaske passiert, handelt es sich vielmehr um aufregende Neuigkeiten für Arduino-Fans, die Wearables (am Körper tragbare Geräte) konzipieren oder IoT-Projekte durchführen. Jetzt können Sie mit Bluetooth Low Energy-Technologie eine drahtlose Verbindung mit Ihren neu entwickelten Systemen herstellen. Bluetooth LE wurde speziell dafür entwickelt, dass Geräte nicht nur außerordentlich energieeffizient untereinander verbunden werden können, sondern dass auch eine direkte Verbindung zwischen Geräten und Anwendungen herstellbar ist, die auf Smartphones und Tablets ausgeführt werden.
Dieser Artikel beschäftigt sich praxisbezogen mit dem von Arduino entwickelten Pulsmesser-Tutorial. Ich will zeigen, wie mühelos ich das Genuino 101 mit meinem Smartphone verbinden und Daten über eine Drahtlosverbindung freigeben kann.Arduino IDE
Als Erstes installierte ich Version 1.6.7 der Arduino IDE (Integrated Development Environment, integrierte Entwicklungsumgebung). Ich arbeite in einer Entwicklungsumgebung unter Linux (Ubuntu Wily), aber für alle, die in einer weniger glücklichen Lage sind, werden auch auf der Arduino-Website gute Anleitungen zu diesem Thema bereitgestellt. Diese Version war in den Distro-Repositorys noch nicht verfügbar, als dieser Beitrag geschrieben wurde.
Durch Dekomprimieren und Ausführen des Installationsskripts in meinem Basisverzeichnis wurde das IDE-Verzeichnis zusammen mit einem Startprogramm auf dem Desktop erstellt. Die zusätzlich erforderliche Software von Intel wird mit dem Board Manager über die IDE installiert. Sie brauchen hier ein wenig Geduld: Die Installation auf meinem Laptop hat gute 10 Minuten gedauert.
Der letzte wichtige Schritt besteht darin, das undev-Skript aus einem verborgenen Verzeichnis unter dem Basisverzeichnis des Benutzers als sudo-Befehl auszuführen. (.arduino15/packages/Intel/tools/sketchUploader/1.6.4+1.14/scripts/create_dfu_udev_rule)
Dadurch werden für die IDE die richtigen Berechtigungen zum Herstellen einer Verbindung und Hochladen neuer Sketches (Programme) verfügbar.
Wählen Sie zu Testzwecken im Menü „Tools“ (Extras) die Option „Genuino 101“ aus, und laden Sie „Blink“ hoch. Wenn alles ordnungsgemäß funktioniert, wird im unteren Fenster der IDE eine Ausgabe angezeigt und nach wenigen Sekunden sollte die kleine LED in der Nähe von Stift 13 anfangen zu blinken.
Ein Licht geht auf
Spiel nicht mit meinem Herz
Jetzt kommt der interessante Teil. Falls Sie keinen Pulsmesser haben, wie er im Handel erhältlich ist, können Sie mit dem Sketch (Link zum Sketch) ein 10-kΩ-Potenziometer an einen der analogen Eingänge des Boards anschließen, um die Ausgabe des Sensors eines solchen Pulsmessers zu simulieren.
Der Analog-Digital-Wandler auf dem Board wandelt den Wert des Spannungsteilers in einen Wert um, der die Pulsfrequenz zwischen 0 und 100 Schlägen pro Minute simuliert. Die an einen der digitalen Ausgänge angeschlossene LED leuchtet, nachdem die Bluetooth-Verbindung mit dem Board erfolgreich hergestellt wurde.
Näher am Puls
Im ersten Teil des Sketches wird die von der IDE bereitgestellte CurieBLE.h-Bibliothek aufgenommen. Dann wird ein BLE Periferal-Objekt erstellt und als BLE Heart Rate-Dienst konfiguriert, der eine Benachrichtigung ausgibt, wenn sich die Pulsfrequenz ändert. Die BLE-Spezifikation ist erweiterbar und ermöglicht die Erstellung domänenspezifischer Anwendungsprofile. In diesem Beispiel verwenden wir ein Pulsfrequenz-Profil, sodass der Client, in meinem Fall also das Smartphone, weiß, wie die Verbindung verarbeitet werden soll.
Nach der Initialisierung wird eine Codeschleife ausgeführt und abgewartet, bis ein Client eine Verbindung herstellt. Wenn dies geschieht, wird kontinuierlich die Funktion updateHeartRate() aufgerufen. Dadurch wird der Pulsfrequenzwert an den Client weitergegeben. Ich änderte diese Funktion durch die Auskommentierung der If-Anweisung, sodass der Wert jedes Mal bei der Ausführung der Schleife gesendet wird, nicht nur jedes Mal, wenn sich der Wert ändert.
[Codeausschnittvoid updateHeartRate() { /* Read the current voltage level on the A0 analog input pin. This is used here to simulate the heart rate's measurement. */ int heartRateMeasurement = analogRead(A0); int heartRate = map(heartRateMeasurement, 0, 1023, 0, 100); //if (heartRate != oldHeartRate) { // if the heart rate has changed Serial.print("Heart Rate is now: "); // print it Serial.println(heartRate); const unsigned char heartRateCharArray[2] = { 0, (char)heartRate }; heartRateChar.setValue(heartRateCharArray, 2); // and update the heart rate measurement characteristic oldHeartRate = heartRate; // save the level for next comparison //}}Ende des Codeausschnitts]
Hör auf Dein Herz
Zum Überwachen Ihres Bluetooth-Diensts benötigen Sie ein Client-Gerät, auf dem eine App ausgeführt wird, mit der eine Verbindung zu einem BLE-Pulsfrequenz-Dienst hergestellt werden kann. Glücklicherweise bietet Nordic genau so eine praktische App an, die kostenlos auf das iPhone oder ein Android-Gerät heruntergeladen werden kann. Installieren Sie diese App auf Ihrem Mobilgerät, starten Sie die App und wählen Sie das HRM-Symbol aus. Jetzt sollte angezeigt werden, dass Ihr Genuino Daten überträgt. Wenn die Verbindung ordnungsgemäß hergestellt ist, leuchtet die LED und die Kurve der simulierten Herzfrequenz wird auf dem Display angezeigt. Wenn die Verbindung nicht hergestellt wird, versuchen Sie es damit, die Masterreset-Taste am Board zu drücken.
Mein Herz schlägt
Von ganzem Herzen
Mit ein paar wenigen Komponenten und Codezeilen haben wir ein ziemlich beeindruckendes Pulsmessgerät hergestellt, das sich per Bluetooth drahtlos mit einer App auf einem Smartphone verbinden lässt. Dies eröffnet verschiedenste aufregende Möglichkeiten für IoT-Sensoranwendungen. Lassen Sie uns wissen, auf welche Ideen Sie kommen.
Verwandte Artikel –Markteinführung des Genuino 101!