No sé a qué os referís por "resetear" el usb.
El problema es que, si la consola se alimenta por el puerto USB desde la Raspberry Pi, la cosa va a estar jodida, puesto que el reinicio de la Raspi, no tiene por qué implicar una pérdida de la señal de 5V en el puerto USB.
Y aunque lo implique, la pérdida de la tensión de +5V en el puerto USB debe ser suficientemente larga para que la consola se apague.
Lo único que se me ocurre es engañar al sistema. Pero tiene sus peligros. Me explico.
1.- Habría que utilizar unos script al efecto. En este post, ya explicaba como habilitar unos scripts en bash para Orange Pi. Habría que ver la librería correspondiente para Raspberry Pi y si coinciden los puertos Gpio.
https://forum.meteoclimatic.net/index.php/topic,2782.0.html2.- En el caso de querer reiniciar la raspberry y tirar abajo el puerto USB, habría que hacer una secuencia como esta:
Primero: Cerrar Weewx y su base de datos.
Segundo: Sincronizar la tarjeta para evitar pérdida de datos que hubiera en caché (vamos, un sync de toda la vida)
Tercero: No reiniciar la placa Pi (sea orange o raspi), sino mediante un relé quitarle la alimentación. (ese es el peligro que es un apagón)
3.- El puerto GPIO tiene que estar enlazado con un relé que esté configurado para estar cerrado por defecto. Es decir, siempre estará cerrado salvo que se de la instrucción por el GPIO para que se abra (en el momento de abrir cortará la alimentación a la placa PI).
4.- Al activar el GPIO se abrirá el relé y se perderá la alimentación de la raspi, que se apagará. Al estar el relé configurado en la posición de cerrado, la raspi debería iniciar el arranque de forma inmediata.
Todo esto debería funcionar en teoría. Hay que probarlo en la práctica, puesto que ese corte de corriente, puede que tampoco sea suficientemente largo para reiniciar la consola.
Los scripts eran versión alfa......creo recordar que había algún error, que no sé si está corregido en el foro.