exemple d'utilisation d'un HM-10 bluetooth LE

hello
partage fort sympathique
merci

bonjour
Reçu les modules BT BLE
à priori ce sont exactement les memes que JML
+VERSION=Firmware V3.0.6,Bluetooth V4.0 LE
pour test avec un FTDI en 3.3V alim module en 5V
Il trouve sans problème le BT BLE de la balance
connexion sans problème.

Je m'attendais à du plus compliqué comme dialogue
pour ceux qui seraient interessés

la balance sort une trame seconde sous cette forme Hexa
E7 58 01 MM LL
les 3 premiers octets sont invariable
MM et LL est un entier représentant le poids à la résolution de 50 grammes.

Je pense que pour les fêtes je vais faire une balance avec sirène d'alarme en cas de dépassement :grin:

@Artouste

tu t'es approvisionné où ?
quel tarif ?

J'achète mes gadgets sur eBay en Asie - ils mettent longtemps à venir mais comme c'est pour explorer et se challenger les neuronnes ça ne me gêne pas... je passe une commande de trucs tous les 3/4 jours et comme cela j'ai un flot de nouveaux trucs à Explorer qui arrive en permanence :).... bon les tiroirs commencent être un peu pleins va falloir que je m'organise un peu

Super pour la balance!!!!

J-M-L:
je passe une commande de trucs tous les 3/4 jours et comme cela j'ai un flot de nouveaux trucs à Explorer qui arrive en permanence :).... bon les tiroirs commencent être un peu pleins va falloir que je m'organise un peu

Ah, merci , je me sens moins seul :slight_smile:

Ma factrice doit se demander ce que peuvent être ces colis libellés en Chinois que je reçois très régulièrement.

J-M-L:
@Artouste

J'achète mes gadgets sur eBay en Asie - ils mettent longtemps à venir mais comme c'est pour explorer et se challenger les neuronnes ça ne me gêne pas... je passe une commande de trucs tous les 3/4 jours et comme cela j'ai un flot de nouveaux trucs à Explorer qui arrive en permanence :).... bon les tiroirs commencent être un peu pleins va falloir que je m'organise un peu

Super pour la balance!!!!

bonsoir
Un peu pareil , je commande (trop :grin: ) régulièrement "ASIA" ,
Pour du plus rapide , je passe par les "comptoirs" implantés en europe.

Le surcout est généralement faible en rapport (pour du DIY).
Le delai est beaucoup plus court (typiquement une "grosse semaine")
Mais bon , ça ne reste là que du "ludique" :sunglasses:

Pour la balance , je finalise actuellement l’intégration du HM10 avec un ESP8266.

La suite logique devrait etre juste un ESP32 , mais pour l'instant ... :sunglasses:

patg_:
Ma factrice doit se demander ce que peuvent être ces colis libellés en Chinois que je reçois très régulièrement.

Mon facteur m'a posé la question :slight_smile:

Bjr JML et merci pour le partage :stuck_out_tongue:
as-tu essayé de faire tourner les BLE à 115200 bps ?
moi je n'y arrive pas sans perdre en fiabilité :cry:

Oui mais pas avec software serial - Avec un port série "hardware"

Ensuite ça dépend bien sûr aussi bcp de l'environnement dans lequel vous opérez (distance, perturbation,...) ainsi que de là qualité de l'alimentation du module.

Bonsoir à tous.

J'ai besoin d'un peu d'aide:

J'essaye d'envoyer via Bluetooth 4.0 des messages textes à un ensemble de matrices à leds (librairie PAROLA , super cool), le tout piloté par un Arduino Uno.

Je me sers d'un iPhone (ou iPad) avec l'application gratuite "HM10 Bluetooth serial"

L'idée est d'avoir un message défilant dont je peux changer le contenu par BT avec l'iPhone.

J'ai essayé 2 modules différents:
-Le HM-10 original
-sa copie CC41

Tout deux fonctionnent, mais me "brident" les messages à 90 caractères. Pas un de plus.
Si j'en mets plus, le nouveau message est ignoré.

J'ai même flashé le firmware du HM-10 dans le CC41 (+ MAJ du dernier FW (V546)

voir procédure ici : How to flash genuine HM-10 firmware on CC2541 (make genuine HM-10 from CC41) - Networking, Protocols, and Devices - Arduino Forum

(Super tuto , ça a fonctionné super facilement), mais résultat identique.

