Найкращий вибір для бездротового зв'язку малої потужності, короткого діапазону


9

Я працюю над проектом, який спирається на бездротовий зв’язок, і шукаю найкращу альтернативу. Це вимоги до дизайну:

  • Легко взаємодіяти з Arduino
  • Працює на невеликій дальності (максимум 5-6 метрів)
  • Споживає мало енергії - найменш можливо
  • Пристрої не повинні перешкоджати один одному
  • Це не потрібно в режимі реального часу, затримка може бути в порядку сотень мілісекунд
  • Як правило, пристрої не знаходяться між собою (тобто ІР та подібні рішення не працюватимуть)

Сценарій такий:

Близько 10 пристроїв, що знаходяться в одній кімнаті, спілкуються між собою, розсилаючи короткі (максимум 30 символів) повідомлення один одному раз у раз, не змінюючи батареї).

Найкраще, що я міг знайти, - це Bluetooth (BLE, зокрема), здебільшого тому, що є кілька готових модулів Arduino + Bluetooth та багатообіцяюча мітка "Low Energy" (щонайменше половина енергоспоживання звичайного Bluetooth), але я б люблю отримувати думку людей з більшим досвідом роботи в цій галузі.


2
Я голосую за Bluetooth.
нідхін

Дайте нам деяку інформацію про те, що ви вирішили не використовувати, та ваше обгрунтування.
Jason_L_Bens

Максимум від 5 до 6 метрів - Bluetooth може працювати далі, ніж це - це 6 м, абсолют не повинен перевищувати межу? Дуже мало влади - як ви тут називаєте і соромте деякі цифри. Не повинні заважати один одному - що це означає саме?
Енді ака

@Andyaka: Ні, я маю на увазі те, що пристрої будуть відставати не більше 6 метрів, тому немає необхідності підтримувати великі відстані. Що стосується "дуже малої потужності", то я планую запустити кожен пристрій (Arduino + LCD + бездротовий модуль) на одному або двох батареях типу АА, і ці пристрої повинні мати можливість спілкуватися принаймні одну годину, не змінюючи батареї.
Джуліо Мускарелло

1
Мені звучить піктонет Bluetooth.
Ігнасіо Васкес-Абрамс

Відповіді:


3

Погляньте на лінійку трансіверів XBee . Існують різні типи залежно від діапазону передачі та бажаного рівня потужності.

Ці пристрої також майже тривіально взаємодіють з проектами Arduino. У Serialбібліотеці використовує UART апаратний ресивер , який поєднає з Rx цапфою XBee. Також зауважте, що перемикачі рівня не потрібні, оскільки штифт XBee Rx / Tx працює з 5В!

Зверніть увагу , однак, що XBee має живитись від 3,3 В, тому можна використовувати простий регулятор напруги LDO 3,3 В.


2

"Найкраще" важко визначити, але я б заглянув у приймач IEEE 802.15.4.

Я використовував MRF24J40MA для проекту ( https://github.com/briksoftware/gradusnik ). Ви можете спробувати перевірити, чи є якийсь код, який ви можете використовувати там. Проект призначений для PIC, але багато речей фактично не залежать від платформи (особливо від інших проектів, від яких це залежить).

Модуль споживає близько 20mA в rx / tx, що не так багато. Однак, щоб отримати тривалий час роботи від акумулятора, ви повинні увімкнути модуль для сну більшу частину часу. Ви можете використовувати для цього мережу, що підтримує маяк, координатором є один пристрій. Модуль споживає деякий мкА в режимі сну (перевіряйте таблицю даних на точні цифри)

Єдина проблема, пов'язана з Arduino, полягає в тому, що вам потрібен перемикач рівня 5-> 3,3 (якщо Arduino все ще використовує 5V).

Ще один популярний приймач для протоколу IEEE 802.15.4 - це модуль XBee, але він значно дорожчий.


2

Я не вважаю це проблемою бездротового зв'язку, але більше проблемою з протоколом.

Якщо збереження акумулятора - це назва гри, і якщо один пристрій може за допомогою відповідного програмування взяти на себе роль тимчасового «майстра», то кожному другому пристрою може бути призначений часовий інтервал. Як тільки розподіл буде зроблено, тимчасовий майстер може повернутися до рівня, але важливо, що створено рамку часових проміжків і всі однолітки придбали в цю рамку.

Що це робить? Наявність часового інтервалу означає, що ви можете вимкнути радіо на сотні мілісекунд і прокинутися, щоб побачити, чи існує передача, яка планується приймати. Коли одноліток прокидається, він повинен чекати, щоб побачити, чи хтось із інших 8 однолітків надсилає йому повідомлення. Час є критичним, але якщо ви хочете тривалий час роботи акумулятора, тоді зосередьтеся на протоколі. Ця відповідь є лише помахом ідеї. Часовий інтервал пробудження буде розділений на 8 інших слотів, які кожному з інших 8 однолітків призначені для передачі, і, якщо один передає, інші можуть слухати спочатку, щоб перевірити, чи можуть вони передавати. Щось на зразок цього: -

введіть тут опис зображення

Слот "Наступний" дозволяє новим одноліткам приєднатися до групи.

Прийомопередавачі з низькою потужністю - це звичайне місце, тому я не збираюсь розбиратися в цьому.


2

Спробуйте дешеві 433 МГц txrx модулі. вони стануть у нагоді і легко поєднуються з ардуїно. Я використовую їх для моїх персональних проектів з робототехніки.


2

Цікаво, чому не згадується модуль бездротового приймача NRF24L01 2,4 ГГц? Це блок низької потужності, може бути переведений в режим очікування для ще нижчого витягу. Він працює від 3,3 В, тож можна використовувати ардуїно з низькою потужністю або спліттер, а найкраще це досить дешево?

Ось сторінка продукту nRF24L01 + разом із запитом nRF24L01, який містить інформацію про взаємодію одного з Arduino разом із зразком коду.


0

RFM12B приходить на думку ..

http://www.hoperf.com/rf/fsk_module/RFM12B.htm

Деякі функції:

  • SPI-сумісний інтерфейс
  • Висока швидкість передачі даних (до 115,2 кбіт / с у цифровому режимі)
  • Блок живлення 2.2V-3.8V
  • Автоматична настройка антен
  • 16-бітні дані RX FIFO
  • Програмоване відхилення частоти TX (від 15 до 240 кГц)
  • Програмована пропускна здатність приймача (від 67 до 400 кГц)
  • Аналоговий та цифровий індикатор сили сигналу
  • Годинник та скидання сигналу для зовнішнього використання MCU

Інтерфейс комунікацій SPI повинен бути справедливим для налаштування з Arduino.

В наші дні модель RFM12B-S2 продається за ціною менше $ 7.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.