вторник, 25 марта 2014 г.

Телеметрия и конфигурирование MultiWii посредством XBee (XBP24BZ7)

Опробованный мною вариант использования модулей XBee в качестве средства обмена данными между коптером и MultiWiiWinGUI еще не прошел полноценные испытания.
Однако, это может оказаться кому то полезным.

Шаг первый.
Добавляем строку в Config.h


  /******                Serial com speed    *********************************/
  /* This is the speed of the serial interfaces */
  #define SERIAL0_COM_SPEED 115200
  #define SERIAL1_COM_SPEED 115200
  #define SERIAL2_COM_SPEED 115200
  #define SERIAL3_COM_SPEED 115200
  #define ZigbeePort        3


Шаг второй.
Изменяем строку в Protocol.cpp

//static uint8_t CURRENTPORT=0;
static uint8_t CURRENTPORT=ZigbeePort;


Шаг третий.
Добавляем строки в MultiWii.cpp. Это инициализация режима "Байпас" при запуске приложения. Если модуль XBee не программируемый - этот шаг можно пропустить.

 #endif
  plog.armed_time = 0;   // lifetime in seconds
  //plog.running = 0;       // toggle on arm & disarm to monitor for clean shutdown vs. powercut
#endif

  debugmsg_append_str("initialization completed\n");

   #if defined(ZigbeePort) && defined(MEGA)
      SerialOpen(ZigbeePort,SERIAL3_COM_SPEED);
      delay(200);
      SerialWrite(ZigbeePort,'B');
      SerialWrite(ZigbeePort,13);
      SerialWrite(ZigbeePort,'B');
      SerialWrite(ZigbeePort,13);
      SerialWrite(ZigbeePort,'O');
      SerialWrite(ZigbeePort,'k');
      SerialWrite(ZigbeePort,'!');
    #endif
}

Шаг четвертый.
  • Подсоедините Координатора к компьютеру, запустите любой терминал, соединитесь с модулем, переведите его в режим "Байпас" (литера 'B' и Enter). Отключите терминал.
  • Подсоедините Роутера к Srial 3 Arduino как это показано на фото. Подайте питание на Arduino.



Настройка закончена.
Запустите WinGui  и подключитесь к Координатору.



!!! Длительный тест показал неудовлетворительный результат соединения на скоростях 115200. Рекомендую использовать 9600.