Передача координат GPS
- Войдите на сайт для отправки комментариев
Ср, 31/10/2018 - 14:11
Добрый день всем.
Возникла задача передачи координат GPS (DD.DDDDD: 50.67916 в.д., 40.841666 с.ш) и третьего целого числа в пределах 100 между двумя ардуинами через модули NRF24. Натолкните на идею. С даными модулями пока не стыкался. Находил примеры где передаются числа в пределах 1024. Но это слегка не то...
для начала - типичные NRF24 с Али-экспресса способны связаться на 100м только в чистом поле в безветренную погоду. Если вам надо уверенные 100м в здании - берите HC-12
Передавать то что вы хотите можно разными способами - можно как float. а можно как строку. И то и другое можно найти в десятках примеров в инете.
не, он имел ввиду, что в том примере числа передавались от 0 до 1024. А как передавать от 0 до 100, а тем более float, он не вдупляет.
д берите HC-12
https://ru.aliexpress.com/item/HC-12-HC12-433-wireless-serial-port-modul...
Вот такие модули? Скетч для них такой же как и для NRF24?
Спасибо за исчерпывающие ответы! Не хотите помочь - хоть не издевайтесь. Не все же сразу очень умными рождаются!
Не хотите помочь - хоть не издевайтесь.
Просите помощи,а сами даже описаие модуля HC-12 почитать не удосужились. Открою страшную тайну - пара таких модулей сможет самостоятельно передать данные с гпс-приемника, т.к. если их правильно настроить, получится радиоудлинитель. Останется только в приемнике привести их в нужный вам вид. Как-то так.
Уже почитал... Был тогда на работе, думал это какойто более продвинутый аналог nrf...
Если я правильно понял то для передачи 3 чисе нужно в передатчике написать
В начале само собой настроить порт...
Если я правильно понял
К сожалению, нет, неправильно.
данные формируете в строку и передаёте.
в приёмнике парсите полученую строку .
Тоесть в приемнике нужно три числа превратить в 3 строки, сформировать общую, отправить...
А в приемнике полученнную строку разбить на части и потом преобразовать из строк в числа?
Можно и так. А можно не превращать в строки, а честно отправлять числами, а в приёмнике честно числа принимать.
Вы же, зачем-то, в передатчике преобразуете в строки, эти строки отправляете, а принимаете не строки, и даже не числа - а байты. Конечно, так ничего не получится.
Кстати, Вы же наверняка попробовали и убедились, что не работает. Зачем тогдаздесь спрашиваете, правильно или нет?
Еще не пробовал, жду посылку с Али.
Тоесть тогда в передатчике - Serial.print(data[0],data[1],data[2]); ?
А как тогда в приемнике?
Тоесть в приемнике нужно три числа превратить в 3 строки, сформировать общую, отправить...
А в приемнике полученнную строку разбить на части и потом преобразовать из строк в числа?
Да, примерно так.
Строки советуют для того, чтобы вы не заморачивались с протоколами передачи. Чтобы просто отправили строку и приняли строку. Там по-простому отслеживаются разделители данных, начало и конец посылки (символы " ", "\n"), но и нет механизма отслеживания сбоев приёма/передачи. Впрочем, последнее вам, наверное, не критично.
Еще не пробовал, жду посылку с Али.
Тоесть тогда в передатчике - Serial.print(data[0],data[1],data[2]); ?
А как тогда в приемнике?
У вас так даже разделить числа не получилось, всё смешалось в ряд цифр.
Я бы сделал что-то вроде:
Этот код не учитывает нюансов, он просто показывает примерно, как формировать такую строку.
Спасибо. Я думал делить по количеству символов. Там первые два числа 9 символов, третье 4.
sivanko - ответьте для начала на вопрос - откуда берутся те координаты. что будет передавать приемник?
Потому как если это GPS-модуль с Serial интерфейсом, то, как правильно подсказали в #6 - на передатчике Вы вообще можете обойтись без ардуины, просто гоните весь вывод из GPS напрямую в HC-12. а разбирайте кординаты уже на приемнике
По моему на 433 Мегагерца нельзя передавать постоянно.
Вроде когда-то было 5 процентов по времени.
Да ещё и с такой мощьностью.
Все брелки в округе перестанут работать.
sivanko - ответьте для начала на вопрос - откуда берутся те координаты. что будет передавать приемник?
Это будет приблуда на карповый кораблик. Там кроме координат еще будет передаваться сигнал от глубиномера. А в приемнике уже буддет вычисляться растояние от берега, запоминание точек лова , расстояние до точек. И постоянно передавать сигнал не нужно, достаточно раз в 5-10 секунд пока плавает. И вообще режим работы не постоянный, завез снасти - и ждешь пока клюнет...
Я когда с HC-12 экспериментировал - брал обычный китайский гпс-модуль с алиэкспресса. Там по умолчанию вывод данных раз в секунду. Но хитрым родным софтом можно выставить другой интервал. Сигналки машинам может забивать при некоторых условиях)