вопрос: попадалась ли кому-то готовая библиотека протокола под это, которую можно было бы немного допилить под свои нужды, или нужно пилить с нуля?
nRF24L01 - протокол для master/slave сети
подумываю о реализации проекта с кучкой беспроводных датчиков/исполнительных устройств, завязанных через nRF24L01 с одним мастер-устройством. датчики - в т.ч. и автономные, с аккумулятором и сонечной батарейкой, т.е. 99.9% времени будут спать, 0.1% - просыпаться, спрашивать мастер на предмет того что им делать, выполнять измерения/действия, отчитываться мастеру и снова спать.
вопрос: попадалась ли кому-то готовая библиотека протокола под это, которую можно было бы немного допилить под свои нужды, или нужно пилить с нуля?
вопрос: попадалась ли кому-то готовая библиотека протокола под это, которую можно было бы немного допилить под свои нужды, или нужно пилить с нуля?
- Реклама
в сети "мастер-слейв" все ведомые не дожны никогда быть инициаторами обмена, т.е. варианта "ведомый просыпается и спрашивает мастера" быть не должно, вместо этого мастер должен будить слейва и говорить, что делать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
готовая библиотека протокола не попадалась... нужно пилить с нуля.
не вижу проблем))

Добавлено after 1 minute 41 second:
подобное начали делать тут https://radiokot.ru/forum/viewtopic.php?f=3&t=166654
пока не доделали))

не вижу проблем))
Добавлено after 1 minute 41 second:
подобное начали делать тут https://radiokot.ru/forum/viewtopic.php?f=3&t=166654
пока не доделали))
- Сообщения: 1444
- Зарегистрирован: Вт июн 07, 2011 08:03:18
[uquote="ARV",url="/forum/viewtopic.php?p=3991868#p3991868"]в сети "мастер-слейв" все ведомые не дожны никогда быть инициаторами обмена, т.е. варианта "ведомый просыпается и спрашивает мастера" быть не должно, вместо этого мастер должен будить слейва и говорить, что делать.[/uquote]
А это неправильный "мастер-слейв".) Обычно под таким "мастером" имеют ввиду узел, которому "слейвы" отдают данные с мест. А т.к. "слейвы", в виду экономичности, не могут много времени находиться в режиме приёма, то вот они и "теребят мастера".) Это вполне нормальная организация сети.
А это неправильный "мастер-слейв".) Обычно под таким "мастером" имеют ввиду узел, которому "слейвы" отдают данные с мест. А т.к. "слейвы", в виду экономичности, не могут много времени находиться в режиме приёма, то вот они и "теребят мастера".) Это вполне нормальная организация сети.
нормальнм можно назвать что угодно, но между этими нормальностями - пропасть. в сети, где слейвы не умничают, протокол обмена примитивнейший, в сети, где слейвы теребт мастера - надо отслеживать коллизии, расставлть приоритеты и т.п. гемор. все можно, но вопрос - нужно ли?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
[uquote="ARV",url="/forum/viewtopic.php?p=3992023#p3992023"]нормальнм можно назвать что угодно, но между этими нормальностями - пропасть. в сети, где слейвы не умничают, протокол обмена примитивнейший, в сети, где слейвы теребт мастера - надо отслеживать коллизии, расставлть приоритеты и т.п. гемор. все можно, но вопрос - нужно ли?[/uquote]
Всё это уже решено в блютузе.
Всё это уже решено в блютузе.
Ну так и в Wi-Fi это решено тоже))
Всё это не интересно.
А вообще вопрос был про nRF24L01.
А вообще nRF24L01 жрут довольно много. TX - 11 mA. Rx - 13 mA.
Это дофига !!! ))

