[Tuto] Configurer un module iBeacon avec un smartphone

Le iBeacon est un objet electronique basse consommation qui va permettre d’emettre en bluetooth trois valeurs en permanence. Un UUID qui identifie  l’iBeacon et deux autres valeurs : major et minor. Le iBeacon peut avoir de nombreuses utilités comme un système de positionnement.

Ici va être décrit la méthode de configuration du module iBeacon  via une application Apple.

Matériels nécessaire:

  • Module iBeacon programmable
  • Pile bouton CR2032
  • Application BeaconGo disponible sur Appstore
  1. Télécharger l’application BeaconGo sur l’Appstore
  2. Brancher la pile sur le module iBeacon
  3. Lancer l’application BeaconGo
  4. Appuyer sur BeaconGo Manager 
    img_0002
  5. Appuyer sur BeaconGO USB
    img_0003
  6. Appuyer sur Search
    img_0004
  7. Dans la liste des périphérique vous devriez voir apparaître votre iBeacon dans le cas où vous ne savez pas lequel est le votre débrancher votre iBeacon recommencer et procédez par élimination
  8. Sélectionner votre iBeacon vous devriez voir apparaître « Connecting » pendant plusieurs secondes
  9. Vous arrivez maintenant dans « Settings », vous pouvez configurer UUID, Major, Minor la puissance d’émission et d’autre paramètres qui pourraient vous intéresser.
    img_0001
  10. Votre Ibeacon est maintenant paramétré et prêt à être utilisé.

[Tuto] Réaliser un iBeacon à moindre couts

Le tutoriel d’aujourd’hui consiste à réaliser un iBeacon en utilisant un HM-10. Alors pour ceux qui ne connaissent pas un iBeacon est un objet émettant à intervalle régulier un signal bluetooth 4.0 (Aussi appelé BLE ou basse consommation).

Voici une vidéo de Estimote (une balise iBeacon) qui explique le principe:

Le but des balises iBeacon est de récupérer une localisation au travers d’application pour en adapter le contenu.

