Skip to content

yusufcanb/robotframework-gpio

Repository files navigation

GPIOLibrary

pypi-badge build stable

Robot Framework Library for interfacing GPIO pins on executing robot files on Raspberry Pi's.

For Library documentation you can visit; https://yusufcanb.github.io/robotframework-gpio/

Requirements

Installation

Install RPi.GPIO with command below;

pip install RPi.GPIO

Then install GPIOLibrary with;

pip install robotframework-gpio

Examples

You can find example robot files in the /examples directory.

Basic Usage

*** Settings ***

Documentation   Test LED is fully functional
Library                     GPIOLibrary
Suite Setup                 Begin GPIO Test

*** Variables ***

${LED_PIN}                  17

*** Test Cases ***

LED Should On
    Set Output Pin                  ${LED_PIN}
    Set Pin High                    ${LED_PIN}
    ${pin_status}=                  Get Pin Status      ${LED_PIN}
    Should Be Equal As Integers     ${pin_status}       1

LED Should Off
    Set Output Pin                  ${LED_PIN}
    Set Pin Low                     ${LED_PIN}
    ${pin_status}=                  Get Pin Status      ${LED_PIN}
    Should Be Equal As Integers     ${pin_status}       1
 
*** Keywords ***

Begin GPIO Test
    Set Mode                        BCM
    Set Warnings Off

Remote Library Usage

First install robotframework/PythonRemoteServer to Raspberry Pi;

pip install robotremoteserver

Then, start remote library server with following commands;

from robotremoteserver import RobotRemoteServer
from GPIOLibrary import GPIOLibrary

RobotRemoteServer(GPIOLibrary(), host='0.0.0.0')

Finally, you can execute the robot file below from any machine within the same network of Raspberry Pi.

*** Settings ***

Documentation                       Example robot file for using GPIOLibrary on a remote Raspberry Pi device

Library                             Remote      http://${ADDRESS}:${PORT}
Library                             Dialogs
Suite Setup                         Begin GPIO Test

*** Variables ***

${ADDRESS}                          raspberrypi.local
${PORT}                             8270

${LED_PIN}                          17

*** Test Cases ***

LED Should On
    Set Output Pin                  ${LED_PIN}
    Set Pin High                    ${LED_PIN}
    Execute Manual Step             LED is on?
    

LED Should Off
    Set Output Pin                  ${LED_PIN}
    Set Pin Low                     ${LED_PIN}
    Execute Manual Step             LED is off?
 
*** Keywords ***

Begin GPIO Test
    Set Mode                        BCM
    Set Warnings Off

About

Robot Framework Library for interfacing GPIO pins on robot files for Raspberry Pi's.

Topics

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages