Я работаю с сокетами IPv6 и UDP, используя python-2.7. Я особенно сосредоточив внимание на IPv6 мультивещани , ff02::1
, где каждый локальный адрес устройства (с fe80::
отвечает на запросы от центрального объекта сервера.
У меня есть микроконтроллеры, подключенные к этим устройствам, которым нужна программа в форме .ihex
(Intel Hex). Фрагмент файла, как показано ниже:
:103100005542200135D0085A8245381131400031EE
:103110003F4002000F9308249242381120012F8370
:103120009F4F1E390011F8233F4036000F930724AC
Я думаю, что для этого нужно использовать struct
и использовать такие функции, как pack
и unpack
но я не уверен, что отправка такого ihex- файла размером в несколько килобайт решит эту задачу.
Могу ли я сделать что-то вроде:
#!/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..
Какими будут параметры упаковки? (я должен сделать !
или Big или small Endian >
или <
для шестнадцатеричного файла?)
Заметка
Я не могу использовать ни scp
ни sftp
поскольку оба эти протокола работают по TCP и не поддерживают многоадресную рассылку, и я работаю в среде, где потери в сети могут быть выше (Wireless Medium)