Ich arbeite mit IPv6- und UDP-Sockets mit Python-2,7 . Ich konzentriere mich besonders auf IPv6-Multicasting ff02::1
wo jedes Link-Local Adressgerät (mit fe80::
) antwortet auf Anfragen von einer zentralen Serverentität.
An diese Geräte sind Mikrocontroller angeschlossen, die ein Programm in Form von benötigen .ihex
( Intel Hex ). Ein Ausschnitt der Datei ist wie folgt:
:103100005542200135D0085A8245381131400031EE
:103110003F4002000F9308249242381120012F8370
:103120009F4F1E390011F8233F4036000F930724AC
Ich denke, der Weg, um darüber zu gehen, verwendet struct
und Funktionen wie pack
und unpack
aber ich bin mir nicht sicher, ob so eine sendung Ihex Datei, die in der Größe von wenigen ist Kbs würde den Zweck lösen.
Kann ich so etwas machen:
#!/usr/bin/env python
from struct import pack, unpack
import socket
. # Create a UDP socket and Bind it..
.
myHexCode = open("Filename.ihex")
dataToSend = struct.pack('Paramaters for packing', myHexCode)
.
. Send data to socket..
Was werden die Verpackungsparameter sein? (soll ich tun !
oder großer oder kleiner Endian >
oder <
für die Hex-Datei?)
Hinweis
Ich kann nicht benutzen scp
Noch sftp
da beide Protokolle funktionieren TCP und unterstütze kein Multicasting, und ich arbeite in einer Umgebung, in der die Verluste im Netzwerk höher sein können ( Wireless Medium )