Antenne Bluetooth avec un ESP32, Open MQTT Gateway et jMQTT

Bonjour à tous

Alors je confirme que la version 3.8.5 est la solution pour ne faire aucune soudure il passe du premier coup.
Mais l’installation via le site ne fonctionne toujours pas, ni pour OMG ni pour tasmota donc le GPIO0(D3) à la masse doit être nécessaire.

Sinon une fois le flash passé cela joue comme il faut.

image

Il existe plusieurs commandes possible que je découvre petit à petit.

@bad a montré le reboot avec {"cmd":"restart"}
Mais il y a aussi la découverte qui peut se mettre en service ou non via {"discovery":true} ou {"discovery":false}

et là je butte sur la mise en place d’une liste blanche afin de ne pas avoir trop d’adresse MAC sur la passerelle. Cela semble stopper ma passerelle !! :thinking:

bref pas mal d’info ici dans la doc : BLE gateway | OpenMQTTGateway v1.6.0

bientôt les premiers template à partager je suppose sur les nut, tile et autres objets

2 « J'aime »

Hello,

Oui et une notion de « présence » où OMG évalue la distance de l’objet par rapport à l’antenne.
Mais aussi des flag de compilation pour utiliser les UUID des beacon, etc, il y a énormément de chose dans ce firmware !!!

Le fonctionnement actuel est un peu étrange : les listes que tu envoies en MQTT incluant les MAC (en maj et sans les :) des équipements à white/black-lister doit être retain par le broker pour que OMG les ré-appliquent au reboot.
Sinon c’est assez classique : si tu mets des choses en white-list, seuls ces équipements seront envoyés en mqtt, en black-list, il ne seront jamais envoyés.

Je travaille sur un PR d’OMG dans les prochains temps pour que la liste soit retenue par OMG directement et un autre pour passer les flag de compilation en dynamique (donc paramètres modifiables à chaud).

1 « J'aime »

Merci pour tes retours @Bad

Je suis pas certain que la partie distance est implémentée sur les ESP32 mais plus sur les modules HM10 et HM11 enfin c’est ce que j’ai compris et pour ma part je ne la vois pas sur mes nuts par exemple.

Mais c’est clair qu’il y a des choses dans ce projet mené par @1technophile et ses copains.

concernant les adresses MAC
j’ai repris les payload comme inscrit avec les " : "

Je vais tester sans pour voir mais chiant windows 10 qui me diffuse 40 à 50 adresses différentes j’en veux pas :slight_smile:
Je veux juste mes 25 devices connus

Bon en regardant ce matin MQTT Explorer la liste blanche à très bien fonctionnée :muscle:

je l’ai injecter via Node Red mais cela marche aussi par une commande action sans aucun soucis

{
    "white-list": [
        "12:34:56:78:9A:AA",
        "12:34:56:78:9A:AB",
        "12:34:56:78:9A:AC",
        "12:34:56:78:9A:AD",
        .......,
        "12:34:56:78:9A:AZ"
    ],
    "discovery": false,
    "hasspresence":true
}

La dernière ligne n’est pas nécessaire pour la liste blanche je l’ai laissée juste pour montrer comment injecter une série d’info.

Avec les infos du tuto de @Bad j’arrive à ça pour le moment, la formule de @Phpvarious pour l’uptime en jour/h/mn/s :

image

Je n’ai pas la distance du device à l’antenne sur mes payload je cherche encore comment faire pour l’avoir car la doc en parle :slight_smile:

3 « J'aime »

Ajoute "hasspresence":true à ta config plus haut, cf doc OMG :wink:
Sinon il y a plus d’infos dans le topic home/home_presence/#, mais ce topic va changer prochainement pour devenir bt/presence/# (en reprenant la config d’OMG du tuto).

1 « J'aime »

4 messages ont été scindés en un nouveau sujet : Commande Samsung

Bonjour,

Merci pour ce tuto passionnant :slight_smile:

Une petite question qui me trotte…Si mon voisin possède des Nuts ou d’autres modules Bluetooth rien ne va m’empêcher de les voir ?
Et du coup avec le même materiel lui aussi pourra voir ce qu’il se passe chez moi!.. :thinking:

Une autre question, si je veux modifier l’intervalle de rafraîchissement

Définition de l’heure entre les analyses BLE et forcer une analyse
Si vous souhaitez modifier le temps entre les lectures, vous pouvez modifier l’intervalle par MQTT. Par exemple, si vous souhaitez que le BLE soit analysé toutes les 66 secondes :

mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoBT/config -m ‹ {« interval »:66000} ›

Si je mets {« interval »:120000} j’aurais bien deux minutes ?

Hello,

Mais de rien :wink:

