Estou trabalhando com soquetes IPv6 e UDP usando python-2.7 . Eu estou particularmente focado em Multicast IPv6 ff02::1
, onde cada dispositivo de endereço Link-Local (com fe80::
) responde a consultas de uma entidade de servidor central.
Eu tenho Microcontroladores ligados a esses dispositivos que precisam de um programa na forma de .ihex
( Intel Hex ). Um trecho do arquivo é como abaixo:
:103100005542200135D0085A8245381131400031EE
:103110003F4002000F9308249242381120012F8370
:103120009F4F1E390011F8233F4036000F930724AC
Acho que o caminho é usar struct
e usar funções como pack
e unpack
, mas não tenho certeza se o envio de um arquivo ihex está no tamanho de poucos Kbs resolveria o propósito.
Posso fazer algo como:
#!/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..
Quais serão os parâmetros de embalagem? (devo fazer !
ou grande ou pequena Endian >
ou <
para o arquivo hexadecimal?)
Não consigo usar scp
nem sftp
, já que ambos os protocolos funcionam no TCP e não oferecem suporte a difusão seletiva e estou trabalhando em um ambiente em que as perdas na rede podem ser maiores ( Meio sem fio )