Pour réaliser notre balise iBeacon, il nous faudra un module bluetooth 4.0 (le même que l’on utilise avec le Arduino) ainsi qu’un module USB <-> UART (qui servira à la programmation et à l’alimentation du module bluetooth. Une nappe femelle – femelle servira de connectique.

Mettre à jour le firmware du module

Pour commencer nous allons nous assurer que le module a son firmware à jour en l’updatant vers la dernière version (cela permet d’être certains que toutes les commandes du mode iBeacon seront reconnues). Pour cela, il faut connecter les 2 modules de la manière suivante:

(USB/UART) +5V – VCC (Bluetooth)

(USB/UART) GND – GND (Bluetooth)

(USB/UART) TXD – RXD (Bluetooth)

(USB/UART) RXD – TXD (Bluetooth)

Montage

Vous pouvez brancher l’ensemble à votre ordinateur. Le module USB-UART va démarrer son installation.

Pendant ce temps, nous allons télécharger le logiciel hmcomassistant servant à la communication UART sur le site du fabriquant http://www.jnhuamao.cn/index_en.asp?ID=1 sur le site cliquez sur « PC ComAssistant ».

Download de PC Comm Assistant

Démarrer le logiciel HMComAssistant. Attention sous Windows il peut être nécessaire de l’exécuter en tant qu’administrateur.

Une fois le logiciel démarré, choisissez le port COM et cliquez sur « Open Com »

Open Com

La connexion est établie. Maintenant nous allons mettre le module en mode « Mise à jour du firmware » pour cela, tapez « AT+SBLUP » et vous recevrez en réponse « OK+SBLUP »

AT+SBLUP

Vous êtes maintenant prêt à updater le firmware. Pour cela fermer la fenêtre de « PC ComAssistant ». Sur le site du fabriquant, télécharger le dernier Firmware du HM-10 http://www.jnhuamao.cn/download_rom_en.asp?id=83

Download de Firmware

Attention: il existe 2 firmwares un pour la puce CC2540 et un pour la puce CC2541. Vous devez regarder votre module bluetooth pour savoir lequel télécharger.

CC2541

Une fois télécharger lancer l’application « HMSoft.exe »

Capture HMsoft

Choisissez le port COM utilisez précédemment, pour l’image file choisissez le fichier HMSoft.bim télécharger dans le package du firmware et cliquez sur « Load Image ».

Capture HMsoft_en cours

Le firmware est à jour.

Mettre le module en mode iBeacon

Pour paramétrer le module on va devoir utiliser HMComAssistant. Attention sous Windows il peut être nécessaire de l’exécuter en tant qu’administrateur.

Pour démarrer activer le mode iBeacon par la commande « AT+IBEA1 » le module doit répondre « OK+Set:1 »

AT+IBEA1

Maintenant que le mode iBeacon est activé, nous allons démarrer la transmission (Broadcast) par la commande « AT+DELO1 » auquel le module réponds « OK+DELO1 ».

AT+DELO1

Maintenant il faut redémarrer le module en débranchant le VCC puis le rebrancher.

Désormais le module est visible sur les applications iBeacon (ici iBeaconTool sur Android):

iBeacontool
https://play.google.com/store/apps/details?id=com.ealogic.ibeacon&hl=fr

[info] Revue des avis clients

Comme annoncé par un Tweet il y a une semaine sur notre compte @LetmeknowFr nous avons désormais mis en place un système d’avis client pour que vous puissiez nous noter et que nous pouvions donc rendre vos achats plus facile et de meilleurs qualités.

Les premiers retours concernant le site dans son ensemble ont été largement positif:

Avis bravo Avis très satisfait

Concernant les produits, 2 avis nous ont suggéré des améliorations. Le premier (voir ci-dessous) concerne une erreur dans la description des modules Bluetooth esclave.

bluetooth esclave

 

http://letmeknow.fr/shop/fr/connectivite/10-module-bluetooth-arduino.html

Le câble a été fourni au départ mais nous avons mis en place plusieurs sources sur ce produit et certains ne fournissent pas ce câble. Pour enlever toutes sources d’erreur le descriptif de ce produit a été modifié pour enlever la phrase « avec le câble fourni ».

Le second avis source de modification concerne le fait que la commande alors que le produit n’est pas disponible était possible.

bluetooth maitre

 

http://letmeknow.fr/shop/fr/connectivite/60-module-bluetooth-arduino.html

Vous pouvez voir sur la page produit une notification en rouge vous signalant que le produit est en cours de réapprovisionnement:

rupture de stock

Par contre cette notification n’était pas répétée sur le panier:

Ancien panier

 

Nous avons donc modifié l’affichage du panier pour remplacer la colonne référence (peu utile) par une colonne sur les disponibilités:

Nouveau panierDe plus dans le cas d’une commande avec des références disponibles et d’autres en cours de réapprovisionnement, vous pouvez cocher la case « Envoyer les produits disponibles en premier ».

D’autres messages sur les produits confirment la qualité de nos produits:

Ethernet

http://letmeknow.fr/shop/fr/arduino/37-shield-ethernet-arduino.html

[Tuto] Commander un relais en bluetooth

Commander un relais en bluetooth

Le but de ce montage est de commander une relais par une connexion Bluetooth. La finalité peut être par exemple l’allumage d’une lampe à distance.

Il est aussi possible de réaliser ce montage en remplaçant le module Bluetooth par le module wifi, voir même de le faire sans module en commandant le relais par l’interface USB.

Composants nécessaires :

Composants

 

Principe du montage :

Ce montage se basera sur le montage précédemment réalisé dans le tuto « Réaliser une liaison Bluetooth ». Le montage sera donc le suivant :

  • Digital 0 – Rx (Arduino) → Tx (Module Bluetooth)

  • Digital 1 – Tx (Arduino) → Rx (Module Bluetooth)

  • 5V (Arduino) → VCC (Module Bluetooth)

  • GND (Arduino) → GND (Module Bluetooth)

  • Digital 2 (Arduino) → N1 (Module Relais)

  • 5V (Arduino) → VCC (Module Relais)

  • GND (Arduino) → GND (Module Relais)

Remarque: Pour vous faciliter le montage du relais, il est pratique d’utiliser une nappe comme fourni avec certains capteurs.

Remarque: On monte le module Bluetooth sur une Breadboard pour faciliter le câblage.

Montage 1

 

Montage 2

 Programmation du montage:

 Le programme est le même que pour le tuto « Réaliser une liaison Bluetooth ».

 Le module Bluetooth convertie les informations envoyées en série. La seule contrainte est d’utiliser un débit à 9600bauds. Toutes les commandes de la librairie Serial restent utilisables.

 Pour plus de détails, vous pouvez consulter le site officiel : http://arduino.cc/fr/Main/Serial

Le programme doit établir une connexion, lire les données reçues, s’il reçoit un 1 il ferme le relais, s’il reçoit un 0 il ouvre le relais pour le reste il ne fait rien.

const int relais = 2; // broche 2 du micro-contrôleur se nomme maintenant : relais

void setup() // Fonction d’initialisation de la carte
{
  pinMode(relais, OUTPUT); // Definir relais comme une sortie
  Serial.begin(9600); // Demarrer la liaison a 9600bauds
}

void loop() // Fonction principale, elle se répète (s’exécute) à l'infini
{
   while (Serial.available() == 0); // Attendre de recevoir des caracteres
   char c = Serial.read(); // Lire les caracteres recus et les stocker dans c
   if(c =='1') // Si c = 1
   {
     digitalWrite(relais, HIGH); // Fermer le relais
   }
   if(c == '0') // Si c = 0
   {
     digitalWrite(relais, LOW); // Ouvrir le relais
   }
   delay(500); // Attendre une demi seconde
}

Il reste à brancher le Arduino pour compiler le programme et le téléverser.

Pour se connecter au Arduino dans l’exemple nous utiliserons une application Android : « Bluetooth Pi Arduino PC etc ». Dans l’application, cliquer sur « Discover » pour scanner les périphériques autour du terminal Android. Le Arduino s’appelle HC-06 cliquer dessus. Le mot de passe est « 1234 ». cliquer sur « terminal ». Dans la barre de saisie en bas de l’écran, taper « 1 » puis send. La LED s’allume. Taper 0 la LED s’éteint.

Une fois terminé cela nous donne :

ON

ON

OFF

OFF

Pour aller plus loin : On peut utiliser d’autres applications qui utilise des commandes plus complexes comme Amarino. Il est aussi possible de faire sa propre application grâce à Processing.

3 modules Bluetooth pour mieux vous servir

2 nouveaux modules Bluetooth sont présents en boutique. Ce billet est là pour vous aider à choisir lors de votre achat.

Il y a donc désormais 3 types de modules disponibles:

  • Le module Bluetooth 2.0 Esclave only -> Les autres appareils (smartphone, tablette, PC…) peuvent se connecter à lui mais il ne peut pas initier la connexion.
  • Le module Bluetooth 2.0 Maître / Esclave -> Il peut se connecter aux autres et les autres peuvent se connecter à lui
  • Le module Bluetooth 4.0 Maître / Esclave -> Le plus économe en énergie

[Tuto] Ajouter le Bluetooth au Arduino

Pour ce tuto, il vous faudra:

La carte utilisée pour ajouter le bluetooth au Arduino est le module bluetooth de la boutique (carte JY-MCU).

Partie Hardware

Ce module est l’assemblage d’une carte bluetooth générique sur une carte simplifiant l’interface. A partir de cette interface la connexion au Arduino est basique:

  • GND (carte Bluetooth) ⇒ Arduino GND
  • VCC (carte Bluetooth) ⇒ Arduino 5V
  • TX-O (carte Bluetooth) ⇒ Arduino RX (0)
  • RX-I (carte Bluetooth) ⇒ Arduino TX (1)

Partie Software

Le software est géré comme pour une liaison série. Nous allons essayer de jouer sur l’allumage et l’extinction d’une LED au travers de l’interface bluetooth.

void setup()
{
  pinMode(13, OUTPUT);    
  Serial.begin(115200); //Initialize serial at 115200bps
}

void loop()
{
   while (Serial.available() == 0); // wait for character to arrive
   char c = Serial.read();
   if(c =='1') {
     digitalWrite(13, HIGH);   // set the LED on
   }
   if(c == '0'){
     digitalWrite(13, LOW);  // set the LED off
   }
   delay(500);
}

Remarque: Il est conseillé de déconnecter le module Bluetooth durant l’upload du programme. La connexion USB risquant d’être dérangé par le module.

Communication avec un terminal android (tablette / smartphone)

Notre but est d’envoyer des chiffres 0 ou 1 au Arduino pour allumer ou éteindre la LED.

Pour cela, nous allons commencer par nous connecter au Arduino en bluetooth. Le mot de passe est 1234.

Une fois connecté, nous allons installé une application pour lui envoyer des chiffres. Cette application est Amarino. Elle simplifie la communication Bluetooth entre Android et Arduino.

Une fois dans l’application, cliquez sur « Connect » puis « monitoring ».

Maintenant vous pouvez saisir les chiffres « 0 » ou « 1 » puis cliquer sur « Send » et voir votre LED changer d’état.

Ressources:

http://www.bumble-bee.fr/articles/diy/arduino/bluetooth
http://www.instructables.com/id/Use-your-android-phone-sensors-on-the-arduino-/?ALLSTEPS