Construya su huerto robotico


En efecto   ya es posible  construirse   un huerto robótico ,  donde incluso el sw de gestión es open sw y cuyo cerebro no podía ser otro que una Raspberry Pi 3  .

Evidentemente para llevarlo a  la praxis realmente la barrera no es otra que el exigente hardware para controlar el huerto en si , pues este requiere  de una gran cantidad de elementos  que sin duda hacen mucho mas complejo  su construcción ,pero la buena  noticia  es que   aproximadamente FarmBot (que es la empresa que hay detrás de las idea)  prometen simplificarlo mediante diferentes kits  si esta dispuesto a  realizar una inversión entre 2595$ ( la version standard) o la 3795$ ( la version XL)

Aparte del potente hardware que funciona a modo de un puente grúa  con un cabezal multiherramienta bastante original llama la atención el sw para controlarlo bajo el concepto de arrastrar y soltar donde se puede diseñar gráficamente una granja arrastrando y colocando las plantas en el mapa  desde un interfaz que se  aprende en pocos minutos , por  lo que llevar a la plantación como podemos ver es bastante sencillo ya  que se tendrá todo previsto en todo momento cuando llegue la temporada de cultivo.

Es evidente que unos de los valores mas apreciados en el sw es que permite construir nuevas características,crear  código de propios mods personalizados o soportar  la aplicación web localmente  para ser independiente de la red. Ademas todo el software está bajo la licencia MIT en código abierto (open software)  y este esta compartido en Github , permitiéndole contribuir, copiar, modificar, redistribuir e incluso vender software FarmBot. ¿desea ayudar a crear nuevas funciones o tiene un error que reportar? ¡ Involúcrese en github!

 

En  el sw ademas  se contemplan regímenes de crecimiento  para construir pautas para el cuidado de una planta a lo largo de toda su vida mediante la programación de las secuencias a ejecutar cuando la planta es de una cierta edad. Incluso  los regímenes se pueden reutilizar, haciendo una brisa de replantación. Otro aspecto son las secuencias de construcción donde rápidamente se pude crear secuencias personalizadas para aprovechar al máximo su hardware donde ningún código es requerido. Simplemente arrastrar y soltar las operaciones básicas  ajustar los parámetros y guardar.

Ademas   el control se hace en tiempo real debido a que se pueden  utilizar  las  herramientas en tiempo real con los controles manuales. !Incluso se puede ahuyentar aves en tiempo real ordenándolo desde un smartphone  !

El Hardware ha pasado por grandes esfuerzos al diseño, fabricación y controles de calidad  siendo además, todos los modelos de CAD  públicos así que usted puede construir sus propias piezas.

Respecto  a  los elementos el hw ( que incluyen ambos kits)  estos son los elementos que lo   componen:

  • Extrusiones de aluminio para las pistas, pórtico y eje z
  • Placas de aluminio de 5mm anodizado
  • V-ruedas con rodamientos de bolas de goma sellada de acero inoxidable
  • Moldeado de inyección UV estabilizado componentes de plástico ABS
  • Tornillos de acero inoxidable, tuercas t, separadores y otros hardware
  • Cuatro motores de pasos NEMA 17 con codificadores rotatorios y cables
  • GT2 de correas y poleas de aluminio
  • Portacables de plástico durable
  • Acero inoxidable leadsrew y delrin bloque de 8mm alta tolerancia
  • Fuente de alimentación impermeable IP67 con 110 y 220V CA
  • Raspberry Pi 3 y 8GB de tarjeta microSD
  • Farmduino microcontrolador con montado y probado con controladores paso a paso
  • Caja o impermeable para la electrónica
  • Montaje de la herramienta universal, cubierta y cable de 12 hilos
  • Herramienta de inyector de semilla con bomba de vacío, tubos, compartimiento de la semilla, bandeja de la semilla y agujas de bloqueo luer adaptable (3 dimensiones)
  • Boquilla de  riego con válvula solenoide, tubos y adaptadores para manguera de jardín estándar de Estados Unidos
  • Herramienta de sensor de suelo
  • Herramienta desyerba con implementos personalizables
  • cámara  USB IP67 impermeable
  • Dos toolbays de 3 ranuras

 

En este video podemos ver el equipo en funcionamiento !es impresionante!

 

Software

OpenFarm.CC fue concebido originalmente como un pequeño componente del proyecto FarmBot. A medida que se progresó, se hizo evidente que OpenFarm no tenía ninguna razón para estar atado a FarmBot, sino que podría vivir por sí solo. En septiembre de 2014, 1.605 personas respaldaron a OpenFarm en el pedal. Hoy en día, OpenFarm es una aplicación independiente, sin fines de lucro y comunidad. Puede de hecho involucrarse con OpenFarm uniendo el canal  y  contribuyendo en Github, o yendo a OpenFarm.cc y creando contenido!

Hay muchos sistemas de software que contribuyen a la funcionalidad de FarmBot. El siguiente diagrama muestra los diferentes componentes y la forma en que los datos fluyen entre ellos. Lea las breves descripciones de cada componente en las siguientes secciones para entender el sistema como un todo, y luego Sumérjase en la configuración de los componentes necesarios para su FarmBot.

La aplicación web FarmBot  ,como se pude ver en el video  anterior, permite configurar y controlar fácilmente  FarmBot desde un navegador web en su laptop, Tablet o smartphone. La aplicación cuenta con controles manuales en tiempo real y registro, un generador de secuencias para crear rutinas personalizadas para que se ejecute FarmBot y un diseñador de granjas de arrastrar y soltar para que pueda diseñar y administrar gráficamente su granja.

El broker de mensajes es una aplicación de nube que actúa como intermediario para todos los mensajes entre la aplicación web FarmBot y los dispositivos FarmBot . Maneja conexiones de socket, identificación de dispositivos y autenticación.

FarmBot Raspberry PI utiliza un sistema operativo personalizado llamado FarmBot os para mantener una conexión y sincronizar con la aplicación web a través del intermediario de mensajes. Esto permite a FarmBot descargar y ejecutar eventos programados, ser controlados en tiempo real, y cargar logs y datos de sensores. El SO se comunica con el Arduino sobre USB para enviar comandos de código G y F y también recibir datos recopilados.

FarmBot os tiene una utilidad integrada denominada Configurator que permite introducir fácilmente las credenciales de WiFi y de aplicación web desde un dispositivo habilitado para WiFi (como un ordenador portátil o un smartphone). Esto es útil para la configuración inicial con el fin de obtener su FarmBot conectado a su casa wifi.

Respecto  firmware  Farmbot para Arduino es flasheado en el microcontrolador Arduino mega 2560 de FarmBot y es responsable de operar físicamente el hardware, las herramientas, los sensores  otros componentes electrónicos de FarmBot. Recibe los códigos de G y de F del regulador del PI de la Raspberryde FarmBot vía conexión serial del USB, y después mueve los motores y Lee y escribe los pernos por consiguiente. También envía los datos recogidos de los codificadores rotatorios y el PIN Lee de nuevo a la Raspberry PI.

