Sensor de movimiento en Orange pi y Raspberry Pi


Desde 2012 la Raspberry Pi ha ido creciendo de gran popularidad, estando hoy en día posicionada como una de las placas de desarrollo de referencia. Uno de sus rivales clásicos en los últimos tiempos están siendo las Orange Pi, una placa fabricada por Shenzhen Xunlong ,con un diseño similar pero basado en procesadores de Allwinne y con un precio bastante inferior a falta de 1 conector USB

Esta placa  de desarrollo  «low cost» es ademas abierta y hackeable compitiendo abiertamente con otras tantas existentes donde la mas destacable es también la Banana Pi , pretendiendo todas ellas competir con la Raspberry Pi.

Hablando de esta versión, la Orange Pi ,se vende en dos versiones, una básica de bajo coste y otra denominada Orange Pi Plus.

orange_pi

Como ejemplo de uso de GPIO ,vamos a conectar un sensor PIR HC-SR501  a una OrangePi, pero la idea y concepto es aplicable también a una Raspberry Pi utilizando por ejemplo la librería Python RPi.GPIO

 

hcsr501.PNG

 

 

El  modelo HC-SR501HC-SR501 es  un Sensor infrarrojo de bajo coste (menos de 2€  por modulo en Amazon) con placa de circuito de control donde se pueden ajustar la sensibilidad y el tiempo de retención gracias a dos resistencias ajustables que dispone en un lateral.

La gama de voltaje de trabajo es  DC 5V-20V  con un consumo de corriente de  menos de 60uA. La salida  es binaria digital  siendo el voltaje de salida de  3,3 V para un nivel alto o «1» logico  y  0V para el cero lógico (no detección de movimiento).

Lo primero que hacemos es conocer el pinout del HC-SR501, pero rápidamente al ver la serigrafía  de la placa, queda perfectamente claro :GND  para la masa , VCC para la alimentación (que tomaremos desde la Orange Pi ) y un pin de salida (OUT) que será el que nos indique si ha detectado algún movimiento.

Luego lleva un par de resistencia variables o potenciómetros que nos permiten ajustar los parámetros de sensibilidad y duración de la señal, es decir, durante cuanto tiempo vamos a querer que en pin OUT tener la salida informada.

sensor

 

El primer potenciómetro hacia la derecha sirve para ajustar la distancia de modo que el , rango de detección aumenta (unos 7 metros), por el contrario, la gama de detección disminuye (unos 3 metros).
El otro potenciómetro rotándolo a la derecha sirve para retrasar  el  retardo de sensor a  tiempos más largos (sobre 300s).Si se gira la contrario el retardo sera corto (sobre 5).

En cuanto a las conexiones del sensor a la placa no pueden ser mas sencillas:

  • El sensor HC-SR501 funciona a 5v, por lo buscamos los pines que nos proporcionan la alimentación ,los cuales  corresponden a los pines 4 y 6 de la referencia CONN de la Orange Pi.
  • El pin de salida del  HC-SR501 con el estado del sensor se puede  conectar por ejemplo  al puerto 7 de GPIO ( al conector número 7)

Primero y si no lo tenemos instalado,teniendo conectado la Orange pi  a Internet  via cable etherenet, debemos  instalar el acceso al repositorio de código  git  usando el siguiente comando:

orangepi@OrangePI:~$ sudo apt-get install git

Vamos a utilizar la librería en Python orangepiPCgpio_pyH3 para acceder los puerto de conexión GPIO’s. Ésta librería la podéis encontrar en el GitHub del usuario duxingkei33 seidno resumidamentes una adaptación de la librería pyA20 0.2.1 que se utiliza en la placa A20-OLinuXino-MICRO.

Vamos a clonar primero el repositorio:

git clone https://github.com/duxingkei33/orangepi_PC_gpio_pyH3.git

Y ahora para instalar ejecutamos:

cd orangepi_PC_gpio_pyH3
sudo python setup.py install

Una vez tenemos conectado nuestro sensor HC-SR501 a nuestra placa OrangePi, vamos a generar un pequeño script    de ejemplo para leer el valor del conector GPIO 7 tal y como lo veremos en el código el port.PA6:

from pyA20.gpio import gpio
from pyA20.gpio import port
from pyA20.gpio import connector

gpio.init() 

gpio.setcfg(port.PA6, gpio.INPUT) 

while True:
if gpio.input(port.PA6) == 1:
print «PA6/PIN 7 = 1»
else:
print «PA6/PIN 7 = 0»

 

