Универсальный пульт радиоуправления

Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

с форматом разобрались.
Последний раз редактировалось roman.com Ср мар 27, 2019 18:41:02, всего редактировалось 1 раз.
Реклама
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

Да и gps стал подтупливать залипает ровно на 3 секунды
И опыт сын ошибок трудных и гений парадоксов друг
Реклама
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

небольшое обновление))
пульт.hex
(89.97 КБ) 354 скачивания
кораблик.hex
(11.88 КБ) 360 скачиваний
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

https://photos.app.goo.gl/CF6TJfutfhPieZLa7
https://photos.app.goo.gl/KGRR8G79wuBeVbAk6
Работает пошустрее,но даные или перепутаны или не такие.
Но тут вчера были такие
https://photos.app.goo.gl/b44bQEoAhgsY8iu27
Raw 79.95,28.56,985.09,237.38!
Raw азим, темп, давлен,высот!
И опыт сын ошибок трудных и гений парадоксов друг
Реклама
Эиком - электронные компоненты и радиодетали
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

-
Последний раз редактировалось roman.com Чт мар 28, 2019 23:33:06, всего редактировалось 1 раз.
Реклама
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

отключи пока
И опыт сын ошибок трудных и гений парадоксов друг
Реклама
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

-
Последний раз редактировалось roman.com Чт мар 28, 2019 23:33:45, всего редактировалось 1 раз.
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

Давай ещо подкрутим формат,теперь будет такой
Raw 008,27.36,989.88,196.40!
Raw 032,27.86,989.87,196.53!
Raw 360,27.36,989.88,196.40!
Raw азм,темп, давле, высота!
(неменяетса каличетво символом,округлино значение для удобства)
Жду прошивку для проверки
И опыт сын ошибок трудных и гений парадоксов друг
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

-
Последний раз редактировалось roman.com Чт мар 28, 2019 23:34:33, всего редактировалось 1 раз.
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

Я щас совмещаю мовшєнап2+компас(пока не получаетса)
Нащот контрольной сумы потом подумаю(дажэ не представляю как это делаетса)
Щас пошивки попробую

Добавлено after 25 minutes 38 seconds:
Вроди все ок (скорость оновления даных с компаса хорошая)
18б20 редко пропадает
Gps-сегодня на окне не ловит
И опыт сын ошибок трудных и гений парадоксов друг
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

опять 18б20 редко пропадает.. вот он запарил))

увеличим трафик... на максимум... в 4 раза...
пульт макс.hex
(90.54 КБ) 370 скачиваний
кораблик макс.hex
(13.01 КБ) 379 скачиваний
теперь у нас всё на максимум))
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

Все работает хорошо (даные вроди обновляютса 2 разы в секунду)
покрайней мере мне так кажэтса.
У меня есть идея,но нада время какого критически нету.
Я хочу попробовать к компасу прикрутить эхолот,и на выходе получить 9600 два разы в секунду(если нада даные с компаса можна тожэ выводить в hex)

Raw 360,27.36,989.88,196.40!
FF 01 02 03

Raw 360,27.36,989.88,196.40!
FF 01 02 03

Raw 360,27.36,989.88,196.40!
FF 01 02 03

А потом попробовать даные ретранслировать через мовшенап2(просто сквозняком,можэт так получитса обойти конфликт)

В итоге может получитса нам обойтись без комутаторов.

В итоге хочетса получить

Raw 360,27.36,989.88,196.40!
FF 01 02 03
Mow FFFFFFFFFFFFFFFFFFFFFFF

Raw 360,27.36,989.88,196.40!
FF 01 02 03
Mow FFFFFFFFFFFFFFFFFFFFFFF

Raw 360,27.36,989.88,196.40!
FF 01 02 03
Mow FFFFFFFFFFFFFFFFFFFFFFF

Кароче нужно время
И опыт сын ошибок трудных и гений парадоксов друг
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

даные выводить в hex или в ASCII... впринципе большой разницы нет... хотя проще всё выводить в hex...
[uquote="sashamelja",url="/forum/viewtopic.php?p=3603944#p3603944"](даные вроди обновляютса 2 разы в секунду)
покрайней мере мне так кажэтса.[/uquote]
Тебе не кажется)) Коммутаторы мы не используем. Коммутаторы приводят к потери пакетов.
Вместо коммутаторов мы сипользуем буферизацию.
Система работает без потери пакетов (буферизация данных и гарантированная их доставка с повторной передачей).
Даже при плохой связи (например половина пакетов потеряется) все данные всё равно будут гарантировано доставлены.
(При плохой связи просто увеличится время доставки данных из-за повторной передачи).

Кратко у нас так:

1. буферизация данных (UART0 и UART1 в ATmega128 работают независимо, со своим буфером)
GPS ($GNGGA,181547.000,4911.6021,N,02650.2441,E,1,10,1.0,377.6,M,0.0,M,,*73) > UART0 (буферизация данных GPS)
компас (Raw 008,27.36,989.88,196.40!) > UART1 (буферизация данных компас)

