Простой поисковый радио маячок.

Polle

пост 1425, не получается управлять модулями Lora SX1276. может кто объяснит на примере что нужно загрузить в SX1276 чтобы он передал в эфир несколько байт. только язык СИ я не понимаю, а програмирую в AlgorithmBuilder

Vladimir_N

пост 1425 чистый AVR ассемблер - AlgorithmBuilder причем тут Си. По передаче spi, почитать даташит по модулю lora религия не позволяет? Пример программной реализации SPI есть в первом посте в том числе и на ассемблере. Нефиг лезть к аппаратной реализации SPI если не понимаешь как это работает, там дофига нюансов.

PS: СИ нужно знать, хотя бы на уровне Ардуино!

Polle

Спасибо за помощь, я так тоже могу.

Vladimir_N

Я не думаю, что Вам поможет простой ответ. Типа: SPI должен быть 2 раза по 8 бит, первый бит старший. Вначале адрес, затем данные. Это все есть в даташите модуля. Как это сделать в аппаратной реализацией SPI на ассемблере очень сильно зависит от контроллера, поэтому не знаю, и знать не желаю 😃 ( на СИ это сделать проще и надежней он аппаратно не зависимый) , для таких приложений как Ваше, на ассемблере проще реализовать это программно, там просто нужно дергать и читать выводы контроллера. Опять же есть пример в первом посте этой темы в архиве есть фаил .asm . Но без изучения даташитов и документации по протоколу SPI ничего нормально не получится.

Polle

вот мой неработующий код, если можете подскажите где ошибки

Vladimir_N

Блинский нафиг, все это напоминает старый анекдот про старого и молодого хакера. 😃 Ладно, еще раз повторяю внимательно читайте документацию! cdn-shop.adafruit.com/…/sx1276_77_78_79.pdf Страница 80, расписан и нарисован в картинках обмен по SPI. И что мы видим? SPI должен быть 2 раза по 8 бит, первый бит старший. Вначале адрес, затем данные. (Это я уже писал!). Начало и конец отсекаются сигналом NSS (CS) всего 2 байта!, а не десять. Обмен с регистрами идет по 16 бит, 2 байта адрес и данные. Дальше обратить внимание на старший бит адреса в каком состоянии он должен быть для записи в регистр и в каком для чтения из него? Его нужно устанавливать или снимать принудительно пред отправкой адреса иначе ничего не получится. Для начала научитесь читать регистры модуля, например, регистр с адресом 0x42-RegVersion если научитесь нормально читать его значение, то дальше будет проще.

PS: У разных модулей Lora обмен spi может быть разный нужно читать документацию по конкретному типу.

Polle

Передатчик заработал, сигнал виден на SDR приёмнике, приём пока не делал. вот код:

Polle

И с аппаратным SPI передача работает. Проблема была в загрузке данных в буфер FIFO надо грузить по байтно,- адрес FIFO и байт данных и так пока не загрузишь все данные. Вот код:

Vladimir_N

Это все конечно хорошо, но нафига столько подпрограмм? В результате получается не читаемый код с кучей одинаковых подпрограмм и множеством ошибок. Нужно всего лишь две подпрограммы чтения и записи и вызывать их по мере необходимости, зачем городить весь этот огород с кучей одинаковых подпрограмм. FIFO буфер это один регистр( один адрес) и с ним можно работать и в пакетном режиме.

Polle

Оптимизацией кода займусь позже, помогите с приёмом данных

Polle

Сегодня заработал приём на модулях SX1778. Вот пример кода приёмника:

включаются 4 ре светодиода в любой последовательности, а на передатчике 4 ре кнопки каждая для своего светодиода на приёмнике, один раз нажал включится, второй выключится. Вот код передатчика, кроме кнопок,- там меняется регистор rb в подпрограмме FIFO

Polle

Получается не плохая поисковая система на базе модулей лора и мк ATMega8, к сведенью: микроконтроллер ATMega8 весит 0,15 гр. , а Tiny85?- 0.12 гр. поэтому не вижусмысла экономить. Я уже частично испытал систему: поисковое устройство посылает запрос на маяк, а маяк присылает коордитаты своего положения, а также напряжение своего аккумулятора. В радиомаяке применён GPS модуль ATGM336H, он показал лучшие результаты,- в помещении в пасмурную погоду ловит 7 спутников. Пока всё на макетках, в выходные собираюсь собрать маяк уже на печатной плате. В маяке будит установлен маленький активный зуммер который просто необходим для ближнего поиска небольших аппаратов, сам столкнулся как это необходимо.

Polle

Собрал GPS-маяк уже на печатной плате 31Х30 мм

вес получился 11,08 г без баттареи.

Polle

Маяк уже в корпусе: 35х36х20 и весит с аккумулятором 240 ма\ч 25,5г. Буду собирать пульт с олед дисплеем.

Polle

Готова и проверена в работе плата пульта для запроса координат с маяка, размеры 46мм на 36мм. Начинаю делать корпус, а потом на испытания.

Polle

вот готов и корпус для пульта, полный вес 48,7 грамма

Vladimir_N

Приветствую!

Решил выложить старую разработку маячка на LORA и GPS в тестовом варианте. Разработка получилась рабочая, но используются не дешевые элементы. Идея была получить направление на маяк в виде динамической стрелки и удаленно управлять маяком включая сирену и мощный светодиод.

Маяк построен по классической схеме использованием AVR контролера. Модуль LORA-RFM98W, модуль GPS L80-R, яркий светодиод на 3 Вата и громкая пищалка. Для экономии энергии аккумулятора сделано управление питанием модуля GPS. То есть маяк спит, периодически просыпаясь и слушая эфир. Окончательно он проснется только после получения сигнала от приемника и запустит GPS, ну а дальше по командам от приемника может выдать координаты, включить свет или сирену.

Приемник построен на STM32F411 выбор на него пал потому, что хотелось иметь быструю цветную графику, а у этого контроллера достаточный объём оперативной памяти для буферов дисплея. Модуль LORA на 1 ват, он легко может разбудить маяк на больших расстояниях. Модуль без контроллера все функции по управлению возложены на STM32 у него памяти и скорости более чем достаточно. Дисплей выбран трансфлективным(transflective) не слепнет на солнце, чем ярче падает на него свет, тем лучше видно картинку, но при слабом освещении картинка блеклая, в темноте опять все хорошо, работает внутренняя подсветка. Модуль компаса CMPS12 взял готовым, просто у меня он был. С компасом поиск становится совсем простым, просто идешь куда показывает стрелка (причем не важно, как повернут приемник) и смотришь как, уменьшаются расстояние. Подошел по ближе можешь включить сирену или свет и не важно в высокой траве или на дереве маяк, все равно сразу найдешь.

софт drive.google.com/file/d/…/view?usp=drive_link

Маркс

у меня архив скачался, но открывать не пробовал, нет RAR архиватора
онлайн архиватор открыл архив без траблов

Маркс

их, как блох на собаке )), я RAR не пользуюсь, поэтому у меня нет подходящего архиватора )