Conoceran de librerias para usar a modulo NRF905 con nodemcu en arduino IDE?

Hola, estoy tratando de comunicar a un arduino uno con un modulo nrf905 hacia una placa nodemcu conectada a otro modulo nrf905, la comunicacion de este modulo con las placas es SPI. No encuentro libreria hacer uso del nrf905 en el nodemcu usando el Arduino IDE. Es posible?

Ya tengo la libreria para arduino, pero para nodemcu no.

Y como son tus conexiones entre el nodemcu y el nrf905?

la librería sugiere estas conexiones para arduino, cuales son las tuyas?

| | | - | | | * 7 -> CE | | | * 8 -> PWR | | | * 9 -> TXE | | | * 2 -> CD | | | * 3 -> DR | | | * 10 -> CSN | | | * 12 -> SO | | | * 11 -> SI | | | * 13 -> SCK | | |

Para el arduino uno use la libreria descrita en:http://www.elechouse.com/elechouse/images/product/Zwave%20module/Arduino%20Zwave%20Wireless%20Module%20Guid.pdf

Este es el enlace directo a libreria: http://www.elechouse.com/elechouse/images/product/Zwave%20module/NRF905.ra

Probé el cambiar en la libreria en el archivo NRF905.cpp (en las lineas 32 a 48) estas definiciones:

   TXEN=5;
    TRX_CE=4;
    PWR=3;
    CSN=10;
    AM=9;
    DR=8;
    CD=7;
}
NRF905::NRF905(int css)
{
    TXEN=5;
    TRX_CE=4;
    PWR=3;
    CSN=css;
    AM=9;
    DR=8;
    CD=7;

por estas otras:

       TXEN=1;
    TRX_CE=3;
    PWR=2;
    CSN=15;
    AM=5;
    DR=4;
    CD=0;
}
NRF905::NRF905(int css)
{
    TXEN=1;
    TRX_CE=3;
    PWR=2;
    CSN=css;
    AM=5;
    DR=4;
    CD=0;

Que segun la nomenclatura de Subyrte quedaría así:

* D9 (RX) -> CE
* D4 -> PWR
* D10 (TX) -> TXE
* D3 -> CD
* D2 -> DR
* D8 -> CSN
* D6 -> SO
* D7 -> SI
* D5 -> SCK

El anterior cambio en NRF905.cpp no me funciono. Nota: cambie en la linea 16 esto

PROGMEM unsigned int freq_tab[10] = {

por esto otro

PROGMEM const unsigned int freq_tab[10] = {

si no me arrojaba error durante la compilación.

Encontré tambien esta nota en donde describe que hay dos sitios de comunicacion SPI en nodemcu. Dice lo siguiente https://nodemcu.readthedocs.io/en/master/en/modules/spi/: The ESP hardware provides two SPI busses, with IDs 0, and 1, which map to pins generally labelled SPI and HSPI. If you are using any kind of development board which provides flash, then bus ID 0 (SPI) is almost certainly used for communicating with the flash chip. You probably want to choose bus ID 1 (HSPI) for your communication, as you will have uncontended use of it.

Probe con ambos tipos de "busses" pero sin resultado.

Gracias Surbyte. Que dices estoy perdido?

Digo lo siguiente, el nodemcu es un gran dilema al menos para mi porque estoy en etapa de dominarlo y me da algunos dolores de cabeza todavía y muchas satisfacciones también. Hay que centrarse en algo y resolverlo paso a paso, no muchas cosas a la vez. Comienza resolviendo el SPI con algo que tengas a mano que sepas que funciona. Desde ya el nrf905 funciona. Tienes un módulo SD u otra cosa SPI? yo probaría eso primero. Luego con la configuración de ID correspondiente avanzo con el nRF905.

Edito: se me ocurrió algo mejor. Ya que con los arduinos funciona, repite la prueba que te asegure tener dos nRF905 funcionando con Arduino. Luego, deja uno conectado y prueba el nodemcu con el nRF905 para que intente conectarse con ese otro nRF905.

Acá tendrás menos errores, una sola falla posible, tu nodemcu y su configuración.

Justo lo intente como lo mencionas y nada puros dolores de cabeza (cambie de lugar las conexiones conservando el spi, con ambos busses etc), creo optare mandar lo obtenido por el arduino por serial hacia el nodemcu (queria hacer al arduino de lado:( ). solo estoy en espera de las placas que son el arduino pro mini a 3.3V ya que el NRF trabaja a 3.3V y los pines del arduino uno 5V, esto para evitar dañar a nrf905 (por lo que he leido), lo he conectado por pocos ratos a un Mega y sin problemas (sin embargo vi que se tienen que conectar resitencias) enlace: http://blog.zakkemble.co.uk/nrf905-avrarduino-librarydriver/. Aun no he probado con las resitencias directo a los arduinos que tengo (el Mega y Uno). Mas adelante les comento sobre mis avances si es que hay.

Todo lo que vaya de Arduino a nRF905 va con resistencia 1k en serie con 2k o bien level shifter como el CD4050

|500x271

El esquema es feo pero sirve para entender