Всем здравствуйте, у меня появилась проблема, из-за которой я ломаю голову уже какой день.
Проблема такова: необходимо перепрошить микроконтроллер (любой, если подойдет Esp, то Esp, если нет, то нет), любым способом беспроводной связи с Земли (LoRa или др.). Микроконтроллер будет находиться в небе на высоте 20-25 км над уровнем моря (т.е. это будет стратоспутник, запущенный в небо). Также возможно поставить внутрь спутника второй МК, который будет перепрошивать первый МК, возможно поставить внутрь SD-карту для хранения временной прошивки как в буфере. Также, при всём при этом, микроконтроллер должен отправлять по тому же беспроводному интерфейсу на Землю данные с датчиков.
Была идея переделать ArduinoOTA под LoRa, но у меня не хватило сил понять принцип кода и способы переделывания. Я искал в интернете, как записывать bin файл на SD-карту, а потом оттуда же и перепрошивать. Но я опять же не нашел ничего однозначного, кроме этого: Прошивка Arduino с SD-карточки – RoboCraft
Есть у кого-то идеи, как это сделать, что для этого нужно и какие могут быть сложности?
Антенны хочу поставить не сильно большие, буду обсуждать этот момент с другим человеком, как LoRa модули соединять на таком расстоянии. LoRa не должна потреблять много тока. Она на то и LoRa, что может отправлять данные далеко, а потреблять мало. Проблем с законом нет, если использовать определенные частоты.
Лора - это не волшебный дальнобой, законов физики не нарушает.
Но с ней легко засрать эфир и потенциально получить по жопе.
У неё разрешенное время работы - 1% при большой мощности. И то я не уверен, что ГРКЧ всякие пятиваттные Лоры разрешает.
А вы ничего не перепутали? Именно перепрошить (сменить программу), а не, скажем, получить оттуда какие-то данные?
Зачем менять прошивку в небе? нельзя все нужные действия запихнуть в одну прошивку? Или это на случай захвата стратостата потенциальным противником, чтобы удалить следы шпионского софта?
абсолютно точно, в законченном отлаженном устройстве менять прошивку нет необходимости, а вот сделать три уровня рестарта в зависимости от возникших условий надо, почитайте у Тяпичева к примеру, а на форуме arduino.cc можно пообщаться с конструктором одного из спутников, может много подсказать
Прошивал без проблем через HC-12. Это как пример.Через провод не было возможности -делал через костыль. Но там есть нюансы со скоростью прошивки(в каждом случае нужно смотреть ) и ресетом . Ресет сделал через отдельное ДУ. Но работу сделал. А на большие расстояния у LORA с сериал интерфейсом будет малая скорость передачи- чем дальше тем меньше .А так -свяжитесь с создателями Вояджеров - они вам расскажут об удаленной прошивке “микроспутников”. У них опыт есть.
Сделаем, например, SF=12, BW=250KHz, CR=4. Чтобы типа и подальше и побыстрее.
100 байт в таком режиме передаются, в лучшем случае, 2.6 сек. После этого необходим перерыв на >4 мин.
Если дело плохо и нужно потенциально улучшить линк, поставим BW=31.25KHz. Тогда 100 байт передаём 20,5сек с минимальным перерывом в >35мин.
И это чистый расчётный AirTime. В реальности +10% к длительности. При условии, что пакеты грозой не сносятся.
на 25 км совершенно чистого, сухого и холодного (на высоте) воздуха потери в атмосфере около 60 дБ. Это совсем не много, направленная антенна на 24 дБ - и только на одной стороне - вполне достаточно. И не гнаться за большой скоростью.