OpenFarm.cc es una base de datos gratuita y abierta para la agricultura y el conocimiento de jardinería. Este servicio proporciona información de cultivo y crecimiento a la aplicación web para un usuario racionalizado experimentado.

 

Hardware

FarmBot Genesis es  la plataforma de hardware de código abierto de bricolaje optimizada para la producción de alimentos a pequeña escala basada en el suelo .FarmBot Genesis , quee s la version mas económica ,  está diseñado para ser una Fundación FarmBot flexible para la experimentación, prototipado y hacking. Los factores que conducen detrás del diseño son simplicidad, manufacturabilidad, escalabilidad, y hackeabilidad.

FarmBot Genesis es una pequeña escala FarmBot principalmente construida a partir de protuberancias en V-ranura de aluminio y placas de aluminio y soportes. Génesis es conducida por cuatro motores de pasos NEMA 17 con codificadores rotativos, el microcontrolador Farmduino, y un ordenador de frambuesa PI 3. El Génesis puede variar en tamaño desde un área de plantación tan pequeña como 1m2 hasta un máximo de 4,5 m2, mientras que alberga una altura máxima de planta de aproximadamente 1m. Con el hardware y las modificaciones adicionales Anticipamos que el concepto del Génesis podría escalar a aproximadamente 50 m2 y una altura máxima de la planta de 1.5 m.

Como vemos  Farmbot no es su producto típico pues sus creadores  han pasado por grandes esfuerzos para diseñar FarmBot Genesis para ser duraderos, fácilmente ensamblados y modificados con herramientas comunes, construidos a partir de componentes en gran parte fuera de la plataforma, y fabricados con procesos y materiales fácilmente disponibles. Nada sobre FarmBot habla de obsolescencia o de propiedad.

Las pistas son uno de los componentes que realmente diferencian la tecnología de FarmBot de los tractores de ruedas tradicionales de conducción libre. Las pistas son las que permiten al sistema tener una gran precisión de una manera eficiente y sencilla. Hay muchas razones de por qué las pistas son superiores, algunas de las cuales se enumeran a continuación.

  • Las pistas proporcionan una gran precisión y permiten que el FarmBot vuelva a la misma posición repetidamente
  • Cualquier tipo de estructura de empaque de las plantas se puede crear y manejar
  • Las pistas ocupan menos área que las trayectorias para las ruedas del tractor y no compactan el suelo

El pórtico es el componente estructural que puentea las dos pistas y se mueve en la x-dirección vía un sistema de impulsión de la x-dirección. Típicamente, sirve como una guía lineal para el deslizamiento transversal y una base para el sistema de impulsión de la y-dirección que mueve el Cruz-resbale a través del pórtico en la y-dirección. También puede servir como base para el montaje de otras herramientas, electrónica, suministros y/o sensores.

La Cruz se mueve en la Y-dirección a través del pórtico. Este movimiento proporciona el segundo grado mayor de libertad para FarmBots y permite que las operaciones como la plantación se realicen en cualquier lugar del plano XY. El deslizamiento transversal se desplaza utilizando un sistema de impulsión y-dirección y funciona como la base para el montaje de la herramienta y el sistema de la impulsión de la Z-dirección.
Eje Z

El eje z se conecta a la corredera transversal y proporciona el FarmBot con movimiento de dirección z. Sirve como base para la fijación del montaje universal de la herramienta y de otras herramientas. .

Para que los FarmBots crezcan adecuadamente las plantas más altas, el pórtico, la corredera transversal, el eje Z y las herramientas deben tener una separación vertical adecuada de las plantas. Esto generalmente se puede lograr de dos maneras:

  • Usando pistas levantadas y un pórtico Low-Profile
  • Usando pistas bajas con un pórtico alto

En general, el uso de pistas bajas con un pórtico alto es el mejor diseño, especialmente para aplicaciones más grandes, ya que ahorra en costo material, es menos de una monstruosidad, bloquea menos luz del sol, y sería más fácil de mantener. Sin embargo, en el caso de un FarmBot que se está instalando en un invernadero u otra estructura, utilizando las paredes existentes para apoyar las pistas más altas puede ser una mejor solución.

 

El  Soporte universal para herramientas (universal Tool Mount o UTM)  permite a FarmBot Genesis cambiar automáticamente las herramientas para realizar diferentes operaciones. La UTM es necesaria porque no es factible tener todas las herramientas montadas en el eje z al mismo tiempo por varias razones:

  • Esto sería muy pesado y aumentaría las tensiones en todos los componentes, así como requerir un motor más grande del z-axis.
  • La mayoría de las herramientas necesitan ser la cosa “más baja” en el eje z para poder trabajar. Tener múltiples herramientas compitiendo por la posición más baja (ej: una sonda de temperatura y un inyector de semillas) no sería ideal y puede que no funcione en absoluto. El uso de mecanismos de elevación y descenso de herramientas individuales, o un mecanismo de estilo de torreta sería complejo, pesado, voluminoso y limitado en el número de herramientas que podría soportar.
  • El tamaño del eje z debe mantenerse a un mínimo para que tenga un impacto mínimo sobre las plantas, especialmente cuando no hay mucho espacio entre ellos.

La UTM es un componente de plástico que se monta en la extrusión de aluminio del eje z utilizando dos tornillos M5 y tuercas en t.Algunas de sus características:

  • 3 imanes fuertes del anillo del neodimio para sostener magnético las herramientas en el lugar vía otros imanes colocados en la misma configuración en la herramienta.
  • Pasadizos para agua, enmiendas líquidas (ej.: abono), y vacío o aire comprimido para pasar de la UTM (y el resto de FarmBot) a la herramienta.
  • 12 tornillos de resorte que hacen conexiones eléctricas con herramientas.

 

Es como vemos una de las partes cruciales del proyecto pues la que realemnte actua sobe las plantas. Precisamente en este video nos explican en que consiste esta versátil herramienta;

 

Mas información en https://farm.bot/

 

Anuncios

Huerto controlado por raspberry


Carolina Herrero nos propone un sistema de un sistema automatizado para riego  que  ademas  no precisa de conexión a Internet porque todas las medidas se  gestionan de forma interna y por tanto no precisan ningún servicio de IoT  para su  funcionamiento ( como por ejemplo Cayenne.com del que  hemos hablado numerosas ocasiones en este blog)

 

La idea principal de Carolina era construir un sistema de riego automático, controlado por diferentes tipos de sensores, de forma que el sistema tomase decisiones de modo automático  guiándose  en función de las condiciones del ambiente y la necesidad de riego que tiene la tierra según el grado de humedad  de modo que cuando las condiciones fuesen óptimas comenzase el riego(, siempre y cuando exista agua en el depósito)
Además su creadora  también quería que los datos se almacenaran de forma periódica en una base de datos local  mySQL  , y a través de una aplicación Web, con sus  credenciales poder acceder y ver un histórico gráfico de las mediciones de los sensores .
Para conseguir esto básicamente   ha utilizado:
  • Varios  Sensores
  • Una placa  Microcontroladora
  • Un Servidor local