Non en effet, c’est le principe du « Bluetooth Advertisment » qu’utilisent les nut et d’autres équipements.

Ouep, idem.

Oui, mais du coup, l’écoute intervenant moins souvent, tu risques de louper des évènements. Chez moi j’ai même baissé à 35s.

Bad

Oui, mais du coup, l’écoute intervenant moins souvent, tu risques de louper des évènements. Chez moi j’ai même baissé à 35s.

ah d’accord… je voulais ménager la ptite bête mais du coup c’est vrai que 35 secondes c’est beaucoup mieux.
Encore merci Bad pour tout se que tu fais pour la communauté

Perso je n ai pas encore touché la conf « de base »
En modifiant les appels ca devient plus regulier ??
Car la tout de suite chez moi c est un peu le bronzx la tempo n est jamais la meme
(J ai mis la repetition de valeur pr avoir chaque appel)


On voit que ca va de qlq sec, a plusieur minutes par moment

1 « J'aime »

Oui ca dépends de 2 « fenêtres de tir » : l’équipement qui émets de façon plus ou moins régulière et la période d’écoute d’OMG.
Si tu mets un intervalle à 55s, OMG va écouter pendant 10s toutes les 55s. Si ton équipement émets toutes les 100s, tu peux te retrouver avec des périodes où les deux « fenêtres » ne sont pas du tout en phases, donc avoir l’impression que tu n’as perdu ton objet.

Dans un premier temps, tu peux aussi lancer du scan en continu en mettant un intervalle à 0, ça te permettra de savoir tous les combiens de temps émets ton objet et trouver le « bon compromis ».

(Mais tu peux aussi laisser en scan continu, ça marche très bien et l’ESP32 a laaaargement assez de puissance pour le faire)

Bad

juste pour être sur de pas faire d’ânerie…
pour seter l’interval il suffit de créer une commande comme le reboot que tu nous proposes dans ton 1er post sur l’équipement ESP ?

?

soit :


you can also force a scan to be done by the following command:

mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoBT/config -m '{"interval":0}'

dans la doc, il est indiqué MQTTtoBT quand sur ton post il y a MQTTtoSYS, quelle diff ?

Et surtout mettre l’interval à 0 ne fait pas un scan en continu mais cela force 1 scan ensuite cela revient sur la valeur d’interval précédent

faudrait plutot le mettre à 1 :wink:

1 « J'aime »

Tu as raison, je racontes des bêtises !

Topic : bt/OMG_tuto/commands/MQTTtoBT/config
Payload : {"interval":1}

Attention, les paramètres de configuration envoyés sur ce Topic ne sont pas gardés en mémoire après un reboot de l’antenne.
Je vais essayer de travailler ce weekend sur un PR pour OMG dans ce sens (je sais ça fait 3 semaines que je dit ça, mais j’ai eu des « petits » soucis avec jMQTT qui m’ont pris bien trop de temps).

Il suffit de publier en retain non?
A la limite je trouve ca mieux que OMG ne retienne pas ca ainsi en cas de pépin/mauvaise config etc il suffit de le reset pour qu’il reparte avec une config par défaut (en ayant pris soin de supprimer le topic évidement)

2 « J'aime »

et du coup la diff ? :slight_smile:

Oui il suffit de Retain, mais s’il y a des white/black-list, il ne faut pas oublier de les ajouter, etc.

Ca se défend en effet, mais ce n’est pas la voie habituellement adoptée par les équipements du marché. Et puis ce topic de configuration serait toujours accessible en cas de pépin.

C’est un débat qui peut se prolonger ici :wink:

il en va de même pour la liste blanche aussi
enfin de tout ce qui est publié sur ce topîc MQTTtoBT :wink:

La configuration du système lui-même se fait dans MQTTtoSYS,
la configuration du « module » Bluetooth de OMG dans MQTTtoBT,
aussi « simple » que ça :wink:

Bonsoir,
sorry de polluer ce fil déjà bien chargé, mais je pédale dans la semoule pour la white_list:
avec mqtt j’ai les topics suivant:s


j’ai envoyé une cde pour inscrire une liste blache avec la cde action :

home/openMQTTGateway/commands/SYStoMQTT/config
payload:
{
    "white-list": [
        "FF:FF:99:00:C3:B6",
	"0F:72:71:38:CE:ED",
	"FF:FF:CD:01:B3:45",
	"FF:FF:DE:01:BD:35",
	"D2:FA:07:E7:1C:0C",
	"C2:D9:EB:71:5D:63"
    ],
    "discovery": false
}

{
    "hasspresence":true
}

mais j’ai du faire une boulette, le topic BTtoMQTT se remplie comme un fou.