311просмотров
9.3%от подписчиков
23 марта 2026 г.
questionScore: 342
А как?.. Ч.4 3. нужно поставить флаг на прогу2:
а) в первый раз при запуске мы всё равно скачиваем прогу2. б) во 2, 3 и далее последующих разах нам нужно проверять:
б.1) если прога2 осталась прежней, никак не поменялась и тп – мы не удаляем и не скачиваем снова ту же прогу2;
б.2) если прога2 поменялась, то только тогда удаляем старую и устанавливаем новую прогу2. • Вариант А: Добавим в прогу1 чтение локальной версии (например, из крошечного файла version.txt или просто хэш-сумму файла prog2.py).
При запросе на порт плата шлет: INIT_PING: DATE TIME | V: 1.2.
Сервер смотрит: если у него лежит та же версия 1.2, он отвечает коротким сообщением NO_UPDATE. Что нужно добавить в прогу1: if b"NO_UPDATE" in chunk: self.log("Skipping download.") break • Вариант Б:
Плата скачивает код всегда, но сохраняет его во временный файл. Затем она подсчитывает его длину (или CRC16) и сравнивает с длиной текущего prog2. Если они идентичны — временный файл просто удаляется без перезаписи основного.
Минус: Мы всё равно тратим интернет-трафик модема на скачивание. Вариант А лучше. Кот в Коде|@kot_research_bot