¿Nos ayudas a pagar el Hosting?

Compartir en facebook Compartir en twitter Compartir en linkedin

Enviar un SMS automáticamente desde Orange Pi

Publicado el 28 de Junio de 2016

Después de publicar como enviar un Email desde Orange Pi, me parece una opción muy interesante enviar un SMS GRATIS a nuestro móvil programáticamente desde la Orange Pi. Puede ser muy útil para nuestros proyectos saber lo antes posible cuando un evento se dispara. En este caso, vamos a ver como enviar un SMS desde Orange Pi con Python usando una cuenta gratuita de Twilio. El sistema debe tener acceso a internet. Posibles usos: disparo de un sensor de presencia, detección de movimiento en cámara de seguridad...

El primer paso es crear una cuenta de prueba en Twilio.

A continuación registrar su teléfono para una cuenta (insisto) GRATUITA.

Este servicio gratuito sólo te permitirá enviar SMS desde y hacia el teléfono registrado, pero eso es justo lo que necesitamos. Introduce tu número de móvil y recibirás un código de verificación por SMS.

Ahora introduce el código que has recibido por SMS en tu teléfono.

Ya tienes tu cuenta de prueba gratuita de Twilio. En tu panel de control (Console Dashboard) tendrás toda la información referida a tu cuenta, así como dos datos que necesitarás más adelante: tus account_sid y auth_token.

Ahora vamos a crear un número de teléfono en Twilio. Sigo insistiendo que todo este proceso es gratuito. Pulsa sobre Get started debajo de Continue with Programmable SMS en tu panel de control. Se abrira una ventana que te ofrecerá crear un número de teléfono americano. Puedes elegir este, ya que tiene capacidad para enviar SMS. Apunta el número porque lo necesitarás más adelante. Ahora te ofrece Enviar un mensaje. Puedes probar a ver si funciona desde aquí, pero nos interesa más pulsar sobre Show Request Code, lo que te ofrecerá varias posibilidades de lenguajes de programación. Elije Python y obtendrás un código que deberás copiar más adelante. En mi caso es el siguiente:

from twilio.rest import TwilioRestClient
# put your own credentials here
ACCOUNT_SID = '<AccountSid>'
AUTH_TOKEN = '<AuthToken>'

client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)

client.messages.create(
    to = '<ToNumber>',
    from_ = '<FromNumber>',
    body = '<BodyText>',
)

Más adelante usaremos este código, de momento, vamos a actualizar Linux:

sudo apt-get update
sudo apt-get upgrade

E instala el módulo para Python de Twilio. En mi caso necesitaba las setuptools de python para poder usar easy_install:

sudo apt-get install python-setuptools
sudo easy_install twilio

Vamos a crear un fichero Python que se llame, por ejemplo, enviar-sms.py. Abre el archivo con tu editor preferido y escribe el código de antes. Por supuesto reemplaza AccountSid y AuthToken por tus propios codigos, y los campos ToNumber y FromNumber poniendo atención a los códigos de país. BodyText es el mensaje que quieras enviar, para el ejemplo yo he puesto "SMS enviado". Como ya he dicho antes, sólo funcionará enviando mensajes SMS al teléfono registrado y validado.

Ahora sólo hay que ejecutar ejecutar el fichero python:

sudo python enviar-sms.py

Y ya está, tu SMS GRATUITO será enviado. Sólo necesitas implementar el código dentro de tu proyecto como una función o llamar el fichero send-sms.py desde tu código. Fácil e interesante ¿no crees?.

Espero que te haya sido de utilidad, no dudes en escribir un comentario si ves algún error o si puedo ayudarte.


Utiliza este espacio si quieres añadir algún comentario adicional o si tienes alguna duda.
No olvides añadir tu distribución y tu placa.

Todos los comentarios serán validados antes de su publicación.

Andrea

Genial, funciona muy bien. muchas graciass


Administrador OrangePiWeb.es

Gracias Andrea.


Rafa

Funciona guay sí. parece que en la versión trial no hay limite aparente de sms gratuitos,no?
Un saludo!


Administrador OrangePiWeb.es

Hola Rafa. Si que hay límites. En la página de Twilio dice: "Twilio ofrece una prueba a todos los clientes que se suscriban, lo que incluye un saldo libre para que experimente. Cuando su saldo está bajando, Twilio le enviará un correo electrónico con información para actualizar su cuenta.", pero no especifica que cantidad te regalan. Yo he hecho muchas pruebas y nunca parece gastarse, pero la respuesta es SI, desgraciadamente HAY UN LÍMITE...
PERO... si necesitas usarlo más allá de la cuenta gratuita, el precio por SMS es de 0,0833€ por mensaje, un precio bastante asequible.


Guimer

como seria para Python version 2.7 .... he seguido los pasos y no me funciona... alguine me ayuda por favor


Administrador OrangePiWeb.es

Hola. Tienes que dar más datos, que error te sale, donde te falla.... saludos


Nombre*

Email* Nunca será publicado ni compartido

Comentario*



Copyright © 2024 desde 2016. Todos los derechos reservados | Diseño JaviPSantos

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies.

OK | Más información