Sensores

El sistema utiliza diferentes tipos de sensores, porque se requiere  controlar diversos valores como son :
  • Valores de la humedad de la tierra para lo que se usa un sensor conocido como YL-69, que consiste en dos picas que se encuentran enterradas en tierra de manera que controlando la resistencia de la tierra se puede conocer la humedad.Esta es una herramienta indispensable para un jardín conectado  pues por si mismo nos puede  recordar que debe regar las plantas de interior o para monitorear la humedad del suelo en su jardín . Se alimenta a: 3.3V-5V   y el modo de módulo de salida dual, salida digital, salida analógica más precisa

  • Para recoger los valores de humedad y temperatura ambiente se utiliza un  simple sensor DHT11 (si bien  un DHT22 hubiese sido  mas recomendable por su mayor precisión , aunque es cierto que su coste es algo mayor)                                                   
  • De la temperatura del suelo se encarga el DS18B20, un sensor sumergible y resistente a la humedad, que se usará para controlar la temperatura de la tierra. 
  • Por seguridad, y para evitar que las bombas funcionen en vacío, y puedan dañarse, es imprescindible controlar el nivel de agua que hay en el depósito, y estos se consigue con un sensor de nivel .Estos sensores pueden medir humedad entre el 10% -90% sin condensación con un consumo de menos de 20mA y ofreciendo una salida analógica con  un área de detección de 40mmx16mm
  •  Por último controlar si hay luz o no, para evitar el riego de noches se ha usado un sensor de luz, también conocido como resistencia LDR.

Arduino

El encargado de recoger todos los  valores  procedentes de los sensores descritos y tomar las acciones necesarias es una placa  sistema Arduino  que ha sido programado para recoger datos, actuar en función de los valores de dichos datos, y en última instancia se encarga de mandarlos a un servidor ( una Raspberry Pi) para su seguimiento estadístico  de modo que en principio si no nos interesa seguir esa traza perfectamente el proyecto quedaría únicamente con esta placa   y sus sensores .

Aquí su autora comparte  una parte del código encargado de recoger los datos, y enviarlos por el puerto serie.

//Función que se encarga de leer datos de todos los sensores
void leer_datos_sensores(){
  valor_ha = dht.readHumidity();             //Se lee la humedad en el ambiente
  valor_ta = dht.readTemperature();          //Se lee la temperatura en el ambiente
  valor_ht1 = analogRead(hum_tierra1);       //Se lee humedad en tierra en la zona1
  valor_na = analogRead(nivel_agua);         //Se mide el nivel de agua existente en el depósito
  valor_luz = analogRead(luz_ldr);           //Se lee la luz
  DS18B20.requestTemperatures();             //Prepara el sensor para la lectura
  valor_tt1 = DS18B20.getTempCByIndex(0);    //Se lee la temperatura en tierra en la zona 1        
}
//Función para enviar valores de los sensores por el puerto serie
void enviar_datos(){
  Serial.print(valor_ha);Serial.print(“,”);
  Serial.print(valor_ta);Serial.print(“,”);
  Serial.print(valor_ht1);Serial.print(“,”);
  Serial.print(valor_na);Serial.print(“,”);
  Serial.print(valor_luz);Serial.print(“,”);
  Serial.print(valor_tt1);Serial.print(“,”);
}

Servidor web y BBDD

Como servidor no podía ser de otra manera que optar  por una Raspberry PI conRaspbian, basada en Debian  y que  hace  de servidor  Base de Datos, y además también de de Servidor Web.
Como servidor web se usa el Servidor Web Apache funcionando junto con MySQL como servidor de BBDD.
Además para que Arduino y Raspberry se comuniquen entre sí, se requiere un script en Python, que se encarga de recibir los datos por el puerto Serie que Arduino está enviando de forma constante .
Básicamente este script recibe los datos de Arduino  , se conecta con la  BBDD MySql  e inserta los datos.
#!/usr/bin/python
#-*- coding: UTF-8 -*-
 
import MySQLdb
import serial
 
# Establecemos la conexión con la base de datos
bd = MySQLdb.connect(“host”,“user”,“pass”,“db” )
# Preparamos el cursor que nos va a ayudar a realizar las operaciones con la base de datos
cursor = bd.cursor()
 
#Inicia la comunicación con el puerto serie
PuertoSerie= serial.Serial(‘/dev/ttyACM0’, 9600)
#Lectura de datos
sArduino = PuertoSerie.readline()
#Separa la cadena en valores, cada valor hasta la coma es almacenado en una variable
sHumAmbiente,sTempAmbiente,sHumTierra1,sNivelAgua,sLuz,sTempTierra1=sArduino.split(“,”)
 
ha = float(sHumAmbiente)
ta = float(sTempAmbiente)
ht1 = int(sHumTierra1)
na = int(sNivelAgua)
luz = int(sLuz)
tt1 = float(sTempTierra1)
zona1 = 1
 
 
#Almacenamos los valores en tabla datos de la base de datos huerto
sql1=“INSERT INTO datos_huerto(hum_ambiente,temp_ambiente,hum_tierra,nivel_agua,luz,temp_tierra,id_zona) VALUES (%f,%f,%d,%d,%d,%f,%d)” % (ha,ta,ht1,na,luz,tt1,zona1)
 
try:
   # Ejecutamos el comando
   cursor.execute(sql1)
   bd.commit()
except:
   print “Error”
   bd.rollback()
 
# Nos desconectamos de la base de datos
bd.close()
Para se hacer esto  de forma periódica pero no constante, puede usarse  la herramienta Cron integrada en Raspbian, de manera que cada “X” minutos se ejecute el script en Python.
Para la parte de  visualización de los datos la autora opto  por o una aplicación Web sencilla, programada n Php, junto con pequeñas funciones en Javascript para controlar y validar ciertos campos. En el aspecto visual uso  el framework Bootstrap, asi como la  librería HighCharts para la creación de gráficas y así conseguir visualización de los datos muy atractiva.
arduino.png
Es muy importante que si le damos salida a internet a La Rasberry PI  nos cercioremos de que está segura. Para ello es interesante :
  • Modificar el archivo de configuración de Apache, para que ante un ataque muestre la mínima información posible sobre el servido
  • Encriptar el tráfico entre cliente y servidor mediante certificados SSL
  • Forzar para que el acceso siempre sea seguro vía peticiones del tipo  HTTPS.
 Finalmente esta es la lista de componentes utilizados para el sistema:
  • Arduino Mega 2560 Rev.3 x1
  • Raspberry Pi x1
  • Sensor de humedad de tierra YL-69 x 2
  • Sensor de temperatura y humedad ambiente DTH-11 x1
  • Sensor de luz LDR x1
  • Sensor de temperatura de tierra  SD18b20 x2
  • Sensor de nivel de agua x1
  • Placa de 4 relés 5V-220Vx1
  • Bombas de agua x2
  • Protoboard x1
  • Resistencias de pull-up de diferentes valoresx 12
  • Cableado y conectores –
  • Leds de diferentes colores x15
  • Bandeja de plástico x1
  • Piezas de policarbonato x2
  • Recipientes para depósito de agua y electrónica x2
  • Tarjeta SD  para Raspberry PI x1
  • Tubos de goteo x2
  • Plantasx 6
  • Fuente de alimentación 220V x1

