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

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

Кроме RF-2400Р модулей Inhaos предлагает очень симпатичный USB «свисток» RF-2410U построенный на том же BK2421 но уже в связке с микроконтроллером C8051F321, который идет с прошитым бутлоадером и может быть запрограммирован по USB, с помощью поставляемого загрузчика.
На мой взгляд получается очень доступное и интересное решение для системы типа «умный дом» — куча дешевых радио модулей, которые благодаря цене можно встраивать даже в лампочки и компактный управляющий интерфейс в виде «свистка», который можно воткнуть в любой комп не заморачиваясь с дополнительными проводами и наличием последовательного порта.
Чтобы упросить процесс знакомства с этими устройствами и проиллюстрировать их совместную работу, вашему вниманию представляется следующее демо.
В принципе, без (1) или (3) можно обойтись.

1. Подключаем RF-2400P модули к платам ардуино по следующей схеме:
2. Копируем код библиотеки в папку ардуино и прошиваем клиентский и серверный скрипты.
3. Наблюдаем обмен данными через последовательный интерфейс.

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

5. При подключении RF-2410U попросит драйвера, дайте их ему.
6. Осталось загрузить клиентское приложение нажать кнопку старт и наблюдать в реальном времени процесс синхронизации.


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

Кроме RF-2400Р модулей Inhaos предлагает очень симпатичный USB «свисток» RF-2410U построенный на том же BK2421 но уже в связке с микроконтроллером C8051F321, который идет с прошитым бутлоадером и может быть запрограммирован по USB, с помощью поставляемого загрузчика.
На мой взгляд получается очень доступное и интересное решение для системы типа «умный дом» — куча дешевых радио модулей, которые благодаря цене можно встраивать даже в лампочки и компактный управляющий интерфейс в виде «свистка», который можно воткнуть в любой комп не заморачиваясь с дополнительными проводами и наличием последовательного порта.
RF- 2400 Demo
Чтобы упросить процесс знакомства с этими устройствами и проиллюстрировать их совместную работу, вашему вниманию представляется следующее демо.
Железо
- Клиентское устройство — ардуино + RF-2400P
- Серверное устройство — ардуино + RF-2400P
- Наблюдатель — Windows PC + RF-2410U
В принципе, без (1) или (3) можно обойтись.
Софт
- Библиотека RFSync и ардуино скрипты для клиентской и серверной части.
- Прошивка для RF-2410U, и драйвера для него.
- Клиентское Windows приложение RF-2410U.
Логика работы

- На клиентской ардуно плате, текущее время записывется в синхронизируемый массив по адресу 0.
- На серверной плате, после синхронизации, данные прочитанные но адресу 0 дублируются по адресу 5.
- После выполнения синхронизации на клиентской плате читается значение по адресу 5 и высчитывается, время потраченное на синхронизацию.
- Весь этот
циркпроцесс синхронизации наблюдается на 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. Наблюдаем обмен данными через последовательный интерфейс.

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

5. При подключении RF-2410U попросит драйвера, дайте их ему.
6. Осталось загрузить клиентское приложение нажать кнопку старт и наблюдать в реальном времени процесс синхронизации.

