Saturday, June 04, 2016

Take a screenshot of iOS phone using Mac OSX

Take a screenshot of iOS phone using Mac OSX

libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse,
ideviceinstaller, ...


A library to handle Apple Property List format in binary or XML

sudo port install libplist


A socket daemon to multiplex connections from and to iOS devices

Install usbmuxd on Mac OSX
App name: usbmuxd
App description: USB multiplexor daemon for iPhone and iPod Touch devices
App website:

Press Command+Space and type Terminal and press enter/return key.
Run in Terminal app:
ruby -e "$(curl -fsSL" <
/dev/null 2> /dev/null
and press enter/return key. Wait for the command to finish.
brew install usbmuxd


A client library to multiplex connections from and to iOS devices
To compile run:
sudo make install

pkg-config --print-variables libusbmuxd

imobiledevice issue due to libusbmuxd not found
pkg-config --print-variables libusbmuxd

Package libusbmuxd was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusbmuxd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libusbmuxd' found


pkg-config --variable pc_path pkg-config




locate libusbmuxd | grep '\.pc'


export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/Cellar/usbmuxd/1.0.10/lib/pkgconfig/


A cross-platform software protocol library and tools to communicate with iOS® devices natively

sudo ./ or ./configure
sudo make install

Start XCode so that the iPhone get's mounted

run idevicescreenshot to get a nice ScreenShot in tiff format!!!

Wednesday, May 11, 2016

how to install provisioning profile for xcode

I keep forgeting each time I want to register a new device to ad hoc testing without publishing the app to app store

1) Sign in to
2) Click on "Certificates, Identifiers & Profiles" in the right sidebar.
3) Click on "Devices", then on the + button.
4) Select "Register Multiple Devices" and choose the downloaded device file.
5) Click on "Continue".
6) Confirm the list of imported devices with "Register".
7) Click on "Distribution" below "Provisioning Profiles".
8) Click on the + button, select "Ad Hoc", then click on "Continue".
9) Select your app, then click on "Continue".
10) Select your certificate, then click on "Continue".
11) Now you should see all devices registered in the portal. Select all or just the ones that you want to include in this provisioning profile. Then click on "Continue".
12) Enter a name for the profile. Confirm with "Generate". The portal will now show "Loading…" for some time, then you can download the profile.
13) Drag & drop the downloaded profile to Xcode.... May work if you have already a profile attached you can refresh
  • Xcode menu => Preferences => Accounts.
  • Select the Apple ID in the left panel.
  • Click the View Details button on the right.
  • In the pop-over that follows click the round refresh arrow. ...
  • The provisioning profiles can then be selected in a Mac project under Build Settings => Code Signing => Provisioning Profile.
14) In Xcode, select your project in the left sidebar, then "Build Settings".
15) Enter "code sign" in the search field.
16) Select the line for your release configuration and choose the downloaded profile.
17) Create a build through "Project > Build & Archive".

Sometimes when you build xcode is complaining that UUID blabla profile is not found.

code Sign error: No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “ffff1f-eff1-4fff-bffb-2948a242e59e”, however, no such provisioning profile was found.

In this case you can manually copy the profile you downloaded to 
~/Library/MobileDevice/Provisioning Profiles

Eg 1ffff1f-eff1-4fff-bffb-2948a242e59e.mobileprovision

and build again

18) To export your app to install using iTunes select
archive menu in Xcode --> Product --> Archive

19) After that select Windows --> Organizer

Tuesday, May 10, 2016

Backup raspberry PI accidently installed on big SD card to smaller SD card and how to seal with format sd card unknown capacity on Windows

You have a 32GB SD card.
You are using 1.8GB of space on it.
You want to back it up into an image that is 1.8GB big, not 32GB big.
Then you want to be able to put it on an SD card that is 2,4,8 or 16GB big.

Make a Backup Image of Raspberry pi SDCARD!

It took a while to get your SD card set up, didn't it? Bet you don't want to have to do that again, do you?


Back it up!

Forum user, Mac user, and Adafruit Customer phil.drummond took it upon himself to find the best way to back up his system image.

And he found a fast and easy way - a script which quickly creates a clone of your running Raspberry Pi system, ON THE PI ITSELF!

What You'll Need

  • USB SD Card Reader
  • Blank SD Card
  • Booted and Running Raspberry Pi

Get the Script File

First, get a copy of the script file onto your Pi. You can do that in any one of several ways:
  • First, download the file to your computer
