Sunday, 15 May 2016

LIVE VIDEO TRANSMISSION between PI and PC

Live Video Streaming Remotely over Internet 

Block Diagram :


Working of the Project:

Raspberry PI is configured as Server which continuously transmits Video as Mpeg format through Deamon process at background with the help of Motion library, Standard USB Webcam is configured as /dev/video0 device to capture video and hence transmission is dont through TCP protocols with a IP & Port number, A .net application to receive the video through TCP Protocol and preview the live stream through ozeik SDK Library. By connecting to the IP & port number of the server ,Client Live Mpeg Viewer gets the live stream online.Usually in TCP/IP protocol all transmissions are done as strings, and for live video transmission images are taken continuously with 30 fps and transmitted through TCP/IP by conversion in to base64 string and received in Client side, and then they get decoded back to images through base64 
library and displayed as video.

Motion Library:

Motion is a program that monitors the video signal from one or more cameras and is able to detect if a significant part of the picture has changed;In other words, it can detect motion.
The program is written in C and is made for the Linux operating system, (using the video4linux interface). Motion is a command line based tool whose output can be either jpeg, ppm fies or mpeg video sequences. Motion is strictly command line driven and can run as a daemon with a rather small footprint and do

Motion, a software motion detector, is a free, open source CCTV software application developed for Linux.It can monitor video signal from one or more cameras and is able to detect if a significant part of the picture has changed saving away video when it detects 
that motion is occurring (it can also do time lapse videos, et al.).The program is written in C and is made for Linux (exploiting video4linux interface). Motion is a command line based tool whose output can be either jpeg, netpbm files or mpeg video sequences. It is strictly command line driven and can run as a daemon with a rather small footprint and low CPU usage.
It is operated mainly via config files, though the end video streams can be viewed from a web browser. It can also call to user configurable "triggers" when certain events occur.

Webcam Server

Motion has simple webcam server built in. The video stream is in mjpeg format.
Each thread can have its own webcam server. If you enable the webcam server (option webcam_port to a number different from 0) and you have more than one camera, 
you must make sure to include webcam_port in each thread config file and set webcam_port to different and unique port numbers or zero (disable). Otherwise each webcam server will use the setting from the motion.conf file and try to bind to the same port. 
If the webcam_port numbers are not different from each other Motion will disable the webcam feature.Note: The webcam server feature requires that the option ppm is set to off.
The webcam_maxrate and webcam_quality options are important to limit the load on your server and link. Don't set them too high unless you only use it on the localhost or on an internal LAN. The option webcam_quality is equivalent to the quality level for jpeg pictures.
The webcam_limit option prevents people from loading your Network connection by streaming for hours and hours.The options defines the number of picture frames sent as mjpeg Motion will allow without re-connecting (e.g. clicking refresh in the browser). The option webcam_localhost is a security feature. When enabled you can only access the webserver on the same machine as Motion is running on. If you want to present a live webcam on your web site this feature must be disabled. The webserver generates a stream in "multipart jpeg" format (mjpeg). You cannot watch the stream with most browsers. Only certain versions of Netscape works. Mozilla and Firefox brosers can view the mjpeg stream but you often have to refresh the page once to get the streaming going. Internet Explorer cannot show the mjpeg stream. For public viewing this is not very useful. There exists a java applet called Cambozola which enabled any Java capable browser to show the stream. To enable the feature to a broad audience you should use this applet or similar.

For More Information:
Please Feel free to put a request to gvjselva@gmail.com

EMBEDDED DEAMONS
www.vjece.blogspot.in



RF REMOTE MONITORING SYSTEM using Arduino & LabView

Remote Environment Monitoring System:

Project aims @ Collecting the Environment Parameters such as Temperature, Humidity, Presence of Flame and Presence of LPG gas. Arduino controller collects data from Different Sensor and Process it to capture the environment conditions and transmits the same data to the PC running an app created using LabView which collects the data and displays it through its GUI and collects data Periodically and plots graph and gives Report. Communication between Arduino and PC is done via Wireless RF module operating in 2.4Ghz frequency and adopts on of the serial protocol.

Project Implementation:

Arduino Based Environment Monitoring using RF Transceiver Module



LabView based GUI Implementing VISA Serial Communication:



For more Information please feel free to contact VIJAY SELVA.G | 07738417396 |gvjselva@gmail,com




VOTING MACHINE - Secured by Finger Print Sensor and Photo Capture using Camera

Secured Voting Machine using Raspberry PI 

Description:

Project aims @ Implementing Voting Machine which has ability to verify the Finger Print of the Voter and allow him for the Voting Process and at the same time captures the Image of the Voter and Gives Count of number of Votes during Election and Final Results @ the end.

3 Modes of Operation
1. Initialization;
In this Mode Finger Prints are Stored , it can be stored via a database or adding Manually
2. Run :
Normal Voting Process in which Voter's Finger Print is examined and allowed for Voting Process accordingly, an Image of the Voter is stored and if any illegal voter is Identified image of the voter will be mailed to the Election Board Mail ID registered.
3. Result:
Displays the Winner of the Election with detailed Individual report out in LCD as well as in Interface

Project Implementation:


For More Details:
Please feel free to put up a request to gvjselva@gmail.com

EMBEDDED DEAMONS
www.vjece.blogspot.in





HEALTH MONITORING SYSTEM using Raspberry PI & LabView

Heart Rate and Blood Pressure Monitoring using IOT:

A Device capable of sending patients Heart Rate and Blood Pressure readings wirelessly over WIFI through TCP/IP Protocol to the Server established in main room and able to give a detailed report of Periodic Analysis of Different Patients in Different Room. By regular Monitoring the Patient health conditions are monitored remotely with a detailed report out.

Project Implementation Block Diagram:


Tools Used:

Raspberry PI Firmware Using Python
Labview for GUI and Report Generation

Project Implementation:



LabView GUI Interface:


Python Firmware Flow Charts:

Main Loop:


Serial RS232 Interface


Blood Pressure Values Reference:








Underground Cable Fault Detection Using Raspberry PI

Under Ground Cable Fault Detection:


The aim of this project is to determine the distance of underground cable fault from base station in kilometers. This project uses the simple concept of ohm’s law.When any fault like short circuit occurs, voltage drop will vary depending on the length of fault in cable,since the current varies. A set of resistors are therefore used to represent the cable and a dc voltage is fed at one end and the fault is detected by detecting the change in voltage using a analog to voltage converter and a microcontroller is used to make the necessary calculations

Project Block Diagram:


Tools Used:

Raspberry PI Controller Firmware is written using Python 
PC Side Fault Indicator Application is Developed using NI LabView
Hardware is designed to suit the application by detecting short circuit

Reference Documents:



IOT Concept:

PI Detects the Faults via a Circuitry, Process it and finds the distance of the Fault in KM. Update the Server via TCP/IP Protocol, Firmware Implementation is done Using Python and it communicates to the server with IP and port number. Server side Code is Implemented using LabView which is a Graphical Programming Test and Measurement Tool which Indicates the Fault Location using GUI.
This Project requires active Internet connection or atleast the Network where PI and PC running Labview Application are connected.

LabView Code Sample:


Python Code Flow Charts:
TCP/IP Protocol :




USB DEVICE DRIVER INTRODUCTION

DEVICE DRIVERS INTRODUCTION