annuncio

Comprimi
Ancora nessun annuncio.

Gimbal feiyutech

Comprimi
X
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • Gimbal feiyutech

    Vorrei comprare un gimbal/stabilizzatore, ma è essenziale che sia gestibile tramite una mia app.




    Secondo chatGPT è possibile controllare i gimbal feiyutech, che sembrerebbero usare il protocollo Feiuytech G, usando questo codice python:

    <code>

    codice:
    import socket
    
    import struct
    
    import time
    
    
    
    
    # Indirizzo IP e porta del dispositivo che controlla la testa motorizzata
    
    HOST = '192.168.1.100'
    
    PORT = 7878
    
    
    
    
    # Codice di comando per il controllo della testa motorizzata
    
    CMD_START = b' xa0 x01 x00 x00 x00 x00 xa1'
    
    CMD_STOP = b' xa0 x00 x00 x00 x00 x00 xa0'
    
    
    
    
    # Funzione per inviare il codice di comando al dispositivo
    
    def send_cmd(cmd):
    
        # Creazione del socket
    
        sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    
        sock.settimeout(1)
    
    
    
        # Invio del comando
    
        sock.sendto(cmd, (HOST, PORT))
    
    
    
        # Chiusura del socket
    
        sock.close()
    
    
    
    
    # Funzione per inclinare la testa motorizzata in su
    
    def tilt_up():
    
        cmd = b' xa0 x06 x00 x00 x00 x01 xa7'
    
        send_cmd(cmd)
    
        time.(0.1)
    
        send_cmd(CMD_STOP)
    
    
    
    
    # Funzione per inclinare la testa motorizzata in giù
    
    def tilt_down():
    
        cmd = b' xa0 x06 x00 x00 x00 xff xa3'
    
        send_cmd(cmd)
    
        time.(0.1)
    
        send_cmd(CMD_STOP)
    
    
    
    
    # Funzione per ruotare la testa motorizzata a destra
    
    def pan_right():
    
        cmd = b' xa0 x05 x00 x00 x00 x01 xa6'
    
        send_cmd(cmd)
    
        time.(0.1)
    
        send_cmd(CMD_STOP)
    
    
    
    
    # Funzione per ruotare la testa motorizzata a sinistra
    
    def pan_left():
    
        cmd = b' xa0 x05 x00 x00 x00 xff xa2'
    
        send_cmd(cmd)
    
        time.(0.1)
    
        send_cmd(CMD_STOP)
    
    
    
    
    # Esempio di utilizzo delle funzioni
    
    tilt_up()
    
    pan_right()
    
    tilt_down()
    
    pan_left()
    </code>










    O persino usando una pagina web, perchè i moderni browser hanno accesso al bluetooth:













    codice:
    const BTDevice = await navigator.bluetooth.requestDevice({
    
        filters: [
    
            { services: ['feiyu'] },
    
            { namePrefix: 'FeiyuTech' }
    
        ]
    
    } ) ;
    
    
    
    
    const server = await BTDevice.gatt.connect();
    
    const service = await server.getPrimaryService('feiyu');
    
    constacteristic = await service.getCharacteristic('feiyu_command');
    
    
    
    
    // Posizionamento assoluto in angolo
    
    const panAngle = 90; // Angolo di pan desiderato
    
    const tiltAngle = -30; // Angolo di tilt desiderato
    
    
    
    
    const panAngleByte1 = (panAngle >> 8) & 0xff;
    
    const panAngleByte2 = panAngle & 0xff;
    
    
    
    
    const tiltAngleByte1 = (tiltAngle >> 8) & 0xff;
    
    const tiltAngleByte2 = tiltAngle & 0xff;
    
    
    
    
    const command = new Uint8Array([0xA0, 0x08, panAngleByte1, panAngleByte2, tiltAngleByte1, tiltAngleByte2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4]);
    
    
    
    
    awaitacteristic.writeValue(command);






    qualcuno che ha un gimbal Feiyutech potrebbe verificare?

Sto operando...
X