Je souhaiterais vraiment envoyer des messages plus longs.
En passant par le moniteur série USB de l'Arduino, je peux mettre un peu plus de 400 caractères (limite de mémoire pour le buffer dans l'Arduino dans mon programme)

Donc, ça n'est pas un problème lié au programme ou à l'Arduino.

Auriez-vous une idée pour lever cette limitation 90 bytes?

D'avance, merci

Bonsoir
Pose ta question dans la section generale
Mais de memoire il me semble que le profil SPP en BLE est limité à 90 bytes/paquet.
La limitation vient "surement" de ton appli qui n'envoie qu'un paquet.
fais un test de liaison simple avec tes 2 HM-10/CC41

Bonjour,

J'ai un shield HM-10 que je me suis procurer sur Amazon. J'ai réussi à le connecter sur mon ordi sous Windows 8 (je sais...). Toutefois, contrairement à un BT classique, celui-ci ne montre aucun port série de disponible.

Comment faites-vous pour faire apparaître un port "COM" sous Windows?

Merci

J'ai réussi à le connecter sur mon ordi sous Windows 8

ça veut dire quoi?

Bonjour

Comment faites-vous pour faire apparaître un port "COM" sous Windows?

pas de profil SPP en BLE, donc pas de port COM virtuel !!

Certains fabricants de puces BLE ou modules proposent des solutions 'maison' pour de la transmission série par BLE
ces définitions 'propriétaires' ne sont pas actuellement connues des systèmes d'exploitations de PC et nécessitent des softs spécifiques ....à développer.

Sous Android on trouve quelque applis , dont Serial Bluetooth permettant une connection en terminal avec un HM-10 ou une puce BLE avec la config (service/caractéristique) 'UART' de nrf

HM-10 (solo) en balise iBeacon

plutôt que créer un fil spécifique j'opte pour un prolongement de celui de J-M-L

La manip' décrite içi permet de configurer un module HM-10 en balise iBeacon se réveillant toutes les 7 secondes puis passant en mode sommeil (180 µA) . OK sur une pile CR2032 pendant plus de deux ans !!

Ainsi configuré le HM-10 , en solo sans carte Arduino, devient une balise iBeacon.

L'iBeacon HM-10 est identifiée comme telle par un scanner de balises tournant sous Android :
iB HM10.jpg

Tenant compte des recommendations de J-M-L dans son message initial j'ai opté pour un 'vrai' HM-10 avec présence des deux quartz/oscillateurs à quartz.

L'achat a été effectué début avril à la boutique ALL ELECTRONICS MALL d'Aliexpress

A réception j'ai découvert que le firmware n'est pas le 'Bolutek' décrit par J-M-L mais un firmware récent(6.03) de 'HMSoft'. Il semble posséder des commandes AT supplémentaires. (je joins le pdf)
La commande HELP ne donne pas le liste des commandes AT mais un lien vers le site du fabricant où il est possible de trouver docs, outils et firmwares.

Pour passer en mode iBeacon voici les commandes envoyées au module :

AT+RENEW
AT+RESET
AT+ADVIF
AT+ADTY3
AT+IBEA1
AT+DELO2
AT+PWRM0
AT+RESET

La commande AT+ADVI permet de définir l'intervalle entre deux activités de l'iBeacon (F est la valeur maximale et correspond à 7 secondes)

D'autres commandes permettraient de redéfinir la totalité de l'UUID ainsi que les valeurs de 'Major' et 'Minor'