If you are looking for rpi-clone, it is now on github and no longer
available from pastebin.

Get it with git:

    $git clone

To view the rpi-clone README file, go to:

Run the Script

  1. Put the blank SD card into your USB Card Reader, and plug it into one of the PI's USB ports.
  2. Open a Terminal window on the Pi
  3. Navigate to the folder where you stored the script file. (If you stored the file on the Pi's Desktop, simply type 'cd Desktop')
When you run the script, you will have to specify the name of your SD card. Raspbian and occidentalis assign the names 'sda', sdb', etc. to SD cards found on USB. If you only have one USB card reader attached, the name of your new SD card will be 'sda'.If you're not sure that sda is the right card, you can run this command to list the cards connected to your Pi. 

  1. sudo fdisk -l
The SD card slot with your running Pi system will show up as /dev/mmcblk0. Your blank card will be listed as /dev/sda1 (or possibly /dev/sdb1, if you have more than one USB card readers attached to the Pi).

Note that you don't enter the '1' - if your card is listed as '/dev/sda1', then you would still enter 'sda' when you run the script ('sda' is the name of the card, 'sda1' is the name of the first partition on the card).

Ok, so now you should be ready to run the commands
  1. chmod +x
  2. sudo ./rpi_clone sda -f
As noted earlier, the first parameter passed to the script is is the name of the target SD card, in this case 'sda'. The -f tells the script to entirely re-format the card.

The script will ask you if you're sure you want to initialize the destination card. Type 'y', and hit the return key.

Next, the script will ask you if you want to give your new backup a label. It's not necessary to do this - just hit the return key.
Finally, the script will ask you if you're sure you really want to do this, before it begins creating the backup. Type 'y', and hit the return key.


Now it's time to wait - the process will take a little while.
When the process is complete, the script will ask if it should unmount the card with your new system clone/ Reply with 'y', and you're done!
Now you can shutdown the Pi, swap the clone into the Pi's SD Card Slot, and restart - Bingo! a fully-operational clone of your Raspberry Pi system!


If you see an error message like this:
learn_raspberry_pi_script_error1.png means that your SD card is mounted in the file system. You have to unmount it before you can proceed. In the picture, I'm writing over an earlier clone of my system, which has two partitions: /dev/sda2 and /dev/sda1. You might only have one partition.

In any case, issue the umount command for each mounted partition on your destination SD card:
  1. sudo umount /dev/sda1
Now try to run the script again!

Issue on some sdcard

How can I reclaim the full capacity of an SD Card ?

First, let’s take a peek at what the SD card looks like if you attempt to reclaim the space using Disk Manager as you did:

You can format the tiny 64M FAT32 partition, but the remainder of the SD card remains “Unallocated” after you dump the existing (and inaccessible) Linux partition. No amount of pushing or shoving in the Disk Manager application is going to fix this problem. Instead, we’re going to turn to the simple and effective DISKPART tool.
Open up the Start Menu and type “diskpart” in the run box. Press enter. You’ll be prompted by the Windows UAC to authorize admin access to the DISKPART tool.
A command-prompt-like window will open up, only the prompt will say “DISKPART”. At that prompt, type “list disk”.

In the list output on our machine you can see the computer’s hard drive (119GB) and the removable SD card (14GB). It is absolutely critical you note the proper disk number. DISKPART commands are immediate and without any warning. If you type in the wrong disk number, you’re going to have a really bad time.
After identifying your SD card’s disk number, enter the following command “select disk #” where # is the disk number of your SD card.

Whatever commands you execute after this point will only make changes to the selected disk; now would be a good time to double check you’ve selected the right disk just to be extra safe.
Next, now enter the command “clean”

The clean command zeroes out the sectors of the disk that contain the partition data. If you wished to zero out all data on the SD card you could use “clean all” instead, but unless you have a pressing privacy/security reason for overwriting the the entire SD card with zeros, it’s unwise to waste the read/write cycles of the flash media.
After cleaning the disk, enter the following command “create partition primary”

The command, as the syntax implies, creates a new partition on the disk and sets it to primary. After creating the primary partition, the entire storage capacity of the SD card should be available to Windows. If we peek back into Disk Manager, we no longer see a tiny partition with a huge hunk of unallocated space, but a large partition ready to be formatted:

That’s all there is to it! A little DISKPART wizardy and the SD card is factory fresh again.

Wednesday, April 13, 2016

How to find the hardware uuid for iPhone to update Team profile to test iPhone APP outside of Apple Store for beta test

Collect iPhone UUID

As some of you might be willing to help out a developer with beta-testing their apps, he will most certainly ask you for the UUID for your device. So this is a quick three-step guide to finding your iPhone Universally Unique Identifier (or UUID) using iTunes.
While there are apps out there that will tell you what your UUID is, some will cost you money, and if all you need is the UUID, then it's pointless to download an app that does that. Instead, you can use iTunes to reveal it. Here's how.

1. Plug In Your iPhone

Connect your iPhone to your MAC or PC and if iTunes doesn't start automatically, fire it up. Next, go to the Devices heading in the navigation panel on your left and locate your iPhone.

2. Find Your Serial Number

Under the iPhone's Summary heading, you should see a bunch of information including the software version, your phone number and the iPhone's serial number.

3. Reveal Your UUID

If you click your Serial Number (I know it doesn't show as clickable, but just click it), that will change to Identifier and the string of numbers and letters following there is your UUID. Simply press CTRL+C (Windows) or Command/AppleKey + C (Mac) and it will be copied to your clipboard.

Update profile with up to 99 specific device uuid

Exporting Your App for Testing Outside the Store

Because testers don’t have Xcode to run your app, you create an iOS App file (a file with an .ipa filename extension) that they can then use to install your app on their device. Use this method to test a universal app that runs on all supported devices or test device variants that the store distributes later to users.
To create an iOS App file for testing

  1. Open the Archives organizer (choose Organizer from the Window menu), and select the archive.
  2. Click the Export button, select an export option, and click Next.
    To distribute your app to users with designated devices, select “Save for Ad Hoc Deployment.” The app will be code signed with the distribution certificate.
    To distribute your app for internal testing, select “Save for Development Deployment.” The app will be code signed with your development certificate.
  3. In the dialog that appears, choose a team from the pop-up menu and click Choose.
    If necessary, Xcode creates the needed signing identity and provisioning profile for you.
  4. In the Device Support dialog, choose whether to export the universal app or a variant for a specific device, and click Next.
    • If you want to run the app on any supported device, select “Export one app for all compatible devices.”
    • If you want to test all device variances, select “Export for specific devices” and choose “All compatible device variants” from the pop-up menu.
    • If you want to test a specific device variant, select “Export a thinned app for a specific device” and choose the device family from the pop-up menu.

Deploy IPA to test devices

Method # 1 – Using iTunes.
iTunes too provides a functionality to directly install ipa apps on your device. Perform the following steps to install ipa apps through iTunes –
  • Connect your Phone to computer and launch iTunes.
  • Drag the app’s .ipa file into iTunes library.
  • Click on Sync and done, that’s it . If the app was earlier backed up from the same device, it would be installed without any fuss else you need to make sure there's a provisioning profile associated with the app embedded in it generated with the device uuid.
Method # 2 – iFunbox

install ipa through iFunbox
iFunbox is yet another easy method to install ipa files/apps on your iPhone. Perform the following steps to install Apps on your iPad/iPhone through ifunbox –
  • Download and install ifunbox from if not already installed.
  • Launch iFunbox and connect your iPhone/iPad/iPod.
  • Now navigate to the File Browser tab as shown in the figure and select “User Applications” (Highlighted in the same figure).
  • Now click on “Install App” button, select the ipa or apmx file of app which you want to install and click on Open!
  • Yo! The app will be installed successfully.

Monday, April 11, 2016

SVG to PNG using Inkscape

I really like to use Inkscape to generate Icon for iOS or Android.
When using SVG you can create multiple size icons all looking great using a small script like this one

@echo off
set Programs="%ProgramFiles%"
if "%ProgramFiles(x86)%" NEQ "" (
    set Programs="%ProgramFiles(x86)%"
REM Trim the double-quotes
set Programs=%Programs:~1,-1%

SET INKSCAPE=%Programs%\Inkscape\

pushd  graphics
"%INKSCAPE%" --export-png=target.png --export-area-drawing source.svg  -w 48 -h 48


Friday, March 18, 2016

mount usb 2.0 stick HDD raspberry pi

sudo apt-get install ntfs-3g
sudo mkdir /media/usbdrive
sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sdb1 /media/usbdrive/

extra in /etc/fstab
/dev/sdb1 /media/usbdrive ntfs-3g uid=pi,gid=pi 0 0

Wednesday, March 09, 2016

Raspberry Pi Temperature & Humidity Network Monitor

Picture of Raspberry Pi Temperature & Humidity Network Monitor
Please note that there's a Git repo for code at:
If you'd like the latest fixes or would like to contribute. Thanks Jonny Ervine!

I had some issues with Kingston SD Cards, but the SanDisk cards I'm using now have run for weeks without issues, so I'm changing the parts list to reflect that.
Also, after some 49 days, 16 hours, the display flatlines, as the reading routines start returning the same number over and over again. A reboot clears it, so just reboot once a month until I figure out what's up.

Over the past summer, my vacation home had a small water leak for three months, and I realized that had I been measuring the humidity in the effected area, I'd have
seen it go to 100% for a long time and I could have dispatched someone to fix the small problem before it became a big one.
And since I've been playing with Raspberry Pi computers for a while now, and saw an inexpensive temperature/humidity sensor on AdaFruit, I had all the pieces I needed
to implement an inexpensive network-connected monitor.
The Bill Of Materials (BOM):
1) Raspberry Pi Model B
2) Case
3) SD Card
4) Temperature/Humidity sensor
5 ) Power Supply (I use PoE splitters, but any 5V 1A Micro-USB supply will work)
I used the following exact parts, but obvious substitutions can be made to match local conditions and the state of your junk box. Shipping and the availability of bundles
may effect your final price.
$35.00 RPi
$ 8.12 Case (5.99 Euros)
$ 6.99 SD Card (Sandisk, not Kingston)
$15.00 Sensor
$15.99 PoE Splitter
And a few other miscellaneous things like hand tools, soldering iron, hot melt glue gun, small pieces of plastic wood, etc.

Step 1: Physical assembly

Picture of Physical assembly
Split the case, find the hardware bag inside, and set the rubber feet aside for later.

Attach the Raspberry Pi to the case bottom with the supplied hardware.

Remove the GPIO knockout with a razor blade or Xacto knife and snap the two case halves together.

To keep the power dissipation of the power supply and Raspberry Pi from effecting the sensor readings, I cut a piece of Azek plastic lumber about 1.1 x 2.4 x 0.75 inches as a standoff.

Heat up your hot-melt glue gun and stack the parts as in the picture. You'll have a few seconds to make the alignment perfect before the glue sets, so get the alignment close before you press the parts together.  Be careful not to use so much glue that it extrudes from the edges of the seams or extrudes into the case, where it might interfere with the SD card connector.

1) Glue the sensor to the standoff

2) Glue the standoff to the top half of the case. Be careful not to block the LED cutouts on the one side or the ribbon cable cutout for the camera on the other side.

3) Glue the case bottom to the top of the PoE adapter. Make sure the "LAN Out" connector is on the same side as the Raspberry Pi Ethernet adapter.

4) Stick the 4 rubber feet to the bottom of the power adapter.

5) Ensure the voltage-output selection switch is set to 5V. Put a dab of hot-melt glue in the switch to prevent it from being changed and destroying your Raspberry Pi.

Step 2: Electrical Assembly

Picture of Electrical Assembly
The White wire from the sensor is a spare ground, and is not needed.  Cut it off inside the sensor case, being careful not to cut any of the other wires.

Braid the other three wires to keep them together, and cut them off about 3.5 inches long.

Prepare a 5-pin single inline female connector (cut from or equivalent), and solder the wires to it:

1) Red (+3.3V)
2) No Connection
3) No Connection
4) Yellow (Data)
5) Black (Ground)

Plug the connector into the GPIO on the Raspberry Pi so that pin 1 on the connector (red wire) is on pin 1 of the GPIO connector (label P1 on the board, upper right in the picture).  Note that the Red wire is on GPIO Pin 1 (+3.3V), the Yellow wire is on GPIO pin 7 (GPIO 4), and the Black wire is on GPIO Pin 9 (Ground).

Tuck the excess wire into the case.

Use a short CAT5 cable (something like ) to connect the LAN OUT on the PoE splitter and the Raspberry Pi Ethernet jack.  Twist it up to make it stay close to the case.

Take the PoE output cable and a Micro-USB connector or cable and solder them together.  If using an AdaFruit Micro-USB connector, wire it up as shown at , if using a cut-off cable, determine +5 and Gnd wires with a multimeter.  Note that the TP-Link wire with the white stripe is POSITIVE.


Step 3: Raspberry Pi software setup

Picture of Raspberry Pi software setup
Getting the basic Raspberry Pi software up and running has been documented elsewhere, but basically, go to:
download the latest NOOBS (v1.3.2 as of this writing)
Format the SD card using the SD card tool at
Unzip the NOOBS file and put the contents at the root of the SD card.
Insert the SD card into the Raspberry Pi
Connect a keyboard, monitor, mouse, and LAN cable to the Raspberry Pi and connect the power supply (when you plug the PoE splitter into the LAN cable, the Raspberry Pi will power up).

Select the Raspian distribution and install it.
While that's installing, select English-US keyboard, which autoselects US Keymap

On first boot, the raspi-config utility will run.
Select Console Login as the default on boot
Change Locale to en_US UTF-8
Set timezone for your location
Set keyboard to Generic 105-key, English US
Enable the camera
change the hostname to something memorable (I used 'rpithon' for Raspberry Pi Temp/Humid On Net)
set 16M memory split as we'll be running headless
Enable SSH

Now you can either continue to use the console or ssh to it from another machine.  From my Mac I can just say:
ssh pi@rpithon
and log in using the password 'raspberry'.  If your router doesn't do the DNS to help you find 'rpithon' then make note of the IP address on the console and use that instead.

Update everything (this will take a while):

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

and reboot

Since this is going to be a LAN-only device, I get sick of playing "Mother May I?" with sudo, and I want to avoid any permissions problems with the additional software, so let's enable the root user and delete the pi user:

sudo passwd root
repeated twice

log back in as root user (or ssh root@rpithon) using the password selected above

remove pi user:

deluser -remove-home pi

I prefer Emacs, and don't want all the X-Windows stuff, so:

apt-get install emacs23-nox

Tell it to check the disk (SD Card) every time it boots:

tune2fs -c 1 /dev/mmcblk0p6

emacs /etc/ssh/sshd_config

change X11Forwarding to no
UseDNS no
ClientAliveInterval 60

service ssh restart

Step 4: Setting up LAMP server (web server)

Picture of Setting up LAMP server (web server)
So we want to be able to see the graphs we'll be generating (below), so we need to install a LAMP server.

LAMP: /Linux/Apache/MySQL/PHP&Perl

Linux is the operating system you are using (Raspian is a version of Debian, which is one of the common flavors of Linux)
Apache is the name of the web server software
MySQL is a SQL (Standard Query Language) database interface.  Databases sound really scary, but they are easy to use for simple things once you get used to them.
PHP and Perl are programming languages that are commonly used with websites, though we'll be using the Raspberry Pi standard Python for graphing the data and 'creating' the website.

apt-get install apache2  php5 mysql-client mysql-server vsftpd

This takes a while to install.  Midway through it'll ask you for a MySQL password, pick one memorable, I'll use 'password' for this tutorial.

Now you should be able to browse to http://rpithon (or http:// if the DNS doesn't work) and see a demo web page.  Try to edit /var/www/index.html and see if your changes show up when you refresh the webpage.

Step 5: ez_setup, MySQL, matplotlib

Picture of ez_setup, MySQL, matplotlib
ez_setup is a Python program that loads some nice addons (think of it as apt-get on steroids)


These next steps install some integration between Python and MySQL:

apt-get install python-mysqldb
apt-get install libmysqlclient-dev
easy_install MySQL-python

We'll be using the wonderful, powerful, and free(!) matplotlib for graphing our data, though we won't be using much of its power.

apt-get install libblas-dev liblapack-dev python-dev libatlas-base-dev gfortran python-setuptools python-scipy python-matplotlib

Step 6: WiringPi - GPIO interface

Picture of WiringPi - GPIO interface
Gordon Henderson has created a wonderful programming interface for the GPIO pins, including some drivers for the esoteric interface that our Temperature/Humidity sensor uses.  See for more details.

git clone git://
cd wiringPi
cd examples
emacs rht03.c (change the line #define RHT03_PIN 0 to #define RHT03_PIN 7 for the GPIO pin we're using)
make rht03
(you should get continuous temperature and humidity readings)

now we know our hardware is working, let's write our own program...

Step 7: Set up a database and a table

Picture of Set up a database and a table
So we have database software, but there's no database, or tables, so let's create them:

Open the MySQL command interface:

mysql -ppassword <-- br="" mysql="" password="" picked="" previously="" the="" you="">

Create a new database, called Monitoring

mysql> create database Monitoring;
Query OK, 1 row affected (0.00 sec)

Select that as our current database

mysql> use Monitoring;
Database changed

Create a single table in the database called TempHumid, which will contain the Unix Epoch (seconds since 1970) and Temperature and Humidity readings

mysql>create table TempHumid (ComputerTime INTEGER UNSIGNED,Temperature DECIMAL(5,1), Humidity DECIMAL(5,1));
Query OK, 0 rows affected (1.70 sec)

Done with MySQL, exit back to the command prompt.

mysql> exit

Step 8: Add readings to the database

Because the timing is tight on the sensor protocol, we're going to use C code to communicate with the sensor and add readings to the database.

So go to the root user's default directory:

cd ~

copy the Makefile (instructions on how to build the code we're going to create)

cp wiringPi/examples/Makefile .

emacs makeFile
change the two lines below to match this:

INCLUDE = -I/usr/local/include,/usr/include/mysql

LDFLAGS = -L/usr/local/lib,/usr/lib/arm-linux-gnueabihf -lmysqlclient -lpthread -lz -lm -lrt -ldl

Now copy th.c (included here) into your default directory. Change the password on line 68 from "password" to whatever you chose as the MySQL password.

When you compile it:

make th

you'll get a couple of warnings about declarations of exit, but it'll work fine.

Now you can run the program by typing:


It waits for a 60-second interval (minute) to end, then reads the sensor, inserts the time and sensor readings into the database, and loops forever.

Once we have that working properly, we want it to start whenever the Raspberry Pi starts up:

emacs /etc/rc.local

/root/th >> /root/th.log &

before the line that reads "exit 0"

reboot and see if th.log grows by one line per minute:

tail -f th.log

You can confirm that the data is getting into the database with:

mysql -ppassword
use Monitoring;
select * from TempHumid;

You should get a list of all values in the database.

Step 9: Graph data from the database

Picture of Graph data from the database
We're going to use Python for pulling readings out of the database and graph them with matplotlib.  Log in as root.

Set up the directory structure we'll be using:
mkdir Graph
cd Graph
mkdir graphics

copy into the Graph directory
Change the password on line 40:
DBconn = mdb.connect('localhost', 'root', 'password', 'Monitoring')
to match the MySQL password you set previously.
You can also set on line 81 to match your desired location name

Try running it:


It will get the last 24 hours of readings from the database, reorganize the data, throw out obvious bad data, create a graph of the results, and copy TH.png to /var/www so you should be able to see a new graph time you run  at http://rpithon/TH.png

Now we want this to run every minute, so:
export EDITOR=emacs
crontab -e
Add the line:
* * * * * /usr/bin/python /root/Graph/ >> /root/Graph/GraphTH.log
at the bottom of the file.

Now should run every minute, and if you update http://rpithon/TH.png (or http:///TH.png you should see it change about once a minute.

In the example above I covered the sensor with a damp Kleenex while it dried as a test.

Step 10: Monitor more than one location

Picture of Monitor more than one location
So I built five of these boxes for various locations, and on the LAMP server of one of them, added the following TH.html

    Temperature and Humidity readings




     Temperature and Humidity




  Sensor locations:


  White  - A Room

  Green  - Another Room

  Blue   - A Place To Monitor

  Purple - Another Place

  Orange - Somewhere Else


  Graphs are updated every minute.







so now I can point my browser at: http://rpithon-wht/TH and see all of the graphs updated every minute.

Step 11: Extras - Camera

Picture of Extras - Camera
You remember how we enabled the camera module when we installed the Raspian operating system?  Now we can add a Raspberry Pi Camera module:


Just feed the camera cable through the slot in the top case and plug it into the connector on the Raspberry Pi as per the instructions at using the connector next to the Ethernet port, with the tinned leads pointing away from the Ethernet connector.

I used another piece of Azek to position the camera with some hot melt glue, but there are obviously  a lot of options.

Now you can use the camera module to let you see into the area you are monitoring for temperature and humidity.  From another computer you can do something like:

ssh root@rpithon 'raspistill -o image.jpg'
scp root@rpithon:image.jpg .

Or have a cron job save a new file to the webserver on a regular basis!

In addition to the camera, there are lots of other peripherals and functions you can add to the Raspberry Pi, let your imagination guide you!