Discussions sur la v0.2 (Réflexions sur le protocole radio)

Tout ce qui est en rapport avec le développement du protocole radio
Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Zescientist » 28 Juillet 2013, 23:06

Bon, en faisant le tour du code de Yargol et notamment de l'implémentation du protocoleRF, j'ai remarqué les temps de pulsations suivant auxquels je n'avais pas fais attention avant :
//1 = 310µs haut puis 1340µs bas
//0 = 310µs haut puis 310µs bas

Je ne pense pas qu'il y a d'intérêt à continuer à différencier les largeurs d'impulsions, un rapport cyclique de 50% (temps haut=temps bas) devrait convenir et coder plutôt de cette façon :
//1 = 310µs haut puis 310µs bas
//0 = 310µs bas puis 310µs haut

J'essaierais de faire le test, mais si quelqu'un peut le faire plus rapidement que moi, je l'invite à se lancer et à nous remonter le résultat :P

Ensuite, avec ces valeurs, on travaille à un débit de 3225,81 bauds/s (et moitié moins en données utiles, cad une fois qu'on a retiré le code manchester) en travaillant comme proposé avant, moins dans les conditions actuelles.
Je pense que l'on devrait changer les valeurs et tester à 2000, 4000, 6000 et 8000 bauds/s, pour tester différents débits, ce qui donnerait respectivement des temps de 500µs, 250µs, 167µs et 125µs (à appliquer en temps haut, puis bas).


Pour rappel, les spécifications de nos modules RF ne sont bien fournies, mais en fonction de la traduction, on pourrait tourner au maximum soit à 4000bauds/s soit à 32000bauds/s. En fonction du cas, on n'a pas mal de marge et l'on ne devrait pas avoir de problèmes.
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Yaug » 29 Juillet 2013, 05:57

Le code de Yargol ? :D

Par contre, du haut de mes toutes faibles compétences en radio, je me pose plusieurs questions :
- Pourquoi vouloir arrêter de différencier ? (et du coup, comment ça fonctionnerait ?)
- Pourquoi enlever le codage de manchester ?

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Zescientist » 29 Juillet 2013, 08:12

Le code du package v0.2 Master de Yargol plutôt. ;)

Actuellement les bits 1 et 0 sont représentés tout 2 par un front montant puis un descendant, la seule différence étant que le "temps bas" dure entre 3 et 4 fois plus longtemps sur le 1.
Je pense que l'on peut changer la représentation. Hier soir j'ai proposé que temps haut = temps bas, mais qu'un 1 commence par un front montant puis descendant et un 0 par un descendant puis un montant.
Bon j'avoue qu'en y réfléchissant là tout de suite frais du matin j'ai un gros doute sur l'optimisation, mais le but est au final de réduire le temps mis pour transmettre les bits et donc éviter que dans le temps un 1 soit quasi 2,5 fois plus long à être transmis qu'un 0.

Sinon je ne veux pas supprimer le Manchester, surtout pas! Mais autant optimiser un peu partout, et cette fois, je m'intéressais à la représentation binaire.
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Yaug » 29 Juillet 2013, 08:27

Ok ok, je comprend la volonté, après, dans les faits, j'attends de voir ce que ça peut donner
Pour le moment, je propose qu'on garde l'encodage tel quel sur les durées des bits 0 et 1, et je lister l'idée pour plus tard.
Pour quand on aura suffisamment avancé pour chercher à optimiser tout au maximum.
Et comme ça, ça donnera aussi le temps de tester ce que ça donne.
Quand dis-tu ?

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Zescientist » 29 Juillet 2013, 08:39

Oui je comprends, je donne juste les idées qui me passent par la tête histoire de rien oublier.
Faut me recadrer, ma tête est souvent comme un feu d'artifice d'idées, ça explose de partout, et j'ai du mal à uniquement me concentrer sur la tâche actuelle^^
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Yaug » 29 Juillet 2013, 08:47

Pas de soucis, je suis là pour faire le rabat-joie de toute manière :D
Et tes idées sont bonnes, comme on dit : YAPUKA !

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Yaug » 29 Juillet 2013, 17:33

Concernant la taille de la trâme.
En gros, on commencerait notre trame par un information sur X bits (mettons sur 8 bits).

Donc on aurait un signal de taille minimale :
- 8 bits : Taille du DATA
- 7 bits ID émetteurs
- 7 bits ID récepteur
- 3 bits types de données
- 1 bit de signage
- 14 bits de données

Soit une trame minimale de 40 bits et une taille maximale 281 bits.

C'est ça l'idée ?

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Zescientist » 29 Juillet 2013, 18:22

Presque! Il faut compter le préambule aussi, et donc actuellement on aurait max en data 229bits.

Cependant, cela n'a réellement d'intérêt que si l'on transmet l'information directement au format ASCII ou ISO (un caractère=8bits=1octet).
Exemple pour 1octet/caractère :
-02 => 3char soit 24bits
+10 => 3char soit 24bits
+9,5 => 4char soit 32bits

Et mieux :
+15°;25%;off => 12char soit 96bits pour transmettre une température, une hydrométrie et l'état d'un relais!
15;25;0 => 7char soit 56bits pour le même résultat en version simplifiée

C'est à nous de définir comment on intègre les données des différents capteurs mais au mieux on dispose de 28 caractères disponibles pour la data et un supplément de 5bits non affectés.

De fait, le bit de signage n'aurait plus d'intérêt comme je l'avais dis dans un précédent post, mais pourrait être utilisé pour le bit de parité.


Sinon j'ai reçu mon arduino Uno commandée jeudi soir, et je suis actuellement en train de reprendre le code de la node libre V0,1 pour le simplifier et le transformer en programme de test de "conversation" entre 2 arduinos. Le but sera d'implémenter les nouvelles fonctions, en vérifier l'efficacité, puis les adapter sur la version officielle du code. Et bien pour l'instant j'ai envie de dire que le code actuel manque un peu de commentaires :oops: :lol:
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Yaug » 29 Juillet 2013, 19:32

héhé oui, c'est bien vrai pour les commentaires.

Pour l'évolution du code du node, il faudra faire de la communication une bibliothèque, ça rendra le reste plus lisibile.

Jamais content ces gens :D

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Discussions sur la v0.2 (Réflexions sur le protocole rad

Messagepar Zescientist » 29 Juillet 2013, 20:20

Yaug, petit soucis dans le package V0,1 que tu as fournis, il manque la classe DallasTemperature.h. Si tu peux corriger ça :)
El'Radioman


Revenir vers « Protocole radio »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités

cron