Main Content

Control Status of LED on Raspberry Pi from Android Device

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

Introduction

Android phones and tablets provide wireless access and graphical user interface. 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 on Raspberry Pi hardware and Android device respectively. You will be able to control the LED on/off on Raspberry Pi board from an Android device.

You will learn how to:

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

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

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

Prerequisites

Required Hardware

To run this example you need the following hardware:

  • Raspberry Pi board

  • Android phone or tablet

Task 1 - Install Simulink Support Package for Android Devices

You need Simulink Support Package for Android Devices to run Simulink model on Android devices.

1. Install Simulink Support Package for Android Devices.

Click link below to

Download and Install Simulink Support Package for Android Devices

2. (Recommended) Complete the Getting Started with Android Devices example.

Task 2 - Configure Network Connection

In this task, you will set up network connection between Raspberry Pi board and 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.

Configure the Simulink model with the IP address of your Raspberry Pi board. 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 Simulink model on Raspberry Pi board.

2. Open the androidraspberrypigettingstarted Simulink model.

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. 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 application runs on your Android device.

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