HC-12: радиомодуль c UART-интерфейсом на 433 МГц

7 июня 2017

Радиомодулями с 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. Как всегда, буду рад вашим вопросам и дополнениям.

Метки: , , .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.