PHP IoT Projects with Raspberry Pi

Let’s take a break from the usual grind of PHP programming and have some fun exploring Raspberry Pi IoT projects using PHP. I guarantee that this experience will reinvigorate your enthusiasm for programming. In this tutorial, I will introduce you to IoT, Raspberry Pi essentials, and provide simple code examples for a hello world program and basic LED control.

What is Internet of Things (IoT)?

Internet of Things refers to the interconnection and data exchange between devices, creating computerized machines that simplify people’s lives by minimizing manual effort. IoT connects devices to create utility tools for the real world. This is a broad definition to give you an idea of what we are dealing with, and IoT projects have been trending among enthusiastic coders worldwide. The growth rate of IoT projects has been consistently increasing, with a projected exponential growth until 2020. So, it’s the perfect time for you to jump into the IoT wave!

What is Raspberry Pi?

Raspberry Pi is an affordable pocket-sized computer that you can easily carry around. It can perform various tasks like checking emails and browsing the internet. It is particularly convenient for small IoT projects. Raspberry Pi Foundation is a UK-based educational charity with a mission to educate the younger generation about computers and related technologies.

See also  Build Your Own PHP Search Engine: A Step-by-Step Guide

Raspberry Pi Essentials Kit List

To get started with Raspberry Pi, you will need the following essential kits:

  • Raspberry Pi Zero W (or any model of your choice)
  • 16 GB memory micro SD card
  • Memory card reader
  • Mini USB to USB female OTG adapter
  • USB hub
  • HDMI cable and Mini HDMI to HDMI female adapter
  • 5V 2A micro USB power adapter
  • 2*20 pin GPIO header
  • Jumper wires
  • 5mm LED bulb
  • 220 Ohm resistor
  • Breadboard

How to Install Raspbian OS in Raspberry Pi?

Raspbian is the recommended operating system for Raspberry Pi. Follow these simple steps to set up Raspbian OS on your Raspberry Pi computer:

  1. Download the Raspbian OS bundle and extract it into .iso image format on your Windows or Mac machine.
  2. Insert the micro SD card into the card reader and then insert it into your machine.
  3. Download the Etcher tool and use it to flash the Raspbian OS image onto the micro SD card.
  4. Connect the Raspberry Pi with the basic peripherals like a monitor, mouse, keyboard, and power, and insert the memory card into Raspberry Pi. Then, boot up the Raspberry Pi with the micro SD card that contains the Raspbian disc image.

Please note: Use 7-zip for Windows and Unarchiver for Mac to extract the Raspbian OS bundle.

How to Install Apache

Before installing the web server, update the available packages by running the following command in the Raspberry Pi terminal window:

sudo apt-get update

Then, run this command to install Apache server on your Raspberry Pi:

sudo apt-get install apache2 -y

You can check whether Apache is installed properly by opening http://localhost/ in your browser. If the installation was successful, you will see the Apache Debian default page.

See also  PHP vs IOP: Choosing the Right Addiction Treatment Program

How to Install PHP

After installing the web server, use the following command to install PHP and run PHP files and projects on the server:

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

You can create PHP files and projects in the server root directory /var/www/html/ and execute them in the browser.

Raspberry Hello World using PHP

To create a simple PHP “Hello World” example program in the /var/www/html/ root, use the Leafpad editor or any other text editor. Create a PHP file named index.php using the following Raspberry Pi terminal command:

sudo leafpad index.php

This will open the file in the Leafpad editor, where you can add the PHP script to print “Hello World” in the browser.

echo "<h1>Hello World!</h1>";

Raspberry Pi Circuit Diagram for LED On / Off

To control an LED display via a PHP program on Raspberry Pi, you need to create a circuit between the LED and the Raspberry Pi GPIO pins. Solder the 2*20 GPIO header to your Raspberry Pi, and then create the circuit by connecting GPIO pin 18 to the LED and the LED to the GND with a 220 Ohm resistor. Refer to the circuit diagram below and consult the official documentation for more information on Raspberry Pi GPIO usage.

Raspberry Pi Circuit Diagram for LED On / Off

Programming LED On / Off using PHP on Raspberry Pi

Once the circuit is set up, you can create a program to execute commands to the GPIO pins and control the LED display. Use the php-gpio library to work with Raspberry Pi’s GPIO pins. Install this library using Composer by running the following command (assuming you have Composer installed on your machine):

composer require ronanguilloux/php-gpio

After installing the library, you can handle LED On/Off by setting the ON/OFF flag using the output() function from the php-gpio library.

require_once "vendor/autoload.php";
use PhpGpioGpio;

$gpio = new GPIO();
$gpio->setup(18, 'out');

while(true) {
  // To Switch ON the LED
  $gpio->output(18, 1);

  // To Switch OFF the LED
  $gpio->output(18, 0);

After setting the GPIO pin direction and ON/OFF flag in a PHP script, run the script in the Raspberry Pi’s terminal window using the following command:

sudo php led_on_off_script.php

LED On/Off Output via PHP program on Raspberry Pi

The image below shows the circuit I created by connecting the Raspberry Pi GPIO and the LED with the resistor. In this picture, the LED glows based on the commands executed by the PHP program.

See also  Is Outsourcing PHP Development the Right Choice?

Raspberry Pi LED On/Off Output


A big thank you to Vijay anna for gifting the Raspberry Pi.

↑ Back to Top