2. фрагментация и передача данных по радиоканалу
кораблик > ($GNGGA,181547.) > пульт
кораблик > (000,4911.6021,N,) > пульт
кораблик > (02650.2441,E,1,10,) > пульт
кораблик > (1.0,377.6,M,0.0,M,,*73) > пульт
кораблик > (Raw 008,27.36,) > пульт
кораблик > (989.88,196.40!) > пульт
...
Короче у нас технология TCP (у нас упрощенная версия) - https://ru.wikipedia.org/wiki/Transmiss ... ача_данных

Raw 360,27.36,989.88,196.40!
Cюда нужно добавить контрольную сумму (CRC-16). Будет так:
Raw 360,27.36,989.88,196.40!78
надо добавить функцию CRC в ардуино))
----
к компасу прикрутить эхолот - это интересная идея)) Иначе придётся ставить дополнительный буфер UART на мега8...

Как ретранслировать UART в меги я знаю. Как это сделать в ардуине.. я без понятия)) С ардуино никогда не работал. Хотя код ардуины очень похож на Си. практически одно и тоже... только функции у ардуино какие-то... левые..)) :kill:
Надо короче сделать типа такого - https://www.youtube.com/watch?time_cont ... 0D0o8S31mk

Это я так понимаю надо разбирать ардуину)) http://mypractic.ru/urok-12-posledovate ... duino.html

закидываем твою ардуину в протеус https://www.ruselectronic.com/arduino-e ... e-proteus/
отрываем программу ардуино... компилируем.. получаем HEX файл. Закидываем HEX файл в протеус и наслаждаемся))

Вообщем добаляем в программу ардуино функцию для ретрансляции UART из одного порта в другой...
http://mypractic.ru/urok-12-posledovate ... duino.html

Вот из примера:
Вот программа, которая считывает байт из последовательного порта (в нашем случае компаса) и отсылает его обратно в порт (в нашем случае в порт меги128).
unsigned int i=0;
void setup() {
Serial.begin(9600); // инициализируем порт, скорость 9600
}

void loop() {
if( Serial.available() > 0 ) { // проверяем есть ли данный в приёмном буфере ардуины
Serial.write(Serial.read()); // если в приёмном буфере ардуины есть данные, то отправляем их дальше (ретранслируем) на мегу128.
}
}
...
компилируем... прошиваем ардуино))
Только это нифига работать не будет)) Т.к. данные не синхронизированы ни с приёмником/передатчиком эхолота, ни с основной программой ардуины (в нашем случае компаса).

Значит пишем другую функцию для ардуино...
Вообщем примерно как-то так... ))
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

Вывести из буфера не проблема(мешаетса все в кучу,лепит все в кучу даи ещо в разных форматах или ротоколах.
Это даные каторые шлет ехолот в виде хекса.
FF 01 BA BB FF 01 BA BB FF 01 E6 E7 FF 01 E6 E7 FF 02 07 09 FF 02 07 09 FF 02 02 04 FF 07 45 4C FF 07 38 3F FF 07 38 3F FF 07 3C 43 FF 07 39 40 FF 07 35 3C FF 07 35 3C FF 07 34 3B FF 02 65 67 FF 02 65 67 FF 02 65 67 FF 02 60 62 FF 02 62 64 FF 02 62 64 FF 01 8C 8D FF 29 3B 64 FF 00 FF FF FF 00 FB FB
Что єто за протокол,как из єтого получить даные измерения.
Как получоное в буфер перевести в какуйото переменую,чтобы потом ейо через принт вывести.

Тут есть инфа
https://ru.aliexpress.com/item/AJ-SR04M ... 37739.html
НО Я НЕ СОВСЕМ ПОНЕМАЮ
Код ответа: FF 07 A1 A7

В чем проверки товараСумма = A8 = (0x07 + 0xA1) & 0x00ff

0x07Высокого данных для расстояние;

0xA1Низкая данных для расстояние;

Значение расстояния0x07A1;Преобразовать в десятичной для1953;Блок:Мм

FF-начало пакета

07иA1 сливаем,переводим в дисятичные,получяем число в міл

А вот контрольняя сума неонятно (07+A1=A8)но не A7
в чом прикол

Варианта два

делать перевод в десятичную и через принт выводить даные(например как давление или высота)

или ты попробуеш словить хекс пакет

Ардуино терминал не выдет хекс (но в терменале видно какието каказяблики перед raw)

Добавлено after 32 minutes 19 seconds:
да ты прав сквозняком толька в теории(рвет даные)без синхронизацыи ничего не получитса
придетса обробативать даные на ардуино и выводить через принт.
И опыт сын ошибок трудных и гений парадоксов друг
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

sashamelja писал(а):Это даные каторые шлет ехолот в виде хекса.FF 01 BA BB FF 01 BA BB FF 01 E6 E7 ...
Что єто за протокол,как из єтого получить даные измерения.
FF 01 BA BB
FF 01 BA BB
FF 01 E6 E7
...
0xFF - Начало пакета.
0x01 0xBA - одно число - 0x01BA.
0xBB - контрольная сумма.

надо принять байты из эхолота и отправить дальше на ATmega128. Без каких либо преобразований и вычислений.

алгоритм ардуины:
1. запрос / приём данных датчика компаса.
2. обработка данных датчика компаса (X,Y,Z) и сохранение данных в буфере ардуины. (Raw 360,27.36,989.88,196.40!)
3. запрос эхолоту > 0x01
4. приём данных эхолота и сохранение данных в буфере ардуины. (FF 01 BA BB)
5. отправка всех данных из буфера ардуины > ATmega128 (Raw 360,27.36,989.88,196.40!FF 01 BA)
осталось написать код...
Последний раз редактировалось roman.com Сб мар 30, 2019 23:51:55, всего редактировалось 1 раз.
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

Нету времени но хочетса что-то делать
Меня не оставляет идея совмещения компаса и єхолота
Как мне ловить пакеты по 0XFF,писать в буфер,обрывать после 4 байт.
И выводить в виде hex

я могу использовать
https://doc.arduino.ua/ru/prog/Serial/ReadBytesUntil

Я нашол какойта пример,пробовал переделать,но я в єтом не силен.

char buffer[4];
while(!Serial.available());
int size = Serial.readBytesUntil(0XFF, buffer, 4);
for (int i = 0 ; i < size ; i++) {
Serial.println(buffer);

выводит

FFFFFFE9
FFFFFFE9
FFFFFFFF
0
FFFFFFE6
FFFFFFE6
FFFFFFFF
0
FFFFFFE9
FFFFFFE9
FFFFFFFF

Или я эту функцыю не так понял
И опыт сын ошибок трудных и гений парадоксов друг
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

while(!Serial.available()); - программа непрерывно читает приёмный буфер. Ардуина ждёт данных эхолота...
Можно и так, только это не лучшая идея)) Если например эхолот отключен то данных не будет. А программа будет их ждать...
Значит если эхолот отключен то и компас работать не будет.

