Сами почитайте. Нет не получается. Тогда по вашей логике и троллейбус и автобус - одно и тоже.
В первом случае меш-сеть, во втором нет. То что в меш-сети используется маршрутизация (как в z-wave, zigbee), как и во втором случае, не означает что участники сети не общаются между соседними точками. Во втором же случае используется маршрутизация, но общение с соседними точками отсутствует. И да, если добавить смену маршрута, то получится меш-сеть, а без такового это не меш-сеть.
Сами почитайте. Нет не получается. Тогда по вашей логике и троллейбус и автобус - одно и тоже.
В первом случае меш-сеть, во втором нет. То что в меш-сети используется маршрутизация (как в z-wave, zigbee), как и во втором случае, не означает что участники сети не "общаются" между соседними точками. Во втором же случае используется маршрутизация, но общение с соседними точками отсутствует. И да, если добавить смену маршрута, то получится меш-сеть, а без такового это не меш-сеть.
перевожу
Цитата:
Mesh networking (topology) is a type of networking where each node must not only capture and disseminate its own data, but also serve as a relay for other nodes, that is, it must collaborate to propagate the data in the network.
здесь написано, что отличительной чертой mesh сети является то, что отдельные устройства этой сети пропускают через себя не только свои данные, но и данные для другиз устройств
под это определение попадают обе сети
смена маршрута (self healing) не обозначена как обязательный атрибут mesh сети
сравнение с трамваями не корректно, давайте быть конструктивными и ссылаться на определения, эмоции здесь не в помощь, а еще главное чтобы спор не стал самоцелью))
собственно зачем нужна mesh сеть? чтобы покрыть пространство значитлеьно больщее чем расстояние устойчивого соединения между двумя устройствами сети. По-моему простой вариант manicbug с этой целью справляется
но если кто-то из уважаемых форумчан предложит библиотеку с полными аттрибутами mesh сети включая self-healing, то уверен общественность будет весьма благодарна
я уже боюсь даже представить как вы будете обсуждать слово КОРАБЛЬ (оно ж сколько разных смыслов и значений, вам на пару лет хватит разбиратся) ... я так понимаю вы нашли друг друга..
и все же давайте как то по существу вопроса.. маньяк написал хороший алгоритм который было бы хорошо доработать в плане гибкой самонастройки сети с учетом выбывающих модулей.. есть энтузазисты кто желает взяться?
кстати на буржуйском форуме видел какие то доработки, как разберусь, отчитаюсь...
Я правильно понимаю, что перед тем как запустить код для радиомодуля мне нужно выставить нули на 4м и 10м пинах?
а еще вопрос. В примерах для радиомодуля есть только отдельно скетч для трансивера и отдельно для ресивера. Мне в одном скетче нужно и то и то. Есть какая то логика переключения с приема на передачу и обратно? Например нужно ли закрывать все pipes на чтение перед передачей? В примере трансивера они закрываются в процедуре setup
Я правильно понимаю, что перед тем как запустить код для радиомодуля мне нужно выставить нули на 4м и 10м пинах?
а еще вопрос. В примерах для радиомодуля есть только отдельно скетч для трансивера и отдельно для ресивера. Мне в одном скетче нужно и то и то. Есть какая то логика переключения с приема на передачу и обратно? Например нужно ли закрывать все pipes на чтение перед передачей? В примере трансивера они закрываются в процедуре setup
В примерах есть пинговый сервер.
там же есть еще пинговый клиент
/**
* An Mirf example which copies back the data it recives.
*
* Pins:
* Hardware SPI:
* MISO -> 12
* MOSI -> 11
* SCK -> 13
*
* Configurable:
* CE -> 8
* CSN -> 7
*
*/
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
void setup(){
Serial.begin(9600);
/*
* Set the SPI Driver.
*/
Mirf.spi = &MirfHardwareSpi;
/*
* Setup pins / SPI.
*/
Mirf.init();
/*
* Configure reciving address.
*/
Mirf.setRADDR((byte *)"serv1");
/*
* Set the payload length to sizeof(unsigned long) the
* return type of millis().
*
* NB: payload on client and server must be the same.
*/
Mirf.payload = sizeof(unsigned long);
/*
* Write channel and payload config then power up reciver.
*/
Mirf.config();
Serial.println("Listening...");
}
void loop(){
/*
* A buffer to store the data.
*/
byte data[Mirf.payload];
/*
* If a packet has been recived.
*
* isSending also restores listening mode when it
* transitions from true to false.
*/
if(!Mirf.isSending() && Mirf.dataReady()){
Serial.println("Got packet");
/*
* Get load the packet into the buffer.
*/
Mirf.getData(data);
/*
* Set the send address.
*/
Mirf.setTADDR((byte *)"clie1");
/*
* Send the data back to the client.
*/
Mirf.send(data);
/*
* Wait untill sending has finished
*
* NB: isSending returns the chip to receving after returning true.
*/
Serial.println("Reply sent.");
}
}
библиотека Mirf возможно маскирует все эти детали. Я пытаюсь писать на nrf24l01p библиотеке, которая сделана на базе application note с сайта производителя чипа. Пока придерживаюсь ее, потому, что она работает как с ардуино, таки и с atmelstudio и еще может работать с любым STM.
есть два скетча - один отсылает посылки, второй принимает.
по отдельности работает, но не получается скомбинировать. Правда сверху накладывается еще ethernet shield который тоже работает через железный SPI. все это у меня на ардуино 2560. второй мк - голый 328 на STK600.
так вот код на atmega2560 как ни странно даже без отключения/включения nrf24/wiznet работает одновременно и прием сообщений по сети nrf24 и прием запросов по сети из браузера в виде http запросов - я могу видеть как в перемешку в Serial сыпятся сообщения как о приеме nrf24 так и об обработке HTTP
но как только я пытаюсь отправить сообщение NRF24 - оно не уходит, все зависает на этом цикле во второй строке после отправки сообщения:
nrf24l01p_write_tx_payload((uint8_t*)&nrf24net_message_tobesent, sizeof(nrf24net_message_tobesent));
do {} while (!(nrf24l01p_get_irq_flags() & (1 << NRF24L01P_IRQ_TX_DS)));
nrf24l01p_clear_irq_flag(NRF24L01P_IRQ_TX_DS);
толи с модулем nrf24 не правильно общаюсь толи ethernet мешает
посмотрел описание etehrnet shield. там сказано, что SS использован не железный, а софтверный, но чтобы SPI работал жеденый SS (53 пин на меге) надо просто настроить на OUTPUT. В то же время SS модуля NRF24 я подключил именно к 53 пину. Так нормально? CE модуля nrf24 у меня поключег к 9-му пину
все-таки как правильно переключать платы? нужно ли заботиться о 10-м пине (SS для ethernet shield) или стандартная библиотека ардуины сделает это за меня?
как быть с пинами SS и CE nrf24? на них прописывать LOW пока работаю с Ethernet shield?
2. совсем не зависимый от этого вопрос. я правильно понимаю, что максимальный размер payload при отправке сообщения через nrf24 это 32 байта? т.е. если мне нужно отправлять пакеты большего размера - я должен их бить по 32 байта?
В то же время SS модуля NRF24 я подключил именно к 53 пину. Так нормально? CE модуля nrf24 у меня поключег к 9-му пину
если вы почитаете еще раз, то на 53 пине сидит SD карточка... и его вообще не рекомендуют использовать..
у вас WebServer работает нормально?
вообще лучше будет если вы распишете распиновку...
вообще впечатление что не хватает питания.. радио на передаче есть его с дикой силой... кстати у передатчика есть ограничение по времени работы, иначе он накрывается большой медной посудиной...
проверить не могу, ибо не придумал откуда взять 3.3 вольта, заказал запчасти, жду когда привезут.
хотя есть вариант другого предположения что эти 2 библиотеки на SPI обычно плохо дружат.. и на буржуйском форуме уже не раз обсуждалась эта проблема.
там вроде бы народ пришел к вводу
So, effectively it's just saving the content of the two SPI registers (SPCR and SPSR) after the initialization of each library and resetting them to that value before every call to one of the library's functions.
как то так вот...иначе получается последний проинициализировавшийся перехватывает канал и сидит на нем...
если вы почитаете еще раз, то на 53 пине сидит SD карточка... и его вообще не рекомендуют использовать..
ничего удивительного, что там сидит и SD - 53-1 пин это 4-й провод железного SPI mega2560. Они все втроем сидят еще и на MISO, MOSI, SCK - именно к этим пинам меги у меня подклбчел радиомодуль, так что с подключением все однозначно вроде как
Цитата:
у вас WebServer работает нормально?
да, работает без проблем
Цитата:
вообще лучше будет если вы распишете распиновку...
MOSI, MISO, SCK, SS пины радиомодуля подключены к таким же выводам atmega2560.
CE пин радиомодуля подключен к 9-му пину ардуины
Цитата:
вообще впечатление что не хватает питания.. радио на передаче есть его с дикой силой... кстати у передатчика есть ограничение по времени работы, иначе он накрывается большой медной посудиной...
дело точно не в питании - если залить скетч из примеров на передачу - все работает. Проблема именно в переключении передачи и приема. Насчет долгого режима работы в передаче - у меня скетч на котором залита передача сутками работает, пока занимаюсь отладкой этого скетча даже не отключаю тот второй с передачей да и в даташите нет ничего про органичения
Цитата:
проверить не могу, ибо не придумал откуда взять 3.3 вольта, заказал запчасти, жду когда привезут.
поставьте 3-4 диода 4148 от 5 вольт - получите 3-3,6в
хотя есть вариант другого предположения что эти 2 библиотеки на SPI обычно плохо дружат.. и на буржуйском форуме уже не раз обсуждалась эта проблема.
важно не путать старую версию arduino ethernet с новой
если почитать даташит на wiznet5100 то можно обнаружить, что у этого чипа есть баг - не достаточно снять HIGH с chip select, нужно еще явным образом отключать wiznet подачей сигнала на другой пин чипа. Иначе wiznet не будет давать МК общаться с другими устройствами на SPI
В последней версии arduino shield сделана примочка, рекомендованная в даташите - установлен инвертор между CS и тем самым специальным пином, поэтому когда мы подаем LOW на CS wiznet гарантированно отключается от SPI. Maniacbug кстати тое пишет, что у него ethernet и nrf24 работают без проблем на одном SPI, но правда примеров такого скетча у него на сайте нет
Попробуйте не инициализировать ethernet.. а просто запустить радио и посмотреть будет ли оно работать само по себе.. с утановленым но не инициализированым ethernet :)
Попробуйте не инициализировать ethernet.. а просто запустить радио и посмотреть будет ли оно работать само по себе.. с утановленым но не инициализированым ethernet :)
спасибо, так и планирую - отладить скетч на ардуинке без ethernet
буду признателен если поясните роль выводов модуля SS и CE. Какой за что отвечает?
тут вот кстати валяется KIT, внутри есть даже исходники прошивки... чип то довольно старый.. если есть желание выжать с него все соки то наверно нужно начинать с прошивки...
CE слушаем или не слушаем эфир.. причем когда слушаем то LOW
CSN включаем и выключаем SPI
но честно говоря не совсем понятно зачем вам нужно лезть в такие дебри... это все прописано уже в библиотеке.
вот тут может собака и зарылась. в моец библиотеке CE управляется скетчем. наверно надо rf24 взять и адаптировать под голый avr. не хочу привязываться к ардуино
но что-то устал топтаться на месте, сделаю паузу - сейчас доделываю проект который уже разработан, делал сегодня плату, сейчас паяю - будет автоматизация старта измельчителя на кухне с автоматической подачей воды и контролем заклинивания. Хотел было заменить attiny13 и поставить mega8 чтобы на будущее сразу припаять nrf24 но решил пока от этого отказаться )) а то еще два дня улетят. После этого вернусь и думаю доделаю шлюз и можно будет делать устройства, решил сделать часы у которых не будет кнопок управления и не будет бакапа по питанию - они будут тупо синхронизироваться через nrf24 с часами из интернет, а на будущее думаю сделать рассылку broadcast сообщение скажем ежедневно на синхронихацию часов по всему дому
хых, ну в общем то проблемы как таковой нет... нужно просто взять новую библиотеку у маньяка. вроде последний апдейт пару дней назад прошел... :) кстати у него же там и все ваши устройства разложены красиво :) там даже код для них есть
ясно, но это клон и кстати менялся он уже 4 месяца назад
клонов много, я другой выше приводил
так уж получилось, что maniacbug сделал самую грамотную библиотеку
ну если так, то конечно продолжайте изыскания почему же оно не работает.. :)
я не рылся глубоко но судя по обсуждениям. в грамотно сделаной библиотеке какие то функции по названию переклюкаются с другой распространеной библиотекой, что приводит к состоянию которое вы и имеете..
я там ниже добавил КЛОН меш нетворка :), но вы конечно можете пользоватся грамотным оригиналом :) хозяин как говорится барин
Это не клоны.. это апгрейды начальной библиотеки сделаные другими людьми с разрешения автора.... и там есть карта этих апгрейдов для каждого проекта... это часть GitHub
Меш пока пробовал между 2 юнитами.. ибо что то сразу не подумал и заказал всего 2 меги, сейчас жду еще парочку...
Дайте время - заканчиваю проект автоматизации измельчителя. Столкнулся со сложной логикой измерения переменного тока на acs712. Но точно хочу иметь возможность отлаживать проекты с радиомодулями в atmel studio. Надо еще научиться скетчи ардуино в ней отлаживать. Отладка это сказка - вчера прямо из студии менял состояние портов МК, очень помогает разбираться
ну в той версии что есть у меня.. адресация проста до безумия... присваиваете номер каждому юниту... и просто в заголовке указываете кому сообщение... и теоретически оно сам прыгает до адресата... пока не проверял как оно прыгает..
Всем привет. Пожалуйста помогите написать код (если не сложно с очень подробными пояснениями) для отправки показаний несколких потенциометров с одного arduino на другой через nrf24l01. Буду очень признателен.
Подскажите пожалуйста какие библиотеки лучше и проще использовать для этого модуля, что бы организовать сбор информации с нескольких устройств, а так же отправлять на них команды. Планируется организовать один главный блог на Меге и 2-3 устройства с дачиками. Если подскажите уже готовый код с хорошими пояснениями буду очень благодарен вам.
Сами почитайте. Нет не получается. Тогда по вашей логике и троллейбус и автобус - одно и тоже.
В первом случае меш-сеть, во втором нет. То что в меш-сети используется маршрутизация (как в z-wave, zigbee), как и во втором случае, не означает что участники сети не общаются между соседними точками. Во втором же случае используется маршрутизация, но общение с соседними точками отсутствует. И да, если добавить смену маршрута, то получится меш-сеть, а без такового это не меш-сеть.
Сами почитайте. Нет не получается. Тогда по вашей логике и троллейбус и автобус - одно и тоже.
В первом случае меш-сеть, во втором нет. То что в меш-сети используется маршрутизация (как в z-wave, zigbee), как и во втором случае, не означает что участники сети не "общаются" между соседними точками. Во втором же случае используется маршрутизация, но общение с соседними точками отсутствует. И да, если добавить смену маршрута, то получится меш-сеть, а без такового это не меш-сеть.
перевожу
Mesh networking (topology) is a type of networking where each node must not only capture and disseminate its own data, but also serve as a relay for other nodes, that is, it must collaborate to propagate the data in the network.
здесь написано, что отличительной чертой mesh сети является то, что отдельные устройства этой сети пропускают через себя не только свои данные, но и данные для другиз устройств
под это определение попадают обе сети
смена маршрута (self healing) не обозначена как обязательный атрибут mesh сети
сравнение с трамваями не корректно, давайте быть конструктивными и ссылаться на определения, эмоции здесь не в помощь, а еще главное чтобы спор не стал самоцелью))
собственно зачем нужна mesh сеть? чтобы покрыть пространство значитлеьно больщее чем расстояние устойчивого соединения между двумя устройствами сети. По-моему простой вариант manicbug с этой целью справляется
но если кто-то из уважаемых форумчан предложит библиотеку с полными аттрибутами mesh сети включая self-healing, то уверен общественность будет весьма благодарна
Читайте по русски что такое меш http://ru.wikipedia.org/wiki/Mesh-%D1%81%D0%B5%D1%82%D0%B8 под это определение подпадает только первый случай. И еще раз повторяю - сложная топология не есть меш-топология.
Читайте по русски что такое меш http://ru.wikipedia.org/wiki/Mesh-%D1%81%D0%B5%D1%82%D0%B8 под это определение подпадает только первый случай. И еще раз повторяю - сложная топология не есть меш-топология.
я предпочитаю читать первоисточники, а они как правило на английском, ваш перевод весьма фривольный - он не соответствует по смыслу оригиналу
но мы вправе осталься каждый при своем
ваши предложение по сути какие?
ну не mesh сеть, допустим, что дальше?
UPD: Кто успел - тот успел.
я уже боюсь даже представить как вы будете обсуждать слово КОРАБЛЬ (оно ж сколько разных смыслов и значений, вам на пару лет хватит разбиратся) ... я так понимаю вы нашли друг друга..
и все же давайте как то по существу вопроса.. маньяк написал хороший алгоритм который было бы хорошо доработать в плане гибкой самонастройки сети с учетом выбывающих модулей.. есть энтузазисты кто желает взяться?
кстати на буржуйском форуме видел какие то доработки, как разберусь, отчитаюсь...
кинь ссылочку -вместе удобнее разбираться
кидаю
http://forum.arduino.cc/index.php?PHPSESSID=j0ek040dpgcg9mb5bkc4hchj17&topic=62222.135
пытаюсь написать шлюз из сети nrf24 в ethernet на базе arduino mega2560 + nrf24l01p + arduino ethernet shield
получается, что оба модуля радио и ethernet на железном SPI
как их правильно переключать?
у NRF24 есть CE пин, правильно понимаю, что перед обращением к ethernet туда нужно прописать логический ноль, чтобы NRF24 не мешал общаться с etherne?
а как отключать ethernet? прошерстил библиотеку ethernet и не нашел как выставить CE для wiznet чипа в состояние "выключено"
а как отключать ethernet? прошерстил библиотеку ethernet и не нашел как выставить CE для wiznet чипа в состояние "выключено"
pin 10 ethernet
pin 4 SD card
Я правильно понимаю, что перед тем как запустить код для радиомодуля мне нужно выставить нули на 4м и 10м пинах?
а еще вопрос. В примерах для радиомодуля есть только отдельно скетч для трансивера и отдельно для ресивера. Мне в одном скетче нужно и то и то. Есть какая то логика переключения с приема на передачу и обратно? Например нужно ли закрывать все pipes на чтение перед передачей? В примере трансивера они закрываются в процедуре setup
Когда гляну код библиотеки скажу точно, но думаю, что pipes закрывать нужно.
А вот то, что в примере они закрываются в setup это ничего, ведь по сути arduino setup() и loop() при компиляции кода преобразовывает в такой:
Я правильно понимаю, что перед тем как запустить код для радиомодуля мне нужно выставить нули на 4м и 10м пинах?
а еще вопрос. В примерах для радиомодуля есть только отдельно скетч для трансивера и отдельно для ресивера. Мне в одном скетче нужно и то и то. Есть какая то логика переключения с приема на передачу и обратно? Например нужно ли закрывать все pipes на чтение перед передачей? В примере трансивера они закрываются в процедуре setup
В примерах есть пинговый сервер.
там же есть еще пинговый клиент
библиотека Mirf возможно маскирует все эти детали. Я пытаюсь писать на nrf24l01p библиотеке, которая сделана на базе application note с сайта производителя чипа. Пока придерживаюсь ее, потому, что она работает как с ардуино, таки и с atmelstudio и еще может работать с любым STM.
есть два скетча - один отсылает посылки, второй принимает.
по отдельности работает, но не получается скомбинировать. Правда сверху накладывается еще ethernet shield который тоже работает через железный SPI. все это у меня на ардуино 2560. второй мк - голый 328 на STK600.
так вот код на atmega2560 как ни странно даже без отключения/включения nrf24/wiznet работает одновременно и прием сообщений по сети nrf24 и прием запросов по сети из браузера в виде http запросов - я могу видеть как в перемешку в Serial сыпятся сообщения как о приеме nrf24 так и об обработке HTTP
но как только я пытаюсь отправить сообщение NRF24 - оно не уходит, все зависает на этом цикле во второй строке после отправки сообщения:
1. пока не удалось мне победить
толи с модулем nrf24 не правильно общаюсь толи ethernet мешает
посмотрел описание etehrnet shield. там сказано, что SS использован не железный, а софтверный, но чтобы SPI работал жеденый SS (53 пин на меге) надо просто настроить на OUTPUT. В то же время SS модуля NRF24 я подключил именно к 53 пину. Так нормально? CE модуля nrf24 у меня поключег к 9-му пину
все-таки как правильно переключать платы? нужно ли заботиться о 10-м пине (SS для ethernet shield) или стандартная библиотека ардуины сделает это за меня?
как быть с пинами SS и CE nrf24? на них прописывать LOW пока работаю с Ethernet shield?
2. совсем не зависимый от этого вопрос. я правильно понимаю, что максимальный размер payload при отправке сообщения через nrf24 это 32 байта? т.е. если мне нужно отправлять пакеты большего размера - я должен их бить по 32 байта?
В то же время SS модуля NRF24 я подключил именно к 53 пину. Так нормально? CE модуля nrf24 у меня поключег к 9-му пину
если вы почитаете еще раз, то на 53 пине сидит SD карточка... и его вообще не рекомендуют использовать..
у вас WebServer работает нормально?
вообще лучше будет если вы распишете распиновку...
вообще впечатление что не хватает питания.. радио на передаче есть его с дикой силой... кстати у передатчика есть ограничение по времени работы, иначе он накрывается большой медной посудиной...
проверить не могу, ибо не придумал откуда взять 3.3 вольта, заказал запчасти, жду когда привезут.
проверить не могу, ибо не придумал откуда взять 3.3 вольта, заказал запчасти, жду когда привезут.
Cd/DVD привод разбери старый - там AMS117 на 3,3 вольта как минимум пара есть.
Прошу прощения за оффтоп.
Cd/DVD привод разбери старый - там AMS117 на 3,3 вольта как минимум пара есть.
Прошу прощения за оффтоп.
спасибо за подсказку, старого привода не нет :( ... уже и так разобрал все что можно...
просто все ведет к тому что проблема с питанием. ибо вебсервер и карта памяти функционируют нормально...
завтра буду думать откуда ковырнуть AMS117
хотя есть вариант другого предположения что эти 2 библиотеки на SPI обычно плохо дружат.. и на буржуйском форуме уже не раз обсуждалась эта проблема.
там вроде бы народ пришел к вводу
So, effectively it's just saving the content of the two SPI registers (SPCR and SPSR) after the initialization of each library and resetting them to that value before every call to one of the library's functions.
как то так вот...иначе получается последний проинициализировавшийся перехватывает канал и сидит на нем...
если вы почитаете еще раз, то на 53 пине сидит SD карточка... и его вообще не рекомендуют использовать..
ничего удивительного, что там сидит и SD - 53-1 пин это 4-й провод железного SPI mega2560. Они все втроем сидят еще и на MISO, MOSI, SCK - именно к этим пинам меги у меня подклбчел радиомодуль, так что с подключением все однозначно вроде как
у вас WebServer работает нормально?
да, работает без проблем
вообще лучше будет если вы распишете распиновку...
MOSI, MISO, SCK, SS пины радиомодуля подключены к таким же выводам atmega2560.
CE пин радиомодуля подключен к 9-му пину ардуины
вообще впечатление что не хватает питания.. радио на передаче есть его с дикой силой... кстати у передатчика есть ограничение по времени работы, иначе он накрывается большой медной посудиной...
дело точно не в питании - если залить скетч из примеров на передачу - все работает. Проблема именно в переключении передачи и приема. Насчет долгого режима работы в передаче - у меня скетч на котором залита передача сутками работает, пока занимаюсь отладкой этого скетча даже не отключаю тот второй с передачей да и в даташите нет ничего про органичения
проверить не могу, ибо не придумал откуда взять 3.3 вольта, заказал запчасти, жду когда привезут.
поставьте 3-4 диода 4148 от 5 вольт - получите 3-3,6в
хотя есть вариант другого предположения что эти 2 библиотеки на SPI обычно плохо дружат.. и на буржуйском форуме уже не раз обсуждалась эта проблема.
важно не путать старую версию arduino ethernet с новой
если почитать даташит на wiznet5100 то можно обнаружить, что у этого чипа есть баг - не достаточно снять HIGH с chip select, нужно еще явным образом отключать wiznet подачей сигнала на другой пин чипа. Иначе wiznet не будет давать МК общаться с другими устройствами на SPI
В последней версии arduino shield сделана примочка, рекомендованная в даташите - установлен инвертор между CS и тем самым специальным пином, поэтому когда мы подаем LOW на CS wiznet гарантированно отключается от SPI. Maniacbug кстати тое пишет, что у него ethernet и nrf24 работают без проблем на одном SPI, но правда примеров такого скетча у него на сайте нет
Ну что я тогда могу вам предложить :)
Попробуйте не инициализировать ethernet.. а просто запустить радио и посмотреть будет ли оно работать само по себе.. с утановленым но не инициализированым ethernet :)
Ну что я тогда могу вам предложить :)
Попробуйте не инициализировать ethernet.. а просто запустить радио и посмотреть будет ли оно работать само по себе.. с утановленым но не инициализированым ethernet :)
спасибо, так и планирую - отладить скетч на ардуинке без ethernet
буду признателен если поясните роль выводов модуля SS и CE. Какой за что отвечает?
http://www.nordicsemi.com/kor/Products/2.4GHz-RF/nRF24L01P
тут вот кстати валяется KIT, внутри есть даже исходники прошивки... чип то довольно старый.. если есть желание выжать с него все соки то наверно нужно начинать с прошивки...
CE слушаем или не слушаем эфир.. причем когда слушаем то LOW
CSN включаем и выключаем SPI
но честно говоря не совсем понятно зачем вам нужно лезть в такие дебри... это все прописано уже в библиотеке.
CE слушаем или не слушаем эфир.. причем когда слушаем то LOW
CSN включаем и выключаем SPI
но честно говоря не совсем понятно зачем вам нужно лезть в такие дебри... это все прописано уже в библиотеке.
вот тут может собака и зарылась. в моец библиотеке CE управляется скетчем. наверно надо rf24 взять и адаптировать под голый avr. не хочу привязываться к ардуино
не думаю что сабака рылась в этом...собака рылась в ethernet шильде... причем выглядит так что его библиотека под себя подгребла все.
не думаю что сабака рылась в этом...собака рылась в ethernet шильде... причем выглядит так что его библиотека под себя подгребла все.
было бы так RX бы тоже не работало
хотя с другой стороны посмотрел примеры RX TX к моей библиотеке - в обоих CE выставляется в HIGH в setup() и большее не меняется, как-то не логично
Как продвигается решение проблемы?
Как продвигается решение проблемы?
нашел неплохую независимую библиотеку для AVR https://github.com/kehribar/nrf24L01_plus и порт RF24 на AVR https://github.com/jaseg/RF24/tree/avrlibc
но что-то устал топтаться на месте, сделаю паузу - сейчас доделываю проект который уже разработан, делал сегодня плату, сейчас паяю - будет автоматизация старта измельчителя на кухне с автоматической подачей воды и контролем заклинивания. Хотел было заменить attiny13 и поставить mega8 чтобы на будущее сразу припаять nrf24 но решил пока от этого отказаться )) а то еще два дня улетят. После этого вернусь и думаю доделаю шлюз и можно будет делать устройства, решил сделать часы у которых не будет кнопок управления и не будет бакапа по питанию - они будут тупо синхронизироваться через nrf24 с часами из интернет, а на будущее думаю сделать рассылку broadcast сообщение скажем ежедневно на синхронихацию часов по всему дому
хых, ну в общем то проблемы как таковой нет... нужно просто взять новую библиотеку у маньяка. вроде последний апдейт пару дней назад прошел... :) кстати у него же там и все ваши устройства разложены красиво :) там даже код для них есть
с интересом побежал смотреть апдейт, но не нашел изменений - последние более года назад. откуда информация об изменениях?
с интересом побежал смотреть апдейт, но не нашел изменений - последние более года назад. откуда информация об изменениях?
из информации о последних изменениях файлов и плюс оно все нормально работает теперь :)
мы в разные места смотрим? здесь ничего не менялось больше года https://github.com/maniacbug/RF24/
мы в разные места смотрим? здесь ничего не менялось больше года https://github.com/maniacbug/RF24/
https://github.com/stanleyseow/RF24
:)
и в догонку
https://github.com/RWSDev/RF24Network
ясно, но это клон и кстати менялся он уже 4 месяца назад
клонов много, я другой выше приводил
так уж получилось, что maniacbug сделал самую грамотную библиотеку
ясно, но это клон и кстати менялся он уже 4 месяца назад
клонов много, я другой выше приводил
так уж получилось, что maniacbug сделал самую грамотную библиотеку
ну если так, то конечно продолжайте изыскания почему же оно не работает.. :)
я не рылся глубоко но судя по обсуждениям. в грамотно сделаной библиотеке какие то функции по названию переклюкаются с другой распространеной библиотекой, что приводит к состоянию которое вы и имеете..
я там ниже добавил КЛОН меш нетворка :), но вы конечно можете пользоватся грамотным оригиналом :) хозяин как говорится барин
да нет я не привередничаю, правда )) спасибо за ссылки
если посмотрите мои посты выше то увидите, что я RF24 не пользовался еще вообще )
а склонами сложность в том, что их много - запутаться можно, как вы в них разбираетесь?)
улучшенный mesh пробовали?
улучшенный mesh пробовали?
Это не клоны.. это апгрейды начальной библиотеки сделаные другими людьми с разрешения автора.... и там есть карта этих апгрейдов для каждого проекта... это часть GitHub
Меш пока пробовал между 2 юнитами.. ибо что то сразу не подумал и заказал всего 2 меги, сейчас жду еще парочку...
пока это все выглядит как мечта пьяного электрика
А где карту проектов посмотреть? Я этим ресурсом раньше не пользовался
А где карту проектов посмотреть? Я этим ресурсом раньше не пользовался
в каждом проекте есть закладка NETWORK это и есть карта
ну что колега, как далеко продвинулись ваши изыскания?
Дайте время - заканчиваю проект автоматизации измельчителя. Столкнулся со сложной логикой измерения переменного тока на acs712. Но точно хочу иметь возможность отлаживать проекты с радиомодулями в atmel studio. Надо еще научиться скетчи ардуино в ней отлаживать. Отладка это сказка - вчера прямо из студии менял состояние портов МК, очень помогает разбираться
Дайте время - заканчиваю проект автоматизации измельчителя.
А вы знаете толк в извращениях...
Кстати самая последняя версия меш сети работает вполне себе нормально в плане автоматического построения маршрутов...
А вы знаете толк в извращениях...
Кстати самая последняя версия меш сети работает вполне себе нормально в плане автоматического построения маршрутов...
это не то, о чем вы подумали ))
хорошо что работает. а адресация изменилась или осталась в логике maniacbug?
ну в той версии что есть у меня.. адресация проста до безумия... присваиваете номер каждому юниту... и просто в заголовке указываете кому сообщение... и теоретически оно сам прыгает до адресата... пока не проверял как оно прыгает..
Всем привет. Пожалуйста помогите написать код (если не сложно с очень подробными пояснениями) для отправки показаний несколких потенциометров с одного arduino на другой через nrf24l01. Буду очень признателен.
Нашол несколько библиотек для nRF24L01+
RF24
+ NRF24E расширеный класс для RF24
MiRF с офицального сайта
rf24HQ работа с потоками
Хочется узнать какой лучше? Кто с какими работал и на какие "грабли" наступал?
Купил в китае 4 модуля с трансивером(усилитель) до 1000м+внешняя антена(как на роутерах) и 2 простых с антеной на плате.
видимо 4 страницу дописываем, а народу оно нафиг не нада читать.. можно еще раз спросить..прям как в том старом анекдоте
чукча не читатель, чукча писатель, аднака!
Подскажите пожалуйста какие библиотеки лучше и проще использовать для этого модуля, что бы организовать сбор информации с нескольких устройств, а так же отправлять на них команды. Планируется организовать один главный блог на Меге и 2-3 устройства с дачиками. Если подскажите уже готовый код с хорошими пояснениями буду очень благодарен вам.