Création d'un protocole libre pour NOUS les MAKERS en 868MHz avec module low cost lora et protocole de transmission esp3

Bonjour à la communautée,
Bon j’en ai marre de tout ces protocoles lourd propriétaire qui ne répondent pas à ma demande, pas fiable, ou trop court en distance ou trop grourmand.
Je me suis enfin décider pour créer un protocole de transmission simple pouvant être péroquété, basé sur des modules LoRa permettant de grandes distances avec une faible consommation.

Je voudrais matériellement partir sur des sx1276

peu cher et permettant de faire des distances de plus de 200m en traversant des murs

Je ne reviendrais pas sur les avantages du 868 MHz comparé au 433 ou au 2.4ghz qui sont complètement encombré dans tout les sens

Pour mes test j’ai utilisé ces break-board, programmable avec arduino, et j’ai juste était bluffé par leur consommation très faible, et la distance possible en milieu bruité

à gauche, la passerelle qui fait le transceiver lora vers mon serveur mqtt car ces modules sont équipé d’un esp32 qui permet le raccord sur le résea wifi), et à droit un capteur magnétique avec un power-latch ou faire un capteur de postion d’un porte.
un truc tout simple et basique.
Le comportement est génial.

J’ai donc voulu aller plus loin, là on est déjà bien mais bon, le faire vivre dans un futur éco systeme serait encore mieux.

grace à node-red je transforme les topics mqtt tx et rx en port série virtuel. et comme je suis électronicien et donc incapable de faire des plugin comme @MrGreen ou d’autre,ou linuxien comme @krosand , il faut que j’utilise quelque choses d’existant. (oui les copains je vous tag ça fait longtemps qu’on a pas joué ensemble lol).

pour faire bref, je me suis basé sur le protocole esp3, fiable et déjà très bien normé

image

Je peux donc utiliser le plugin Enocean et faire vire mon éco-système sous jeedom

Très grande fiabilité, grande portée contrairement à enocean, peux gourmand en énergie.
Pour résumer je souhaiterai faire des émule sur un protocole normé libre pour les makers, peu gourmand, longue distance…

Qui serait interessé pour que l’on ce fabrique notre propre protocole libre ouvert pour la communauté et basé sur du LoRa mono-canal contrairement au LoRa TTN actuel multicanal et donc trop honéreux?

Je pourrais détailler bien plus en fonction de l’engouement sur le fait de s’approrier librement NOTRE protocole libre non imposé par les GAFAM telque la nouvelle usine à gaz de MATTER. Ce qui ne m’empêche pas d’utiliser Z2M avec mes passerelle distante grace à @MrGreen
image

4 « J'aime »

et pourquoi pas créer un serveur mqtt communautaire pour notre LoRa maison afin de créer des relayage en ville ou des points de sortie en campagne afin d’avoir accès à nos données à distance.

Après je suis de l’ancienne école ou pour mon internet doit être un lieu de partage et communautaire, ce qui va à l’encontre de la sécurité… mais j’ai bien conscience qu’il faudra que je révise mon point de vu pour un projet de cet ampleure

(|__/)
(=’.’=) Ceci est un petit lapin.
(")_(") aidez le à dominer le monde en le mettant dans votre signature

Toutes les fautes de frappe, d’orthographe, de grammaire et de syntaxe ci-dessus, sont la propriété intellectuelle de l’auteur.
Elles peuvent être reproduites ou même corrigées sans son accord préalable…

3 « J'aime »

Bonsoir,

L’idée est bonne,
Il n’existe un équivalant libre autres gafam me semble t il, il ne vous convient pas ?

EDIT :France

1 « J'aime »

C’est intéressant mais qu’est ce que l’on peut faire remonter avec ça?

1 « J'aime »

Bonjour, thé things network ou TTN, c’est Google

2 « J'aime »

On peut faire tout ce que le plugin enocean permet, et même plus car on peut imaginer plusieurs passerelle distantes sur le même serveur Mqtt. Donc du multipoint sans contraintes. Juste il faut prévoir de truquer l’association avec une idée unique lors du lancement du plugin. Ce qui ne devrait pas être trop difficile à simuler avec node-red

1 « J'aime »

