Go Down

Topic: [WIP] Projet : Laser Game (Read 2534 times) previous topic - next topic

Artouste



Maintenant, je voudrais que les clients (les guns/les joueurs) puissent communiquer avec le serveur :
Rien de bien compliqué, un module nRF24L01 et la lib Mirf (Ca, ça marche).
Mais chaque client doit avoir une adresse qui lui ai propre et je refuse de toutes les rentrer à la main dans chacun des guns. Alors comment faire ?

bonjour
par "je refuse..." je suppose que tu veux dire , je ne veux pas injecter un code different (contenant l'adresse unique) dans chaque
"gun" ?
parce que d'une maniere ou d'une autre il faut bien affecter une adresse unique

Combien de "gun" au max ?

il y plusieurs solutions +/- simple et sans etre exhaustif

- prevoir un codage hard (genre dip ou cavalier)
- utiliser un composant embarquant déja un ID unique et t'en servir pour l'adressage (je verrais bien un compo 1Wire , petit et simple à interfacer)

Hidjy

Je veux effectivement dire ne pas avoir à injecter un code different dans chaque gun.

J'aimerais dans l'absolu ne pas être limiter dans le nombre de joueur (même si je vois difficilement des parties à plus d'une vingtaine de joueur).

L'idée du codage hard me parraît assez restrictive.

J'aime assez celle du composant à ID unique, en connais-tu ?

Un syteme d'attribution d'id unique au niveau du logiciel n'est pas possible ?

Artouste


Je veux effectivement dire ne pas avoir à injecter un code different dans chaque gun.

J'aimerais dans l'absolu ne pas être limiter dans le nombre de joueur (même si je vois difficilement des parties à plus d'une vingtaine de joueur).

L'idée du codage hard me parraît assez restrictive.

J'aime assez celle du composant à ID unique, en connais-tu ?

Un syteme d'attribution d'id unique au niveau du logiciel n'est pas possible ?

ok
- donc en partant sur de la ^2 tu peux affecter 32 gun avec 5 bits

- Tous le compos 1wire emportent par construction un ID unique
le DS2401 est le compo ideal pour ça (il ne fait que ça , fournir un ID unique)
http://pdfserv.maximintegrated.com/en/ds/DS2401.pdf
mais tu pourrais aussi bien utiliser le tres repandu DS18B20 pour juste utiliser cette fonctionnalité.

- Faire attribuer par random un ID unique par soft est possible , mais cela necessite une etape de verification d'eventuels doublons, maintenant developper une petite etape "config/init" et injecter un ID en EEprom par serial ce n'est pas non plus tres compliqué, il faut juste disposer de la connectique mini sur "les guns"


Hidjy

Pour capter l'IR, j'utilise le TSOP4856.
Il n'a pas son ID unique lui aussi ?
Je peux l'utiliser lui, ou même un transistor qui traine dans ce cas, pourquoi préférer le DS2401 ?

Artouste


Pour capter l'IR, j'utilise le TSOP4856.
Il n'a pas son ID unique lui aussi ?
Je peux l'utiliser lui, ou même un transistor qui traine dans ce cas, pourquoi préférer le DS2401 ?

là je crois que tu confond topologie de boitier et fonctionnalité d'un composant  :smiley-mr-green:

si un DS2401 est dispo en format TO92 , ce n'est pas un transistor en "boitier" TO92

et ton capteur n'a pas lui non plus une adresse unique

Hidjy

Ok ok, je pars donc sur le DS2401 TO-92, il me semble parfait dans mon cas et pas si cher (surtout en chine).

La datasheet precise : 64-Bit Registration Number (8-Bit Family Code + 48-Bit Serial Number + 8-Bit CRC Tester)
Ce qui m'interresse c'est donc les 48-Bit Serial Number ?
Et dans ce cas, Mirf prenant comme adresse 5 caracteres (donc 8*5 = 40 Bit) je vais devoir tronquer 8 Bit ?

Artouste


Ok ok, je pars donc sur le DS2401 TO-92, il me semble parfait dans mon cas et pas si cher (surtout en chine).
...
Et dans ce cas, Mirf prenant comme adresse 5 caracteres (donc 8*5 = 40 Bit) je vais devoir tronquer 8 Bit ?

oui
mais qui peux le plus peux le moins  8)
les compos 1W sont sympa
reviens lorsque tu aura approvisonné , j'ai quelques trucs "dans ma besace"  :smiley-mr-green:

fdufnews


Et dans ce cas, Mirf prenant comme adresse 5 caracteres (donc 8*5 = 40 Bit) je vais devoir tronquer 8 Bit ?

Oui, mais si tu tronques 8 bits, tu n'as plus la certitude d'avoir un numéro unique.

Artouste



Et dans ce cas, Mirf prenant comme adresse 5 caracteres (donc 8*5 = 40 Bit) je vais devoir tronquer 8 Bit ?

Oui, mais si tu tronques 8 bits, tu n'as plus la certitude d'avoir un numéro unique.

bonjour fdufnews
oui tout à fait , mais...  8)
il faut savoir que Dallas incremente sequentiellement l'ID selon la famille et perso je n'ai jamais encore vu de compo 1wire avec autre chose que que 000 en poid fort , on est encore loin du rollover  :smiley-mr-green:

Hidjy

#24
Aug 03, 2014, 07:07 pm Last Edit: Aug 04, 2014, 10:33 am by Hidjy Reason: 1
Autre chose : utilisant un module 2.4GHz (Frequence assez utilisé), comment minimiser les risques d'interferences avec d'autres appareil ?
(S'il y en a)

fdufnews




Et dans ce cas, Mirf prenant comme adresse 5 caracteres (donc 8*5 = 40 Bit) je vais devoir tronquer 8 Bit ?

Oui, mais si tu tronques 8 bits, tu n'as plus la certitude d'avoir un numéro unique.

bonjour fdufnews
oui tout à fait , mais...  8)
il faut savoir que Dallas incremente sequentiellement l'ID selon la famille et perso je n'ai jamais encore vu de compo 1wire avec autre chose que que 000 en poid fort , on est encore loin du rollover  :smiley-mr-green:

Bonjour Artouste,

Disons que c'est un risque calculé.

Artouste



Bonjour Artouste,

Disons que c'est un risque calculé.


:smiley-mr-green:
et/ou accepté  8)
De plus rien n'empeche facilement à la reception du/des lots de verifier si un malencontreux doublonnage resultant existerait par supression du byte  sur les quelques dizaines/centaines du besoin.


icare

Bonsoir,
Vive les shadoks  :D
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Artouste


Bonsoir,
Vive les shadoks  :D

[HUM]
Et si il y a un gibi qui conteste cela , qu'il me contacte en MP  :smiley-mr-green:

caape

Bonjour

...
La datasheet precise : 64-Bit Registration Number (8-Bit Family Code + 48-Bit Serial Number + 8-Bit CRC Tester)
Ce qui m'interresse c'est donc les 48-Bit Serial Number ?
Et dans ce cas, Mirf prenant comme adresse 5 caracteres (donc 8*5 = 40 Bit) je vais devoir tronquer 8 Bit ?

Le plus simple et pour être certain que le Serial Number soit unique, c'est de transmettre les 48 bits du DS2401 comme DATA et non pas comme adresse et d'utiliser une seul et même adresse pour tous les guns.

A+
StandAlone domotique
Volet roulant en proto (Eclairage Salon SAM)(Capteur T°)(Pilotage via WEB + Mobile)(Sonnette)(Alarme)

Go Up