Всё это не интересно.
А вообще вопрос был про nRF24L01.
А вообще nRF24L01 жрут довольно много. TX - 11 mA. Rx - 13 mA.
Это дофига !!! ))
- Сообщения: 1444
- Зарегистрирован: Вт июн 07, 2011 08:03:18
А если активный режим всего ничего?
Уже где то приводил пример. В велосипеде датчик скорости на nrf. Не разборной. Потому что производитель гарантирует 4-5(!) лет работы. Батарейка внутри 1632. Нормально?
Уже где то приводил пример. В велосипеде датчик скорости на nrf. Не разборной. Потому что производитель гарантирует 4-5(!) лет работы. Батарейка внутри 1632. Нормально?
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
Можно привести пример тех, кто меньше?А вообще nRF24L01 жрут довольно много.
Вопрос был в организации сети на готовой библиотеке. Такая библиотека есть и называется блютуз. А есть ещё зигби.А вообще вопрос был про nRF24L01.
ВиФи - это совсем другое. Там даже модулция совсем другая.
FS1000A на 430MГц. TX - 5 mA. Rx - 5 mA.parovoZZ писал(а):Можно привести пример тех, кто меньше?
Ещё меньше самодельные модули на транзисторах - Абсолютный лидер энергосбережения )) TX - 3 mA. Rx - 3 mA.
Вот тут мы сравнивали разные модули - https://www.radiokot.ru/forum/viewtopic ... 8&t=148087
А если управлять будем лампочкой в доме ? Включил выключатель и ждёшь около часа... пока модуль выйдет на связь (в активный режим)... Сидишь около часа без света))OKF писал(а):А если активный режим всего ничего?
Про модуляцию не будем. Особенно адаптивную. Это надолго))
[uquote="ARV",url="/forum/viewtopic.php?p=3991868#p3991868"]в сети "мастер-слейв" все ведомые не дожны никогда быть инициаторами обмена, т.е. варианта "ведомый просыпается и спрашивает мастера" быть не должно, вместо этого мастер должен будить слейва и говорить, что делать.[/uquote]
ок, предложите реализацию подобного на nRF24l01, только чтобы со средним током потребления девайса без прочей периферии менее 1мА (с учетом что просыпаться будет пускай раз в минуту скажем)... при том что приемник nRF24l01 кушает более 10мА.
можно конечно с TDMA заморочиться - мастер постоянно бродкастит в эфир, слейв(ы) рандомно отзываются на бродкасты, как снюхались - слейву сообщается, когда он должен проснуться, и слейв спит. но как только мастер в такой схеме умирает - слейвы начинают жрать батарею как не в себя...
ок, предложите реализацию подобного на nRF24l01, только чтобы со средним током потребления девайса без прочей периферии менее 1мА (с учетом что просыпаться будет пускай раз в минуту скажем)... при том что приемник nRF24l01 кушает более 10мА.
можно конечно с TDMA заморочиться - мастер постоянно бродкастит в эфир, слейв(ы) рандомно отзываются на бродкасты, как снюхались - слейву сообщается, когда он должен проснуться, и слейв спит. но как только мастер в такой схеме умирает - слейвы начинают жрать батарею как не в себя...
а денег вам не выслать?NiTr0 писал(а):предложите реализацию подобного на nRF24l01
захотели плясать - пляшите от печки. если вам нужна экономичность, то надо искать приёмопередатчики, которые в режиме приема потребляют микроамперы, а не извращаться с тем, что жрет, как не в себя. ваша идея все равно нежизнеспособна, т.к. при некотором количестве слейвов мастер все равно будет все пакеты сбрасывать, поскольку из-за коллизий не сможет разобраться в них. уверяю вас, решение существует, надо только его найти. возможно, вам поможет чтение статей одного из местных авторитетов в области микромощной радиосвязи Сергея Безрукова
Добавлено after 16 minutes 54 seconds:
или вот вариант: CC1101 https://amperkot.ru/products/radiomodul ... 48604.html - этот модуль может сам просыпаться по наличию радиосигнала, скорость поменьше, но экономичность побольше, а для передачи данных датчика скорость не так важна. в спячке вроде как 0,5 мкА потребляет
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Максимум что предложил Сергея Безрукова - Bluetooth 5.0 (Low Energy) с минимальным током потребления ~4 mA.
Это дофига как много !!! ))
В GSM нет коллизий от слова совсем)) Потому что там всё синхронизировано.
1. Есть базовая станция (мастер).
2. Есть куча сотовых телефонов (слейв).
Базовая станция передаёт пакеты синхронизации. Сотовые телефоны синхронизируются по этим пакетам.
На одной частоте работает 8 сотовых телефонов. Каждому сотовому телефону веделен отдельный так называемый тайм-слот.
Пример борьбы с коллизиями:
nRF24l01 мастер - каждую минуту передаёт пакет синхронизации.
nRF24l01 слейв - перед началом передачи ждёт пакет синхронизации. После получения пакета синхронизациии слейв отсчитывает время своего тайм-слота и передаёт данные мастеру.
|мастер|--------|--------|--------|--------|
|--------|слейв1|--------|--------|--------|
|--------|--------|слейв2|--------|--------|
|--------|--------|--------|слейв3|--------|
|--------|--------|--------|--------|слейв4|
...
Коллизии отсутствуют))

