Comments 17
Законодательно никак не запрещают, но мешать другим это моветон
5. пока не нажалуются
Статья отличная! Автору большой респект. В силу своих знаний постараюсь ответить на некоторые вопросы в конце статьи.
Я, конечно, не держал в руках флиппер. Мне думается, что при написании программы, должна быть ассемблерная инструкция, запрещающая прерывания, она должна запрещать прерывания во время работы Вашей программы, и запрещать во все остальные моменты. Да, КО в этой теме похоже я.
При наличии позывного, общаться с другими радиолюбителями Вы вправе, но с оговоркой, что Вы не будете использовать криптографию.
Вообще, нужно сдать экзамен. Он давольно простой. Конечно смотря на какую категорию Вы претендуете. На высшую надо знать азбуку морзе, уметь работать ключём, и читать эфир на слух. На более простые категории надо знать правила использования эфира, и кое что из радиолюбительства. Это может быть закон Ома и/или пример расчета rc цепи для постоянной времени. У моего отца есть позывной. Лично я хочу получить, но все никак не соберусь, хотя аппаратуры уже дофига.
Если не очень большой мощностью, то ничего не будет. Строители, таксисты и прочие псевдослужбы не имеют лицензий и позывных, органы закрывают на это глаза. Ну и за всем не уследишь. При бОЛьших мощностях, уголовных проблем также не будет, могут административно вздрючить, и то маловероятно.
Работайте спокойно. Сейчас не 95й год. И Вы главное не шпиен. Ограничения на пользование эфиром было создано из-за именно охоты за шпиенами, сейчас другие времена и методы и шпиены попадаются на других каналах.
Спасибо за Ваш ответ! Буду читать про ассемблерные инструкции.
По пункту 1 ответ
(знаком с RealTime assembler-ом i80х86):
Есть как возможность запретить программные прерывания
(через сброс флага, их разрешающего), инструкцией CLI (CLear Interrupts),
так и часть аппаратных
(в регистре 20h, на память, их можно замаскировать).
Подробнее - есть и в открытом доступе.
Можно ли использовать частоты APRS (144.800 МГц) для, например, общения с другими радиолюбителями (конечно же имея все необходимые разрешения, лицензии, позывные и т. п.) наподобие чата в WhatsApp (ну это например)?
APRS, упрощенно, это передача данных о радиолюбительских объектах, а также обмен сообщениями и передача бюллетеней. Обмен сообщениями это, очевидно, один отправитель для одного получателя и ACK о получении, а передача бюллетеней это широковещание любого отправителя неограниченному числу подписанных на бюллетень получателей. То есть да, APRS - это для общения между радиолюбителями, а не только для автоматического обмена данными о местоположении и статусе.
Что будет если выходить в эфир без лицензии и позывного, например с помощью той же самой Baofeng UV-5R? А если осторожно с мощностью 1 Вт? (Мне просто интересно)
С учетом легкости получения р/л лицензии и легальной работы на р/л частотах в почти любой стране мира, это просто стыд какой-то, даже не знаю, как и зачем это можно обсуждать всерьез. Тем не менее:
В некоем условном идеале вас "сдадут" сами радиолюбители, если вы будете пытаться работать на радиолюбительских частотах. У некоторых радиолюбителей могут оказаться самодельные или фабричные устройства для вашего обнаружения, также вас выдаст специфика вашего сигнала - обнаружить вас в виде хобби будет посильным делом для частных лиц, действующих из чистого энтузиазма, и могущих замотивировать соответствующие службы, которым самим по себе вас находить было бы лениво, пусть это и входит в их самые что ни на есть непосредственные обязанности. Если вам это интересно, то я лично знаком с такими энтузиастами и многих знаю заочно - это не досужие домыслы.
В суровом реале, особенно если вы не будете лезть на р/л частоты и вообще заниматься очевидным хулиганством, с вероятностью 99,9% ничего не будет. Да и на р/л частотах вам скорее всего с помощью обсценной лексики подробно расскажут про вас и вашу почтенную мать, вместо реальных поисков и несколько недружественного личного общения.
Не забывайте, что вы можете создавать помехи тем, кого сами не слышите и поэтому ошибочно уверены, что частота свободна и вы никому не мешаете. В то же время на коммерческих диапазонах обычно хватает не занятых частот даже в относительно крупных городах - балуясь там вы можете никому не мешать на самом деле, поэтому до вас никому не будет дела, пусть формально вы и нарушитель.
Что будет, если работать в PMR диапазоне (446-446.200 МГц), где лицензия не требуется, но с мощностью 1 Вт?
С вероятностью, практически не отличающейся от 100%, ничего не будет. Формально, чтобы работать без лицензии, вы обязаны использовать немодифицированные сертифицированные PMR-станции - то, что вы ограничиваете мощность до требуемого по стандарту PMR, самого по себе недостаточно. Фактически определить нарушение и доказать его совершение крайне трудно, а без откровенного хулиганства с вашей стороны - решительно никому не нужно.
Я знаю, что читать мануалы - скучно. Но библию, все же, пролистать сильно рекомендую.
AFSK штука очень толернатная, но покуда нам хочется максимизировать количество декодируемых пакетов, необходимо озаботиться о таком параметре как девиация. Не вдаваясь в технические подробности частотной модуляции (FM) примем, что девиация, т.е. изменение частоты несущей при, в идеале, неизменной амплитуде, зависит от громкости модулирующего AFSK сигнала или вообще звука, поэтому для настройки девиации мы будет изменять уровень AFSK тонов, подающихся на микрофонный вход радиостанции. Целевая девиация 1k2 AFSK - 3.0kHz~3.5kHz (для 9k6 GMSK требования существенно жестче). Почему? Если уровень сигнала слишком велик, возникают искажения, и вместо двух чередующихся относительно чистых тонов у нас получается каша из гармоник и интермодуляции - на анализаторе спектра будет видно, что вместо относительно чистого пика над относительно плоским дном у нас растет бесформенный горб на всю ширину аудиоканала. Если уровень сигнала слишком мал, у нас падает SNR. Первое намного хуже, но второе тоже плохо. То есть что-то декодироваться будет в почти любом случае, но мы же хотим сделать все правильно, да? Для установки уровня практически достаточно просто потенциометра (можно многооборотного, но практически необязательно), ну или программной регулировки уровня. Для измерения девиации есть специальные приборы, но можно померять девиацию и без регистрации и SMS.
Мой твит про APRS.
Респект! Уважаю! Сбилдил через https://flipc.org/ - единственное в коде поправил APRS_hello_world_clean на aprs_hello_world_clean, т.к. билдер ругался. Сигнал расшифровывал на iPhone. Подписался на репу.