Plein de capteur, l’eco-system enocean est très riche entre les capteur ouverture,pir, luminosité…, Ou les actionneurs tor ou gradation, pilotage de volets roulant,portails…

On trouve de belle info sur le protocole ici

1 « J'aime »

merci pour cette éclaircissement donc dans le principe on oubli

Bonjour, je ne comprends pas toutes les subtilités (culinaires ) mais j´aime beaucoup l´idée ! :+1:

1 « J'aime »

Bonjour à tous
Très bonne idée, mais pourquoi pas utiliser de l’existant ?
Perso j’utilise le protocole MySensors: https://www.mysensors.org/

  • Idéal pour les makers
    Open source
    Gateway série ou ethernet très simple à réaliser
    Capteurs et actionneurs très simple également (1arduino+1module radio)
    Fonctionne en 2.4gHz et en 868mHz
    Très faible consommation
    Communautée très active
    Nombreux exemples de capteurs …

Je l’utilise depuis 4 ans en radio 2.4gHz avec 50 capteurs/actionneurs DIY.
C’est mon unique protocole sur mon jeedom

Jean-luc

4 « J'aime »

Bon j’ai cherché, mais je ne trouve pas la construction de la trame, mais le rfm95w est intéressant car il est aussi utilisé pour le LoRa en868MHz. @Kazymir tu nous montreras comment est construite la trame de manière à comparer et prendre le plus intéressant. Mais il me semble que le enocean à ce que j’ai lu permet le perroquettage 2fois. Ce qui peut être intéressant pour couvrir un ensemble de serres pour le maraîchage par exemple. A voir, à réfléchir et à comparer.
Posons les pour et contre sur la table

bonjour
comme je disait en pv à certains, je suis étonné de voir des réponses aussi rapides, comme le dit @Nivek2 je n’arrive pas à trouver les trame de construction complète du protocole My sensor, mais matériellement interessant, les classique esp32 ou 8266 sont incontournable, en 2.4ghz, et le rfm95 ou sx1276 en 868 aussi
Bref parlons du protocole Enocean qui a des avantage comme la possibilité de faire des répétitions ou du point à point permettant de fonctionner même si la box domotique est privé d’internet ou devient kaput

je vais donc parler de 3 matériel pour illustrer mon propos, le controlleur, l’interrupteur sans fils sans pile, et du système de commande de lumière
les brevet enocean résident surtout dans le « sans fils sans piles » et utilisent des générateur d’impulsion par inversion de polarisation magnétique, ou trouve des descriptif sur internet, mais bref brevet = pas touche


la suite sera plus interessante pour poser les première bases, le protocole de transmission, merci @Nivek2 d’avoir partage les EEP du protocole, qui apparement peuvent être trouvé sur la toile, cela facilitera la vulgarisation.
Donc là aussi il s’agi de s’en inspirer sans le copier.
J’ai une question pour les citadins, quel canal LoRa serait le moins encombré pour ce l’approprier? étant dans le monde rural, à part france inter ou rtl, je ne suis pas emmerdé par les ondes, même la 4g est réfractaire à nos contréée.
Donc pour comprendre les transmission il faut un usb300 et un terminal pouvant comprendre « l’hexadecimal ». pour ma part j’utilise docklight en vresion « eval », et un tableau de conversion hex ↔ ascii, mais qui peut aussi se mettre en vampire sur une connection série, c’est trop bien

désolé je n’ai pas trouvé d’équivalent sous linux
pour nos besoin de simplicité je propose de rester en ascii ce qui nous evitera la conversion, notament pour programmer les micro controlleurs arduino. mais la trame sera plus lourde.

décodons une trame, pour cela je branche mon dongle usb300 reconnu par mon pc comme un port serie, et je règle mon terminal en 57600Bd N81, rien de sorcier, j’ai trouvé la vitesse à force tester des combinaisons

bon je fais la suiter plus tard dsl

Salut,

je rejoins un peu l’avis de jlb concernant MySensors (je fais toujours partie de la team MySensors meme si peu actif ces derniers temps car occupé par jeemate).

