Радиомодулями с UART-интерфейсом в наше время никого не удивишь. Но главная проблема с такими модулями заключается в их цене. Так, например, в России XBee стоит порядка 3000 рублей (~50$) за один модуль, а модулей обычно нужно два. Еще есть APC220, который стоит 1500 рублей за пару. Это уже намного лучше, но все равно дороговато. Так вот, а модуль HC-12 , о котором пойдет речь в этой заметке, предлагает полностью такой же функционал, но стоит всего лишь 150 рублей. Слишком хорошо, чтобы быть правдой? Давайте проверим!

Примечание: Существует аналогичный модуль HC-11. Он потребляет меньше электроэнергии, но передает данные на расстояние до 200 метров против максимальных 1000 метров, заявленных у HC-12.

Fun fact! HC-12 реализован на базе чипа SI4463 ( даташит [PDF] ). За UART отвечает микроконтроллер STM8S003.

Для проверки радиомодуля я залил в Arduino довольно банальный код:

void setup ( ) {
Serial. begin ( 9600 ) ;
}

void loop ( ) {
if ( Serial. available ( ) > 0 ) {
int incomingByte = Serial. read ( ) ;
Serial. print ( ( char ) incomingByte ) ;
}
}

К компьютеру HC-12 я подключил через адаптер на базе FT232 (естественно, подойдет и любой другой USB-UART адаптер):

Подключение HC-12 к компьютеру

К Arduino радиомодуль был подключен, как показано на фото:

Подключение HC-12 к Arduino

Радиомодуль питается от 5 В. Как обычно, TX подключаем к RX, и на оборот, RX к TX. В общем, принцип минимального удивления в действии.

Говорим:

screen / dev / ttyUSB0 9600

… и видим, что нам успешно приходит эхо всего, что мы вводим. Не знаю, минус это или плюс, но сам модуль не имеет ни одного светодиода, которым он мог бы как-то сообщить о своем состоянии.

Интересно, что радиомодуль пригоден для впаивания в плату (у него по дэфоллту нет штырьков, обратная сторона абсолютно плоская, на нем нет RP-SMA разъема для антенны, и так далее), что позволяет использовать его в самодельных устройствах. Например, можно за вечер сделать пару компактных устройств для получения телеметрии с квадракоптера . Как использовать FT232 в собственных устройствах было показано в заметке Собираем USB-программатор для AVR из ATmega328P и FT232 . Стоит также отметить, что HC-12 можно настраивать при помощи AT-команд, описанных в мануале [PDF] .

Fun fact! Готовая телеметрия для квадрокоптера в сущности является еще одним сравнительно недорогим радиомодулем с UART-интерфейсом. Телеметрия, приведенная по ссылке, у меня заработала на baud rate 57600 (вместо указанных в описании 115200). Кроме того, в ней неправильно подписаны RX и TX. Но в остальном вполне себе нормальный радиомодуль. Корпус при необходимости легко открывается при помощи отвертки и затем собирается обратно.

В общем-то, это все, о чем я хотел сегодня рассказать. Если вам было интересно написанное выше, обратите также внимание на более раннюю заметку о радиомодуле NRF24L01 .

EnglishRussianUkrainian