Stap 7: Vangen verkeer
We kunnen nu te grijpen van een afbeelding en stuur het naar behoren via de ether met PiFm. We moeten nu richten op de Fotolader triggering wanneer iets interessants voor de camera gebeurt. Ik heb dit uitgevoerd in python, gebruik van de PIL. De code kan in sstvcatch.py worden gevonden. Het werkt vrij ongecompliceerd, het vergelijkt alleen de pixels van de vorige afbeelding met de huidige afbeelding. Wanneer het verschil te groot is, wordt de huidige afbeelding verzonden. Hier is een stukje code:
# loop forever while (True): # grab comparison image imgnew, bufnew = captureImage() # Count changed pixel changedPixels = 0 for x in xrange(0, 320): for y in xrange(0, 256): # Just check red channel as it's dominant for PiCam NoIR pixdiff = abs(buf[x,y][0] - bufnew[x,y][0]) if pixdiff > threshold: changedPixels += 1 # Transmit an image if pixels changed if changedPixels > sensitivity: # Swap comparison buffers img = imgnew buf = bufnew transmitImage(img.copy())
De volledige code vindt u op GitHub.