El código es muy sencillo y pasamos a describir:

  • Mediante  gpio.init()  inicializamos  el modulo,acción que siempre haremos los  primero cuando usemos el Gpio.
  • La linea gpio.setcfg(port.PA6, gpio.INPUT) configura PA6 como entrada.Cómo información adicional, si miramos dentro del código de la librería orangepiPCgpio_pyH3 el fichero mapping.h tiene la relación entre PUERTO y CONECTOR. Por ejemplo, el  pin utilizado en el ejemplo lo encontraremos definido así («PA6» cómo 7): «PA6», SUNXI_GPA(6), 7 }.Como curiosidad  puede sorprender que el pinout del conector GPIO 7 corresponda al nombre del puerto PA6 . La librería pyA20 utiliza esta nomenclatura de puertos ya que la placa a la que está orientada originariamente (no ésta modificación/adaptación) tiene diferentes fuentes de GPIO’s y es una forma de darles un nombre único dentro de todas las conexiones.
  • Por ultimo tenemos un bucle while desde el que nunca saldemos y en el que constantemente se  esta mirando el estado del pin pintando en pantalla en función del estado, obteniendo un mensaje u otro.

Para ejecutar el script ,observe que la inicialización del módulo requiere root, por lo que el script de Python lo tenemos que ejecutar con sudo

El ejemplo es muy sencillo y únicamente lo que hace es leer el valor del sensor, que puede ser «0» (no detecta movimiento) o «1» (se detecta movimiento) y pintar en pantalla el resultado ,pero obviamente se puede mejorar  mucho mas , dentro del bucle while por ejemplo añadiendo código para enviar un correo al detectar movimiento o por ejemplo enviar el dato a un repositorio de IoT como Cosm.com . 

 

Fuente aqui

Creación de una app movil para interactuar con Raspberry Pi


¿Piensa que  se necesita mucho tiempo para crear una app  movil para la Raspberry Pi que involucre un proyecto de  IO para conectar sensores de movimiento,  luces , relés  ,etc y se pueda completar en breve ?

La verdad es que  escribir una aplicación, implica leer toneladas de documentación, tomar mucho  tiempo para aprender  lenguajes de programación, código,y mucho tiempo de  trabajo…Pero ¿por qué invertir tanto tiempo en preparar su proyecto, cuando se puede estar en funcionamiento en una fracción de tiempo permitiendo  la construcción de sus proyectos de automatización en cuestión de minutos.?

Entonces, ¿cómo es posible todo esto? Pues gracias  a un  framework  gnerico desarrollado por  myDevices IO Project Builder llamado Cayenne .Cayennese ha creado para los desarrolladores y fabricantes deseosos de construir rápidamente prototipos y proyectos increíbles con  Raspberry Pi  permitiendo con una cuenta gratuita de Cayena, crear un número ilimitado de proyectos.

También tiene capacidades de pleno derecho de la IO  para que pueda controlar de forma remota sensores, motores, actuadores, incluidas los puertos  de GPIO con  almacenamiento ilimitado de datos recogidos por los componentes de hardware,   triggers y alertas,  que proporcionan las herramientas necesarias para la automatización y la capacidad de configurar alertas. Ademas también puede crear cuadros de mando personalizados para mostrar su proyecto con arrastrar y soltar widgets que también son totalmente personalizables.

 

 

 

Ejemplo paso a paso 

Como se puede ver en el video , Cayyene app es una innovadora solución genérica que nos puede ahorrar mucho trabajo a la hora de  crear un proyecto con la Raspberry Pi

En resumen ,algunos de los rasgos que más destacan de la solución de Cayyene es :

  • Tablero de instrumentos flexibles :Personalizar el teléfono o en el salpicadero en línea con arrastrar y soltar widgets.
  • Acciones de activación :Crear disparadores y alertas para dispositivos, eventos, acciones y más.
  • Control de GPIO :configurar a distancia GPIO desde una aplicación móvil o en el salpicadero.
  • El acceso remoto instantáneo :Automáticamente el control remoto y accede a tu Pi desde su teléfono o computadora.
  • Configuración fácil:conectar rápidamente su Pi a Internet y conectar sensores, actuadores y extensiones en cuestión de minutos

Par mostrar lo sencillo que puede ser crear un proyecto con Cayyene, vamos a ver un ejemplo

Todo el equipo que se necesita para la creación de myDevices Cayenne para la Raspbery Pi es muy sencillo (es posible que necesite piezas adicionales si usted está mirando para agregar más sensores, dispositivos y cualquier otra cosa que desee conectado a tu Pi ). :
Necesario:

  • Raspberry  Pi
  • 8gb tarjeta Micro SD si se está utilizando una Raspberry Pi + 2, 3 o B o tarjeta SD de 8 GB para cualquier versión anterior del Pi.
  • Cable Ethernet o Wifi dongle (Pi 3 tiene Wi-Fi incorporado).Usted también tendrá que asegurarse de que tiene una conexión a Internet para la Pi.

Opcional:

  • Caja para la Raspberry Pi
  • Teclado USB y ratón USB

