433 Group
Радиоэфир => APRS => Тема розпочата: UT3UQZ від Вересень 22, 2021, 14:23:17
-
Как-то задумалось мне, что хочу отправлять aprs пакеты прямо из консоли чтобы сделать маяк домашний. Оставлять телефон с ARPSDroid - не вариант, иногда хочется с собой поносить и отправлять пакеты в движении. И на неделе было решено сделать простой perl или bash скрипт для этого. В сети есть примеры на господи упаси php и python, но все эти варианты меня не удовлетворяли.
Документации по APRS достаточно, но толком я не нашел, какие пакеты надо слать, вернее, какого формата. За то описана система координат, двух сеток символов (глифов) и то, как символ выбирается. Подробнее об этом есть по ссылке http://wa8lmf.net/aprs/APRS_symbols.htm (http://wa8lmf.net/aprs/APRS_symbols.htm)
Существует так же aprsc - сервер на С, но к нему так же нет документации на тему клиентской части (ну ещё бы)
Что я сделал:
- С помощью товарища R6HACN который любезно согласился "поснифать" трафик APRSDroid программой Wireshark (можно было это делать чем угодно в принципе) увидел какие данные отправляет "клиент"
- Методом проб и ошибок начал реплицировать эти данные и отправлять их на сервер, попутно наблюдая свои "сырые пакеты" на сайте aprs.fi в разделе "raw packets"
И готово!
Сам скрипт - https://gitlab.com/-/snippets/2179034 (https://gitlab.com/-/snippets/2179034)
Для изменения координатов советую воспользоваться своими координатами и записать их в необходимом формате, который расписан в этом документе (на странице 23-24) http://www.aprs.org/doc/APRS101.PDF (http://www.aprs.org/doc/APRS101.PDF)
Для автоматизации по крону советую http://cronmaker.com/ (http://cronmaker.com/) - выбираете время и просто копируете строку в crontab.
Как пользоваться кроном - google в помощь или я предлагаю вот эту статью на английском (простая) https://ostechnix.com/a-beginners-guide-to-cron-jobs/ (https://ostechnix.com/a-beginners-guide-to-cron-jobs/)
Как ещё один вариант автоматизации - сессия в tmux.
Создаём сессию, запускаем простой скрипт, который будет выполнять aprs.sh (ну или даже просто редактируем aprs.sh для такой же отправки простым циклом подобного вида). Мой маленький скрипт для автоматизации https://gitlab.com/-/snippets/2179383 (https://gitlab.com/-/snippets/2179383)
Таким образом всё так же работает и без крона, хоть и считаю это "оверхедом"
Кто могет в шелл - пожалуйста, меняйте что хотите, как хотите, пишите новые идеи.
Буду рад вашим отзывам, вопросам, предложениям.
Скриншоты прилагаются
[ This attachment cannot be displayed inline in 'Print Page' view ]
непосредственный процесс "сниффа" и отправки идентичных пакетов серверу
[ This attachment cannot be displayed inline in 'Print Page' view ]
запуск скрипта
[ This attachment cannot be displayed inline in 'Print Page' view ]
[ This attachment cannot be displayed inline in 'Print Page' view ]
73 de OE/UT3UQZ!