DJI A3 Onboard SDK problem (No connection)

拜拜、爱过 提交于 2020-03-05 05:32:28

问题


I have a DJI S900 with A3 controller. I established the API connection between the Raspberry Pi and the drone. Until last week everything has been perfect, but now, I am taking the error shown below (I am running the telemetry example).

There is no problem related to the serial cable and Raspberry Pi. Also, SDK is enabled, and API settings are correct. I reset the controller and upgraded it. However, I have the same error. Also, I tried many times turning everything off and back on again before upgrading the controller.

  • A3 firmware = V1.7.7.0,
  • OSDK = 3.8.1,
  • Raspberry Pi operating system = Rasbian,
  • Lightbridge 2 = 1.1.40

Read App ID User Configuration read successfully.

STATUS/1 @ init, L55: Attempting to open device /dev/serial0 with 
baudrate 230400...

STATUS/1 @ init, L65: ...Serial started successfully.

ERRORLOG/1 @ getDroneVersion, L1418: Drone version not obtained! Please 
do not proceed.
Possible reasons:
    Serial port connection:
            * SDK is not enabled, please check DJI Assistant2 -> SDK -> 
[v] Enable API Control.
            * Baudrate is not correct, please double-check from DJI 
Assistant2 -> SDK -> baudrate.
            * TX and RX pins are inverted.
            * Serial port is occupied by another program.
            * Permission required. Please do 'sudo usermod -a -G dialout 
$USER' (you do not need to replace $USER with your username). Then logout 
and login again

ERRORLOG/1 @ activate, L1302: Unable to initialize some vehicle 
components!
STATUS/1 @ getErrorCodeMessage, L656: initVehicle
STATUS/1 @ getCommonErrorCodeMessage, L722: ACK_NO_RESPONSE_ERROR
Vehicle not initialized, exiting.

回答1:


Information you have given is not enough, there could be many possibilities. Please go through with the following checklist (this is what first comes to my mind, if I remember sth new, I`ll add it in)

The list is meant for error such as Drone version not obtained or new device error or first success connection(get firmware) then failed activation for Both DJI OSDK and DJI OSDK-ROS

  1. Does UART on RPI is enabled? if not, enable it. Are you using the correct serial ID as well? If not, set it right. Recommend using /dev/serial/by-id/usb-XXX method

  2. Does Baud rate in DJI assisatnt2 is same as the one in the USERCONFIG file of OSDK? if not, make it same

  3. Did u give permission to the serial device e.g sudo chmod a+rw or sudo usermod -a -G dialout $USER or set the udev rule . If not choose a way to get it right.

  4. FTDI series problems

    4.1 Did you use this FTDI cable successfully on other platform before?(to make sure tx rx is correct)

    4.2 Is this FTDI 3.3V? If not, high chance your FCU board is already burned. Send it back for repair.

    4.3 Measure the voltage on Tx and RX pin while everything is connected, is it being pulled up at 3.3V? if less than 3 then there is a serious communication issue.

    4.4 Is there EMI generator around?( this one happen to me once, took me 2 weeks to isolate the issue, EMI cause unreliable connection)

    4.5 As an additional test, prob the tx and tx by Y cable using real-term to see if you can see any proper communication happening.

  5. Did u forget to turn on the RC ? If so turn it on while calling the sdk.launch

  6. GO app side issue

    6.1 Did u connect the Go app while running sdk.launch? If not connect by GO app, connect it as it will pop up sth.

    6.2 Did you login to your account which creates the app id?If not, login to it.

    6.3 And is your account being banned for flying in the non-authorized area before(e.g caught by DJI aeroscope/Flyhub) and police is actually going after you? If so, stop playing the drone and surrender urself in. Normally it should be max of one year Jail time, but if you resist, the punishment can be more deadly.

  7. Did u give authority from GO app? click ok or confirm on the GO App once you run sdk.launch in the RPI. Once you launch the sdk, the Go app will pop up sth, Did u do/experience it? After changing the firmware, you should experience this again.

  8. Did u tried the hardware with the 3.8 with a Normal X86/X64 Intel PC/notebook with Ubuntu 16/18 before? is it working? ( rule out hardware / connection issue ) If can work, then its RPI issue. If can not, high chance drone/RC side. I do have couple RPI burn down experience b4.

  9. Did u have valid/correct app id and enc key? double check it. If not, enter is correct.

  10. Is the voltage supplied to A3 stable and clean?

  11. Have you tried this way of calling? /the_sample_u_wish_to_run UserConfig.txt /dev/ttyACM0 (this is what I gathered from other peoples experience)

  12. Which version of RPI you are using, if you are using 2 series, the high chance you have to use https://github.com/dji-sdk/Onboard-SDK/tree/raspberrypi-support with older version firmware. I only tested with RPI 3B. Can not guarantee the function of other versions. That's why number 8 is important to isolate the issue.

  13. Are you calling the sdk.launch from somewhere else? make sure you only call it once and prevent it from being calling again. Make sure the serial port is not occupied.

  14. Make sure API is enabled in DJI assistant2. Close everything power on and connect to DJI assistant 2 again to verify this. If by any chance the board has an issue, the API enable you set in the previous run will get auto deselected. This is to rule out burned FCU board issue.

  15. If by now it is still can not work, then you should try other 3.8 or 3.7 with firmware 1.7.7 and 1.7.5 or whatever firmware you can access. as far as I know, their delay+ wait for ACK always have all sorts of issues. Maybe adding more delay in the wait for serial ack will help you(solution from other github dji_osdk post)

  16. In case of this particular A3 burned, swap another fresh open A3 and proven working FTDI cable(test with Arduino) to rule out the A3 problem

Edit 17. If you are using m210 v2, the activation pop up will not shown on pilot app. Run the dji assistant 2 first and then call the sdk.launch twice.

If still no luck, file a ticket to dev@dji.com + send a complaint to Samuel@DJI. Send them the long list of thing you tested, and if they say high chance it is a hardware issue. Do send it back for RMA. I do have experience of one Normal A3 and one M600 A3 has burned FCU board issue before.

After this, if you encounter can not fly GPS mission by OSDK or can not do local flight control. Just try different firmware version. DJI firmware release is usually very buggy for developer.



来源:https://stackoverflow.com/questions/56890752/dji-a3-onboard-sdk-problem-no-connection

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!