title: Recording multiple videos to differing file names with Raspberry Pi Camera triggered by IR Sensor
body: <p>I am currently working on setting up my Raspberry Pi to (when triggered by an IR sensor) record twenty second videos, each to a new file.</p>
  
  <p>Currently it is returning this error when movement is detected: </p>
  
  <p>"<em>Traceback (most recent call last):
    File "pir_2filenametest2.py", line 57, in 
      for filename in camera.start_recording('pivid{counter:03}.h264'):
  TypeError: 'NoneType' object is not iterable</em>"</p>
  
  <p>I am pretty much brand new to python, so any help would be wonderful.</p>
  
  <p>Here is the code:</p>
  
  <pre><code># Author : Matt Hawkins
  # Date   : 21/01/2013
  # Import required Python libraries
  import RPi.GPIO as GPIO
  import time
  import picamera
  # Use BCM GPIO references
  # instead of physical pin numbers
  GPIO.setmode(GPIO.BCM)
  # Define GPIO to use on Pi
  GPIO_PIR = 7
  print "Wilbur Cam! (CTRL-C to exit)"
  # Set pin as input
  GPIO.setup(GPIO_PIR,GPIO.IN)      # Echo
  Current_State  = 0
  Previous_State = 0
  camera = picamera.PiCamera()
  try:
    print "Waiting for PIR to settle ..."
    # Loop until PIR output is 0
    while GPIO.input(GPIO_PIR)==1:
      Current_State  = 0    
    print "  Ready"     
  
    # Loop until users quits with CTRL-C
    while True :
  
      # Read PIR state
      Current_State = GPIO.input(GPIO_PIR)
  
      if Current_State==1 and Previous_State==0:
        # PIR is triggered
        print "  Motion detected!"
        # Record previous state
        Previous_State=1
        # Camera begins to record
        camera.resolution = (1360, 768)
        for filename in camera.start_recording('pivid{counter:03}.h264'):
          print('Captured %s' % filename)
          time.sleep(20)
          camera.stop_recording()
      elif Current_State==0 and Previous_State==1:
        # PIR has returned to ready state
        print "  Ready"
        Previous_State=0
  
      # Wait for 10 milliseconds
      time.sleep(0.01)
  
  except KeyboardInterrupt:
    print "  Quit" 
    # Reset GPIO settings
    GPIO.cleanup()
  </code></pre>