Le damos nuestra mas sincera enhorabuena a Laura por su sistema que animamos a que siga perfeccionando así como compartiendo con la comunidad todos sus progresos

Datalogger de posicionamiento con Raspberry Pi y Azure


CÓDIGO

AzureIoTRegistryManagerApp C #
Este es el código de acceso y gestión Azure Registro Hub IO, haciendo uso de la clase RegistryManager.
////The MIT License(MIT)
////Copyright(c) 2016 BardaanA

////Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

////The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

////THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

using System;
using System.Threading.Tasks;

// These are the Microsoft's recommended libraries to access
// and make changes to Azure IoT Hub's Registry
using Microsoft.Azure.Devices;
using Microsoft.Azure.Devices.Common.Exceptions;

// This namespace which also dictates the name of the Assembly can be anything you desire.
namespace AzureIoTRegistryManagerApp
{
    class Program
    {
        // RegistryManager object which is going to do most of the work for our application
        static RegistryManager registryManager;
        // This here is the Connection String that you copied from the IoT Hub Shared Access Policies > iothubowner > Shared access keys; remember??
        static string connectionString = "Don't forget to replace this with your own connection string";
        // Keeps track of the registry access status
        static string registryAccessStatus = "";

        static void Main(string[] args)
        {
            try
            {
                // Let's try and create a Registry Manager using our connection string, shall we?
                registryManager = RegistryManager.CreateFromConnectionString(connectionString);
                registryAccessStatus = "Successfuly connected to the IoT Hub registry"; // Yay!
            }
            catch(Exception ex)
            {
                Console.WriteLine("Registry access failed!  {0}",ex.Message);  // Bummer!!
            }
            // Check if RegistryManager was created successfully
            if(registryManager != null)
            {
                Console.WriteLine("*****************************************************");
                Console.WriteLine("===== Welcome to the Azure IoT Registry Manager =====");
                Console.WriteLine();
                Console.WriteLine("++ {0} ++",registryAccessStatus);
                Console.WriteLine();
                int menuSelection = 0;
                while(menuSelection != 3)  // Loop to keep you going...
                {
                    Console.WriteLine("  1) Add device into registry");
                    Console.WriteLine("  2) Remove device from the registry");
                    Console.WriteLine("  3) Close this application");
                    Console.WriteLine("------------------------------------");
                    Console.Write("Enter your selection: ");
                    menuSelection = int.Parse(Console.ReadLine());
                    Console.WriteLine();
                    switch(menuSelection)
                    {
                        case 1:
                            Console.Write("Enter device name that you want to register: ");
                            string deviceName = Console.ReadLine();
                            Console.WriteLine();
                            if(deviceName.Length > 0 && !deviceName.Contains(" "))  // Weak validation :)
                            {
                                // Calling method that actually adds the device into the registry
                                AddDevice(deviceName).Wait();
                            }
                            else
                            {
                                Console.WriteLine("---");
                                Console.WriteLine("Enter valid name!");
                                Console.WriteLine("---");
                            }
                            break;
                        case 2:
                            Console.Write("Enter name of the device to be removed: ");
                            string deviceRemoveName = Console.ReadLine();
                            Console.WriteLine();
                            if(deviceRemoveName.Length > 0 && !deviceRemoveName.Contains(" "))  // Weak validation :(
                            {
                                // Calling method that actually removes the device from the registry
                                RemoveDevice(deviceRemoveName).Wait();
                            }
                            else
                            {
                                Console.WriteLine("---");
                                Console.WriteLine("Enter valid name!");
                                Console.WriteLine("---");
                            }
                            break;
                        case 3:
                            // Breaks out of the loop
                            break;
                        default:
                            Console.WriteLine("---");
                            Console.WriteLine("Choose valid entry!");
                            Console.WriteLine("---");
                            break;
                    }
                }
                // Closes the RegistryManager access right before exiting the application
                registryManager.CloseAsync().Wait();
            }
        }

        // Method used to add device into the Registry, takes in a string as a parameter
        private static async Task AddDevice(string deviceId)
        {
            // A Device object
            Device device;
            try
            {
                // Lets try and create a Device into the Device Registry
                device = await registryManager.AddDeviceAsync(new Device(deviceId));
                if(device != null)
                {
                    Console.WriteLine("Device: {0} added successfully!",deviceId); // Hooray!
                }
            }
            catch(DeviceAlreadyExistsException)  // What?
            {
                Console.WriteLine("---");
                Console.WriteLine("This device has already been registered...");// When did I do that??
                Console.WriteLine("---");
                device = await registryManager.GetDeviceAsync(deviceId);
            }
            Console.WriteLine();
            Console.WriteLine("Generated device key: {0}",device.Authentication.SymmetricKey.PrimaryKey);  // Now you're talking!
            Console.WriteLine();
        }

        // Method used to remove a device from the Device Registry, takes a string as a parameter
        private static async Task RemoveDevice(string deviceId)
        {
            try
            {
                // Lets try and get rid of the Device from our registry, using the device id.
                await registryManager.RemoveDeviceAsync(deviceId);
                Console.WriteLine("Device: {0} removed successfully!",deviceId);  // Yup!
            }
            catch(DeviceNotFoundException)
            {
                Console.WriteLine("---");
                Console.WriteLine("This device has not been registered into this registry!");  // Are you sure??
                Console.WriteLine("---");
            }
        }
    }
}

Fuente aqui

Fácil monitorización de temperatura con Cayenne


Gracias  a la plataforma de Cayenne , de la que hemos hablado en este blog en numerosas  ocasiones es bastante sencillo monitorizar cualquier variable física  de un modo realmente sencillo  simplemente  haciendo drug &drop desde el panel de control de Cayenne

En este ejemplo  vamos a  ver lo facil que es crear monitor temperatura con Cayenne  , el  cual  utilizando internet sin tener conocimientos  de programación conseguir controlar o monitorizar lo que quiera  en tan solo unos minutos

En efecto   gracias  a un  framework  genérico desarrollado por  myDevices IO Project Builder llamado Cayenne , los desarrolladores , fabricantes y  también aficionados  pueden  construir rápidamente prototipos y proyectos que requieran controlar o monitorizar   cualquier cosa conectada a  una placa  con conectividad  , permitiendo con una sóla cuenta gratuita de Cayenne, crear un número ilimitado de proyectos  mediante una solución  muy sencilla  basada en arrastrar y soltar 

