S'il faut fermer la connexion après la réponse, alors autant le faire dans la fonction shutter
Mais au lieu de faire un delay(), reprend la boucle de lecture.
Et fait le dans cet ordre :
client.print( commande );
Serial.print( commande );
while ( client.available() )
Serial.print(client.read());
client.close();
L'intérêt de mettre le Serial.print après le client.print c'est que le temps du Serial.print, ton projecteur exécute la commande et envoi sa réponse.
Donc quand tu arrives sur le while(), la réponse a normalement du arriver.
Après dans ta boucle loop() il ne reste plus que la gestion du serveur.