Это дофига как много !!! ))
Можно и заморочиться. В старом стандарте GSM так и сделали.NiTr0 писал(а):можно конечно с TDMA заморочиться
В GSM нет коллизий от слова совсем)) Потому что там всё синхронизировано.
1. Есть базовая станция (мастер).
2. Есть куча сотовых телефонов (слейв).
Базовая станция передаёт пакеты синхронизации. Сотовые телефоны синхронизируются по этим пакетам.
На одной частоте работает 8 сотовых телефонов. Каждому сотовому телефону веделен отдельный так называемый тайм-слот.
Пример борьбы с коллизиями:
nRF24l01 мастер - каждую минуту передаёт пакет синхронизации.
nRF24l01 слейв - перед началом передачи ждёт пакет синхронизации. После получения пакета синхронизациии слейв отсчитывает время своего тайм-слота и передаёт данные мастеру.
|мастер|--------|--------|--------|--------|
|--------|слейв1|--------|--------|--------|
|--------|--------|слейв2|--------|--------|
|--------|--------|--------|слейв3|--------|
|--------|--------|--------|--------|слейв4|
...
Коллизии отсутствуют))
угу. только слейвы должны тактироваться стабильной частотой, что для минимального потребления тоже не фонтан вариант. и все равно слейв должен уметь просыпаться от синхропакта мастера, иначе никуда от большого потребения в режиме ожидания этой синхронизации не деться.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 1800
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="ARV",url="/forum/viewtopic.php?p=3991868#p3991868"]в сети "мастер-слейв" все ведомые не дожны никогда быть инициаторами обмена, т.е. варианта "ведомый просыпается и спрашивает мастера" быть не должно, вместо этого мастер должен будить слейва и говорить, что делать.[/uquote]Тогда ТС-у придётся каждый день менять батарейки на всех своих датчиках. Либо размер аккума каждого датчика увеличить до размера автомобильного.
Вариант работы системы описанный ТС-ом вполне работоспособный. У меня например именно так и реализовано.
Вариант работы системы описанный ТС-ом вполне работоспособный. У меня например именно так и реализовано.
Последний раз редактировалось jcxz Сб мар 06, 2021 15:27:20, всего редактировалось 1 раз.
это верно. если изначально приёмопередатчик выбран неудачный, проблем много будет. я не особо вникал в проблему, но чем CC1101 не устраивает?jcxz писал(а):придётся каждый день менять батарейки на всех своих датчиках
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 1800
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="ARV",url="/forum/viewtopic.php?p=3992023#p3992023"]в сети, где слейвы не умничают, протокол обмена примитивнейший, в сети, где слейвы теребт мастера - надо отслеживать коллизии, расставлть приоритеты и т.п. гемор. все можно, но вопрос - нужно ли?[/uquote]Именно по такому алгоритму работают ведомые устройства в ZigBee-сети. Почитайте про ZigBee.
Раз ZigBee придумали - наверное оно кому-то нужно, правда?
Добавлено after 1 minute 39 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3992530#p3992530"]это верно. если изначально приёмопередатчик выбран неудачный, проблем много будет. я не особо вникал в проблему, но чем CC1101 не устраивает?[/uquote]А чем nRF24L01+ не устраивает?
Добавлено after 7 minutes 31 second:
[uquote="roman.com",url="/forum/viewtopic.php?p=3992118#p3992118"]А вообще nRF24L01 жрут довольно много. TX - 11 mA. Rx - 13 mA.[/uquote]Странно, у меня вот собранный ещё в середине осени девайс на nRF24L01+ (всё время включенный, но большую часть времени - в PowerDown, только иногда выходящий на передачу) до сих пор работает от той же самой пары AA полудохлых.
Специально тогда в него воткнул пару почти дохлых батареек AA - хотел узнать сколько протянет. Измерил напряжение было +2.550V (2 AA включены последовательно). Прошло почти полгода, а на них.... всё те же 2.550V
И это при том что схема состоит из STM8L151 + nRF24L01+. Всё время включена! И почти за полгода не потеряла ни mV!
Конечно если активно понажимать "передачу" напряжение немного падает (на десяток mV), но потом восстанавливается.
Добавлено after 7 minutes 44 seconds:
[uquote="roman.com",url="/forum/viewtopic.php?p=3992171#p3992171"]
Да и работоспособен он до 1.9V, что тоже увеличивает срок службы при разряде батареи.
Добавлено after 4 minutes 20 seconds:
[uquote="NiTr0",url="/forum/viewtopic.php?p=3992317#p3992317"]ок, предложите реализацию подобного на nRF24l01, только чтобы со средним током потребления девайса без прочей периферии менее 1мА (с учетом что просыпаться будет пускай раз в минуту скажем)[/uquote]1мА - это уже какой-то лошадиный ток!
У меня погодная станция на nRF24L01+ работающая примерно по такому принципу и имеющая на борту:
MSP430 + DHT22 + BMP180 + nRF24L01+ + LDO
потребляет постоянно ~28-30мкА.
При выходе на связь конечно больше, но это - миллисекунды буквально.
Добавлено after 13 minutes 28 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3992522#p3992522"]угу. только слейвы должны тактироваться стабильной частотой, что для минимального потребления тоже не фонтан вариант. и все равно слейв должен уметь просыпаться от синхропакта мастера, иначе никуда от большого потребения в режиме ожидания этой синхронизации не деться.[/uquote]Зачем??? Вы похоже ничего не поняли в описанном...
Ни "стабильная частота" ни "просыпание от синхропакета" - не нужны.
1-е - потому что частоты обычного кварцевого генератора более чем достаточно чтобы удерживать необходимую точность расчёта времянок на таком малом отрезке времени между двумя синхропакетами.
2-е - просыпаться слэйв может по своим внутренним часам, включать приёмник (на короткое время), за это время ловить ближайший синхропакет, после чего выходить на передачу в нужное время. И снова засыпать. Всё.
Раз ZigBee придумали - наверное оно кому-то нужно, правда?
Добавлено after 1 minute 39 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3992530#p3992530"]это верно. если изначально приёмопередатчик выбран неудачный, проблем много будет. я не особо вникал в проблему, но чем CC1101 не устраивает?[/uquote]А чем nRF24L01+ не устраивает?
Добавлено after 7 minutes 31 second:
[uquote="roman.com",url="/forum/viewtopic.php?p=3992118#p3992118"]А вообще nRF24L01 жрут довольно много. TX - 11 mA. Rx - 13 mA.[/uquote]Странно, у меня вот собранный ещё в середине осени девайс на nRF24L01+ (всё время включенный, но большую часть времени - в PowerDown, только иногда выходящий на передачу) до сих пор работает от той же самой пары AA полудохлых.
Специально тогда в него воткнул пару почти дохлых батареек AA - хотел узнать сколько протянет. Измерил напряжение было +2.550V (2 AA включены последовательно). Прошло почти полгода, а на них.... всё те же 2.550V
И это при том что схема состоит из STM8L151 + nRF24L01+. Всё время включена! И почти за полгода не потеряла ни mV!
Конечно если активно понажимать "передачу" напряжение немного падает (на десяток mV), но потом восстанавливается.
Добавлено after 7 minutes 44 seconds:
[uquote="roman.com",url="/forum/viewtopic.php?p=3992171#p3992171"]
FS1000A на 430MГц. TX - 5 mA. Rx - 5 mA.[/uquote]Только у ТСа девайс бОльшую часть времени будет спать. Так что важнее потребление во сне. А во сне у nRF24L01+ потребление меньше 1мкА.parovoZZ писал(а):Можно привести пример тех, кто меньше?
Да и работоспособен он до 1.9V, что тоже увеличивает срок службы при разряде батареи.
Добавлено after 4 minutes 20 seconds:
[uquote="NiTr0",url="/forum/viewtopic.php?p=3992317#p3992317"]ок, предложите реализацию подобного на nRF24l01, только чтобы со средним током потребления девайса без прочей периферии менее 1мА (с учетом что просыпаться будет пускай раз в минуту скажем)[/uquote]1мА - это уже какой-то лошадиный ток!
У меня погодная станция на nRF24L01+ работающая примерно по такому принципу и имеющая на борту:
MSP430 + DHT22 + BMP180 + nRF24L01+ + LDO
потребляет постоянно ~28-30мкА.
При выходе на связь конечно больше, но это - миллисекунды буквально.
Добавлено after 13 minutes 28 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3992522#p3992522"]угу. только слейвы должны тактироваться стабильной частотой, что для минимального потребления тоже не фонтан вариант. и все равно слейв должен уметь просыпаться от синхропакта мастера, иначе никуда от большого потребения в режиме ожидания этой синхронизации не деться.[/uquote]Зачем??? Вы похоже ничего не поняли в описанном...
Ни "стабильная частота" ни "просыпание от синхропакета" - не нужны.
1-е - потому что частоты обычного кварцевого генератора более чем достаточно чтобы удерживать необходимую точность расчёта времянок на таком малом отрезке времени между двумя синхропакетами.
2-е - просыпаться слэйв может по своим внутренним часам, включать приёмник (на короткое время), за это время ловить ближайший синхропакет, после чего выходить на передачу в нужное время. И снова засыпать. Всё.
jcxz, успокойтесь: я не писал, что сделать невозможно, я написал - геморно. не вижу смысла городить вручную то, что делает готовый недорогой чип. тем более, что ТС находится в стадии "придумывания" проекта, и сменить элементную базу на данном этапе ничего не стоит.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
[uquote="ARV",url="/forum/viewtopic.php?p=3992530#p3992530"]чем CC1101 не устраивает?[/uquote]
Вы хотя бы даташит для начала открыли...)) - CC1101 - TX/RX ~15 mA.
- nRF24L01 - TX/RX ~12 mA.
- Bluetooth 5.0 (Low Energy) - TX/RX ~4 mA.
...
И т.д.
Вывод: Замена радио модулей ничего не даст. Все радио модули потребляют примерно одинаково.
Одинаково дофига как много !!! ))

Оно и понятно.
Все современные радио модули построены по типовой схеме. Поэтому и потребление у них примерно одинаковое.
Остаётся два варианта:
1. делать самодельный радио модуль с ультра низким энергопотреблением.
2. использовать разные протоколы для экономии электричества.

Вы хотя бы даташит для начала открыли...)) - CC1101 - TX/RX ~15 mA.
- nRF24L01 - TX/RX ~12 mA.
- Bluetooth 5.0 (Low Energy) - TX/RX ~4 mA.
...
И т.д.
Вывод: Замена радио модулей ничего не даст. Все радио модули потребляют примерно одинаково.
Одинаково дофига как много !!! ))
Оно и понятно.
Все современные радио модули построены по типовой схеме. Поэтому и потребление у них примерно одинаковое.
Остаётся два варианта:
1. делать самодельный радио модуль с ультра низким энергопотреблением.
2. использовать разные протоколы для экономии электричества.
а вы его открывали?roman.com писал(а):Вы хотя бы даташит для начала открыли
в режиме сна потребление - единицы микроампер, а пробуждение - по приему пакета. детальнее не вчитывался.
- Вложения
-
- wor.png
- (190.5 КБ) 566 скачиваний
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


