arduino + raspberry

Тема в разделе "Arduino & Shields", создана пользователем GeorgeLhassa, 12 июн 2015.

  1. GeorgeLhassa

    GeorgeLhassa Нуб

    Добрый день!
    Пытаюсь связать arduino и raspberry.
    Тестирование между двумя arduino проходит нормально, а вот arduino и raspberry нет(

    для arduino использую RF24 https://github.com/maniacbug/RF24
    для raspberry пакет для node.js https://github.com/natevw/node-nrf


    Вывод arduino


    Код (Text):
    RF24/examples/GettingStarted/

    ROLE: Pong back

    *** PRESS 'T' to begin transmitting to the other node

    STATUS        = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0

    RX_ADDR_P0-1    = 0xf0f0f0f0e1 0xf0f0f0f0d2

    RX_ADDR_P2-5    = 0xc3 0xc4 0xc5 0xc6

    TX_ADDR        = 0xf0f0f0f0e1

    RX_PW_P0-6    = 0x20 0x20 0x00 0x00 0x00 0x00

    EN_AA        = 0x00

    EN_RXADDR    = 0x03

    RF_CH        = 0x4c

    RF_SETUP    = 0x07

    CONFIG        = 0x0f

    DYNPD/FEATURE    = 0x00 0x06

    Data Rate    = 1MBPS

    Model        = nRF24L01+

    CRC Length    = 16 bits

    PA Power    = PA_HIGH

    *** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK

    Now sending 69321...ok...Failed, response timed out.

    Now sending 70524...ok...Got response 70525, round-trip delay: 77

    Now sending 71603...ok...Failed, response timed out.

    Now sending 72807...ok...Failed, response timed out.

    Now sending 74009...ok...Failed, response timed out.

    Now sending 75211...ok...Failed, response timed out.

    Now sending 76413...ok...Failed, response timed out.

    Now sending 77616...ok...Failed, response timed out.

    Now sending 78819...ok...Failed, response timed out.

    Now sending 80021...ok...Failed, response timed out.

    Now sending 81223...ok...Failed, response timed out.

    Now sending 82425...ok...Failed, response timed out.

    Now sending 83628...ok...Failed, response timed out.
     



    вывод raspberry
    Код (Text):

    root@raspberrypi:/# /usr/local/bin/node /srv/www/SmartCat/node/test.js
    SPI device:    /dev/spidev0.0
    CE GPIO:    24
    IRQ GPIO:    25
    STATUS:        0xe RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
    PONG back
    RX_ADDR_P0–1:    0xf0f0f0f0e1 0xf0f0f0f0d2
    RX_ADDR_P2–5:    0xc3 0xc4 0xc5 0xc6
    TX_ADDR:    0xf0f0f0f0e1
    RX_PW_P0–5:    0x0 0x0 0x0 0x0 0x0 0x0
    EN_AA:        0x3f
    EN_RXADDR:    0x03
    RF_CH:        0x4c
    RF_SETUP:    0x07
    CONFIG:        0x0f
    DYNPD/FEATURE:    0x03 0x07
    Data Rate:    1Mbps
    Model:        nRF24L01+
    CRC Length:    16 bits
    PA Power:    PA_MAX
    Got data, will respond 16777216
    Error sending reply. [Error: Packet timeout, transmit queue flushed.]
     

    Пробегает всего 1 пакет.
     
  2. M0ln1a

    M0ln1a Гик

    А подключение последовательное (serial)?
     
  3. M0ln1a

    M0ln1a Гик

    Я могу скинуть фотографии из книги. Там есть такая тема)
     
  4. M0ln1a

    M0ln1a Гик

    1) Код для Arduino:
    Код (Text):
    void setup()
    {
      Serial.begin(9600);
    }

    void loop()
    {
      for (byte n = 0; n < 255; n++)
    {
      Serial.write(n);
      delay(50);
    }
    }
    2) Код для Raspberry:
    Сначала надо написать
    Код (Text):
    sudo apt-get install python-serial python3-serial
    Затем основа:
    Код (Text):
    import serial

    port = "/dev/ttyACM0"
    serialFromArduino = serial.Serial(port,9600)
    serialFromArduino.flushInput()
    while True:
    if (serialFromArduino.inWaiting() > 0):
        input = serialFromArduino.read(1)
        print(ord(input))
    Этот код перебрасывает с Дуни на Raspberry 1 байт. Попробуй, а потом скажешь работает или нет.
    Можно еще установить последовательный порт через аргумент.
     
  5. M0ln1a

    M0ln1a Гик

    А теперь говорите: каким образом Вы совместили 2 Arduino? Может тоже попробую! :)
     
  6. ANV

    ANV Гуру

    Написано же - через радиомодуль