We  have seen how to build home security system with email notification in the tutorial with out using Camera. In my previous posts we have also seen other IoT Projects with raspberry Pi and how to use Cayenne to create triggers. Here we will be extending home security email alert system using raspberry pi to the next level . We will add Raspberry Pi Camera in to our setup to capture the image and send to the email when the intruder is detected.  The project will be using Python script to capture the image from the camera and send in email when detecting any trespassers movement and .We can call this a IoT project as simple Home Security Email Alert Systems with Camera (smart surveillance monitoring system using raspberry pi and pir sensor).

The components needed:

  1. Raspberry Pi
  2. PIR Motion Sensor
  3. Raspberry Pi Camera
  4. Connecting wires
  5. Power supply for Pi

We will be building this security system using raspberry pi with motion detection camera and above are the required components. PIR sensor will detect the motion (presence of intruder), the image will be captured at the time of sensor detected any motion and that system will alert you immediately by sending an email with the attachment of intruder image .You can install the sensor in front of your door , or any other place and you will be notified about the intruder even if you are any where in the world.

Connection:

First you need to Set up the Raspberry Pi 3 for the project. For setting up the raspberry pi with operating system follow my tutorial. Download the image and install it on the SD card, Connect to WIFI or ethernet cable.

PIR sensor has 3 pins, labelled VCC, OUT and GND. We will be using Raspberry PI pins 4 (5V) , 6 (GND) and 7 (GPIO4).Lets connect the PIR sensor to the Raspberry Pi, use Female to Female Jumper wires or you can use Breadboard in between the connections.Connect the PIN labelled as VCC on the PIR sensor to the 5V pin on the Raspberry Pi, connect the middle one labelled OUT to Pin GPIO4, and connect the Pin labelled as GND to a ground pin 6. Connect the Raspberry pi camera to the Camera port. Depending upon whether you are using Raspberry Pi 3 B+ or Raspberry Pi zero the Camera cable will change, make sure you purchase the right camera for your device.

Raspberry Pi Camera

 

Raspberry pi camera security cam is setup now and we have write the python code for motion detection camera email alert. To run the program open Python Idle and copy the below code in to it. Change the "your email address" , "To email address" and "your password" to your respective emails and password.  We are using gmail here so you should use Gmail email address, otherwise it wont work. If you are using any other email address change the SMTP and port for the respective email configuration.

Raspberry Pi Camera and Email

Enable Raspberry Pi Camera by using Raspberry Pi Software Configuration Tool (raspi-config) once you have the camera connected to pi:

sudo raspi-config

Select Enable camera and Enable it.

After successfully installing Raspbian OS on Raspberry Pi, we need to install Pi camera library files for running this project in Raspberry pi. Follow given commands to install the libraries:

sudo apt-get upgrade
sudo apt-get update

sudo apt-get install python-picamera

sudo apt-get installpython3-picamera

We need to install the libraries for sending mails using SMTP using the below commands:

​sudo apt-get install ssmtp

sudo apt-get install mailutils​

 For sending simple email, smtplib is enough but for sending mail with subject line, attachment etc. we need to use MIME (Multipurpose Internet Mail Extensions).

Raspberry Pi Security Camera Motion Detection and Email :

Program 1 : This is the extended version which I used for normal email alert when motion detected.

import RPi.GPIO as GPIO
import picamera
from picamera import PiCamera
import time
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEBase import MIMEBase
from email import encoders
from email.mime.image import MIMEImage

fromaddr = "your email address"    # change the email address accordingly
toaddr = "To email address"           # change the email address accordingly
 
mail = MIMEMultipart()
mail['From'] = fromaddr
mail['To'] = toaddr
mail['Subject'] = "Intruder Alert!, Motion detected!"
body = "Find the attached for the intruder picture"

PIRSensor = 4

GPIO.setmode(GPIO.BCM)
GPIO.setup(PIRSensor, GPIO.IN, GPIO.PUD_DOWN)

camera = PiCamera()

def capture_image():

data= time.strftime("%d_%b_%Y|%H:%M:%S")
camera.start_preview()
time.sleep(5)
print data
camera.capture('/home/pi/Pictures/img%s.png'%data)
img= '/home/pi/Pictures/img%s.png'%data
camera.stop_preview()
time.sleep(1)

