Su Raspbian Stretch il socket server, quando aperto su un indirizzo di rete diverso da localhost, non si avvia se eseguito nel crontab con la direttiva @reboot.
Questo dipende perché nel momento in cui viene tentato di avviare il socket server l'interfaccia di rete non è ancora attiva.
Per risolvere il problema prendere spunto dal seguente codice da posizionare appena prima della chiamata a tcpserver:
count=1
ipaddr=$(ip a s | grep -w inet | awk '{ print $2;}')
while [[ ${ipaddr} != *${TCPSERVER_IP}* ]] && [ $count -lt 10 ];
do
sleep 1
(( count++ ))
ipaddr=$(ip a s | grep -w inet | awk '{ print $2;}')
done`
Su Raspbian Stretch il socket server, quando aperto su un indirizzo di rete diverso da localhost, non si avvia se eseguito nel crontab con la direttiva @reboot. Questo dipende perché nel momento in cui viene tentato di avviare il socket server l'interfaccia di rete non è ancora attiva. Per risolvere il problema prendere spunto dal seguente codice da posizionare appena prima della chiamata a tcpserver: