Использование радио модулей RF-2400 от Inhaos

в 6:35, , рубрики: arduino, Программинг микроконтроллеров, Электроника для начинающих, метки:

На хабре недавно была опубликована статья про радио модули, на мой взгляд, в ней незаслужено обделены вниманием 2.4 GHz устройства с SPI интерфейсом. Привлекают они ценой в два-три бакса за штуку, и готовым протоколом общения, включающим адресацию, CRC, отсылку подтверждения и прочие удобства.

Использование радио модулей RF 2400 от Inhaos
Модули RF-2400Р от Inhaos построены на чипе BK2421, который похоже слизан с Nordic NRF24L01. Поэтому, для работы с ними можно использовать библиотеку Mirf, написанную под Nordic.

Задача, которую я решал, состояла в организации обмена данными между несколькими модулями, поэтому логика работы, использованная в Mirf и построенная на взимодействии между парой модулей оказалась не совсем удобна. Вместо этого был организован некий виртуальный кусок памяти, синхронизируемый по радио интерфейсу, который использовали несколько устройств одновременно. Получилась вот такая библиотечка для ардуино.

Использование радио модулей RF 2400 от Inhaos
Кроме RF-2400Р модулей Inhaos предлагает очень симпатичный USB «свисток» RF-2410U построенный на том же BK2421 но уже в связке с микроконтроллером C8051F321, который идет с прошитым бутлоадером и может быть запрограммирован по USB, с помощью поставляемого загрузчика.

На мой взгляд получается очень доступное и интересное решение для системы типа «умный дом» — куча дешевых радио модулей, которые благодаря цене можно встраивать даже в лампочки и компактный управляющий интерфейс в виде «свистка», который можно воткнуть в любой комп не заморачиваясь с дополнительными проводами и наличием последовательного порта.

RF- 2400 Demo

Чтобы упросить процесс знакомства с этими устройствами и проиллюстрировать их совместную работу, вашему вниманию представляется следующее демо.

Железо

  1. Клиентское устройство — ардуино + RF-2400P
  2. Серверное устройство — ардуино + RF-2400P
  3. Наблюдатель — Windows PC + RF-2410U

В принципе, без (1) или (3) можно обойтись.

Софт

  1. Библиотека RFSync и ардуино скрипты для клиентской и серверной части.
  2. Прошивка для RF-2410U, и драйвера для него.
  3. Клиентское Windows приложение RF-2410U.
Логика работы

Использование радио модулей RF 2400 от Inhaos

  1. На клиентской ардуно плате, текущее время записывется в синхронизируемый массив по адресу 0.
  2. На серверной плате, после синхронизации, данные прочитанные но адресу 0 дублируются по адресу 5.
  3. После выполнения синхронизации на клиентской плате читается значение по адресу 5 и высчитывается, время потраченное на синхронизацию.
  4. Весь этот цирк процесс синхронизации наблюдается на Windows машине с подключенным RF-2410U модулем с помощью клиентского приложения.
Запуск

1. Подключаем RF-2400P модули к платам ардуино по следующей схеме:

Модуль Ардуино
MISO 12
MOSI 11
SCK 13
CE 8
CSN 7
3.3 V 3.3 V
GND GND

2. Копируем код библиотеки в папку ардуино и прошиваем клиентский и серверный скрипты.

3. Наблюдаем обмен данными через последовательный интерфейс.
Использование радио модулей RF 2400 от Inhaos

4. Загружаем прошивку в RF-2410U.

  • убедитесь что модуль не подключен к компьютеру
  • запустите приложение для прошивки.
  • выберите прошивку, нажимите «Download»
  • вставьте RF-2410U модуль в USB порт
  • дождитесь сообщения Download Succeed

Использование радио модулей RF 2400 от Inhaos

5. При подключении RF-2410U попросит драйвера, дайте их ему.

6. Осталось загрузить клиентское приложение нажать кнопку старт и наблюдать в реальном времени процесс синхронизации.

Использование радио модулей RF 2400 от Inhaos

Автор: dim133

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js