Current_State = 0
Previous_State = 0

try:

print "Waiting for PIR to settle ..."

# Loop until PIR output is 0
while GPIO.input(PIRSensor)==1:
Current_State = 0

print " Ready"

# Loop until users quits with CTRL-C
while True :

# Read PIR state
Current_State = GPIO.input(PIRSensor)

if Current_State==1 and Previous_State==0:
# PIR is triggered
print " Intruder Alert!, Motion detected!"

#Capture Image
capture_image()
#Send mail

mail.attach(MIMEText(body, 'plain'))
attachment = open(img, 'rb')
image=MIMEImage(attachment.read())
attachment.close()
mail.attach(image)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "your password")
text = mail.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

# Record previous state
Previous_State=1
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.05)

except KeyboardInterrupt:
print " Quit"

# Reset GPIO settings
GPIO.cleanup()

Program 2:

To simplify the above program lets make a function together for capturing the image and sending email when raspberry pi security camera motion detection.

import RPi.GPIO as GPIO
import picamera
from picamera import PiCamera
import time
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEBase import MIMEBase
from email import encoders
from email.mime.image import MIMEImage

fromaddr = "your email address"    # change the email address accordingly
toaddr = "To email address"           # change the email address accordingly
 
mail = MIMEMultipart()
mail['From'] = fromaddr
mail['To'] = toaddr
mail['Subject'] = "Intruder Alert!, Motion detected!"
body = "Find the attached for the intruder picture"

PIRSensor = 4

GPIO.setmode(GPIO.BCM)
GPIO.setup(PIRSensor, GPIO.IN, GPIO.PUD_DOWN)

camera = PiCamera()

def capture_image():

data= time.strftime("%d_%b_%Y|%H:%M:%S")
camera.start_preview()
time.sleep(5)
print data
camera.capture('/home/pi/Pictures/img%s.png'%data)
img= '/home/pi/Pictures/img%s.png'%data
camera.stop_preview()
time.sleep(1)
mail.attach(MIMEText(body, 'plain'))
attachment = open(img, 'rb')
image=MIMEImage(attachment.read())
attachment.close()
mail.attach(image)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "your password")
text = mail.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

while True :


# Read PIR state
Current_State = GPIO.input(PIRSensor)

if Current_State==1:
# PIR is triggered
print " Intruder Alert!, Motion detected!"

#Capture Image and send email
capture_image()

elif Current_State==0 :
# PIR has returned to ready state
print " Ready"

# Wait for 10 milliseconds
time.sleep(0.05)

except KeyboardInterrupt:
print " Quit"
# Reset GPIO settings
GPIO.cleanup()


Xiaomi Redmi Note 6 Pro The phone comes with a 6.26-inch touchscreen display with a resolution of 1080 pixels by 2280 pixels.

The Xiaomi Redmi Note 6 Pro is powered by octa-core processor and it comes with 4GB of RAM. The phone packs 64GB of internal storage that can be expanded. As far as the cameras are concerned, the Xiaomi Redmi Note 6 Pro packs a 12-megapixel (f/1.9, 1.4-micron) primary camera and a 5-megapixel secondary camera on the rear. On the front, it packs an 20-megapixel (f/2.0, 1.8-micron) primary camera and a 2-megapixel secondary camera.

The Xiaomi Redmi Note 6 Pro is powered by a 4000mAh. It measures 157.90 x 76.38 x 8.20 (height x width x thickness) .

The Xiaomi Redmi Note 6 Pro is a Dual-SIM (GSM and GSM) smartphone that accepts Nano-SIM and Nano-SIM. Connectivity options include Wi-Fi, GPS, Bluetooth, Micro-USB, 3G and 4G. Sensors on the phone include Fingerprint sensor, Proximity sensor and Accelerometer.

Xiaomi Redmi Note 6 Pro

Refer for complete details : https://gadgets.ndtv.com/xiaomi-redmi-note-6-pro-5648

What is IoT ? or What is Internet of Things ?

The Internet of Things (IoT) is the network of things (physical devices, vehicles, home appliances, and other items embedded with electronics, software, sensors, actuators)  connected through internet which enables these things to exchange data. This creates opportunities for more direct integration of the physical world into computer-based systems, resulting in efficiency improvements, economic benefits, and reduced human exertions.

Simply we can say IoT is a system of things integrated with sensors, software's, electronics which are connected to each other & can exchange data or Information with other connected devices.

What do you mean by IoT platforms?

The IoT platforms are suites of components those help to setup and manage the internet connected devices to remotely collect data, monitor and manage all internet connected devices from a single system. IoT platforms are the support software that connects everything in an IoT system. An IoT platform facilitates communication, data flow, device management, and the functionality of applications.

I have covered the major enterprise IoT platform companies and few open source Internet of things platforms in the article top IoT platform companies.

In this article we will talk about some of the best and well-known open source Internet of things and open source iot platform comparison.

10 Top Open Source IoT Platform :

  • Kaa IoT Platform

Kaa is an enterprise-grade IoT platform built on a modern cloud-native architecture and a fully customizable feature set. Based on flexible microservices, Kaa easily adapts to almost any need and application. It scales from a tiny start-up to a massive corporation and supports advanced deployment models for multicloud IoT solutions.

Kaa is a highly flexible, multi-purpose, 100% open-source middleware platform for implementing complete end-to-end IoT solutions, connected applications, and smart products. For a quick start, Kaa offers a set of out-of-the-box enterprise-grade IoT features that can be easily plugged in and used to implement a large majority of the IoT use cases. The platform features include device management, data collection, configuration management, messaging, and more.The Kaa IoT platform is licensed under Apache Software License 2.0. See LICENSE and copyright.txt for details.

Kaa IoT Platform

Kaa Key IoT features:

  • Modern microservice architecture : Simplifies customization and ensures effective separation of concerns between different parts of the platform
  • Freedom of technology: You can use your favorite programming languages and DevOps tools
  • Scalable, elastic, and self-healing: Enterprise-grade scalability and resilience
  • Freedom of deployment: Public, private, or mixed cloud deployment on any infrastructure of your choice
  • Open IoT protocols: The platform runs on open protocols, supports MQTT by default
  • Security: TLS or DTLS by default, flexible credentials lifecycle management
  • Blueprints: Enable the Infrastructure as Code approach for managing your clusters

Kaa is one of the best IoT platforms open source newly in the market, you have both community version and enterprise version available.

Website: https://www.kaaproject.org/

  • ThingSpeak (open IoT platform with MATLAB analytics)

ThingSpeak™ is an IoT analytics platform service that allows you to aggregate, visualize and analyze live data streams in the cloud. ThingSpeak provides instant visualizations of data posted by your devices to ThingSpeak. With the ability to execute MATLAB® code in ThingSpeak you can perform online analysis and processing of the data as it comes in. ThingSpeak is often used for prototyping and proof of concept IoT systems that require analytics.

Thingspeak

Key Features:

ThingSpeak allows you to aggregate, visualize and analyze live data streams in the cloud. Some of the key capabilities of ThingSpeak include the ability to:

  • Easily configure devices to send data to ThingSpeak using popular IoT protocols.
  • Visualize your sensor data in real-time.
  • Aggregate data on-demand from third-party sources.
  • Use the power of MATLAB to make sense of your IoT data.
  • Run your IoT analytics automatically based on schedules or events.
  • Prototype and build IoT systems without setting up servers or developing web software.
  • Automatically act on your data and communicate using third-party services like Twilio® or Twitter®

Website: https://thingspeak.com/

  • Thingsboard.io

ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management. ThingsBoard is an open-source IoT platform that enables rapid development, management and scaling of IoT projects. The goal is to provide the out-of-the-box IoT cloud or on-premises solution that will enable server-side infrastructure for your IoT applications.

It enables device connectivity via industry standard IoT protocols - MQTT, CoAP and HTTP and supports both cloud and on-premises deployments. ThingsBoard combines scalability, fault-tolerance and performance so you will never lose your data.

Thingsboard

Thingsboard Key Features:

  • Scalable: horizontally scalable platform, build using leading open-source technologies.
  • Fault-tolerant: no single-point-of-failure, every node in the cluster is identical.
  • Robust and efficient: single server node can handle tens or even hundreds thousands of devices depending on use-case. ThingsBoard cluster can handle millions of devices.
  • Customizable: adding new functionality is easy with customizable widgets and rule engine nodes.
  • Durable: never lose your data.

Refer the documentation to get the complete details about Thingsboard. We will be using Thingsboard community edition for our IoT Projects and is free iot platform raspberry pi, arduino etc..

  • Thinger.io

Thinger.io is an open source platform for internet of things,Connect and Manage your Internet of Things products within minutes.They offer a ready to go scalable cloud infrastructure for connecting millions of devices. You can control them with our easy to use admin console, or integrate them in your business logic with our REST API.

Thinger IoT Platform

Thinger IoT Patform Key Feature:

  • Open Source: Install the server in your own cloud and use the Open Source libraries for connecting your devices.
  • Easy Coding: Turning on a light from the Internet or reading a sensor value requires a single line of code on the MCU. But that’s not all.
  • Hardware agnostic: Connect anything you want. Arduino, ESP8266, Raspberry Pi, Intel Edison? That’s not a problem.
  • For Makers: Makers can register for free accounts to start building their IoT projects in minutes, just using our cloud infrastructure.
  • Cloud Platform: Although the Thinger.io platform is an Open Source platform for the Internet of Things, it provides a ready to use scalable cloud infrastructure for connecting things. Makers and companies can start controlling their devices from the internet in minutes, without worrying about the required cloud infrastructure.

Website: https://thinger.io/

  • Ubidots

Ubidots offers a platform for developers that enables them to easily capture sensor data and turn it into useful information. Connect, Develop, and Deploy IoT Applications with Ubidots Intuative IoT Development Platform.System Integrators and OEMs effortlessly self-construct Internet of Things (IoT) applications and products with Ubidots’ data collection, analysis, and visualization tools to deliver agile solutions that improve a company’s KPIs and/or services.

Ubidots IoT Platform

Ubidots IoT platform Key Feature: 

  • Easily Connect: Connect your hardware and/or digital data-services to Ubidots’ device agnostic cloud with our REST API and deliver customized IoT and Cloud solutions the way you want.
  • Device friendly API and SDKs: Connect hardware to Ubidots cloud easily with more than 200 user-proven libraries, SDKs, and tutorials to guide your integration over HTTP, MQTT, TCP, UDP, or by Parsing custom/industrial protocols.
  • Point-and-click Cloud Application Development: Develop your business’ solutions with Ubidots’ intuitive, code-free application development tools: Rules & Events Engine, Scheduled Reporting, Real-time dashboards, and more.
  • White-label customer-specific Applications: Deploy custom applications to end-users with your Company’s branding, URLs, colors plus customize alert messages, languages, and more to deliver your solutions the way you want.
  • User Management : With Ubidots cloud software, administrators self-build applications to best fit the operator's needs. Assign permissions and restrictions to any end-user or operator who interacts with dashboards, devices, and/or events.

Website: https://ubidots.com/

  • Cayenne

Mydevices Cayenne: 

When we hear cayenne first things comes is Porsche Cayenne or Cayenne Pepper for those are food crazy :). That is not what talking here, we are talking about MyDevices Cayenne who claims that they are the first drag and drop IoT Project builder. Cayenne is the world’s first drag and drop IoT project builder that empowers developers, designers and engineers to quickly prototype and share their connected device projects. Cayenne was designed to help users create Internet of Things prototypes and then bring them to production.

Design prototypes and complete IoT solutions with my device Cayenne app in any device or connection.Cayenne IoT ready program for hardware manufacturers will easily enable micro controllers , gateways, sensors and other devices to connect to Internet of Things. Refer the tutorial on simple iot drag and drop app builder cayenne app to know about the detail process on how to sign up in Cayenne and configure for your IoT projects. This is one of the best IoT platform for raspberry pi which is easy and not much programming required.

Mydevices Cayenne

Mydevices Cayenne Key Features:

  1. Triggers
  2. Data Visualization
  3. Remote Monitoring
  4. SMS & Email Alerts
  5. IoT Cloud
  6. Asset Tracking
  • Blynk

Blynk is a Platform with iOS and Android apps to control Arduino, Raspberry Pi and the likes over the Internet.

It's a digital dashboard where you can build a graphic interface for your project by simply dragging and dropping widgets.

It's really simple to set everything up and you'll start tinkering in less than 5 mins.

Blynk  is not tied to some specific board or shield. Instead, it's supporting hardware of your choice. Whether your Arduino or Raspberry Pi  is linked to the Internet over Wi-Fi, Ethernet or this new ESP8266 chip, Blynk will get you online and ready for the Internet Of Your Things.

You can download Blynk app from below links and it is one of the best free iot platform for arduino.

Free Blynk app from IOS App store and Play Store.

Blynk IoT Platform

Blynk IoT Platform Key Features: 

  • Similar API & UI for all supported hardware & devices
  • Connection to the cloud using:
    • WiFi
    • Bluetooth and BLE
    • Ethernet
    • USB (Serial)
    • GSM
  • Set of easy-to-use Widgets
  • Direct pin manipulation with no code writing
  • Easy to integrate and add new functionality using virtual pins
  • History data monitoring via SuperChart widget
  • Device-to-Device communication using Bridge Widget
  • Sending emails, tweets, push notifications, etc.

Website: https://www.blynk.cc/

  • Mainflux

Mainflux is highly secure, scalable, open-source IoT platform written in Go and deployed in Docker. It serves as software infrastructure and set of microservices for development of the Internet of Things Solutions and deployment of Intelligent products.

Mainflux is an open-source IoT cloud platform for the development of Internet of Things solutions, IoT applications and intelligent products. Mainflux software infrastructure stack contains all necessary components and microservices required for fully functional IoT solutions. The IoT Cloud Platform will facilitate the interoperability of the IoT solution with existing enterprise applications and other IoT solutions.

Mainflux IoT Plaform

Mainflux IoT Platform Key Feature: 

  • Responsive and scalable architecture based on a set of microservices
  • Set of clean APIs: HTTP RESTful, MQTT, WebSocket and CoAP
  • SDK - set of client libraries for many HW platforms in several programming languages: C/C++, JavaScript, Go and Python
  • Device management and provisioning and OTA FW updates
  • Highly secured connections via TLS and DTLS
  • Enhanced and fine-grained security via deployment-ready Mainflux Authentication and Authorization Server with Access Control scheme based on customizable API keys and scoped JWT
  • Easy deployment and high system scalability via Docker images
  • Clear project roadmap, extensive development ecosystem and highly skilled developer community

Website: https://www.mainflux.com/

  • WSo2

WSO2 is an open source technology provider. It offers an enterprise platform for integrating APIs, applications, and web services locally and across the Internet. WSO2 Named a Leader in The Forrester Wave™: API Management Solutions, Q4 2018 Report.The WSO2 Integration Agile Platform is a broad framework to develop, reuse, run and manage integrations. It's architected around a common code base of fully open source integration technologies. Components can be used individually, or as a cohesive integration-agile platform

WSo2 Key Features:

  • First-in-the-industry integration agile methodology: Our agile transformation methodology helps IT transform to an integration agile model. You get faster releases and quicker responsiveness to the business.
  • Unique open source technology and licensing: Unlike open core products, our approach to open source ensures the benefits of community contributions, freedom from cloud lock-in, and the value-add of support patch binaries.
  • Broadest integrated platform: No need to mix-and-match different API management, integration, identity, analytics or microservice technologies from multiple vendors. We offer a common architecture across all of them.

Website: https://wso2.com/

  • OpenIoT

OpenIoT is perceived as a natural extension to cloud computing implementations, which will allow access to additional and increasingly important IoT based resources and capabilities. OpenIoT is pertinent to a wide range of interrelated scientific and technological areas spanning: (a) Middleware for sensors and sensor networks, (b) Ontologies, semantic models and annotations for representing internet-connected objects, along with semantic open-linked data techniques (c) Cloud/Utility computing, including utility based security and privacy schemes.

OpenIoT is simple to use, connect all your sensors and make them a natural extension of your IoT solution, enabling accessibility to IoT based resources,enabling accessibility to IoT based resources and their capabilities.

OpenIoT Platform

Open IoT Key Features: 

  • Easy to use and deploy IoT agent
  • Inbuilt dashboard to create rules, graphs and catalog items
  • Full RESTful JSON API supported
  • Realtime actuations (cloud -> IoT device)

Website: http://www.openiot.eu/

We have seen a huge amount of details in this tutorial, the major IoT platform open source comparison. I have tried to cover as much as possible information received on each platform incorporated here. Go through individual platform websites for more information and select which open source IoT platform is suitable for your needs.Hoping the above open source IoT platform comparison table gives a of you information to start your IoT Projects.


Project Integration Management: 

Project integration management is one of the key knowledge area in PMBOK which cuts across all 5 Process groups. The knowledge area talks about 7 processes which coordinate all aspects of a project.

What is Integration ?

Integration is the action or process of combining or consolidating or in-cooperating different things together.

What is project integration management ?

 

Project integration management definition is the processes and activities that are carried out to identify, combine and coordinate the various project management processes with in project management process groups.

Project integration management is one of the 10 project management knowledge areas touches all five phases of a project:

  • Initiating
  • Planning
  • Executing
  • Monitoring and controlling
  • Closing

Project integration management is a way of making various processes work together, When properly performed project integration management ensures smoothly run project. That is why the importance of project integration management is high in project management. Project integration management very important knowledge area for project managers, it cannot be delegated or handed over to others. The project manager is ultimate responsible for the success of project.

Project integration management processes :

The project integration management processes are :

  • Develop project charter
  • Develop project management plan
  • Direct and manage project work
  • Manage project knowledge
  • Monitor and control project work
  • Perform integrated change control
  • Close project or phase

Project Integration Management processes

There are 7 project integration management processes and each of these processes contributes to overall project integration management and project success. Let's have a detailed look at each one from project integration management processes list.

1. Develop project charter:

what is project charter in project management ?

A project charter is the document that states a project exists and provides the project manager written authority to begin project work.

A project charter should:

  • Contain the essence of the project.
  • Provide a shared understanding of the project.
  • Act as a contract between the project sponsor, key stakeholders and the project team.

Develop project charter is the process of developing the project charter document that formally authorize the existence of the project and the project manager is given the authority to use organizational resources to project activities. Develop project charter is part of initiating process groups.

Project integration management tools and technique, we will briefly look what are the major inputs (Inputs for project charter) , tools and techniques, outputs for each process.

Inputs: Business case, benefits management plan, agreements, EEF and OPA

Tools and Techniques: Expert judgment, brainstorming, focus groups, interviews, meetings etc.

Outputs: Project charter and assumptions.

By default the output of this processes is project charter document and the assumptions.

Develop Project Charter

2. Develop project management plan:

The project management plan is the consolidated plan of all other management plans, such as the scope management plan, cost management plan, quality management plan, process improvement plan, human resource plan, communication management plan, procurement management plan etc.

Develop project management plan is the process of defining, preparing and consolidation or integration of all plans together in to project management plan. The project management plan is a summary and consolidation of the other management plans that provides a quick overview of the entire project.

lets look at the iito for this process.

Inputs: Project Charter,  EEF and OPA

Tools and Techniques: Expert judgment, brainstorming, focus groups, interviews, meetings,checklists etc.

Outputs: Project Management Plan

Develop Project Management Plan

The project management plan defines how the project is executed , monitored and controlled, closed. Project management plan should be baselined.

3. Direct and manage project work:

Direct and manage project work is the process for directing the defined work as per project management plan and change requests are implemented to achieves project goals. This process manages the deliverables and project work for project success.

Inputs: Project Management plan, Change logs, Risk Register, Approved changes, Project schedule,  EEF and OPA

Tools and Techniques: Expert judgment, Project management information system, meetings.

Outputs: Deliverables, Work Performance Data, Issue log, Change requests, Project management plan updates, Project document updates, OPA updates.

4. Manage project knowledge:

Manage project knowledge is a new process added in PMBOK6 version. Manage project knowledge is a process for managing knowledge and creating new knowledge to achieve the projects objectives. Organization process assets is the storage of knowledge and it is leveraged in this process. The knowledge created by the project is captured and is updated in the organizational process asset.

Inputs: Project Management plan, llbp register ( lessons learnt and best practices), Deliverables, Project documents,  EEF and OPA

Tools and Techniques: Expert judgment, Knowledge management,  Information management,etc

Outputs: lessons learned register, Project management plan updates, OPA updates.

5. Monitor and control project work:

This process is to collect the performance data of the project and benchmark it with targets.

Monitor and control project work is the process of tracking, reviewing and reporting the overall progress of the project and evaluate the current performance of the project and take necessary action to to address the issues. This allows the transparent information to stakeholders on how the project is progressing.

Inputs: Project Management plan, , Project documents, Work performance data, agreements,  EEF and OPA

Tools and Techniques: Expert judgment, Data analysis ( Earned value analysis, Trend analysis,Cost benefit analysis etc) , decision making etc

Outputs: work performance report, change requests, lessons learned register, Project management plan updates, Project document updates.

6. Perform integrated change control:

Perform integrated change control is one of the important process or activity. Perform integrated change control is the process of reviewing all change requests and approving the changes. When approving change request it is required to consider the impact of the project objectives. Also any changes will lead to change in deliverables, update in project documents, project management plan updates, etc. One of the key parameter to be evaluated as part of integrated change control is risk analysis, what are the risks in approving the change to the project deliverables and goals.

Inputs: Project Management plan( Change management plan) , Project documents, Work performance report, Change requests,  EEF and OPA

Tools and Techniques: Expert judgment, Change control tools,Data analysis, decision making, meetings etc

Outputs: Approved change requests, Project management plan updates, Project document updates.

7. Close project or phase:

Close project or phase is the process of final closure of the project activities or contract. The lessons learned from the project is captured and updated. The project can close because of successfull completion and stakeholders agreed for the deliverables , the project can be also closed because it is not giving any benefits to the organization.

Inputs: Project charter, Project Management plan , Project documents, accepted deliverables, agreements and OPA

Tools and Techniques: Expert judgment, Data analysis,  meetings etc

Outputs: Final report, Final product or service, Project document updates ( lessons learned register).

Relate your project and map each activity with above processes as project integration management example.


Are you a blogger or web page developer ? You want to host a website and don't want to spend much money. Yes it is possible, setup a web server with raspberry pi. one of amazing uses for raspberry pi listed in my article is raspberry pi web server.This raspberry pi web server tutorial will describe the steps for how to make a Raspberry Pi Web Server.

Components Required:

  1. Raspberry Pi ( Zero or model B+)
  2. A Micro USB Power supply
  3. Micro SD Card ( Recommended 8 GB)
  4. TV or Computer Monitor ( it is possible to setup raspberry pi without monitor , for now we will connect the pi to monitor)
  5. HDMI cable
  6. Ethernet Cable ( If don't have wireless)
  7. Keyboard and Mouse

I would recommend Raspberry Pi 3 model B+, which is the latest Pi available in market & this is having good specifications as listed below for good raspberry pi web server performance.

  • Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
  • 1GB RAM
  • BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board
  • 100 Base Ethernet
  • 40-pin extended GPIO
  • 4 USB 2 ports
  • 4 Pole stereo output and composite video port
  • Full size HDMI
  • CSI camera port for connecting a Raspberry Pi camera
  • DSI display port for connecting a Raspberry Pi touchscreen display
  • Micro SD port for loading your operating system and storing data
  • Upgraded switched Micro USB power source up to 2.5A

 

First need to install raspbian operating system on raspberry pi and have it ready to install the web server.

Follow the tutorial Setup Raspberry Pi 3 for the details. Now lets work on how to setup Webserver on Raspberry Pi.

Apache is a popular web server application you can install on the Raspberry Pi to allow it to serve web pages.

On its own, Apache can serve HTML files over HTTP, and with additional modules can serve dynamic web pages using scripting languages such as PHP.

How to install a web server on the Raspberry Pi :

Install apache on raspberry pi

First, update the available packages by typing the following command into the Terminal:

sudo apt-get update

sudo apt-get upgrade

Next install apache2 package with this command:

sudo apt-get install apache2 -y

Its pretty simple , isn't it ?

By default, Apache creates a test HTML file in the web folder /var/www/html/index.html. To test the web server enter http://localhost/  or the ip address of pi  eg: http://192.168.1.xx in the web browser.  You can run the ip address of pi  eg: http://192.168.1.xx from another computer on the network.

The default web page either on the Pi or from another computer on the network when you browse to http://localhost/ or ip address of pi  eg: http://192.168.1.xx  will be as below.

This means you have apache working! and your web server is ready.

Lets try to change the default web-page now we received to some content we would like to show in the web page.

The default web page HTML file is located at /var/www/html/.Navigate to this directory in a terminal window and have a look at what's inside.

cd /var/www/html
ls -al

This will show you:

total 12
drwxr-xr-x 2 root root 4096 Jan 8 01:29 .
drwxr-xr-x 12 root root 4096 Jan 8 01:28 ..
-rw-r--r-- 1 root root 177 Jan 8 01:29 index.html

The default HTML file is called index.html and it is owned by the root user.In order to edit the file, you need to change its ownership to your own username using the below command.

sudo chown pi: index.html.

Pi is the default username. change it with your own if you have setup different user name.

You can edit this file using leafpad and make the changes in html page.

sudo leafpad index.html

If you make a change to the file, save it, and refresh the browser, you will see your change appear.

Additionally  Install PHP :

PHP is a preprocessor: it’s code that runs when the server receives a request for a web page via a web browser. It works out what needs to be shown on the page, and then sends that page to the browser. Unlike static HTML, PHP can show different content under different circumstances. PHP is a very popular language on the web.

Install the PHP package with the following command

sudo apt-get install php libapache2-mod-php -y

Test php by removing index.html located at /var/www/html/and creating a php file.

sudo rm index.html

sudo leafpad index.php

Add some php content on the index.php file and save it.

<?php echo "hello world"; ?>

Now save and refresh your browser. You should see "hello world".


Reference links https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress/ and https://www.raspberrypi.org/documentation/remote-access/web-server/apache.md



In my previous post 10 pmp sample questions and answers  I have shared 10 sample project management questions and answers, also refer sample pmp questions and 20 sample pmp questions and answers for more project management quiz questions answers.

In this post I will be sharing few more project management multiple choice questions and answers, try it out and check your knowledge on project management. For the answer of project management sample exam questions and answers scroll down the bottom of this page.

1. Project managers have the highest level of authority and the most power in which type of organizational structure?

a) Projectized
b) Strong Matrix
c) Functional
d) Balanced Matrix