A continuación se presentan los elementos utilizados en el circuito de ejemplo

  • DS 18B20 del sensor de temperatura o similar
  • 4v7k Resistencia
  • Kit de arranque GPIO
  • Cables de conexión
  • Placa prototipos

Instalación de Frambuesa Pi Cayenne

El proceso de instalación de Cayena en la Raspberry Pi es bastante simple y no debería tomar demasiado tiempo para obtener su creación y funcionamiento. Usted tendrá que asegurarse de que ha instalado en su Raspbian Pi. .

  1. En primer lugar, vaya a  myDevices Cayenne y registrarse para obtener una cuenta gratuita.
  2. Una vez que ya se ha registrado usted tendrá que registrarse / conectar el Pi hasta la cuenta que acaba de crear. Para ello sólo tiene que copiar las 2 líneas de comandos que se muestran después de su inscripción. Introduzca estos en el terminal para su Pi. (Estos archivos son únicos para cada instalación nueva)

Únete a la pantalla
Alternativamente, se puede descargar la aplicación y se puede localizar e instalar en su Cayenne Pi automáticamente. (Tenga en cuenta SSH debe estar habilitado )

  1. Tomará unos minutos para instalar en el Pi en función de la velocidad de su conexión a Internet es. El navegador web o aplicación deben actualizar automáticamente con información sobre el proceso de instalación.
  2. Una vez instalado el tablero de instrumentos se mostrará y debe verse como algo más adelante.

Pi tablero de cayena

Configuración de su primer sensor

En este ejemplo vamos a configurar un sensor de temperatura. El sensor usado es el DS18B20,ahora bien  el uso de Cayyene hace que sea muy sencillo.

Todo lo que necesita hacer es configurar el circuito y lo han conectado a la Pi.  También se he añadido un LED que está conectado a la clavija # 17 con una resistencia de 100 ohmios al carril de suelo.
Diagrama del sensor de temperatura Frambuesa Pi
Ahora bien, cuando  configuran el sensor se detecta automáticamente y se añade al tablero de instrumentos.Si no se agrega automáticamente a continuación, tendrá que añadir manualmente. Para añadir manualmente, simplemente, hacer lo siguiente.

  1. Ir a añadir en la esquina superior izquierda del tablero de instrumentos.
  2. Elija un dispositivo en el cuadro desplegable.
  3. Encontrar el dispositivo, en este caso se trata de un sensor de temperatura DS18B20.
  4. Añadir todos los detalles para el dispositivo. En este caso, tendrá la dirección del esclavo para el sensor. Para obtener la dirección del esclavo escriba lo siguiente en el terminal del Pi.
    cd /sys/bus/w1/devices ls
  5. La dirección del esclavo será similar a esta 28-000007602ffa . Simplemente copia y pega esto en el campo de esclavos dentro de Cayena salpicadero.
  6. Una vez introducida seleccione sensor de complemento.
  7. El sensor se debe mostrar en el salpicadero.
  8. Si necesita personalizar su prensa sensor de la rueda dentada y va a llegar a algunas opciones.
  9. También puede ver estadísticas / gráficos. Por ejemplo, el sensor de temperatura puede representar gráficamente los datos en tiempo real y mantendrá los datos históricos también.

Si desea agregar también un LED que se pueda encender y apagar a través del panel de control, siga las siguientes instrucciones.

  1. Ahora vamos a añadir un dispositivo más. A menos que éste será un LED.
  2. Así que volver a añadir un nuevo dispositivo.
  3. Ahora buscar salida digital y seleccionarlo.
  4. Para este dispositivo seleccione su Pi, el tipo de widget es botón, el icono puede ser lo que quiera, y luego seleccione GPIO integrado. Por último canal es el pin / canal que nuestro LED está conectado. Para este ejemplo, es el pin # 17. (Esta es la numeración de los pines GPIO).
  5. A continuación, pulse el botón sensor de complemento.
  6. Ahora puede apagar el pin GPIO alta y baja del tablero de instrumentos y también utilizarlo en un disparador.
  7. Ahora estamos listos para crear nuestro primer gatillo.

Ahora debe tener dos dispositivos en el panel de control que debería ser algo como esto.
Los dispositivos añadidos

Configuración de su primer disparador

Disparadores en Cayyene son una manera de reaccionar a un cierto cambio en la Pi a través de un sensor conectado a él. Esto podría ser algo tan simple como una temperatura superior a un determinado valor o incluso sólo su pi ir fuera de línea. Como se puede imaginar que esto puede ser muy poderosa en la creación de dispositivos inteligentes que reaccionan a los alrededores. Por ejemplo, si la habitación se enfría demasiado, a continuación, convertir un calentador.