Obviamente el punto fuerte de cayenne  son las  capacidades de  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.

Resumidamente algunas  características clave de esta novedosa  plataforma son las siguientes:

  • Una aplicación móvil para configurar, el monitor y los dispositivos de control y sensores desde cualquier lugar.
  • Fácil instalación que conecta rápidamente los dispositivos, sensores, actuadores, y las extensiones en cuestión de minutos.
  • Motor de reglas para desencadenar acciones a través de dispositivos.
  • Panel personalizable con widgets de visualización de arrastrar y soltar.
  • Programación de las luces, motores y actuadores
  • Control de puertos que se pueden configurar desde una aplicación móvil o  desde un navegador
  • Acceso remoto instantáneo desde su smartphone o con un ordenador
  • Para construir un proyecto de la IO a partir de cero se ha logrado el objetivo de proporcionar  un Proyecto Generador de IO que reduce el tiempo de desarrollo de horas en lugar de meses.

Como veremos , hablamos de un constructor de sitio web fácil de usar, pero para proyectos de IOT, así que veamos  los pasos para crear un proyecto de IoT con esta potente herramienta usando  en esta ocasión un clon de Arduino con wifi : el ESP8266

Hardware y Software

Picture of Hardware and Software  Picture of Hardware and SoftwarePicture of Hardware and Software

El hardware  y software a que necesitaremos es el que siguiente:

 

Sensor DHTXX

DHT11 y  DHT22 son dos modelos de una misma familia de sensores, que permiten realizar la medición simultánea de temperatura y humedad usando ademas un único  hilo para comunicar los datos vía serie, para lo cual  ambos  disponen de un procesador interno que realiza el proceso de medición, proporcionando la medición mediante una señal digital, por lo que resulta muy sencillo obtener la medición desde un microprocesador como Arduino o ESP8266.

Ambos son similares ( DHT11 presenta una carcasa azul  , mientras que el sensor DHT22  es blanco)  compartiendo además los mismos pines  disponiendo de  4 patillas, de las cuales usaremos sólo 3: Vcc, Output y GND.  Como peculiaridad ,la  salida la conectaremos a una entrada digital  , pero necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output.

El  DHT11  puede medir temperaturas entre 0 a 50, con una precisión de 2ºC, humedad entre 20 a 80%, con precisión del 5% y con una a frecuencia de muestreo de 1 muestras por segundo (1 Hz)

En clara superioridad  con el dHT11 , el modelo DHT22 tiene unas características mucho más profesionales.
  • Medición de temperatura entre -40 a 125, con una precisión de 0.5ºC
  • Medición de humedad entre 0 a 100%, con precisión del 2-5%.
  • Frecuencia de muestreo de 2 muestras por segundo (2 Hz)

Destacar que este tipo de  sensores de temperatura  ( y, aún más, los sensores de humedad) , son sensores con elevada inercia y tiempos de respuesta elevados. Es decir, al “lentos” para reflejar los cambios en la medición.

Conectar el DHT11   o el DHT22  a  un Arduino o ESP82366  es sencillo, simplemente alimentamos desde Arduino al sensor a través de los pines GND y Vcc del mismo. Por otro lado, conectamos la salida Output a una entrada digital de Arduino. Necesitaremos poner una resistencia de 10K entre Vcc y el Pin Output.

El esquema eléctrico queda como la siguiente imagen:

arduino-dht11-dht22-esquema

Los sensores DHT11 y DHT22 usan su propio sistema de comunicación bidireccional mediante un único hilo , empleando señales temporizadas por lo que en general, lo normal es que empleemos una librería existente para simplificar el proceso.Por ejemplo podemos usar la librería de Adafruit disponible en este enlace.

Conexión de DHT22 a  ESP12E

El  ESP12E    esta basado en Arduino  pero cuenta   también conectividad wifi integrando la propia antena en la placa de circuito impreso en unas  dimensiones de  25.6mm x 34.2mm .  Además, por motivos de reducción de espacio esta placa no integra conexión usb  , para lo cual necesitaremos un USB FTDI   para programarlo o un  controlador Setup CH340g.

Esta placa cuenta con 11 pines digitales de entrada / salida, todos los pines tienen interruptor / pwm / I2C / 1-wire    siendo su chip principal el  ESP8266 CH340G

Una gran diferencia con una placa Arduino es que solo cuenta  con 1 entrada analógica (entrada máxima de 3,3 V)

 

Como  vemos el circuito para conectar al  ESP12E      un sensor de temperatura  no puede ser más sencillo, pues     simplemente alimentaremos con 3.3v DC tanto el DHT22 como el  ESP12E        en sus  pines correspondiente     sin olvidar  que la salida de datos del DH22(pin datos )    tenemos que conectarla al  pin 5 del GPIO

 

 

 Programar el  ESP12E

Para  probar Cayenne  con el  ESP12E       necesitamos  programar su ESP-12E para conectarse a su punto de acceso wifi   . El código fuente a subir  se puede descargar desde https://codebender.cc/embed/sketch:398516

Básicamente  el código a subir al    ESP12E     usa 5 librerías:  tres de Cayenne donde  tendremos que definir el SSID y la pwd de la red wifi asi como las credenciales de Cayenne    , una cuarta de temporización para enviar muestras a intervalos prefijados ( que obviamente podemos cambiar ) y por último la mencionada para la gestión del DTHXX

Es de destacar  la creación  de  dos puertos virtuales  para capturar  los valores  en tiempo real de la temperatura  y la humedad tomadas ambas  del DHTXX  , lo cual nos van a permitir comunicarnos con el API de Cayenne

 

#include "CayenneDefines.h"
#include "CayenneWiFi.h"
#include "CayenneWiFiClient.h"
#include <SimpleTimer.h>
#include "DHT.h"

#define CAYANNE_DEBUG
#define CAYANNE_PRINT Serial
#define DHTPIN 5
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

// Cayenne authentication token. This should be obtained from the Cayenne Dashboard.
// Change the value of token, ssid, and pwd to yours
char token[] = "xxxxxx";
char ssid[] = "xxxxxx";
char pwd[] = "xxxxx";
DHT dht(DHTPIN, DHTTYPE);

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Cayenne.begin(token, ssid, pwd);
dht.begin();
}

CAYENNE_OUT(V0)
{
float t = dht.readTemperature();
Cayenne.virtualWrite(V0, t); //virtual pin
}

CAYENNE_OUT(V1)
{
float h = dht.readHumidity();
Cayenne.virtualWrite(V1, h); //virtual pin
}

void loop() {
Cayenne.run();
}

Importante:  Necesitaremos actualizar  en el código anterior cambiando el valor de ssid, contraseña  configurandola para la red wifi de su hogar y  también no olvidar   registrar  el  token de Cayenne que previamente habrá solicitado  desde la propia web de cayenne.