N'ayant pas d'autre HM-10 sous la main pur servir de scanner d'iBeacon j'ai testé avec des scanners Android et avec un ESP32 doté du programme de scanner de beacons joint, (ce programme sait identifier les iBeacons (proposées par Apple, et 2 autres types de beacons : Eddystone URL et Eddystone TLM (proposés par Google)

Voilà le retour de l'ESP32 en scanner :

Scan done! Devices found: 1

Advertised Device: Name: , 
Address: 3c:a3:08:a0:49:9c, 
manufacturer data: 4c00021574278bdab64445208f0c720eaf05993507e201acc5 

iBeacon Frame
ID: 004C Major: 2018 Minor: 428 
UUID: 359905af-0e72-0c8f-2045-44b6da8b2774 Power: -59

içi les valeurs de 'Major' et 'Minor' avaient été redéfinies par des commandes AT+MARJ et AT+MINO

En fait l'essentiel de l'information est dans la trame :

4c00021574278bdab64445208f0c720eaf05993507e201acc5

4c00    02   15   74 27 8b da b6 44 45 20 8f 0c 72 0e af 05 99 35   07e2 01ac c5
Apple   iB   ln   ---------------------UUID----------------------   Maj  Min  dbm

L'identifiant 0x004C utilisé permet à ce HM-10 d'être vu comme produit Apple par l'utilitaire nrfConnect (Android)
iB nrfConnect.jpg

HM-DataSheet_V2017-07.pdf (846 KB)

ESP32_BLE_beaconscan.zip (5.04 KB)

Merci - addition utile au post !!

Bonjour

Le fabricant du 'vrai HM-10' Jinan Huamao Technology fait évoluer ses modules en publiant des mises à jour de firmwares. Une version 7.01 pour CC2541 vient de sortir en ce début janvier 2019 avec des ajouts intéressants pour le BLE (voit le fichier joint).

Je trouve içi mes HM-10 ils ont une puce CC2541 et étaient livrés avec le firmware Jinan Huamo 6.06,
firmware apparement plus complet que ceux d'autres module 'HM-10' et bien documenté.
+Un bootloader est intégré permettant la mise à jour facile par port série USB.

readme.txt (14.3 KB)

Après la configuration d'un HM-10 en balise iBeacon cf message #17 (en 'solo', sans carte Arduino), voici un test de détection de balise par un autre HM-10 avec une tentative d'estimation de distance (estimation , pas mesure !!)

Le HM-10 en iBeacon configuré comme précédement , avec la puissance d'émission de 0dB par défaut, annonce à l'environnment : "à 1m on me voit avec un RSSI de -59 dB"
RSSI a 1m.jpg

Prenons comme récepteur un second HM-10, içi relié au PC par un adaptateur USB/Série.
Voici la séquence des 4 commandes à envoyer pour que ce second HM-10 scanne l'environnement .
En réponse on voit en fin de ligne des données reçues l'adresse et le RSSI de plusieurs 'devices BLE'

AT+RESET
AT+ROLE1
AT+IMME1

AT+DISI?

REPONSE :
OK+DISIS
OK+DISC:00000000:00000000000000000000000000000000:0000000000:A4C1383C15F7:-070 
OK+DISC:00000000:00000000000000000000000000000000:0000000000:88C62681707A:-085 
OK+DISC:00000000:00000000000000000000000000000000:0000000000:7ED43ED3ED8F:-086 
OK+DISC:00000000:00000000000000000000000000000000:0000000000:50F421C85CAC:-091 
OK+DISC:00000000:00000000000000000000000000000000:0000000000:4C65A8DB1C7F:-061 
OK+DISC:4C000215:74278BDAB64445208F0C720EAF059935:07E201ACC5:3CA308A0499C:-069  (iBeacon HM10 , RSSI=-59 à 1m)
OK+DISCE

La balise iBeacon HM-10 est le dernier des 6 appareils détectés, son RSSI est estimé à -69dB, soit 10dB de moins que s'il était placé à 1 mètre.

Pour estimer la distance**, avoir une idée de sa valeur approximative**, on trouve diverses formules théoriques ou empiriques dont celle çi qui me donne une estimation à 5m tout à réaliste içi avec N=2.

Pour une distance réelle donnée plusieurs paramètres on de l'influence sur le RRSI du signal reçu : orientation relative des antennes, milieu, réflexions.....donc pas question de faire de la localisation par triangulation.... par contre une détection de proximité parait envisageable.

En émission la commande AT+POWEn permet de sélectionner l'une des 4 puissances d'émission suivantes : -23dB, -6dB, 0dB et +6dB. paramètre supplémentaire pour gérer la distance de détection souhaitée.

Je suppose que dans ta formule, les deux valeurs MeasuredPower et RSSI sont en dB ?

Il faudrait tester avec des distances plus courtes, j'ai peur que la précision que tu obtiens pourrait se dégrader vers 1 ou 2 mètres.

oui, 'Measured Power', mal nommée dans le document, est en fait le 'RSSI à 1m' testé par le fabricant du device

Les essais sont à faire....j'ai juste voulu signaler une piste à explorer.

En détection de proximité l'essentiel est la répétabilité des résultats pour situer le seuil de détection, peu importe la 'vraie valeur".

Pour ce qui est de la non pertinence du RSSI en vue d'une localisation voilà une étude.