Main Content

Control LED on Raspberry Pi Board Using Android Device

This example shows you how to control a Raspberry Pi® LED from an Android® device.

Introduction

Raspberry Pi is a popular, low-cost, credit card sized single-board computer. You can create compelling projects by using an Android device as a front end to control hardware and peripherals attached to a Raspberry Pi board wirelessly. In this example, you will configure and run two Simulink® models onto Raspberry Pi hardware and Android device respectively. You will be able to control the LED on/off on Raspberry Pi board from Android device.

You will learn how to:

  • Set up a network connection between Raspberry Pi hardware and an Android device

  • Configure and run a Simulink model for Raspberry Pi hardware to receive UDP packets from an Android device

  • Configure and run a Simulink model for an Android device to send UDP packets to Raspberry Pi hardware

Prerequisites

Required Hardware

  • Raspberry Pi board

  • Android phone or tablet

Task 1 - Install Simulink Support Package for Raspberry Pi Hardware

You need Simulink Support Package for Raspberry Pi Hardware to run Simulink model on Raspberry Pi board.

1. Download and Install Simulink Support Package for Raspberry Pi Hardware

2. (Recommended) Complete the Getting Started with RaspberryPi Hardware example in Simulink Support Package for Raspberry Pi Hardware you just installed.

Task 2 - Configure Network Connection

In this task, you will set up a network connection between a Raspberry Pi board and a Android device. The communication protocol used in this example is UDP.

1. Connect Raspberry Pi board to the network with Ethernet cable through Ethernet port.

2. Connect Android device to the same network through Wi-Fi®. Check Settings -> Wi-Fi -> [Wi-Fi network connected] to find the IP address of your Android device.

3. Verify the connection between your Raspberry Pi board and Android device.

Execute the following command on the MATLAB® command prompt:

r = raspberrypi

This command returns an object with IP address info for the Raspberry Pi board.

Run command system(r, 'sudo ping [Android_IP_Address] -c 10') with the Android device IP address found in step 2 to verify the connection. e.g.

system(r, 'sudo ping 172.31.205.40 -c 10')

Task 3 - Run Simulink Models on Raspberry Pi Board and Android Device

1. Open the raspberrypiandroidgettingstarted Simulink model.

2. Configure the Simulink model with the IP address of your Raspberry Pi board.

3. On the Hardware tab of the Simulink model, in the Mode section, select Run on board and then click Build, Deploy & Start to build and run this model on Raspberry Pi board.

4. Open the androidraspberrypigettingstarted Simulink model.

5. Double-click on the UDP Send block. Open the block mask and enter the IP address of your Raspberry Pi board in the Remote IP address edit box. Click OK to save and close the block mask.

6. On the Hardware tab of the Simulink model, in the Mode section, select Run on board and then click Build, Deploy & Start to build and run this model on your Android device. An Android app will run on your Android device.

7. Once the Android app runs, press the switch button in the Android app and observe the LED on/off.