Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Raspberry Pi for Secret Agents
Raspberry Pi for Secret Agents

Raspberry Pi for Secret Agents: Turn your Raspberry Pi into your very own secret agent toolbox with this set of exciting projects! 

eBook
€13.98 €19.99
Paperback
€24.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Table of content icon View table of contents Preview book icon Preview Book

Raspberry Pi for Secret Agents

Chapter 1. Getting Up to No Good

Welcome, fellow pranksters and mischief-makers, to the beginning of your journey towards a stealthier lifestyle. Naturally, you're all anxious to get started with this cool stuff, so we'll only devote this first, short chapter to the basic steps you need to get your Raspberry Pi up and running.

First we'll get to know the hardware a little better, and then we'll go through the installation and configuration of the Raspbian operating system.

At the end of this chapter you should be able to connect to your Raspberry Pi over the network and be up-to-date with the latest and greatest software for your Pi.

A brief history lesson on the Pi


The Raspberry Pi is a credit-card-sized computer created by the non-profit Raspberry Pi Foundation in the UK. It all started when a chap named Eben Upton (now an employee at Broadcom) got together with his colleagues at the University of Cambridge's computer laboratory, to discuss how they could bring back the kind of simple programming and experimentation that was widespread among kids in the 1980s on home computers such as the BBC Micro, ZX Spectrum, and Commodore 64.

After several years of tinkering, the Foundation came up with two designs for the Raspberry Pi. The $35 Model B was released first, around February 2012, originally with 256 MB of RAM. A second revision, with 512 MB of RAM, was announced in October 2012 and around that time the Pi hardware assembly was moved from China to Sony's facility in the UK. The $25 Model A is expected to go on sale in the first quarter of 2013.

Note

What are the differences between the $25 Model A and the $35 Model B?

The Model A has only 256 MB of RAM, one USB port, and no Ethernet controller. With fewer components, the power consumption of Model A is roughly half that of Model B.

The ins and outs of the Raspberry Pi


