Hardware-Reset AGM4 oder Due vom Raspberry Pi

EinEinfach

Well-known member
Hallo zusammen,

ich würde gerne den AGM4 (oder DUE) von meinem im Mäher verbaueten Raspberry PI hard-reseten. Laut schaltplan geht der Reset Pin von dem AGM4 auf den P23. Kann ich einfach den über den GPIO des Raspberry Pi's schalten? Hat das schon jemand mal probiert?

Danke vorab, und Gruß
Alexander
 
Hallo zusammen,

ich würde gerne den AGM4 (oder DUE) von meinem im Mäher verbaueten Raspberry PI hard-reseten. Laut schaltplan geht der Reset Pin von dem AGM4 auf den P23. Kann ich einfach den über den GPIO des Raspberry Pi's schalten? Hat das schon jemand mal probiert?

Danke vorab, und Gruß
Alexander
Why hardware ?
Using AT+Y command you can force the watchdog to reset the AGCM4, but you need to have the power capacitor to avoid switching off all the PCB.
 
Hello bernard,

actually you know my problem. My raspberry pi is connected over usb to AGM4 and I thought that is the problem why AGM doesn’t react to AT-Y command, because of additional power supply over micro usb from raspberry pi. My idea was to reset it over Hardware Pin. But that is not the problem just tested on the robot, AGM4 reboot after AT-Y command, everything is fine. My problem is CaSSAndRA lose communication over UART after that, I have to restart the service and then is communication working again, I have to solve problem with restarting the UART communication…
 
Immediatly after sending the AT+Y command ,you need to close the UART com in the service , wait 30 seconde and open again the UART.

This process is used to flash the board from PI ,but maybe you can adjust it for AT+Y command

Code:
ButtonClearConsole_click()
    ConsolePage.tkraise()
    consoleInsertText("  KEEP THE POWER BUTTON PUSH DURING THE FLASH PROCESS" + '\n')
    consoleInsertText("  Teensy Loader need to start in new windows" + '\n')
    consoleInsertText("  Select a file and start flash or click on Auto mode" + '\n')
    consoleInsertText("  Teensy reboot after 8 seconds " + '\n')
    fen1.update()
    time.sleep(10)
    message="AT+U1"
    message=str(message)
    message=message + '\r'
    send_serial_message(message)   
    DueConnectedOnPi=False
    Due_Serial.close()
    subprocess.Popen("/home/pi/Documents/./teensy &", shell=True)
    time.sleep(30)
    os.remove("/home/pi/Documents/PiArdumower/Due_firmware/firmware.hex")
    DueConnectedOnPi=True
    Due_Serial.open()

You can also stop the service and restart it later using a subprocess command that start the service after 30 secondes.
 
Oben