-
        

Ergebnis 1 bis 2 von 2

Thema: Bluetooth-Einstieg

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.053

    Beitrag Bluetooth-Einstieg

    Anzeige

    Hallo zusammen,

    ich frage mich grade, wie ich am besten eine Wiki-Seite zu Bluetooth starten kann.
    Anregungen zu wichtigen Punkten könnt ihr gerne als Kommentar posten oder sie auch selbst ergänzen.



    Einleitung in die verschiedenen Versionen

    Code:
    Jahr            Version        Features
    
    Juli 1999        1.0 & 1.0a    Hintergedanke: Ersatz für serielle Kabel
    
    Dezember 1999    1.0b        Updates zur Fehelrbehebung
    
    Feb 2001        1.1            Standard IEEE 802.15.1.1-2002 wurde festgelegt
    
    Nov 2003        1.2            AdaptiveFrequencyHopping (AFH) wurde ergänzt, um die Störanfälligkeit zu reduzieren, extended synchronous connection oriented (eSCO) wurde hinzugefügt, um Stimmübertragung zu verbessern. IEEE 802.15.1-2005 wurde festgelegt (letzte IEEE-Zertifizierung).
    
    Nov 2004        2.0 + EDR    (EDR = Enhanced Data Rate) Geschwindigkeit wurde von 721kbps auf 2,1 Mbps erhöht.
    
    Jul 2007        2.1 + EDR    SSP (secure simple pairing) und einige weitere Ergänzungen
    
    Apr 2009        3.0    + HS    Datendurchsatz wurde durch den Support von "multiple radios" (was auch immer das genau bedeuten mag?) auf 24Mbps erhöht, die Spezifikation wurde so erweitert, dass der Transfer per Bluetooth initiiert werden kann, aber dann an 802.11 (typischerweise Wlan) übergeben wird.
    
    Jun 2010        4.0            Im gegensatz zum vorherigen Steigern des Datendurchsatzes liegt der Schwerpunkt bei v4.0 beim energiesparenden Anwendungen. Bluetooth 4.0 wird auch BLE (Bluetooth Low Energy) genannt.
    
    2013            iBeacon        ein auf Bluetooth 4 basierender, properitärer Standard zur Indoornavigation, sowie zur Verbreitung von lokal begrenzter Signaturen (z.B. Angebote, Gewinnspiele, Links)
    
    Dez 2013        4.1            L2CAP, LS Link Layer, Dualmode, Fast Data Advertising Intervall (Erste Geräte mit Bluetooth 4.1 sind z.B. Samsungs Galaxy Note 4 oder das Nexus 6)
    
    Dez 2014        4.2            Der Schwerpunkt dieser Iteration liegt auf Sicherheit, größerem Datenturchsatz, sowie einem sparsameren Low-Energy-Modus. Insbesondere LE Data Packet Length Extension und die Unterstützung von IPv6 für BluetoothSmart (Stichwort IoT) sind hier erwähnenswert.
    Lesenswert ist hierüber das Buch "Inside Bluetooth Low Energy" (Naresh Gupta, 2013), sowie die englische Wikipediaseite: https://en.wikipedia.org/wiki/Bluetooth


    Gängige Module für eine einfache, serielle Datenübertragung im Bereich der Mikrokontroller (z.B. Arduino) sind HC-05 und HC-06. Diese lassen sich in der Regel problemlos Plug'n'Play an die serielle Schnittstelle des Mikrokontrollers anbinden.

    Arduinospezifisch:
    Sollten bei einem Arduino die Pins der seriellen Verbindung (Uno/Nano z.B. Pins 0&1, welche vom USB-Wandler genutzt werden) bereits vergeben sein, so lässt sich über eine softwareemulierte serielle Verbindung ein Bluetoothmodul einbinden
    Code:
    #include <SoftwareSerial.h>
    void setup(){
    softSerial.begin(9600);
    softSerial.println("AT+NAME"); // festlegen des ausgesendeten Gerätenamens
    softSerial.println("AT+RESET"); // Neustart des Bluetoothmoduls, damit Änderungen wirksam werden
    softSerial.println("beispieltext");
    }
    
    void loop(){
    ...
    }

    Im Gegensatz zu den Modulen HC-05 und HC-06, welche Bluetooth 2.0+EDR verwenden, nutzt das Modul HM-10 Bluetooth 4.0 (nicht zu verwechseln mit dem Modul CC41-A, welches eine weitaus beschnittenere Firmware und weniger Möglichkeiten bietet, aber sehr ähnlich aussieht!).
    einige Daten zur HC-Reihe sind auf folgender Seite zu finden:
    http://wiki.pinguino.cc/index.php/SP...05_AT_commands

    Das Modul HM-10 bietet neben dem herkömmlicen Datentransfer auch die Option an, sich als iBeacon (siehe unten) nutzen zu lassen.

    Die Firmware des HM-10, welcher auf den Texas Instrument Chips CC2540 oder CC2541 basiert, wurde bisher kontinuierlich von Jinan Huamao technology Co,. Ltd. weiterentwickelt.
    Es ist möglich ein Firmwareupgrade über eine serielle Verbindung herzustellen. Hierzu bietet Jinan Huamao sowohl den Download der Firmware, als auch Tools und eine PDF-Anleitung zum Vorgang selbst zum Download an.

    Sollte man ein günstiges HM-10 aus Asien bestellt haben, entpuppt dieses sich gerne als CC41-A. Schafft man es, einen Firmware-Dump des originalen HM-10 aufzutreiben, so kann nach dieser Anleitung das Modul mit der Firmware des HM-10 bespielt werden:
    http://www.roboternetz.de/community/...l=1#post622831

    Eine Alternatice zum CC2540/1 von Texas Instruments stellt die nRF51..-Serie von Nordic Semoconductors dar.
    Zwar ist die nRF52-Serie angekündigt und einige Chips befinden sich (Ende 2015) im Umlauf, jedoch sind diese nicht fehlerfrei und Nordic hat zur Nachbesserung den Vertrieb kurzfristig eingestellt. Vorraussichtlich Anfang 2016 soll die nRF52-Serie aber fehlerfrei(er) und wieder zu beziehen sein.


    Die puren Bluetooth-Chips basieren auf ARM-Kernen, welche mit der Firmware bespielt werden müssen.
    Texas Instruments setzt hierbei zur Anbindung auf den hauseigenen "TI CC debugger", der mit einem Preis um die 50€ relativ günstig ist, in Verbindung mit der Software "SmartRF Studio", welche kostenfrei mit einem TexasInstruments-Account heruntergeladen werden kann.

    Nordic begnügt sich mit einem standard jTag-Debugger, welcher je nach gewünschter Programmeirumgebung jedoch recht teuer werden kann.
    Für Hobbyprojekte bietet sich der Segger j-Link Edu für 42€ an, welcher allerdings nicht für kommerzielle Projekte genutzt werden darf. Der jLink gilt als einer der Platzhirsche und überzeugt durch seine hohe Kompatibilität sowohl mit ARM-Prozessoren, als auch mit Programmierumgebungen.
    Auf der Softwareseite stellt Nordic zur Entwicklung Tutorials (PDF) für Keil (kostenpflichtige IDE) und ein eigenes nRF SDK bereit.

    Sowohl Nordic als auch TI bieten einiges an Dokumentation für die Entwicklung mit ihren Bluetoothchips an.


    Durch die breite Unterstützung von Bluetooth 4.0+ steigt die Attraktivität für Hersteller, Smartdevices zu erstellen, welche mit gängigen Smartphones kommunizieren (Fitnesstracker, Heizungsthermostate, Smartwatches) und akzeptabele bis sehr gute Akkulaufzeiten bieten. Theoretisch ist es möglich, ein Böuetoothmodul der version 4+ bei sehr geringem, unstetigem Datendurchsatz mit einer Knopfzelle mehrere Monate zu betreiben, was in der Praxis jedoch durch die angeschlossenen Komponenten stark limitiert wird.

    Beim Einstieg in die Welt der Bluetoothmodule sollte darauf geachtet werden, dass es gängige Module sowohl für einen Pegel von 3,3V, als auch 5V gibt.
    Sollte das gewünschte Modul jedoch nicht in der passenden Ausführung vorhanden sein, so gibt es wirklich sehr, sehr günstige Pegalwandler aus Basis des BS138 (einige mit 4 Kanälen benötigen sowohl eine Versorgung mit 3,3V als auch 5V, viele Wandler mit 2 Kanälen haben einen Spannungsregler integriert, wodurch lediglich 5V benötigt werden).
    Auch ist es gängig, dass die Stromversorgung eines Moduls mit 3,6-6V erfolgt, aber die Signalpins lediglich 3,3V vertragen.


    Ist der Aufbau der ersten Schaltung mit Bluetooth geglückt, stößt man recht schnell auf sogennte AT-Befehle.
    Diese können z.B. wie folgt aussehen:
    Code:
    AT+NAMEirgendwas
    AT+ gibt dem Modul zu erkennen, dass nun ein Befehl für die Einstellungen folgt.
    NAME ist hier recht offensichtlich. Hiermit wird der Name festgelegt, welchen das Bluetoothmodul aussendet, in diesem Fall 'irgendwas'.
    Wird als Kommando lediglich
    Code:
    AT+NAME
    ohne einen neuen Namen gesendet, so gibt das Modul den aktuellen Wert wieder.

    Ein HM-10 Modul kann auf den Befehl AT+HELP zum Beispiel folgendermaßen antworten:
    Code:
    ********************************************************************
    * Command             Description                       *
    * ---------------------------------------------------------------- *
    * AT                  Check if the command terminal work normally  *
    * AT+RESET            Software reboot                   *
    * AT+VERSION          Get firmware, bluetooth, HCI and LMP version *
    * AT+HELP             List all the commands                   *
    * AT+NAME             Get/Set local device name                    *
    * AT+PIN              Get/Set pin code for pairing                 *
    * AT+PASS             Get/Set pin code for pairing                 *
    * AT+BAUD             Get/Set baud rate                           *
    * AT+LADDR            Get local bluetooth address           *
    * AT+ADDR             Get local bluetooth address           *
    * AT+DEFAULT          Restore factory default               *
    * AT+RENEW            Restore factory default               *
    * AT+STATE            Get current state                   *
    * AT+PWRM             Get/Set power on mode(low power)            *
    * AT+POWE             Get/Set RF transmit power            *
    * AT+SLEEP            Sleep mode                            *
    * AT+ROLE             Get/Set current role.                       *
    * AT+PARI             Get/Set UART parity bit.                     *
    * AT+STOP             Get/Set UART stop bit.                       *
    * AT+START            System start working.               *
    * AT+IMME             System wait for command when power on.       *
    * AT+IBEA             Switch iBeacon mode.                       *
    * AT+IBE0             Set iBeacon UUID 0.                           *
    * AT+IBE1             Set iBeacon UUID 1.                           *
    * AT+IBE2             Set iBeacon UUID 2.                           *
    * AT+IBE3             Set iBeacon UUID 3.                           *
    * AT+MARJ             Set iBeacon MARJ .                           *
    * AT+MINO             Set iBeacon MINO .                           *
    * AT+MEA              Set iBeacon MEA .                           *
    * AT+NOTI             Notify connection event .                    *
    * AT+UUID             Get/Set system SERVER_UUID .                   *
    * AT+CHAR             Get/Set system CHAR_UUID .                   *
    * -----------------------------------------------------------------*
    * Note: (M) = The command support slave mode only.            *
    * For more information, please visit http://www.bolutek.com        *
    * Copyright@2013 www.bolutek.com. All rights reserved.           *
    ********************************************************************
    Mit einem Firmwareupdate für den Bluetoothchip können weitere Kommandos eingeführt werden.


    Sollte das Bluetoothmodul auf ein existierendes Kommando (z.B. einfach nur AT, was bei Funktion mit einem OK bestätigt wird) nicht reagieren, so kann es daran liegen, dass die Übertragungseinstellungen des genutzten Terminalprogramms geändert werden müssen oder eine falsche Baudrate gewählt wurde.
    Bei der Verwendung des SerialMonitors der ArduinoIDE und einem HM-10 Modul habe ich festgestellt, dass die Einstellung "Both NL & CR" nötig ist, um eine Reaktion vom Modul zu bekommen.

    Beim Initiieren eines HM-10 Moduls per Arduino habe ich festgestellt, dass zwischen den einzelnen AT-Kommandos ein kurzes Delay (z.B. 30 Millisekunden) hilfreich sein kann, um eine fehlerfreie Kommunikation sicherzustellen.
    Entfiel dieses Delay, so kam statt eines "OK" ein Zeichenwirrwar vom Modul zurück (evtl. ist dies auf die Verwendung von SoftSerial zurückzuführen).


    Ein iBeacon ist ein Bluetoothmodul, das on-the-fly an passierende Geräte eine Signatur aussendet. Läuft man mit einer entsprechend aktivierten Software am Smartphone an einem iBeacon vorbei, so können z.B. lokale Sonderangebote oder Gewinnspiele an das Smartphone übermittelt werden.
    Auf der Dmexco 2014 (Fachmesse für digitales Marketing und Werbung) wurde dieser von Apple 2013 eingeführte properitäre Standard mehrfach demonstriert.
    'Properitär' daher, da er nicht standardmäßig von Mobilgeräten genutzt wird. Um iBeacons mit Androidgeräten zu erkennen und zu nutzen ist eine entsprechende Software nötig.


    //Edit: Was auf jeden Fall noch fehlt:
    -(Audio)Profile und Codecs, A2DP https://de.wikipedia.org/wiki/A2DP
    -Dual-Mode-Modul: HM-13

    .
    Geändert von Cysign (14.01.2016 um 20:04 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.02.2009
    Ort
    Aachen
    Beiträge
    1.053

Ähnliche Themen

  1. RP 6 mit Bluetooth
    Von haering im Forum Robby RP6
    Antworten: 1
    Letzter Beitrag: 01.01.2012, 15:35
  2. Bluetooth
    Von Stratege993 im Forum Robby RP6
    Antworten: 16
    Letzter Beitrag: 05.06.2009, 00:20
  3. bluetooth IC
    Von .:markus:. im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 07.07.2007, 01:53
  4. Bluetooth für 20€
    Von Goblin im Forum Elektronik
    Antworten: 119
    Letzter Beitrag: 30.09.2006, 21:04
  5. PocktetPC mit Bluetooth & Bluetooth-Adapter
    Von Biene im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 7
    Letzter Beitrag: 17.01.2005, 12:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •