Difference between revisions of "GPIO"

From Let's Control It
Jump to navigation Jump to search
Line 14: Line 14:
  
 
== ESP Easy ==
 
== ESP Easy ==
We do not have to select a task to control basic GPIO output.
+
You dont need a Device definition (task) to control basic GPIO output. You can always control all the pins by HTTP.
  
 
=== Basic on/off ===
 
=== Basic on/off ===
We can control the pin with simple http url commands. To change the pin to high or low steady output:
+
We can control a pin with simple http url commands. To change the pin to high or low steady output:
  
 
'''<nowiki>http://<ESP IP address>/control?cmd=GPIO,<pin>,0</nowiki>'''
 
'''<nowiki>http://<ESP IP address>/control?cmd=GPIO,<pin>,0</nowiki>'''
Line 51: Line 51:
 
'''<nowiki>http://<ESP IP address>/control?cmd=Servo,1,0,90</nowiki>'''
 
'''<nowiki>http://<ESP IP address>/control?cmd=Servo,1,0,90</nowiki>'''
 
'''<nowiki>http://<ESP IP address>/control?cmd=Servo,2,2,45</nowiki>'''
 
'''<nowiki>http://<ESP IP address>/control?cmd=Servo,2,2,45</nowiki>'''
 +
 +
 +
=== Tones ===
 +
 +
From ESPEasy v2.0.0-dev6 its also possible to play a tone on a pin, via a speaker or piezo element:
 +
 +
'''<nowiki>http://<ESP IP address>/control?cmd=tone,14,1300,200</nowiki>'''
 +
 +
Plays a 1300 hz tone for 200 ms on gpio-14h
 +
 +
=== Melodies and ringtones ===
 +
 +
From ESPEasy v2.0.0-dev6 its also possible to play melodies via [[https://en.wikipedia.org/wiki/Ring_Tone_Transfer_Language#Technical_specification RTTTL]]
 +
 +
(dont forget to remove the spaces)
 +
 +
'''<nowiki>http://<ESP IP address>/control?cmd=rtttl,14:d=8,o=5,b=180,c6,b,c6,p,g,g-,p,f,b,c6,p,d6,p,g,p,c6,b,c6,p,d6,p,f,g,g-,4p,g,f,4d-</nowiki>'''
 +
 +
 +
This plays a melody on pin 14.
 +
 +
You can also use these from rules. We use it to let our alarm system give feedback to the user via a piezo speaker.
  
 
== ESP Connexio ==
 
== ESP Connexio ==

Revision as of 00:55, 14 March 2017

Introduction

The ESP module can control things with it's build-in GPIO output pins. We can turn these on or off or we can set these pins to a special Pulse modulated value (PWM output). And it's also possible to send short pulses (single puls) to one of these pins to control specific devices that are switched with a single short high or low signal.

Hardware

It's best to connect a LED to the GPIO to test your setup. You could dim this LED with the PWM mode commands.


LED.png


Software

Custom Sketch

ESP Easy

You dont need a Device definition (task) to control basic GPIO output. You can always control all the pins by HTTP.

Basic on/off

We can control a pin with simple http url commands. To change the pin to high or low steady output:

http://<ESP IP address>/control?cmd=GPIO,<pin>,0

http://<ESP IP address>/control?cmd=GPIO,<pin>,1


PWM control

To set a certain PWM level:

http://<ESP IP address>/control?cmd=PWM,<pin>,<level>


Short pulses

To send a pulse to a certain pin:

http://<ESP IP address>/control?cmd=Pulse,<pin>,<state>,<duration>

Example to send an active high pulse on GPIO 2 for 500 mSeconds:

http://<ESP IP address>/control?cmd=Pulse,2,1,500


Servo motor control

To control a Servo Motor:

http://<ESP IP address>/control?cmd=Servo,<servo nr>,<pin>,<position>

We currently support a maximum of two servo motors so you can build a pan & tilt device if you like.

Example to set servo 1 on gpio-0 to a 90 degree position and servo 2 on gpio-2 to a 45 degree position:

http://<ESP IP address>/control?cmd=Servo,1,0,90 http://<ESP IP address>/control?cmd=Servo,2,2,45


Tones

From ESPEasy v2.0.0-dev6 its also possible to play a tone on a pin, via a speaker or piezo element:

http://<ESP IP address>/control?cmd=tone,14,1300,200

Plays a 1300 hz tone for 200 ms on gpio-14h

Melodies and ringtones

From ESPEasy v2.0.0-dev6 its also possible to play melodies via [RTTTL]

(dont forget to remove the spaces)

http://<ESP IP address>/control?cmd=rtttl,14:d=8,o=5,b=180,c6,b,c6,p,g,g-,p,f,b,c6,p,d6,p,g,p,c6,b,c6,p,d6,p,f,g,g-,4p,g,f,4d-


This plays a melody on pin 14.

You can also use these from rules. We use it to let our alarm system give feedback to the user via a piezo speaker.

ESP Connexio