функция Serial.readBytesUnti... первый раз вижу)) http://wikihandbk.com/wiki/Arduino:Спра ... tesUntil()
не знаю всех особенностей её работы.

думаю лучше через прерывание... при этом компас работает независимо от эхолота.

функция void serialEvent()
Вызывается при поступлении данных в последовательный порт. По сути – прерывание по приему данных последовательным портом.

serialEvent() {
// код для обработки данных порта. Тут находим 0xFF и записваем в буфер. Потом выводим из буфера.
}
Аватара пользователя
sashamelja
Говорящий с текстолитом
Сообщения: 1565
Зарегистрирован: Пт янв 20, 2012 16:25:02

Re: Универсальный пульт радиоуправления

Сообщение sashamelja »

Я просто залез вдебри.
Спасиба соседу
Raw 092,20.30,976.46,310.89!Gap=1702mm

Raw 093,20.31,976.44,311.10!Gap=1702mm

Raw 092,20.31,976.47,310.82!Gap=1702mm

Raw 089,20.31,976.44,311.09!Gap=1702mm

Raw 093,20.31,976.48,310.73!Gap=1702mm

Raw 094,20.32,976.47,310.83!Gap=1693mm

Raw 092,20.32,976.46,310.88!Gap=0267mm

Raw 094,20.32,976.46,310.87!Gap=1702mm

Raw 094,20.34,976.50,310.42!Gap=0261mm

Raw 094,20.35,976.49,310.66!Gap=0373mm

Raw 094,20.34,976.49,310.69!Gap=0382mm
Завтра попообую єтот пакет сквозняком через мовшєнап2
И опыт сын ошибок трудных и гений парадоксов друг
roman.com
Друг Кота
Сообщения: 9169
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Универсальный пульт радиоуправления

Сообщение roman.com »

Ты уже проголосовал ? )) можно продолжать ? ))

А я тут просто для интереса зашёл сюда - https://www.ruselectronic.com/arduino-e ... e-proteus/
скачал прогу ардуино... получил HEX для протеуса... закинул HEX в протеус...
потом зашёл сюда - http://mypractic.ru/urok-12-posledovate ... duino.html
закинул в прогу ардуино функцию простого ретранслятора UARTы...

if( Serial.available() > 0 ) { // проверяем есть ли данный в приёмном буфере ардуины
Serial.write(Serial.read()); // если в приёмном буфере ардуины есть данные, то отправляем их дальше (ретранслируем) на мегу128.
}

в протеусе у меня всё работает))
1.jpg
(113.52 КБ) 410 скачиваний
теперь надо написать нормальную функцию для ардуины))
paul87
Родился
Сообщения: 8
Зарегистрирован: Пт мар 22, 2019 07:10:11

Re: Универсальный пульт радиоуправления

Сообщение paul87 »

.
Ответить

Вернуться в «Радиотехника: приемники, передатчики, антенны»