Category Archives: Raspberry Pi How-to’s

Using the ‘Google Cloud Vision API’ with your Raspberry Pi

What is the ‘Google Cloud Vision API’?

Google Cloud Vision API enables your robot to understand the content of an image by encapsulating powerful machine learning models in an easy to use REST API. It quickly classifies images into thousands of categories such as “robot”, “elephant”, “flower”. It detects individual objects and faces within images. It capable of finding and reading printed words contained within images, and even determines the language it is written in. You can use it to build metadata for your image collection, and can be used to moderate offensive content through image analysis.
The Vision API enables you to detect different types of inappropriate content from adult to violent content. It analyzes images uploaded by the request, or integrate with your image storage on Google Cloud Storage.

Raspberry Pi Cheat Sheet – Learning Basic Linux Commands

A big part of using a Raspberry Pi is also using the terminal. The terminal is something that a lot of people try to avoid, because they feel like it is a bit hard to use. But it doesn’t need to be that that way, because in reality we can break it down to just a few basic commands that you need to know to do code, tty, and most everything else.

Using Flask to Control Raspberry Pi GPIOs

With this project you can create a standalone web server with a Raspberry Pi that can toggle two LEDs. You can replace those LEDs with any output (like a relay or a transistor). In order to create the web server you will be using a Python microframework called Flask.

Parts Required

Here’s the hardware that you need to complete this project:

  • Raspberry Pi (any Pi should work, I recommend using Raspberry Pi 3) – view on eBay
  • SD Card (minimum size 8Gb and class 10) – view on eBay
  • Micro USB Power Supply – view on eBay
  • Ethernet cable or WiFi dongle
  • Breaboard – view on eBay
  • 2x LEDs
  • 2x 470Ω Resistors
  • Jumper wires

Raspberry Pi 3

Raspberry Pi 3 (best option)

Basic Raspberry Pi Setup

Before you continue reading this project, please make sure you have Raspbian Operating System installed in your Raspberry Pi.

Installing Flask

We’re going to use a Python microframework called Flask to turn the Raspberry Pi into web server.

To install Flask, you’ll need to have pip installed. Run the following commands to update your Pi and install pip:

pi@raspberrypi ~ $ sudo apt-get update pi@raspberrypi ~ $ sudo apt-get upgrade pi@raspberrypi ~ $ sudo apt-get install python-pip

Then, you use pip to install Flask and its dependencies:

pi@raspberrypi ~ $ sudo pip install flask




The schematics for this project are fairly straightforward. Simply connect two LEDs to pins GPIO 23 and GPIO 24, as the figure below illustrates.

RPi Web Server outputs_bb

Creating the Python Script

This is the core script of our application. It sets up the web server and actually interacts with the Raspberry Pi GPIOs.

To keep everything organized, start by creating a new folder:

pi@raspberrypi ~ $ mkdir web-server pi@raspberrypi ~ $ cd web-server pi@raspberrypi:~/web-server $

Create a new file called

pi@raspberrypi:~/web-server $ nano

Copy and paste the following script to your Raspberry Pi (this code is based on Matt Richardson great example).

Creating the HTML File

Keeping HTML tags separated from your Python script is how you keep your project organized.

Flask uses a template engine called Jinja2 that you can use to send dynamic data from your Python script to your HTML file.

Create a new folder called templates:

pi@raspberrypi:~/web-server $ mkdir templates pi@raspberrypi:~/web-server $ cd templates pi@raspberrypi:~/web-server/templates $

Create a new file called main.html.

pi@raspberrypi:~/web-server/templates $ nano main.html

Copy and paste the following template to your Pi:

<br />

RPi Web Server

{% for pin in pins %}

{{ pins[pin].name }} {% if pins[pin].state == true %} is currently on

{% else %} is currently off

{% endif %} {% endfor %}

Launching the Web Server

To launch your Raspberry Pi web server move to the folder that contains the file

pi@raspberrypi:~/web-server/templates $ cd ..

