Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.


Info

Diese Beschreibung funktioniert nur mit iOS-Geräten. Für Android ist noch keine zuverlässige & sichere Lösung bekannt.

...

View file
nameBeispiel Loxone Geofency.Loxone
height250

 

 

HM10 oder CC41-A als iBeacon verwenden: 


Wem das Geo-Locate zu ungenau ist, und die ueblicwie z.B. mir, kann auch einen HM10 oder CC41-A von Texas Instruments als iBeacon verwenden. Dafuer  muss man allerdings diese Geraete erst in den iBeacon-Modus versetzen.

Das kann man wie folgt realisieren.


1) Verbindung zum HM10 oder CC41-A aufbauen:

  • Eine Verbindung zu dem Modul kann man entweder ueber ein FTDI-Kabel und/oder FTDI-USB-Platine oder ueber einen Arduino herstellen. Ich habe es mit einem Arduino Nano (Clone) gemacht. Bitte bei Verwendung eines anderen Arduino darauf achten, evtl. einen Level-Shifter zwischen Arduino und Modul zu haengen, da das Modul mit TTL 3,3V laufen soll.
  • Beim Arduino Nano kann man das Modul ohne Level-shifter betreiben. Bei mir ging es sowohl am 5V-Pin, wie auch am 3,3V-Pin.

2) Bei Verwendung eines Arduinos muss erst noch ein Sketch auf selbigen geladen werden, um Befehle an das Modul senden zu koennen:

  • Hierfuer die Arduino-IDE starten und eine Verbindung zum Arduino herstellen.
  • folgenden Sketch in die IDE kopieren und auf den Arduino laden:

 

 

// In diesem Beispiel verwenden wir die
// Pins 10, 11 als seriellen Software-Port

#include <SoftwareSerial.h>

#define softRX 10 // hier kann auch anderer Pin verwendet werden
#define softTX 11 // hier kann auch anderer Pin verwendet werden

SoftwareSerial softSerial(softRX, softTX);
char c;

void setup() {
Serial.begin(9600); // Serieller Monitor
softSerial.begin(9600); // Verbindung zu HM-10 oder CC41-A
Serial.println("AT-Kommando-Modus => ");
}

void loop() {
// Meldungen vom HM-10 oder CC41-A lesen und
// am seriellen Monitor ausgeben
while (softSerial.available()) {
c = softSerial.read();
Serial.print(c);
}

// AT-Kommandos vom seriellen Monitor
// lesen und zum HM-10 oder CC41-A übermitteln
while (Serial.available()) {
c = Serial.read();
Serial.print(c);
softSerial.print(c);
}
}


3) Befehle an das Modul senden:

  • Hierzu einen seriellen Monitor oeffnen (ich habe den von der Arduino-IDE genommen) und die Baudrate (9600) und das Linehandling (bei HM10 'kein Zeilenende', beim CC41-A auf 'sowohl NL als auch CR') anpassen
  • Anschliessend kann man den Befehl AT+HELP an den Arduino oder den FTDI-Adapter schicken, und erhaelt eine Uebersicht ueber (mehr oder weniger) saemtliche Befehle, die man an das Modul schicken kann. Mit einigen Befehlen kann man bestimmte Parameter aendern.
  • Mit den folgenden 8 Befehlen macht man das Modul zu einem iBeacon (Kommentare nicht mitschreiben!).
  1. AT+RENEW      #setzt das Modul auf Werkseinstellungen zurueck
  2. AT+RESET       #startet das Modul neu
  3. AT+MARJ0x1234     #vergibt eine Hex-codierte Major-Nummer - in diesem Fall 4660 (dezimal)
  4. AT+MINO0xFA01     #vergibt eine Hex-codierte Minor-Nummer - in diesem Fall 64001 (dezimal)
  5. AT+ADVI5     #stellt das Beacon-Interval 5ms (dies ist ein hidden command beim CC41-A)
  6. AT+NAMEYOURNAME     #aendert den Namen des Moduls auf YOURNAME
  7. AT+IBEA1     #aktiviert den iBeacon-Mode
  8. AT+RESET #startet das Modul neu


4)