Configuración Cayenne Dashboard

Hemos hablado en  muchas ocasiones de Cayenne  pues en realidad está concebido para  que su manejo sea realmente sencillo   de configurar

Nos iremos a  su   url :   https://cayenne.mydevices.com/  

Tras registrarnos nos iremos  al panel de control   ,clicamos en  Add new   y seleccionamos generic ESP8266

A continuación nos ofrece  la API key que deberemos añadir al sw del   ESP12E      y tras reiniciarlo  ya debería poderse  comunicar con el node de Cayenne

 

Si la placa  pues   está configurada con el MQTT  ( username /pwd)     asi como con conectividad  wifi ,  ya   debería  de  poder conectarse al framework de Cayenne   y podemos seguir hacia adelante añadiendo sensores que deberan estar de acuerdo con el sw instalado en el ESP12E

En este caso como hemos definido  dos puertos virtuales para temperatura y humedad el firmware del ESP12E  , necesitamos añadir dos widgets  asociados a esos dos canales:

Para la temperatura  no olvidar que habíamos asignado el primer puerto virtual, el cual ue debemos asignar al widget:
Para la humedad   no olvidar que habíamos asignado el segundo puerto virtual, el cual ue debemos asignar al widget:
Finalmente al asignar los dos widgets  , si esta la placa conectada , debería mostrar un panel similar al siguiente  en el que se jha añadido un widget nuevo asociado al puerto analogico

Configuración de su primer  trigger

Los triggers  o disparadores en Cayenne son una forma de hacer que su placa  reaccione a un cambio  de un sensor conectado a él. Esto podría ser algo tan simple como un valor de temperatura superior a un cierto valor o incluso sólo si el ESP12E pierde la conexión, lo cual como se podría imaginar puede ser muy potente en la creación de dispositivos inteligentes que reaccionan a los alrededores ( como por ejemplo, si la habitación se pone demasiado fría, encienda un  calefactor, etc ).

