Raspberry Pi Cam

shape
shape
shape
shape
shape
shape
shape
shape
blog-details
December, 2019

DEPENDENCY:  

  • Before installation Adafruit IO first check all the dependency are readily installed or not!!
  • If not go through following commands just copy and paste in RPi terminal

PYTHON 2:


sudo apt-get update
sudo apt-get install python-pip
sudo python -m pip install --upgrade pip setuptools wheel

PYTHON 3:


sudo apt-get update
sudo apt-get install python3-pip
sudo python3 -m pip install --upgrade pip setuptools wheel

INSTALL PICAMERA LIBRARY

PYTHON 2:


sudo apt-get install python-picamera

PYTHON 3:


sudo apt-get install python3-picamera

ENABLING CAMERA IN RASPBERRY PI

METHODE_1: GRAPHICAL METHOD

METHOD _2: USING COMMAND PROMPT

Open Terminal paste below code


sudo raspi-config

Follow the below steps for enabling Camera in RPi 

Setp_1: Choose "Interfacing Options"

Setp_2: Click on ""

 Setp_3: Then Click on ""

Setp_4: Click on ""

 

CONNECTION:

CODE:

CAPTURE PHOTO BY PYTHON CODE


#Tested Code by Robogenesis
import picamera
import time
camera = picamera.PiCamera()
camera.vflip = True # for rotate camera
camera.brightness= 60 # Set picam Brightness
camera.annotate_text='Looking Great'
camera.resolution = (1080,960)
camera.resolution = "HD"
#it support .jpg,. jpeg, .png, .bmp, .gif etc... 
camera.capture('cam_features.jpeg')#it will save in current directory  
#camera.capture('/home/pi/cam_features.jpeg')# it wil save where u want to save  

 


CODE FOR VIDEO LIVE STREAMING


#Tested Code by Robogenesis 
import picamera
import time

camera = picamera.PiCamera()

camera.brightness = 60
camera.resolution = 'HD'
#camera.vflip = True #flip camera Vertically 
#camera.hflip = True #Flip camera horizontally

#For live video Streaming 
camera.start_preview()#start video stream
time.sleep(8)
camera.stop_preview()#stop video stream

CODE VIDEO RECORDING


#Tested Code by Robogenesis
import picamera
import time

camera = picamera.PiCamera()

camera.brightness = 60
camera.resolution = 'HD'
#camera.vflip = True #flip camera Vertically 
#camera.hflip = True #Flip camera horizontally'

#video Recording
print("recording start")
camera.start_recording("/home/pi/picamrec.h264")
time.sleep(7)
camera.stop_recording()
camera.close()
print("recording stop")

TO PLAY RECORD VIDEO

  • Open Terminal
  • go to directory where video saved; In my case video saved  in “pi” Directory.

omxplayer picamrec.h264

 


Web-server PiCam

CODE FOR WEBSERVER PICAM


# Web streaming example
# Source code from the official PiCamera package
# http://picamera.readthedocs.io/en/latest/recipes2.html#web-streaming

import io
import picamera
import logging
import socketserver
from threading import Condition
from http import server

PAGE="""\
<html>
<head>
<title>Raspberry Pi - Surveillance Camera</title>
</head>
<body>
<center><h1>Raspberry Pi - Surveillance Camera</h1></center>
<center><img src="stream.mjpg" width="640" height="480"></center>
</body>
</html>
"""

class StreamingOutput(object):
    def __init__(self):
        self.frame = None
        self.buffer = io.BytesIO()
        self.condition = Condition()

    def write(self, buf):
        if buf.startswith(b'\xff\xd8'):
            # New frame, copy the existing buffer's content and notify all
            # clients it's available
            self.buffer.truncate()
            with self.condition:
                self.frame = self.buffer.getvalue()
                self.condition.notify_all()
            self.buffer.seek(0)
        return self.buffer.write(buf)

class StreamingHandler(server.BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/':
            self.send_response(301)
            self.send_header('Location', '/index.html')
            self.end_headers()
        elif self.path == '/index.html':
            content = PAGE.encode('utf-8')
            self.send_response(200)
            self.send_header('Content-Type', 'text/html')
            self.send_header('Content-Length', len(content))
            self.end_headers()
            self.wfile.write(content)
        elif self.path == '/stream.mjpg':
            self.send_response(200)
            self.send_header('Age', 0)
            self.send_header('Cache-Control', 'no-cache, private')
            self.send_header('Pragma', 'no-cache')
            self.send_header('Content-Type', 'multipart/x-mixed-replace; boundary=FRAME')
            self.end_headers()
            try:
                while True:
                    with output.condition:
                        output.condition.wait()
                        frame = output.frame
                    self.wfile.write(b'--FRAME\r\n')
                    self.send_header('Content-Type', 'image/jpeg')
                    self.send_header('Content-Length', len(frame))
                    self.end_headers()
                    self.wfile.write(frame)
                    self.wfile.write(b'\r\n')
            except Exception as e:
                logging.warning(
                    'Removed streaming client %s: %s',
                    self.client_address, str(e))
        else:
            self.send_error(404)
            self.end_headers()

class StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer):
    allow_reuse_address = True
    daemon_threads = True

with picamera.PiCamera(resolution='640x480', framerate=24) as camera:
    output = StreamingOutput()
    #Uncomment the next line to change your Pi's Camera rotation (in degrees)
    #camera.rotation = 90
    camera.start_recording(output, format='mjpeg')
    try:
        address = ('', 8000)
        server = StreamingServer(address, StreamingHandler)
        server.serve_forever()
    finally:
        camera.stop_recording()

 

 

 


HOW TO FIND RPI IP ADDRESS


Ifconfig

Open Terminal paste above code and follow below go got ip address of Raspberry Pi

Note:

  • Open Browser of computer or mobile which connected to same network
  • Open new tab and search :8000 ; in my case 192.168.43.75:8000

 

 

Comments

client

John Smith

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Et minus, saepe porro a voluptatem, quidem aut libero consequatur unde molestiae quae impedit accusantium dolor est corporis! Dolores ut dignissimos doloribus?

Jan 19, 2018 - 9:10AM Reply
client

Doe John

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Et minus, saepe porro a voluptatem, quidem aut libero consequatur unde molestiae quae impedit accusantium dolor est corporis! Dolores ut dignissimos doloribus?

Jan 19, 2018 - 9:10AM Reply
client

Steven Doe

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Et minus, saepe porro a voluptatem, quidem aut libero consequatur unde molestiae quae impedit accusantium dolor est corporis! Dolores ut dignissimos doloribus?

Jan 19, 2018 - 9:10AM Reply
client

John Cina

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Et minus, saepe porro a voluptatem, quidem aut libero consequatur unde molestiae quae impedit accusantium dolor est corporis! Dolores ut dignissimos doloribus?

Jan 19, 2018 - 9:10AM Reply

Leave a Reply