El proceso de añadir un disparador es muy sencillo :

  1. Ir a añadir en la esquina superior izquierda del tablero de instrumentos.
  2. Seleccionar un trigger desde el cuadro de abajo.
  3. En primer lugar el nombre de su activación, voy a llamar a la mía «demasiado caliente».
  4. Ahora arrastrar y soltar su Frambuesa Pi desde la esquina izquierda en el caso de la caja.
  5. Por debajo de esto seleccionar el sensor de temperatura y tienen casilla junto a «por encima de la temperatura» seleccionado. (Opciones del dispositivo Si no se muestran simplemente refrescar la página)
  6. Ahora en el cuadro de selección a continuación, notificación y agregar una dirección de correo electrónico o número de teléfono de un mensaje de texto (puede agregar ambos).Asegúrese de marcar las casillas de verificación también.

Gatillo demasiado caliente

  1. Ahora haga clic en «Activación de almacenamiento».
  2. Ahora debería ser guardado y le enviará una alerta cada vez que el sensor de temperatura es superior a 40 grados centígrados.
  3. También puede arrastrar el Raspberry Pi en el cuadro a continuación, y tienen que hacer muchas cosas, incluyendo el control de los dispositivos de salida. Por ejemplo, en mi circuito Tengo un LED que se enciende cuando la temperatura supera los 40 grados centígrados.
  4. Para hacer clic en el gatillo de disparo LED de nueva situada en la parte superior de la página. Nombre esta activar el gatillo LED.
  5. Ahora arrastrar el Pi en el caso de la caja y luego seleccione el sensor de temperatura de nuevo con 40 grados centígrados por encima.
  6. Ahora arrastrar el Raspberry Pi en cuadro a continuación. Selecciona nuestra salida digital y tienen la casilla de marcado.
  7. Ahora haga clic en Activación de almacenamiento.
  8. Ahora cada vez que nuestro sensor de temperatura conectado a la Pi reporta una temperatura superior a 40 grados centígrados se enviará un correo electrónico y encienda el LED. También tendrá que añadir otro factor desencadenante para apagar el LED cuando se cae de nuevo por debajo de 40, pero eso se lo dejo por ahora y pasar a los eventos.

mydevices cayennem disparadores

Eventos

Eventos en Raspberry Pi Cayenne es algo similar a los factores desencadenantes pero son dependientes del tiempo en lugar de depender de un cambio en un sensor o el propio dispositivo. La creación de un evento es bastante fácil

Vamos  a  ver  rápidamente cómo configurar su pi para reiniciar una vez al mes.

  1. Ir a añadir en la esquina superior izquierda del tablero de instrumentos.
  2. Seleccionar evento en el cuadro de abajo.
  3. Ahora debería ver una pantalla con un calendario y una ventana emergente llamado nuevo evento.
  4. Introduzca los detalles de su evento. Por ejemplo, el mío se llama reinicio mensual y ocurrirá en el primer día de cada mes a las 2 am. A continuación se muestra un ejemplo de la pantalla.

eventos de cayena con detalles

  1. Una vez hecho esto, haga clic en Guardar.
  2. Ahora debería ser capaz de ver su evento en el calendario. Basta con hacer clic en él si desea modificarlo.

Como se podría imaginar eventos puede ser bastante potente por lo que sería digno de mirar en estos más. Un buen ejemplo del uso de eventos sería si se necesita algo para ejecutar o activar (como luces que necesitan para ser activado en un momento específico).

Panel de GPIO

El panel GPIO dentro de Frambuesa Pi Cayena le permite controlar y modificar las patas del Pi. Por ejemplo, puede activar un pin de ser una entrada a una salida inversa y el vicio.También se puede activar tanto los pines de salida baja y alta.
Panel de GPIO cayena
Como se puede ver que también lo convierte en un gran lienzo de referencia si necesita hacer referencia hacia atrás y ver qué pines son los que necesita. También puede ver los dispositivos que están asignados actualmente a los pines específicos. También es capaz de ver el estado actual de un alfiler. (Por ejemplo, entrada o salida y baja o alta)

Escritorio remoto

Se  puede  instalar  Cayyene también en un escritorio remoto a su Frambuesa Pi, ya sea a través del navegador web o por medio de la aplicación móvil. Puede hacer esto simplemente haciendo lo siguiente.

  1. Sobre el tablero encontrar el widget que dice «comandos».
  2. Dentro de este control, haga clic en el acceso remoto.
  3. Ahora se conectará a la Pi y abrir una nueva ventana. Si una nueva ventana no se abre el navegador más probable es bloqueado. Simplemente permiten cayenne.mydevices para abrir nuevas pestañas.
  4. Una vez hecho esto se puede controlar su Pi igual que como si estuviera allí con ella.
  5. Una de las ventajas con el uso de Cayena de escritorio remoto es que se puede acceder a él en cualquier parte del mundo con bastante facilidad en lugar de tener que configurar una VPN o abrir los puertos de la red.

 

Fuente   aqui