El proceso de agregar un disparador es muy sencillo como vamos a ver a continuacion:

  1. Ir a añadir en la esquina superior izquierda del tablero de instrumentos.
  2. Seleccionar un trigger desde el cuadro de abajo.
  3. El nombre de su trigger, voy a llamar a la mía “demasiado caliente”.
  4. Ahora arrastrar y soltar su  ESP12E  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. (Si las opciones del dispositivo no se muestran simplemente actualizar 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.Dispara demasiado caliente
  7. Ahora haga clic en “Save trigger”.
  8. Ahora se debe guardar y le enviará una alerta cada vez que el sensor de temperatura es más de 40 grados Celsius.
  9. También puede arrastrar el ESP12E en el cuadro a continuación, y tienen que hacer muchas cosas, incluyendo el control de los dispositivos de salida. Por ejemplo, puede  añadir un LED que se activará cuando la temperatura supere los 40 grados Celsius.
  10. 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.
  11. 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.
  12. Ahora arrastrar el ESP12E  en cuadro a continuación. Seleccione nuestra salida digital y marque la casilla de verificación activada.
  13. Ahora haga clic en Save trigger.
  14. Ahora, cada vez que nuestro sensor de temperatura conectado al Pi informe una temperatura superior a 40 grados Celsius, enviará un correo electrónico y encenderá el LED.También necesitará agregar otro disparador para apagar el LED cuando caiga por debajo de los 40 

Mydevices cayennem Disparadores

 

 

 

Sin duda hay infinitas posibilidades como el lector   puede imaginar

 

Monte su detector de humo en 2 minutos


Un detector de humo es una alarma que detecta la presencia de humo en el aire y emite una señal acústica  de gran intensidad avisando del posible  peligro de incendio lo cual en ocasiones ,por ejemplo por la noche,  pueden salvarnos literalmente la vida, pues en estados de sueño profundo,   tardamos mucho en reaccionar ante señales evidentes  de posibles incendios. Personalmente creo que es una “inversión” (sobre  15€)   que merece la pena realizar , pues como vamos a ver,  no es para nada complicado su instalación.

 

 

Hay muchos tipos de detectores  diferenciándose sobre todos según al método de detección   implementado en la electronica  que contienen: los iónicos  y los ópticos .

Los menos usados , son los ser  iónicos  , mayormente usados para la detección de gases en ambientes industriales ,los cuales  no son visibles a simple vista .

Estos sensores constan de una cámara formada por dos placas y un material radiactivo (Americio 241), que ioniza el aire que pasa entre las placas,  generando  una pequeña corriente eléctrica permanente, que es medida por un circuito electrónico conectado a las placas, siendo esta  la condición “normal” del detector

 

iones.PNG

Este tipo de composición, los hace  especialmente sensibles a los humos que contienen pequeñas partículas presentes en  de fuego de crecimiento rápido y humo no visible, tal como el que se genera en fuegos de combustión rápida provocados por: gasolina, alcohol, aceites, plásticos, líquidos químicos, etc.  normalmente presentes en laboratorios, talleres, tiendas de pintura,etc.

 

Los  detectores ópticos  son en general  mayormente usados en la actualidad por  su gran fiabilidad   y  bajo precio  detectando humos visibles mediante la absorción o difusión de la luz , pudiendo ser   según la electronica :

  • De infrarrojos directos:   el humo obstaculiza  la luz producida por un led  infrarojo enfrentado a  un LDR generando una alarma
  • De láser : funcionan de un modo parecido al anterior  detectando  un oscurecimiento de una cámara de aglutinación con tecnología láser
  • De tipo puntual : es la tecnologia mas extendida por su gran fiabilidad,   estando  los detectores  puntuales  tanto el emisor y receptor alojados en la misma cámara ( es decir  no se ven al formar sus ejes un ángulo mayor de 90º)  y ademas  separados por una pantalla, de manera que el rayo emitido no alcanza el receptor. Cuando entra humo en la cámara, el haz de luz emitido se refracta en las partículas de humo y puede alcanzar al receptor, activándose la alarma.

sesnor.png

 

Normativa

NF EN 14604  es una normativa  de Noviembre de 2005 DI 89/106 / CE 21/12/1988 que indica la directiva sobre la aproximación de las disposiciones legales, reglamentarias y administrativas de los Estados miembros sobre los productos de construcción.

Esta norma europea especifica los requisitos, métodos de prueba, criterios de rendimiento e instrucciones del fabricante para dispositivos de alarma de humo que utilizan el principio de dispersión o transmisión de la luz, o ionización, para aplicaciones domésticas o similares.

La norma incluye requisitos adicionales para dispositivos de alarma de humo que también son adecuados para su uso en autocaravanas. Para probar otros tipos de dispositivos de alarma de humo o dispositivos de alarma de humo que operan bajo diferentes principios, esta norma debe usarse solo como guía. Las características especiales para alarmas de humo, como un enlace de radio, o características especiales diseñadas para riesgos específicos, no están cubiertas por este estándar. Este estándar permite, cuando sea apropiado, incluir en los dispositivos de interconexión de dispositivos de alarma de humo otros dispositivos de alarma de humo similares y / o incidentales, y desactivar la alarma. Cuando se incluyen dispositivos de esta naturaleza, esta norma especifica los requisitos aplicables. Esta norma no cubre dispositivos destinados a ser incorporados en sistemas que utilizan equipos de control e indicación separados.

 

Electrónica de un detector de humo

 

En la siguiente imagen podemos ver el interior de detector de humo fotoeléctrico de tipo  puntal .

 

 

detector fotoelectrico.jpg

Como podemos ver el circuito es muy sencillo   limitándose a  una  bateria de 9v  conectada  a  una pequeña placa donde van integrados el sensor fotoeléctrico ( suelen ir compactos en una carcasa opaca) , el buzzer piezoelectrico , el led de estado , el pulsador del test, el ajuste de sensibilidad (el trimmer amarillo)  y por supuesto la electronica de control (suele ser un único  chip especializado)

 

 

 

 

 

 

Instalación de un detector de incendios

Resumiendo ,los detectores de humo fotoeléctricos  en general son los utilizados para detectar incendios de pequeña  velocidad de propagación, y  que generan humo visible , como los que se generan en incendio donde tenemos combustibles como: maderas, cuero, lana, y la mayoría de los polímeros, es decir  todo aquellos materiales que tenemos  en  un ambiente domestico ( viviendas  y oficinas), Además estos detectores son menos propensos a falsas alarmas en ambientes controlados.

Ademas  no debemos olvidar  que los detectores iónicos utilizan un isotopo radioactivo de modo que existe el riesgo de un accidente y que este se mezcle con el medio ambiente, generando un problema de contaminación.Además  por su gran sensibilidad son mas propensos a falsas alarmas provocadas por acumulación de polvo y corrientes de aire  no olvidando ademas de que también tienen un coste mucho mayor.

 

Vemos   ahora paso a paso como  instalar  uno de los  detectores  mas sencillos de configurar : el detector de humo tipo GS506

 


Este detector de humo se utiliza para la detección temprana de humo peligroso de modo que tan pronto como el humo entre en el interior del dispositivo, sonará una alarma bastante potente  de 85 dB basados en un piezolectrico

Este  detector detecta el humo y no las llamas, pero es obvio que en casi todas las combustiones   hay presencia de humo  sobre todo si hablamos de ambientes domésticos

Cada 30-40 segundos, el detector de humo realiza un auto-test ,lo cual  puede ser notado por un breve destello del LED. En caso de fallo del sensor o de falta de batería lo indicaría mediante una señal audible

Este modelo para facilitar la instalación  contempla dos mejoras respecto a otros modelos convencionales :

  • Soporte magnético  : para no tener que taladrar nada y hacer mas sencilla su instalación  este detector incluye un  kit de fijación magnética de modo que se puede montar rápida y fácilmente sin el empleo de herramientas, tornillos o tacos.
  • Batería de Litio para 10 años: esto  puede parecer  excesivo , pero en realidad es una excelente decisión del fabricante pues  lo hace inmune a los mantenimientos periódicos producido por el agotamiento de la batería y por tanto mucho mas seguro

 

Estas  son la descripcion de producto:

  • Modelo: GS506 (detector de la alarma del humo)
  • Dimensiones: Ø 100x37mm
  • Rango de temperatura: 0°C a + 45°C
  • Volumen de alarma:  85 dB (A) dentro de los 3 metros
  • Certificaciones: EN 14604, NF
  • Fuente de alimentación: Batería de DC 9V (batería de litio: CR9V)
  • Autonómica : 10 años de batería a largo plazo
  • Advertencia de batería baja

 

 

Montaje del detector

Una vez desempaquetemos  este modelo ,en   primer colocaremos la batería de 9V de Litio,para lo cual eliminaremos precintos  de esta y la fijaremos al porta-pilas del detector.

Destacar que este tipo de baterías, vienen cargadas  obviamente  pero  son algo mas gruesas que la pilas convencionales ,pero aun así caben con un poco de  habilidad dentro del compartimiento de una pila convencional

 

IMG_20180317_132024_HDR[1].jpg

Normalmente ahora fijaríamos la base de sujeción  a la pared mediante dos tornillos para luego simplemente mediante un sistema de bayoneta fijaríamos a esta  el detector ,pero en este producto simplemente colocaremos  ahora la cubierta  quedando como enla siguiente imagen todo el conjunto:

IMG_20180317_132120_HDR[1]

Con este detector se adjunta un de kit de fijación magnética  de modo que se pueden montar rápida y fácilmente sin el empleo de herramientas, tornillos o tacos.
Las siguientes superficies no son adecuadas para la fijación:

  • Empapelado de vinilo
  • Poliestireno,
  • Superficies con revestimiento antiadherente,
  • Superficies siliconadas o recubiertas de teflón
  • Superficies que contienen partículas sueltas
  • Superficies que han sido pintadas varias veces

 

Ahora desprincintado el kit observe que hay dos juegos de chapas;

Tomaremos aquella que tiene los dos  imanes distinguibles por dos pequeños círculos:

IMG_20180317_132338_HDR[1]

Eliminaremos el plástico protector del adhesivo  y lo fijaremos   a la base del detector y  la otra pieza  a la pared o alguna superficie plástica  ( por ejemplo los cajetines de conexiones de la instalación eléctrica )

 

 

Pulse el botón de test   que tiene en el centro del detector para probar su funcionamiento normal . Si oye un fuerte pitido que cesa , !enhorabuena ya ha instalado el detector!

 

Realmente gracias  a los colores neutros, este tipo de sensores  quedan bastante disimulados  si se sitúan en las tapas de los registros o en cualquier parte que incluya algo de plástico ( incluso hay personas  que quitan la carcasa exterior  que suele ir a presión  y la pintan de otros colores).

IMG_20180318_175046[1]

Mantenimiento:

El detector fotoeléctrico está diseñado para detectar el humo dentro de una cámara con uno o dos leds ópticos y  uno o varios sensores  que informan cuando hay humo si detectan luz infaroja por la refracción del humo en su interior. El problema con este tipo de detector es que el polvo o suciedad lo puede llegar a leerse como humo creado falsas alarmas, por lo que si es posible  deberíamos  hacer un plan de mantenimiento para limpiar las cámaras de los detectores fotoeléctricos para mantenerlas limpias y evitar falsas alarmas en el sistema .

 

 

Que es CheapDuino


 cheapduino.PNG

CheapDuino es una  placa  compatible con Arduino  de un tamaño muy reducido pero no hace honor actualmente a su origen (cheap , es decir barato ) pues  si bien el precio es aceptable (1/5 precio del Arduino UNO R3)   una de sus mejores puntos es su reducido espacio  proporcionando un procesador de  relativo bajo costo para  estudiantes y los aficionados al desarrollo profesional adecuado para  proyecto personalizados de bricolaje, taller, regalos para amigos, E-Textiles y uso educativo.

Pretendía esta placa ser una opción para aquellos estudiantes de países del segundo o tercer mundo que no pueden pagar el precio del Arduino oficial( entre 25 a 30€) ,  intentando abrir una puerta al mundo físico (unos 10€ por placa), pero   no debemos olvidar que existen clones de Arduino de un precio similar  o incluso mas bajo, así que su gran bazas es su  potencia en tamaño compacto pues  tiene una dimensión de solo 2 cm x 2 cm..

La placa tiene  integrado con un microcontrolador ATmega8 y Arduino NG.  Se  puede  programar directamente con Arduino IDE a través del programador FTDI o el adaptador de serie USB.3

(Cuando conecte el cable de programación fpc al programador DFRobot FPC y al dispositivo CheapDuino, por favor, el lado azul hacia arriba).

A nivel de hardware el procesador tiene 3 pines digitales pwm, 3 pines analógicos e interfaz de fuente de alimentación con almohadillas hexagonales alrededor de la placa, lo que hace que sea muy fácil de soldar para los principiantes.

Por supuesto, la interfaz I2C y el puerto serie también están disponibles para extender los dispositivos periféricos de 2 cables directamente. La adopción del conector micro FPC ahorra espacio adicional en comparación con la interfaz USB Arduino normal.

CheapDuino1.png

Especificaciones

  • Voltaje de funcionamiento: 3 ~ 5 voltios
  • Fuente de alimentación recomendada: 5v
  • Microctonroller: Atmel AVR ATmega8
  • gestor de arranque (opción de placa en Arduino IDE): Arduino NG / w ATmega8
  • 3 pines digitales, 3 pines analógicos con almohadillas hexagonales fáciles de soldar
  • Integra 3 pines pwm, interfaz I2C e interfaz UART
  • Adecuado para talleres, uso educativo y proyectos personalizados de bricolaje
  • Controlador compatible con Arduino de bajo costo
  • Diseñado para los estudiantes y DIYers
  • Dimensiones: 2cm x 2cm x 0.2cm

 

 

 

CheapDuino se puede comprar  en la página dee DFRobot o también en Amazon

 

Como sustituir una mirilla normal por una digital


Las puertas con mirilla convencionales   de tipo óptico no ofrecen ninguna privacidad al usuario, porque desde el exterior es posible ver dislumbrar  actividad o presencial ,  por ejemplo cuando se enciende la luz   o  bien se  se acerca una persona a mirar por el

Se   puede  pues  mejora la seguridad del hogar con una mirilla digital que  ofrece una visión amplia y clara  mejorando nuestra privacidad  siendo especialmente  útil para niños, personas mayores o con alguna discapacidad.

mirilla

Con las mirillas digitales electrónicas se garantiza la seguridad, ya que se trata de cámaras mirilla y no hay visión desde el exterior  siendo ademas mucho mas cómoda   y sencilla la visualización  pues basta pulsar un botón para poder visualizar lo que esta ocurriendo al otro lado de la puerta  sobre la propia cámara.

Normalmente las mirillas electrónicas son muy fáciles de usar: basta con presionar el botón para ver la imagen exterior durante unos segundos, ofreciendo una gran visibilidad desde cualquier ángulo, incluso con poca luz exterior.

Algunos aspectos a tener en cuenta a la hora de valorar una mirilla digital son, el tamaño del display, la resolución de la minicámara ,el ángulo de visión que cubre y su sensibilidad a la luz ya que se desenvolverá en un entorno oscuro. Otros extras son el sensor de movimiento, el timbre inalámbrico, grabación de vídeo y/o fotografías,etc .

Otras consideraciones pueden ser el color de la mirilla que encaje por ejemplo con el color del pomo  o los adornos  que lleve al puerta, pues al margen de las consideraciones estéticas   tenga en cuenta  que lo que buscamos es que pase  lo mas desapercibida posible  para no delatar su naturaleza

Asimismo al elegir un modelo , aunque suelen llevar diferentes conos roscados para diferentes espesores , debe comprobar que se adapte al grosor de la puerta donde será instalada.

Reemplazar la mirilla antigua por una nueva  einstalarla en una puerta sin mirilla es una tarea sencilla como vamos    a ver pues solo se necesita un destornillador de estrella, una moneda y por supuesto la nueva mirilla .

Un modelo con buena relación calidad-precio (unos 35€) y que pasara desapercibido su visor en una puerta clásica  es el modelo VI.TEL. E0426 40 , apto   para marcos de ancho de 38 a 110 mm con  orificio standard (de 14 a 22 mm).

Esta unidad cuenta con pantalla LCD 2,6″, encendido táctil,alimentación 2 pilas LR06 AA y   su angulo de Visión es de 105 °C

Los pasos  para instalar  la mirilla son muy sencillos:

Lo primero que tenemos que hacer es quitar la antigua para lo cual nos bastara el dorso de una moneda.

IMG_20180111_162821[1]

Ahora elegiremos el tubo roscado en función del grosor  de la puerta

IMG_20180111_162858[1].jpg

Colocaremos la cámara  con la flechita hacia arriba pero todavía no elimine el adhesivo

IMG_20180111_162910[1].jpg

Tendremos que liberar   el soporte del cuerpo de la pantalla con ayuda de un destornillador de estrella pues ambos van unidos

IMG_20180111_162838[1]

Ahora queda roscar por el otro lado el tubo teniendo en cuenta que debe colocar el soporte  metálico autoadhesiva por el interior y con el rotulo Up hacia arriba

Tampoco esta mal pegar dos tiras autoahesivas extra  por los extremos para mejorar la posición de la pantalla:

IMG_20180111_162813[1].jpg

Ahora tendremos que conectar el extremo del cable de la cámara con la pantalla metiendo un poco en el interior  del tubo para que no haya tanto cable que pueda doblarse al colocar sobre el la pantalla.

IMG_20180111_162940[1].jpg

Fijaremos la pantalla en la parte de la lengueta superior del soporte

IMG_20180111_163111[1].jpg

No debemos olvidar poner dos pilas AAA  respetando la polaridad de estas:

IMG_20180111_163023[1].jpg

Ya solo queda  atornillar la pantalla a  la base con un tornillo philips

IMG_20180111_163331[1].jpg

Por ultimo   leiminaremos  el protector de la pantalla

IMG_20180111_163715[1].jpg

Asimismo eliminaremos   también el protector de la mirilla

IMG_20180111_163842[1].jpg

La instalación como hemos visto es muy sencilla, pues se ajusta al hueco universal de cualquier rejilla o mirilla de puerta convencional y funciona con 4 pilas AA, que permiten unas 2000 visualizaciones, en la pantalla LCD .