MySensors est compatible 2.4ghz, subghz, ainsi que filaire (rs485 et bus CAN).
C’est l’équivalent sans-fil de zigbee,zwave mais en completement ouvert dans l’écosysteme Arduino.
Gère aussi le multi avec une seule passerelle (par exemple, 2.4ghz+subghz+filaire sur la meme passerelle).
Gère les modules sx127x (compatibles LORA) sans devoir passer par the thing network par exemple (micro network long range privé).
Sécurisé si besoin au moyen d’un authentication à base de clé tournante etc (puce ATSHA par exemple).
Il existe aussi un package pour nodered.

Le protocole, ainsi que la doc dev, sont dispos sur le site MySensors :slight_smile:

bon reprenons
exemple d’un bouton
55 00 07 07 01 7A F6 10 FE F5 67 3F 20 00 FF FF FF FF 3C 00 D4
comme ça ca parait indigeste mais allons y
55 c’est la synchro, en binaire 01010101 (ou « U » en ASCII) donc un beau signal carré qui permet aux équipement de se mettre en phase ( à l’écoute ou se reveiller)
00 07 correspond à la longueur de data utile donc 7 bytes
07 les data d’option donc 7 bytes
01 le type de packet
7A un crc 8bits voir crccalc.com

donc à partir de là on connait exactement la longueur de la trame et on est capable d’extraire toute les données voulu
maintenant on tape dans le dur

donc les DATA (0007 bytes)
F6 c’est le rorg, qui décrit le type de matériel, allez voir le pdf partagé par @Nivek2, ce rorg correspond à tout les emetteurs simple, dans notre cas page 12/94 des EEP
10 les datas, dans notre cas on est en présence d’un appuie sur le bouton A0
FE F5 67 3F est l’identité de l’emetteur
20 est un byte de status

on a donc nos 7 bytes de data
passons aux data options
00 incrément de répétition de télégram en cas de perroquettage de la trame on incrémente ce byte, Enocean a donné un limite de 2 afin d’éviter les répétition à outrance pour eviter un phénomene de « larsen » ou répétition sans fin et donc éviter de faire tomber le réseau par encombrement de la fréquence
FF FF FF FF c’est a qui est destiné les data, ici fffffff c’est que c’est pour tout le monde sinon on pourrait uniquement le destiner à 1 équipement
3C c’est le RSSI ou à quelle force le signal est reçu. 3c en hex donne 60 en décimal soit -60bd, signal exenllent ou très proche (-50db donne environ 1 mètre dans notre cas)
00 le niveau de cryptage inexistant ici
D4 le dernier CRC on peut le reproduire grace à la librairie arduino" fastCRC.h"

Je pense que ce protocole est très bien pensé, à notre niveau les crc font chi** les status et niveau de cryptage inutile et on pourrait directement travailler en ascii pour faciliter les choses pour tout le monde

J’espère avoir réussi à vulgariser les choses

ah si j’oubliais, afin de ne pas pouvoir « hacker » les trame enocean a fixé en dure les identitée des tranceiver, on pourrait potentiellement faire la même chose avec les adresses mac par exempledes ESP32 ou 8266

Allé bon courage pour déjà digéré cette théorie

jeemate!!
à quel niveau dev? utilisateur?

dev de l’app :slight_smile:
avant de me lancer sur jeemate, mon but était de faire l’app pour MySensors+nodered, afin de remplacer la webapp MySensors embarquée dans ma passerelle esp32 dualRF que j’avais faite.

1 « J'aime »

après si je voulais passer par un serveur mqttc’est parce qu’on peut facilement l’exploiter avec jeedom nodered…
image

je range mes données par les adresse MAC de mes ESPqui ont un transceiver 868Mhz puis l’id des iot
pour transmetteur sur une passerelle j’utilise le topic « macAdress/tx »


mon boitier fait la passerelle entre LoRa et MQTT dans les 2 sens et est sur batterie.
Le dialogue mqtt a beaucoup d’avantage telque les reconnexion, QOS, login/pass, certificat ssl … en terme de fiabilité de connection ou cryptage des données surtout si on passe sur la toile, c’est un must

tout à fait :slight_smile:
(la passerelle MySensors est aussi compatible MQTT ainsi que le package nodered).
d’ailleurs ma passerelle MySensors est un esp32 en MQTT

1 « J'aime »

ah!!! interessant et sur ton serveur mqtt le dialogue ce traduit comment?