2. What is one of the most important skills a project manager can have?

a) Negotiation skills
b) Influencing skills
c) Communication skills
d) Problem Solving skills

3. Which of the following contracts should you use for projects that have a degree of uncertainty and require a large investment early in the project life cycle?

a) Fixed Price
b) Cost Reimbursable
c) lump Sum
d) Unit Price

4. A Project manager would find team development the most difficult in which form of organization ?

a) Weak Matrix Organization
b) Balanced Matrix Organization
c) Projectized Organization
d) Tight Matrix Organization

5. A narrative description of products or services to be supplied under contract is called ?

a) The project plan
b) A statement of work
c) An exception report
d) Pareto analysis

6. All of the following are contract types except:

a) Unit Price
b) Make or Buy
c) Cost Reimbursable
d) lump Sum

7. Which type of leadership is best suited for optimizing team performance in projects?

a) Democratic leadership
b) Participative leadership
c) Autocratic leadership
d) Authoritative leadership

8. What are the 4 stages of team development?

a) Forming, Storming, Norming, Performing
b) Enthusiasm, Hope, Panic, Solution
c) Forming, Solutioning, Normalizing, Communicating
d) Direction, Motivation, Cooperation, Collaboration

9. Your IT Company is responsible for making software virus programs. You are responsible for managing both individual product releases and co-ordination of multiple released over time. Your role is that of a :

a) Project Manager
b) Program Manager
c) Functional Manager
d) Operations Manager

10. Which of the following is not a feature of a project?

a) Constrained by limited resources
b) Planned , executed and controlled
c) Creates unique product or service
d) May be ongoing and repetitive

Answers for above project management questions and answers with multiple choices are listed below:

  1. a) Projectized
  2. c) Communication skills
  3. b) Cost Reimbursable
  4. a) Weak Matrix Organization
  5. b) A statement of work
  6. b) Make or Buy
  7. b) Participative leadership
  8. a) Forming, Storming, Norming, Performing
  9. b) Program Manager
  10. d) May be ongoing and repetitive

Most of the questions are related organization, Project manager skills, contracts and team development.

Hope this is helpful and  we will see more with project management quiz questions answers in coming posts.