прозрачный модем телеметрии через GSM (записей: 118)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 12 мес. назад

    Хоть над городом летать и не стОит, но иногда приходится. Но такие полеты осложняются помеховой обстановкой в радиоэфире - все частотные диапазоны, что обычно используются для управления и телеметрии, обычно уже заняты: 2.4ГГц это как WiFi, так и всяческие СВЧ-печи, а 433 это различные радиостанции, сигнализации автомобилей и прочая прочая. Так что если за городом привычны расстояния в километры, то в городе управление может потеряться и в сотне метров.

    Но при этом весь город обычно покрыт сотовой связью, а нельзя ли передавать телеметрию "по мобильнику в интернет"?

    Гуглинг нашел несколько тем, но они были либо без готовых решений, либо коммерческие, и все как один крайне громоздкие.

    А между тем во время разбирательства с GSM-модулем для маяка мне удалось передать с этого модуля данные на сервер

    Так что решено было сей результат закрепить в виде отдельного изделия. 

    Для "строительства" нужны: стабилизатор напряжения на 4 (не 5!) вольта, ардуино нано/ПроМини и собственно модуль, так что все затраты не превышают $10.

    Код на гитхабе, схема подключения понятна из файла конфигурации, но можно сделать и так :)

    Для использования нужен сервер где-нибудь в интернете, а на нем запустить такую команду

    mkfifo /tmp/proxypipe

    stdbuf -i0 -o0 -e0 nc -ukl 8888 0</tmp/proxypipe | nc -ulk 7777 1> /tmp/proxypipe &

    она будет принимать все на порту 8888 и передавать на порт 7777, и наоборот, все принятое на порту 7777 передавать на порт 8888. При старте модем подключается к порту 8888 (порт и адрес можно выбрать в конфигураторе), остается настроить МиссионПланнер/Tower на подключение к порту 7777 сервера - и вы имеете надежную связь с вашим дроном надо всем городом.

  • Аватар профиля brig brig в 7 г., 11 мес. назад
    [2016-11-25 07:25:42] night_ghost писал(а): схема подключения понятна из файла конфигурации

    Извините, но не понятна. А хочется попробовать...

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 11 мес. назад

    Там вся схема - 4 проводка!  Вот фото с другой стороны:

  • Аватар профиля Melnikov Melnikov1 пунктов в 7 г., 2 мес. назад
    Приветствую! Есть большое желание сделать данное устройство для своего" пепелаца".Вроде всё ясно за исключением "нужен сервер где-нибудь в интернете". Мой уровень программирования пока находится не дальше простеньких скетчей для Arduino . На Ваш взгляд сложно ли будет мне с моим уровнем
  • Аватар профиля Melnikov Melnikov1 пунктов в 7 г., 2 мес. назад
    .... с моим уровнем ,найти сервер где-то в интернете и запустить там данные команды? Если это на Ваш взгляд будет проще "пареной репы" могли бы вы в двух словах поведать алгоритм действий для решения данной задачи?
  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 2 мес. назад

    Себе домой взять постоянный IP адрес или купить VDS где-нибудь. Тут проблема в том, что и у борта, и у наземки адрес "серый", и чтобы они нашли друг друга им нужна помощь в виде сервера с белым IP адресом и редиректом на нем.

    ЗЫ. готова плата маяка, которая с соответствующей прошивкой может работать модемом. RFMку и зарядку лития ставить не нужно.

  • Аватар профиля Melnikov Melnikov1 пунктов в 7 г., 2 мес. назад
    Ок. Спасибо.
  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 1 мес. назад

    Добавил дефайны для платы маяка и пересобрал бинарники

  • Аватар профиля Melnikov Melnikov1 пунктов в 6 г., 5 мес. назад

    Добрый вечер. Дошли руки до своего хобби. Сейчас пытаюсь повторить Ваш проект . "Железо" собрал по образу и подобию, как на фото. Арендовал сервер https://invs.ru/servers/vps-linux-servers/, тот, который за 89р. Теперь сижу "курю" форумы: как запустить скрипт с ноля. Я верю, что победа за мной! Но! Если не трудно- ответьте : данный сервер подойдёт для данной задачи (Шаблон виртуальной машины: Debian 9)? правильно ли я понял- надо как- то запустить вот эту команду "mkfifo /tmp/proxypipe stdbuf -i0 -o0 -e0 nc -ukl 8888 0</tmp/proxypipe | nc -ulk 7777 1> /tmp/proxypipe &", и должно заработать?

    Если это буквально два нажатия клавиш , то подскажите, куда давить ).

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 5 мес. назад
    [2018-06-05 21:11:22] melnikov писал(а): анный сервер подойдёт для данной задачи

    безусловно

    [2018-06-05 21:11:22] melnikov писал(а): равильно ли я понял- надо как- то запустить вот эту команду

    правильно, запустить руками или добавить в стартовый скрипт, обычно добавляют в rc.local

  • Аватар профиля Melnikov Melnikov1 пунктов в 6 г., 5 мес. назад
    И снова здравствуйте! Продолжаю борьбу , но пока попытки тщетны . Что сделал: 1.В конфигуратор прописал адрес ip(сервера ),APN, порт 8888. Сохранил. Поведение модуля постоянно моргает ,один раз в три секунды. Так как Вы писали ,что он начинает отправку данных только если увидит протокол mavlink , я запустил конфигуратор от OSD и там включил TLog player(на всякий случай проверил с рядом стоящим компом с запущеным Мишен планер через два адаптера .Всё работает ).Led как моргал ,так и моргает ,с той же переодичностью .(может так и должно быть) 2. Чтобы запустить команду на сервере перечитал кучу форумов и руководств ( так как полный ноль в данном вопросе) . Пошёл по пути установки данной команды в фиал rc.local . А именно: зашёл на сервер с помощью putty и набрал вот это sudo nano /etc/rc.local ,после добавил нужную команду перед строкой exit 0 и сохранил. Потом ввёл команду systemctl enable rc-local и systemctl status rc-local.status(не знаю для чего ...) Перезапустил сервер. 3. В Мишен Планере сделал следующее соединение TCP скорость 57600 адрес сервера ip и порт 7777 . Результат пока отрицательный . Я понимаю ,чтобы всё заработало ,надо все три пункта выполнить правильно. Поэтому пару вапросов 1. Есть ли какая-либо возможность проверить ,соединяется ли модуль с сервером (может какая команда есть)? 2. Правильно ли я прописал команды на сервере (возможно я наломал дров) , но я пытался)? Можно ли как-то проверить работоспособность данной команды на сервере? 3. В Мишен Планере правильно ли я прописал всё?
  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 5 мес. назад

    В Линуксе есть команда tcpdump, позволяющая перехватывать и показывать сетевой трафик с произвольными  фильтрами, и  похоже пришел ее черед.

    Upd. У меня в OpenWRT  команда выглядит так:

    mkfifo /tmp/proxypipe
    (
    nc -ukl 8888 0 /tmp/proxypipe
    ) &

    UPD2. надо светодиоды припаять, тогда будет видно состояние модема. Ардуина или на плате маяка?

  • Аватар профиля Melnikov Melnikov1 пунктов в 6 г., 5 мес. назад
    Спасибо . Если я правильно понял, (из википедии) эта команда позволит просмотреть , что происходит на портах сервера, и надо ввести : tcpdump dst port 8888(что приходит на входе) , tcpdump src port 7777(что происходит на выходе) ? А , там дальше по результату. Если по нолям с 8888 , то девайс не правильно настроен , если по нолям с 7777 то криво прописал команду на сервер и она не работает.
  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 5 мес. назад

    лучше 

    tcpdump -nni <внешний интерфейс> port 7777 or port 8888

     

    сразу будет все видно. 

     

  • Аватар профиля Melnikov Melnikov1 пунктов в 6 г., 5 мес. назад
    Ок. Буду пытаться!
← Форум группы   Все форумы К последней записи
Постов на странице:

Вы автоматически вступите в эту группу, когда ответите в теме.

Добавить ответ:

-
Рейтинг@Mail.ru