At the heart of the Pi is the Broadcom BCM2835 System-on-a-Chip—imagine all the common hardware components of a PC baked into a small chip. The CPU is called ARM1176JZF-S, runs at 700 MHz and belongs to the ARM11 family of the ARMv6 architecture. For graphics, the Pi sports a Broadcom VideoCore IV GPU, which is quite powerful for such a tiny device and capable of full HD video playback. The following figure (taken from http://www.raspberrypi.org/faqs) shows the Raspberry Pi model:

Raspberry Pi Model B board showing key components

GPIO

At the edge of the board we find the General Purpose Input/Output (GPIO) pins, which, as the name implies, can be used for any kind of general tinkering and to interface with other pieces of hardware.

RCA video

This jack is for composite video output, which we can use to connect the Pi to one of those old television sets using an RCA connector cable.

Audio

To get sound out of the Pi, we can either get it through the HDMI cable connected to a monitor, or from this 3.5 mm analog audio jack using headphones or desktop speakers.

LEDs

Five status LEDs are used to tell us what the Pi is up to at the moment. They are as follows:

  • The green light on top labeled OK (on the older Pi) or ACT (on the newer Pi) will blink when the Pi is accessing data from the SD card

  • The light below, labeled PWR, should stay solid red as long as the Pi has power

  • The three remaining LEDs will light up when a network cable is connected to the Ethernet port

USB

The two USB 2.0 ports allow us to connect keyboards, mice, and most importantly for us, Wi-Fi dongles, microphones, video cameras, and GPS receivers. We can also expand the number of USB ports available with the help of a self-powered USB hub.

LAN

The Ethernet LAN port allows us to connect the Pi to a network at a maximum speed of 100 Mbit/s. This will most commonly be a home router or a switch, but it can also be connected directly to a PC or a laptop. A Category 5 twisted-pair cable is used for wired network connections.

HDMI

The High-Definition Multimedia Interface (HDMI) connector is used to connect the Pi to a modern TV or monitor. The cable can carry high-resolution video up to 1920 x 1200 pixels and digital sound. It also supports a feature called Consumer Electronics Control (CEC), which allows us to use the Pi as a remote control for many common television sets.

Power

The power input on the Raspberry Pi is a 5V (DC) Micro-USB Type B jack. A power supply with a standard USB to micro-USB cable, such as a common cellphone charger, is then connected to feed the Pi.

Note

The most frequently reported issues from Raspberry Pi users are without a doubt those caused by insufficient power supplies and power-hungry USB devices. Should you experience random reboots, or that your Ethernet port or attached USB device suddenly stops working, it's likely that your Pi is not getting enough stable power.

5.25V 1A power supply with USB to Micro-USB cable

Take a look at the OUTPUT printed on your power adapter. The voltage should be between 5V to 5.25V and the amperage should read between 700mA to 1200mA (1A = 1000mA).

You can help your Pi by moving your devices to a self-powered USB hub (a hub that has its own power supply).

Also note that the Pi is very sensitive to devices being inserted or removed while it's running, and powering your Pi from another computer's USB port usually doesn't work well.

SD card

The SD card is where all our data lives, and the Pi will not start without one inserted into the slot. SD cards come in a wide variety of storage sizes. A card with a minimum of 4 GB up to 32 GB of storage space is recommended for the projects in this book. The SD cards also carry a class number, which indicates the read/write speed of the card—the higher the better.

Note that there are also mini-SD and micro-SD cards of smaller physical sizes that will work with the Pi but they will need an adapter to fit into the slot.

Writing Raspbian OS to the SD card


Computers can't do anything useful without an operating system, and the Pi is no exception. There is a growing collection of operating systems available for the Pi, but we'll stick with the "officially recommended" OS—the Raspbian GNU/Linux distribution.

Getting Raspbian

There are two main ways to obtain Raspbian. You can either buy it preinstalled on an SD card from your Raspberry Pi dealer, or download a Raspbian image yourself and write it to an empty SD card on a computer with an SD card slot.

Note

If you do have access to a computer but it lacks an SD card slot, it's a wise choice to invest in an external SD card reader/writer. They don't cost much and chances are you'll want to re-install or try a different operating system on your SD card sooner or later.

To download a Raspbian image, visit the site http://www.raspberrypi.org/downloads. Instead of version numbers, Raspbian uses code names (names of characters from the movie Toy Story) and the latest version at the time of writing is Wheezy. Just click on the link for the ZIP file and wait for your download to start or use the torrent link if you prefer, but we will not cover that in this book.

SD card image writing in Windows

Two things are needed to prepare your SD card—an uncompressed image and an image writer application. Perform the following steps to prepare your SD card:

  1. When your image has finished downloading, you'll need to unzip it, usually by right-clicking on the ZIP file and selecting Extract all or by using an application such as WinZip. Once extracted, you should end up with a disc image file named YYYY-MM-DD-wheezy-raspbian.img.

  2. It is highly recommended that you disconnect any attached USB storage devices for now to minimize the risk of writing the Raspbian image to the wrong place.

  3. Visit http://sourceforge.net/projects/win32diskimager/ and download the latest version of the Win32DiskImager application (win32diskimager-v0.7-binary.zip at the time of writing).

  4. Extract that ZIP file too and run the Win32DiskImager application. On Windows 7/8 you might need to run it as an administrator by right-clicking on the application and selecting Run as administrator.

  5. Select the IMG file you extracted earlier and choose the volume letter of your SD card slot from the Device drop-down menu. It is very important to verify that you have the correct volume of your SD card! Finally, click on Write and wait for the process to finish.

SD card image writing in Mac OS X or Linux

Two things are needed to prepare your SD card – an uncompressed image and an image writer script.

  1. When your image has finished downloading, you'll need to unzip it, usually by double-clicking on the ZIP file or by right-clicking and selecting Extract here. Once extracted, you should end up with a disk image file named YYYY-MM-DD-wheezy-raspbian.img.

  2. It is highly recommended that you disconnect any attached USB storage devices for now, to minimize the risk of writing the Raspbian image to the wrong place.

  3. To help us write the Raspbian image file to the SD card, we will be using a Python script written by Aaron Bockover. Visit http://www.intestinate.com/imagewriter.py to download the script and save it to your Desktop folder.

  4. Open up a Terminal (located in /Applications/Utilities on the Mac).

  5. Now we need to start the imagewriter.py script and tell it where to find the Raspbian IMG file. Adapt the following command to suite the paths of your files:

    sudo python ~/Desktop/imagewriter.py ~/Desktop/YYYY-MM-DD-wheezy-raspbian.img
    

    If you don't know the full path to your script or IMG file, you can just drag-and-drop the files on to the Terminal window and the full path will magically appear.

  6. You might be asked to input your user password so that sudo is allowed to run. The script will ask which device you'd like to write the image to. It will present a list of all the currently attached storage devices. Identify your SD card slot with the help of the device description, and the size that should match your card. Finally, type the number of your device and press the Enter key.

  7. If your SD card is currently mounted, the script will prompt you to unmount it first and you'll get a final warning before the operation starts. Answer y to both questions to continue. The progress meter will tell you when the image has been successfully written to your card. You might notice a new storage volume called Untitled. That's the boot partition of Raspbian. You should right-click on this volume and Eject it to safely remove your SD card.

Tip

Downloading the example code

You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

Booting up and configuring Raspbian


All right, you've been patient long enough; it's time we take your Pi out for a spin! For this first voyage, it is recommended that you go easy on the peripherals until we have properly configured the Pi and verified a basic stable operation. Connect a USB keyboard, a monitor or TV, and a Wi-Fi dongle or an Ethernet cable plugged into your home router. Finally, insert your SD card and attach the power cable.

Within seconds you should see text scroll by on your display. Those are status messages from the booting Linux kernel.

Raspi-config application running on first boot

The output will come to a halt in a minute and you'll be presented with a menu-type application called Raspi-config. Use your arrow keys to navigate and press the Enter key to select menu options.

  • expand_rootfs: This important option will resize the filesystem to fit the storage capacity of your SD card. You'll want to do this once, or you'll soon run out of disk space! The filesystem will be resized the next time you boot the Pi.

  • overscan: If you see thick black borders around the blue background on your monitor, select this option and disable to make them go away the next time you boot the Pi.

  • configure_keyboard: Select this option to reconfigure your keyboard. Usually there is no need to do this unless some keys on your keyboard are not working properly.

  • change_pass: Select this option to change the password for the default user pi. This is strongly recommended. Just in case you forget, the default password is raspberry.

  • change_locale: This option allows you to add non-English languages to the system. You can also select what language the applications should display by default.

  • change_timezone: It's important that you set the correct time zone, because any scheduling we do in the later chapters depends on this. It's also nice to have the correct time in logfiles.

  • memory_split: This option lets you change how much of your Pi's memory the Graphics Processing Unit (GPU) is allowed to use. To play HD movies or output fancy graphics, the GPU needs 64–128 MB of the RAM. Since we'll use the Pi mostly for recording, you can leave this at the default 64 MB of RAM.

  • overclock: This option allows you to add some turbo boost to the Pi. Only experiment with overclocking once you have established that your system runs stable at default speed. Also note that while overclocking will not void the warranty of the Pi, it could reduce its lifetime.

  • ssh: Select this option to enable or disable the Secure Shell service. SSH is a very important part of our setup and allows us to login remotely to the Pi from another computer. It is active and enabled by default, so leave this option alone for now.

  • boot_behaviour: This option allows you to change whether the graphical desktop environment should be started automatically each time you boot the Pi. Since we will mostly work on the command line in this book, it's recommended that you leave this option as is.

  • update: This option will try to upgrade the Raspi-config application itself to the latest version. You can leave this option alone for now as we will make sure all the software is up-to-date later in this chapter.

Once you're happy with the configuration, select Finish and Yes to reboot the Pi. After the Linux kernel boots again, your filesystem will be resized. This can take quite a while depending on the size of your SD card—please be patient and don't disturb the little guy.

At the raspberrypi login prompt, enter pi as the user name and the password you chose.

Basic commands to explore your Pi

Now that you're logged in, let's have a look at a handful, out of the several hundred possible commands, that you can type at the command line. When a command is run prepended with sudo it'll start with the super user or root privileges. That's the equivalent of the Administrator user in the Windows world.

Command

Description

sudo raspi-config

Starts Raspi-config, which lets you reconfigure your system.

sudo reboot

Reboots the Pi.

sudo shutdown -h now

Prepares the Pi to be powered off. Always type this before pulling the plug!

sudo su

Become the root user. Just be careful not to erase anything by mistake!

df / -h

Displays the amount of disk space available on your SD card.

free -h

Displays memory usage information.

date

Displays the current time.

exit

Log out of your current shell or SSH session.

Accessing the Pi over the network using SSH


Pretty much all the pranks and projects in this book will be done at the command line while being remotely logged in to the Pi over the network through SSH. Before we can do that, we need to be sure our Pi is reachable and we need to know its IP address. First we'll look at wired networks, then at Wi-Fi.

Wired network setup

So you've plugged an Ethernet patch cable into the Pi and connected it to your home router, now what? Well, there should be all kinds of blinking lights going on, both around the port of your router and the three LAN LEDs on your Pi. The next thing that needs to happen is for the router to assign an IP address to the Pi using Dynamic Host Configuration Protocol (DHCP). DHCP is a common service on network equipment that hands out unique IP addresses to all computers that want to join the network.

Let's have a look at the address assigned to the Ethernet port (eth0) on the Pi itself using the following command:

pi@raspberrypi ~ $ ip addr show eth0

If your DHCP service is working correctly, you should see a line similar to the following output:

inet 192.168.1.20/24 brd 192.168.1.255 scope global eth0

The digits between inet and the / character is your Pi's IP address, 192.168.1.20 in this case.

If your output doesn't have a line beginning with inet, it's most likely that your router lacks a DHCP service, or that the service needs to be enabled or configured. Exactly how to do this is outside the scope of this book, but try the manual for your router and search for dhcp.

For static address network setups without DHCP, see the Setting up point-to-point networking section in Chapter 5, Taking your Pi Off-road.

Wi-Fi network setup

The easiest way to set up the Wi-Fi networking is to use the included WiFi Config GUI application. Therefore, we will briefly enter the graphical desktop environment, configure the Wi-Fi, and save the information so that the Wi-Fi dongle will associate with your access point automatically on boot.

If you have a USB hub handy, you'll want to connect your keyboard, mouse, and Wi-Fi dongle now. While it's fully possible to perform the following actions using only the keyboard, a mouse will be very convenient:

  1. Type startx and press the Enter key to start the graphical desktop environment.

  2. Double-click on the WiFi Config icon located on the desktop.

  3. From the Network drop-down menu, select Add.

  4. Fill out the information for your access point and click on the Add button.

  5. Your Wi-Fi adapter will associate immediately with the access point and should receive an IP address as listed under the Current Status tab.

  6. From the File drop-down menu, select Save Configuration.

  7. Exit the application and log out of the desktop environment.

To find out about the leased IP address of your Wi-Fi adapter (wlan0), without having to enter the graphical desktop, use the following command:

pi@raspberrypi ~ $ ip addr show wlan0

You should see a line similar to the following output:

inet 192.168.1.15/24 brd 192.168.1.255 scope global wlan0

The digits between inet and the / character is your Pi's IP address, 192.168.1.15 in this case.

To obtain information about the associated access point and signal quality, use the iwconfig command.

Connecting to the Pi from Windows

We will be using an application called PuTTY to connect to the SSH service on the Pi.

  1. To download the application, visit http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

  2. Download the all-inclusive windows installer called putty-0.62-installer.exe, since the file copy utilities will come in handy in later chapters.

  3. Install the application by running the installer.

  4. Start PuTTY from the shortcut in your Start menu.

  5. At the Host name (or IP address) field, input the IP address of your Pi that we found out previously. If your network provides a convenient local DNS service, you might be able to type raspberrypi instead of the IP address, try it and see if it works.

  6. Click on Open to initiate the connection to the Pi.

  7. The first time you connect to the Pi or any foreign system over SSH, you'll be prompted with a warning and a chance to verify the remote system's RSA key fingerprint before continuing. This is a security feature designed to ensure the authenticity of the remote system. Since we know that our Pi is indeed our Pi, answer yes to continue the connection.

  8. Login as pi and enter the password you chose earlier with Raspi-config.

  9. You're now logged in as the user pi. When you've had enough pranking for the day, type exit to quit your SSH session.

Connecting to the Pi from Mac OS X or Linux

Both Mac OS X and Linux come with command line SSH clients.

  1. Open up a Terminal (located in /Applications/Utilities on the Mac).

  2. Type in the following command, but replace [IP address] with the particular IP address of your Pi that we found out previously:

    ssh pi@[IP address]
    

    If your network provides a convenient local DNS service, you might be able to type raspberrypi instead of the IP address, try it and see if it works.

  3. The first time you connect to the Pi or any foreign system over SSH, you'll be prompted with a warning and a chance to verify the remote system's RSA key fingerprint before continuing. This is a security feature designed to ensure the authenticity of the remote system. Since we know that our Pi is indeed our Pi, answer yes to continue the connection.

  4. Type the password of the user pi that you chose earlier with Raspi-config.

  5. You're now logged in as the user pi. When you've had enough pranking for the day, type exit to quit your SSH session.

The importance of a sneaky headless setup


You might be wondering why we bother with SSH and typing stuff at the command line at all when Raspbian comes with a perfectly nice graphical desktop environment and a whole repository of GUI applications? Well, the first reason is that we need all the CPU power we can get out of the Pi for our projects. With the current graphics drivers for X (the graphics system), the desktop eats up too much of the Pi's resources and the CPU is more concerned with redrawing fancy windows than with running our mischievous applications.

The second reason is that of stealth and secrecy. Usually, we want to be able to hide our Pi with as few wires running to and fro as possible. Obviously, a Pi hidden in a room becomes a lot more visible if someone trips over a connected monitor or keyboard. This is why we make sure all our pranks can be controlled and triggered from a remote location.

Keeping your system up-to-date


A community effort such as Raspbian and the Debian distribution on which it is based, is constantly being worked on and improved by hundreds of developers every day. All of them are trying hard to make the Pi run as smoothly as possible, support as many different peripherals as possible, and to squish any discovered software bugs.

All those improvements come to you in the form of package and firmware updates. To keep your Raspbian OS up-to-date, you need to know the following two commands:

  • sudo apt-get update: To fetch information about what packages have been updated.

  • sudo apt-get dist-upgrade: Proceed to install the updated packages. Answer yes when prompted.

The firmware updates are more related to the Raspberry Pi hardware and may contain improvements to the Linux kernel, new drivers for USB gadgets, or system stability fixes. To upgrade the firmware, we'll use a script called rpi-update written by Hexxeh. Type in the following command to install the script:

pi@raspberrypi ~ $ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

Before we can use the script, we need to install Git, a version control system used by the Raspberry Pi firmware developers, with the following command:

pi@raspberrypi ~ $ sudo apt-get install git-core

Notice how easy it is to download and install new software packages from the Internet using apt-get.

Now, whenever you want to check for firmware updates, type sudo rpi-update and reboot once the script says it has updated your system successfully.

Summary


In this chapter, we had a look at the different parts of the Raspberry Pi board and learned a bit about how it came to be. We also learned about the importance of a good power supply and how a powered USB-hub can help alleviate some of the power drain caused by hungry USB peripherals.

We then gave our Pi an operating system to run by downloading and writing Raspbian onto an SD card. Raspbian was booted and configured with the Raspi-config utility. We also learned a few helpful Linux commands and how the Pi was set up to accept remote connections from SSH clients over the network.

Finally, we learned how to keep both software and firmware up-to-date and ready for maximum mischief.

In the upcoming chapter, we'll be connecting sound gadgets to the Pi and getting our feet wet in the big pond of spy techniques.

Left arrow icon Right arrow icon

Key benefits

  • Detect an intruder on camera and set off an alarm
  • Listen in or record conversations from a distance
  • Find out what the other computers on your network are up to
  • Unleash your Raspberry Pi on the world

Description

Ever wished you could play around with all the neat gadgets your favorite spies use (like James Bond or Michael Westen)? With the introduction of the remarkable Raspberry Pi and a few USB accessories, anybody can now join in on the action.Discover how to turn your Raspberry Pi into a multipurpose secret agent tool! Through a series of fun, easy-to-follow projects you'll learn how to set up audio/video surveillance, explore your Wi-Fi network, play pranks on your friends, and even learn how to free your Raspberry Pi from the constraints of the wall socket.Raspberry Pi for Secret Agents starts out with the initial setup of your Raspberry Pi, guides you through a number of pranks and secret agent techniques, and then shows you how to apply what you've learned out in the real world. Learn how to configure your operating system for maximum mischief and start exploring the audio, video, and Wi-Fi projects. Learn how to record, listen, or talk to people from a distance and how to distort your voice. You can even plug in your webcam and set up a motion detector with an alarm, or find out what the other computers on your Wi-Fi network are up to. Once you've mastered the techniques, combine them with a battery pack and GPS for the ultimate off-road spy kit.

Who is this book for?

Raspberry Pi for Secret Agents is for all mischievous Raspberry Pi owners who'd like to see their computer transform into a neat spy gadget to be used in a series of practical pranks and projects. No previous skills are required to follow along and if you're completely new to Linux, you'll pick up much of the basics for free. Apart from the Raspberry Pi board itself, a USB microphone and/or a webcam is required for most of the audio/video topics and a Wi-Fi dongle is recommended for the networking examples. A Windows/Mac OS X/Linux computer (or second Raspberry Pi) is also recommended for remote network access.

What you will learn

  • Install and configure Raspbian OS for maximum mischief
  • Schedule a prank to happen when your foe least expects it
  • Listen in or talk to people from a distance
  • Detect an intruder with motion detection and set off an alarm
  • Distort your voice in weird and wonderful ways
  • Push unexpected images into browser windows
  • Knock all visitors off your Wi-Fi network
  • Control the Pi with your smartphone
  • Keep your data secret with encryption
Estimated delivery fee Deliver to Netherlands

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Apr 25, 2013
Length: 152 pages
Edition : 1st
Language : English
ISBN-13 : 9781849695787
Vendor :
Raspberry Pi
Category :
Concepts :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Estimated delivery fee Deliver to Netherlands

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Publication date : Apr 25, 2013
Length: 152 pages
Edition : 1st
Language : English
ISBN-13 : 9781849695787
Vendor :
Raspberry Pi
Category :
Concepts :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 62.98
Raspberry Pi for Secret Agents
€24.99
Raspberry Pi cookbook for Python programmers
€37.99
Total 62.98 Stars icon

Table of Contents

5 Chapters
Getting Up to No Good Chevron down icon Chevron up icon
Audio Antics Chevron down icon Chevron up icon
Webcam and Video Wizardry Chevron down icon Chevron up icon
Wi-Fi Pranks – Exploring your Network Chevron down icon Chevron up icon
Taking your Pi Off-road Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.1
(20 Ratings)
5 star 50%
4 star 35%
3 star 0%
2 star 5%
1 star 10%
Filter icon Filter
Top Reviews

Filter reviews by




S. cholayil Jan 18, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Nice tricks
Amazon Verified review Amazon
Keith J. Mar 16, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is a fun read. I haven't got around to trying any of the projects.
Amazon Verified review Amazon
Ivan Popov Jun 05, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Raspberry Pi for Secret Agents. Trendy title. While I wondered how serious it could be, the author's name got my attention - Stefan Sjogelid. Now that is already promising. This is the guy behind the idea, that if you're eager enough, you can build your own Linux distribution targeted at the Raspberry Pi architecture. The whole process is thoroughly described on his dedicated web site. And expectations slowly started to rise.Now with this book we're in for a treat. At least we don't get the usual starter point of view, and get some trickery instead. The book is very educating on an operating system level. Reading it, I was able to fill some large gaps in my modest but constantly expanding Linux knowledge. Once the reader starts, it quickly becomes clear that the installments built up are simple enough, yet powerful and effective. And I wouldn't be surprised if such tools are employed in a real-life espionage activities.The layout of the book is presented to be dead simple. Its significance is another story :)After the mandatory introduction of the Raspberry Pi's basics (in terms of hardware and OS) to the reader in the first chapter, the actual contents related to the main topic begin from the second one. The four sub-topics of the book are respectively: Audio, Video, WiFi and Portable Pi. The simplicity is only on the surface.Concerning the audio tasks, at first I had a difficulty to set-up a microphone due to my profanity. Without giving the proper attention to all of the Pi's interfaces I was (wrongfully) thinking that the audio output connector can deliver also an input. After a few lessons learned and a correct setup I was ready to meet some handy tools. Most of the chapter is dedicated to the SoX tool - the working horse of the audio mechanics. Combined with the rest of the tools (some of which are built-in Linux commands) and through the secure shell a lot of possible "spy techniques" are given. Those tools include tmux, espeak and at commands. They're for running SoX independently of the user's session, for speech and task-in-time automation respectively.Apart from the auxiliary elements the main idea is to be shown how the ALSA sound system is employed in the Raspberry Pi, and how easily it can be used for various projects.Regarding the video tasks, maybe the book was written and released a bit too early, because two weeks ago the guys behind the Raspberry Pi released its own camera, plugged into the dedicated CSI connector. I guess that if written today, this chapter would look a bit different. At least it could include additional information about the Pi camera and its dedicated software tools and capabilities.Well without that info the chapter is comprised of two main projects - video streaming with recording the stream and detection of moving objects.For the purpose of the first task the tools related to the framework around the UVC and V4L drivers are used in order to generate a MJPG video stream. The stream then can be accessed on the network by the VLC media player and if necessary recorded by it (without sound of course).And for the purpose of the second task the very powerful Motion software is shown to easily gather input from even more than one camera.The chapter about the WiFi networking can make a very nice addition to another of the PACKT's books, which I reviewed recently - Networking with Raspberry Pi by Rick Golden. Here the tool of the trade is the detection system Kismet. For it to work not only configuration but also building from source is required. And to be preserved consistency between the projects (and between the chapters of the book of course) it is shown a collaboration with SoX for the purpose of attaching sound signals to its processing events.Further a network mapping is done with Nmap, which leads to the logical next step - to dive into the common (or not so common) network security techniques for attack and/or monitoring with programs like Ettercap and Wireshark.In the last chapter the Raspberry Pi had to prepare its back-pack, for it was going on a field trip. Regarding the mandatory warnings for battery life, secure and low profile package and most importantly - avoiding any moisture, the portable computer can pretty quickly step outside.Setting up an ad hoc WiFi network is not difficult following the instructions in this (and partly in the previous) chapter.Two of the most interesting projects in the book (which I unfortunately haven't tested yet for some reasons) are the GPS tracking of the Pi in Google Earth, and remote controlling it from a smart-phone while tweeting its current status to the social media. Merely reading through them, they seemed to comprise a powerful, portable setup and just whet one's appetite for some future projects.The book aims to teach us how to employ the Raspberry Pi in a set up that is robust, automated and portable. All of these are actually achieved thanks to the software tools built-in or separately added to the Linux operating system. In that sense this could be regarded as the only (although not real) drawback of the book. The small computer is there, but still in the background. Everything described can be done on a regular Linux system's shell. No wires, no soldering, no bread-boards, no hardware projects. Yet the Pi is most suitable and prepared for taking these actions to the field and in real life situations. So the existing hardware is enough to become the real spy and the book just gives the vision on how prepared it is to do the job.In conclusion I can say that this book very easily achieves the goal of being funny, informative and deep at the same time.
Amazon Verified review Amazon
Retired Nokia Engineer Jan 08, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great book for projects with my teenage grandson. Really cool projects for the Raspberry Pi computer.
Amazon Verified review Amazon
David R. Hassall Oct 25, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very interesting book ... Can't wait to try out some of the projects in it.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela