2015-06-10 3 views
0

Вот настройка. Arduino # 1 имеет w5100 ethernet-экран, на котором работает веб-сервер, принимающий строки GET. Затем он анализирует данные и передает их по беспроводной сети на другие узлы с помощью приемопередатчиков nRF24l10. Я использую библиотеки RF24 и RF24Network от maniacbug. Также из-за наличия экранов Ethernet и беспроводной связи мне пришлось использовать модифицированный RF24 для базы, поддерживающей soft SPI.nRF24 - данные получены, но не все сообщение

Arduino # 2 - всего лишь nRF24L10.

Что работает. Отправка GET в Arduino # 1 работает. Он анализирует информацию. Затем он вызывает процедуру отправки и говорит, что все в порядке.

На arduino # 2 Я получаю распечатку «Received:», но нет сообщения. Я не уверен, что случилось. Код берется прямо из примера tx и rx maniacbug. Кроме того, мне пришлось преобразовать мою sendString в отправленный символ.

Мне интересно, если это одна из следующих вещей, но я не совсем уверен, как отлаживать.

  1. Что дополнение библиотеки RF24Network сломало softSPI. Я очень старался удалить один libray и добавить другой, когда компилирую. Хотя, если бы это было так, я бы никогда не увидел «Received:», не так ли?

  2. Не нравится мое преобразование из строки в char?

Вот код.

Базовая станция: http://pastebin.com/Ehy8pz4Z Приемник: http://pastebin.com/2mz9FjsR

Вот измененное RF24 + softspi библиотека. https://github.com/shnae/rf24_plus_softSPI если это поможет.

Я не думаю, что просто добавление библиотеки nrf24network ломается, но поскольку она вызывает SPI.begin(), она может. Это выходит за рамки моего набора навыков.

ответ

0

Так что, как оказалось, вам нужно поместить network.update(); в цикле .... Если вы вызываете его только по запросу, как я, это не сработает. Следовательно, // это регулярно комментирует, что вы видите для этого.

Смежные вопросы