Классный проект! Посмотрите еще https://github.com/xMasterX/flipper-pager (POCSAG)
особенности FreeRTOS, про которые упомянуто в самом начале, и которые надо решить более изящно.
Можно использовать двойную буферизацию и будить задачу по прерыванию. В прерывании:
Chunk1.addValue(reinterpret_cast<uint16_t>(adc1_ordinary_values[0]));
if(Chunk1.empty() != 1)
{
taskYieldRequried = xTaskResumeFromISR(TaskHandleADC1);
portYIELD_FROM_ISR(taskYieldRequried);
}
В задаче:
while(1)
{
vTaskSuspend( reinterpret_cast<TaskHandle_t>(osThreadGetId()) );
// код //
}
Инициализация задачи:
TaskHandle_t TaskHandleADC1;
void ADC1_INIT(void)
{
Chunk1.init();
xTaskCreate(
vTaskADC1,
"ADC1",
configMINIMAL_STACK_SIZE,
0,
osPriorityNormal,
&TaskHandleADC1);
}
Chunk — класс с двумя массивами и контролем заполнения каждого из них (к сожалению, не могу привести код по определённым причинам).
А вот
taskENTER_CRITICAL();
лучше избегать использовать в задачах.
Вообще, если интересна работа с FreeRTOS, рекомендую ознакомиться с циклом статей Андрея Курница, очень подробно и понятно
Привет, я руковожу Flipper Devices, мы делаем флипперы.
Спасибо за статью! Мы бы хотели запостить эту статью у себя в соц. сетях со ссылкой на вас. Вы сможете перевести статью на английский или мы можем сделать это сами. Как вам больше нравтися?
APRS. AFSK модулятор из Flipper Zero