Then run the following command:

pi@raspberrypi:~/web-server $ sudo python

Your web server should start immediately!

python launch web server


Open your Raspberry Pi address in your browser by entering its IP address, in my case:

rpi web server browser


Raspberry Pi Network File Share Using Samba (SMB)

You can share your Raspberry Pi’s files and folders across a network using a piece of software called Samba, a Linux implementation of the Server Message Block protocol. The following instructions will set your RPi to share its files on your local network and be accessible by Windows.

Connecting an Arduino to a Raspberry PI using I2C

Raspberry Pi connected to Arduino via I2C
I’m intending to use several Arduino Boards as a cheap means of controlling a number of RFID Readers which will be used to detect the position of Locomotive Engines on my LEGO Train Layout. That said I need a way of connecting these Arduinos to the Raspberry Pi which is the Master Controller for the layout.
The easiest way of Connecting an Arduino to a Raspberry PI is using USB, however the PI’s USB ports are need for WiFi Keyboard, Mouse, etc. So in many cases USB is out, especially if you are using a Raspberry Pi Model ‘A’.

Using a PS2 Dualshock Controller with Raspberry Pi

I have spent the weekend experimenting with my Raspberry Pi’s. One challenge I set myself was to get a Sony PS2 Dualshock Controller working with Raspberry Pi. The main reason for this, was to allow me to control a BrickPi Robot without using a Mindsensors PS2 Controller Adapter connected to the Brick Pi. This leaves access to the maximum number of four NXT Sensor Ports on the BrickPi Board.

Raspberry (Banana) Pi to PC using a Serial Connection

USB-to-serial Console Cable
Using a Connection via a Serial Port is a low-level way to send data between the Raspberry (Banana) Pi and another computer system. There are two main ways in which it can be used:
  • Connecting to a PC to allow access to the Linux console. This can help to fix problems during boot, or to log in to the Pi if the video and network are not available.
  • serial interface. This can be useful if you want the Pi to control another device.

Setting Up a Static IP Address for the Raspberry Pi

Static IP Address
When you wish to log in to your Raspberry Pi remotely, you will need the IP Address of the Raspberry Pi. By default, the Raspberry Pi will be given an IP automatically by the router (called Dynamic IP and denoted by DHCP) when you connect to a network. However, as the name suggest, the IP can change whenever you remove the Pi from the network or turn it off.

Having a static IP isn’t essential, however it will make repeated access to the Raspberry Pi via SSH and VNC much simpler, as you will always know that the Raspberry Pi has the same address every time.

Remotely Control the Raspberry Pi using VNC

Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse events from one computer to another, relaying the graphical screen updates back in the other direction, over a network. VNC is platform-independent – a VNC viewer on one operating system may connect to a VNC server on the same or any other operating system. There are clients and servers for many GUI-based operating systems, including Java.
I will endeavour to explain how to install and use VNC with your raspberry Pi. This will allow you to see/use the Raspberry Pi’s graphical desktop remotely, using the mouse and keyboard as if you were sitting in front of your Pi.

First Look at the Raspberry Pi Camera with CS Mount Lens

Raspberry PI Camera
Back at the end of December 2013 I discovered and purchased a Raspberry Pi Camera Board with a CS Mount Lens already fitted and is supported in the latest version of Raspbian, Raspberry Pi’s preferred operating system. The ArduCAM Group have released an add-on camera module for Raspberry Pi which is fully compatible with official one. The camera duly turned up a fortnight later in a small box which had been packed with great care. I finally organised myself to check the Raspberry Pi Camera module a few days ago.

Set-Up the Initial Software Configuration for the BrickPi

Raspi Forklift
The BrickPi is an add-on board from Dexter Industries that gives your Raspberry Pi LEGO® Mindstorms NXT Compatibility. The BrickPi helps you connect LEGO® Mindstorms sensors, motors, and parts to easily turn your credit card size computer into a powerful robot.

Do NOT follow this link or you will be banned from the site!
error: Content is protected !!