Bonjour,

C'est ma première application avec le Zigbee et les matériaux iDigi.
j'ai bien construit mon réseau ZigBee : contenant 5 XBee Pro S2 comme Routers et une passerelle CoonectPort4 en tant que Coordinator.

Je choisis la topologie en étoile, parce que chaque module XBee envoie une valeur de température au serveur via la passerelle CPX4 .
Ces modules XBee ne recevoir rien de la passerelle. (Modules ----> passerelle).
C'est le meilleur choix ou pas? Si vous pouvez me donner suggesions?

--->In the gateway:

*PAN ID: 0x4a59
*channel: 0xc
*scan all channels

---->In router XBee Pro 2:

*PAN ID: 4a59
*channel scan: 16
*DH, DL destination: 0

Pour commencer, dans le script python:
Avec ce code je peux trouver mon réseau XBee : les 5 modules et la passerelle:
Code:
nodes = zigbee.getnodelist()

print 'Starting up...'

# Print the table:

print "%12s %12s %8s %24s" % \
    ("Label", "Type", "Short", "Extended")
print "%12s %12s %8s %24s" % \
    ("-" * 12, "-" * 12, "-" * 8, "-" * 24)
 
for node in nodes:
  print "%12s %12s %8s %12s" % \
        (node.label, node.type, \
            node.addr_short, node.addr_extended)
Pour receiver :avec ce code je peux recevoir les données d'une seul XBee

Code:
from socket import *

 # Create the socket, datagram mode, proprietary transport:
sd = socket(AF_XBEE, SOCK_DGRAM, XBS_PROT_TRANSPORT) 
 
# Bind to endpoint 0xe8 (232) for ZB/DigiMesh, but 0x00 for 802.15.4
sd.bind(("", 0, 0, 0))
sd.settimeout(1)
 
# Block until a single frame is received, up to 255 bytes:

print "Waitting For New Packet"
#sd.recvfrom(packetSize)
payload, src_addr = sd.recvfrom(255) 

print "payload"
print payload
Comment j'implémente le protocole CSMA / CD (Carrier Sense Multiple Access / Collision Detection) dans le script : le Module XBee envoyé ces doonnes lorsque le canal est disponible?
Comment puis-je récupérer les données à partir du 5 module XBee ?

Nom : py.jpg
Affichages : 35
Taille : 17,6 Ko

Cordialement,