SmartMTk RC Monster Truck Hacks [PART 5]

Se non hai seguito il progetto fino a questo momento, prima di proseguire vai in calce all’articolo e inizia a leggere dalla PART 1. Giusto per capire di cosa parliamo.

Uno streaming video è indispensabile per iniziare ad utilizzare SmartMTk da remoto. Quindi colleghiamo al raspberry una webcam USB e iniziamo a farlo funzionare.

Per prima cosa serve una classe che recuperi i frame dalla webcam appena collegata. La Classe VideoCapture di OpenCV fa esattamente al caso nostro, di seguito vediamo come usarla.

Questi frame adesso vanno mostrati all’utente. Prendendo spunto dall’articolo di Miguel Grimberg sfruttiamo lo standard mjpeg, che non fa altro che mostrare una sequenza di immagini .jpg. Per farlo aggiungiamo un nuovo endpoint a routes.py:

In index.html aggiungiamo un nuovo tag per mostrare questo stream:

Quanto vedi sotto è il risultato. La GUI va ancora ottimizzata per le varie risoluzioni ma abbiamo uno stream decente per far girovagare in casa SmartMTk da qualunque parte del mondo!

Star Follow @Promezio Watch

Le performance con camera USB non sono entusiasmanti. Capita che il recupero del frame vada in timeout generando un blocco temporaneo dello stream.

Nelle prossime evoluzioni SmartMTk sarà dotato di una Pi Camera con visione notturna su bus dedicato (che dovrebbe arrivarmi a giorni). Il recuperò e la successiva elaborazione delle immagini sarà effettuata in un thread separato.