Repositorio de piezas de repuesto para imprimir


MyMiniFactory es  una plataforma abierta en línea para archivos imprimibles de escritorio en 3D compartidos por diseñadores 3D profesionales que fue lanzado por Sylvain Preumont y Romain Kidd en junio de 2013  tieniendo su sede en el Reino Unido en Londres  y la verdad es que es  sin menospreciar a  otras macroplataformas como thingiverse.com , esta nueva  destaca  por la  sorprendente utilidad  de su repositorio pues es posible descargar e imprimir en 3D piezas de repuesto de cientos de electrodomésticos y dispositivos.

Por ejemplo es posible reemplazar sus piezas rotas con estas impresoras 3D probadas al 100%. Desde IKEA a Bosch, y Smeg a Dyson, se  pueden  elegir entre una amplia gama de piezas de repuesto imprimibles en 3D para cualquiera de sus electrodomésticos que necesiten un nuevo componente.

Entonces, ya sea que su tostadora necesite una nueva perilla, o que su cámara necesite una nueva tapa de lente, MyMiniFactory y la impresión 3D lo tienen cubierto.

 

 

minifactory.png
Diseñadores 3D con talento de todo el mundo crean objetos imprimibles en 3D en software de diseño 3D,cargan su trabajo en MyMiniFactory y, una vez que comprueban que los archivos son 100% imprimibles, se abren camino en línea para que los propietarios de impresoras 3D los descarguen de forma gratuita ( incluso si no posee una impresora 3D, puede comprar una en el propio sitio  por  solo $ 99)

`rinter

Actualmente ya tienen mas de 40,000 diseños imprimibles en 3D de alta calidad, todos 100% gratis para descargar e imprimir en casa. Su  dedicado equipo y la comunidad de fabricantes de todo el mundo garantizan que todos los diseños se impriman antes de que se conecten, lo que significa que se  supone nunca perderemos tiempo ni materiales tratando de imprimir archivos  que den lugar a malogradas impresiones .

Para incentivar a los diseñadores es posible ganar premios increíbles y obtener el reconocimiento de las grandes marcas en los concursos de diseño. Cada vez más, las empresas están reconociendo el poder de la impresión en 3D y están llegando a la comunidad de MyMiniFactory en busca de inspiración y soluciones, usan MyMiniFactory Design Challenges como una forma de destacarse y mostrarles lo que puede hacer.

Quizás  la diferencia con otras plataformas de archivos 3D sea que MyMiniFactory garantiza «imprimibilidad» usando la alentosa comunidad de fabricantes, pues se aseguran de que cada archivo se imprima correctamente en una impresora 3D de escritorio, asegurando que los  usuarios tengan acceso a archivos de alta calidad que permitirán impresiones perfectas  en 3d.

 

Seguro  que la próxima vez que se le rompe una carcasa,la tapa del mando o cualquier pieza se acordara de este repositorio para  conseguir una replica de su pieza pero impresa en 3d

 

Más información en  https://www.myminifactory.com/category/brands-spare-parts

Detector de movimiento inteligente


En este ejemplo    volveremos a  usar  un economico NodeMCU ,junto con un  sensor de movimiento PIR  y la plataforma de IoT  Carriots para  construir, usando el IDE de Arduino, un  detector de movimiento inteligente para comerciales y hogar.

El tema  gira en torno a la seguridad de un edificio o casa o una zona restringida detectando cualquier movimiento dentro de un rango específico con un sensor PIR . Gracias al  IoT, además de detectar objetos en movimientos podemos hacer  muchas más cosas como por ejemplo:

  • Encender un dispositivo mediante un relé (en el ejemplo es una luz durante unos 30 segundos).
  •  Al mismo tiempo enviar un correo electrónico al usuario, utilizando la IOT – plataforma Carriots sobre WIFI.
  • El relé se puede conectar a cualquier luz del dispositivo, alarma, cámara, sistema de seguridad…
  • Incluso el disparo puede ser SMS, llamar a las autoridades, llamando a otros servicios…

Node MCU es una plataforma para el desarrollo de proyectos IoT que integra el famoso chip ESP8266, el cual se ha extendido enormemente debido a su facilidad para desarrollar proyectos open source  a los que indudablemente se une su bajisimo precio comparado con otras opciones.
De este componente destaca  integra capacidades de comunicación via WiFi , conteniendo en su interior  microprocesador que puede ser programado fácilmente usando en conocido lenguaje de programación Lua o vía Arduino IDE.

¿Se pregunta cómo controlar  su económico ESP8266 de forma remota desde cualquier lugar del mundo?

En este post repasaremos precisamente el proceso, paso a paso, de cómo escribir código en el IDE de Arduino y programar su ESP8266 permitiendo  que el código  escrito para  el ESP8266 se comunique con la plataforma  de Iot   Carrriots,  la cual  nos va  permitir monitorear  y controlar el ESP8266.

Los pasos  a seguir   para conectar un ESP8266   a  Carriots   son los siguientes:

  •  Instalación del IDE de Arduino .Si aun no lo tiene instalado ,se puede hacer  desde aqui
  • Instalación  del paquete de la placa ESP8266 en Arduino IDE  siguiendo las instrucciones del sitio : https://github.com/esp8266/Arduino
esp
  • Instalación de los controladores USB

Es necesario instalar el controlador USB requerido en su ordenador  para que pueda programar el ESP8266.  Independientemente de la opción de firmware que elijamos, primero necesitamos comunicarnos con la placa de desarrollo ESP-12E utilizando la interfaz USB de la computadora.

El módulo USB a Serial UART incluido en la placa es Silicon Labs ‘CP2012, para lo cual generalmente necesitamos instalar los controladores de puerto COM virtual (VCP) fácilmente disponibles para su sistema operativo específico.Una vez instalado, debemos verificar que el CP2102 sea reconocido por su ordenador

Una vez que el controlador está instalado, podemos conectar el cable USB al puerto USB de la computadora y la placa. Después de hacerlo, deberíamos ver el mensaje: software del controlador del dispositivo instalado correctamente.

Además, podemos verificar manualmente que todo funcione correctamente siguiendo estos pasos:

Abra el Administrador de dispositivos (disponible a través del Panel de control → Sistema y seguridad → Administrador de dispositivos en la sección Sistema)
Debajo de la entrada Puertos (COM & LPT), debe haber un puerto abierto llamado USB-SERIAL CP2102 (COM) donde hay un número típicamente mayor o igual a 3.

  • Carriots

Carriots es una Plataforma como Servicio (PaaS en sus siglas en inglés) diseñada para proyectos del Internet de las Cosas (IoT) y de Máquina a Máquina (M2M)

Carriots es una plataforma IoT creada en España  que  permite crear potentes productos y servicios IoT  haciendo posible conectar fácilmente “sus cosas” al Internet de las Cosas.

Se  pueden construya sus apps inteligentes con Carriots en pocos pasos.

  1. Conectar Dispositivos
  2. Recopilar Datos
  3. Gestionar Dispositivos y Datos
  4. Construir APPs

Principales ventajas

  • Listo para empezar a desarrollar.
  • Minimizar tiempo de desarrollo.
  • Gestión simplificada de múltiples proyectos: Arquitectura de 7 niveles
  • Amplia variedad de APIs y potente SDK: REST API y SDK
  • Escalabilidad inmediata
  • Inicio gratuito y pago por uso.
  • Alojamiento simplificado: Oferta PaaS para escalabilidad fiable.

 

Hardware

Ahora preparado el entorno , necesitamos el hw  que lo permita , el cual  como vamos a ver,  es muy simple reduciendose a la placa o NodeMCU, una placa de relé, el sensor PIR  y una fuente de 5V DC

Sensor PIR

El sensor PIR usado , es del tipo HC-SR501, de bajo coste   el cual es ampliamente utilizado en diversos equipos eléctricos de detección automática, productos para el control automático especialmente a batería.Tiene alta sensibilidad, alta fiabilidad, bajo consumo de energía, el modo de operación de bajo voltaje.

Especificaciones:

  •  Dimensiones: Cerca de 3,2 x 2,4 cm (L x W).
  •  Rango de tensión: 5V-20V DC.
  •  Corriente estática: < 50uA
  •  Voltaje de salida: 3,3 V (alto) / 0V (bajo)
  •  Modo del disparador: L (no se puede gatillo repetida), H gatillo repetida (Repetición predeterminado de disparo)
  •  El Tiempo de retardo: 0,3 seg 18 seg (ajustable)
  •  Temperatura De funcionamiento: -15 C a 70

 Placa de rele

Por  precio  es mucho mas asequible optar por una placa    de  2 reles    con salida de relé máxima: DC 30V / 10A, AC 250V / 10A. Es  importanet   que el interfaz de tarjeta de relé sea de 5v . En nuestro caso es de 2 canales y cada canal necesita 15-20mA actual controlador

Este tipo de placas es de fácil instalación por el microcontrolador como Arduino, 8051, AVR, PIC, DSP, BRAZO, MSP430, PLC, lógica TTL pues solo ha que conectar la alimentacion  y dos cables de datos en caso de necesitar los dos canales 

Resumiendo , estos son los componentes  necesarias:

  • Placa de desarrollo de NodeMcu Lua WIFI Internet de las cosas basado en ESP8266 – 1 (capacidad de MCU y WIFI)
  • Sensor PIR ( hemos hablado  en este blog )
  • 1 módulo de relé con opto aislamiento de  5V1
  • Fuente de alimentación conmutada  220V/5v ( nos sirve cuaqluier cargador de movil  con salida microusb)
  • Placa Protoboard

Diagrama del circuito:

El circuito   no incluye dificultad alguna ,pues se reduce a conectar el sensor PIR a +5V  y la salida binaria al pin D2, el módulo de rele a +5v   y al pin D2    y por  supuesto la alimentación del circuito que puede ser bien a baterías  o  bien por medio del  propio micro-usb   usado para programar el  NodeMcu

Resumiendo las conexiones con las siguientes:

  • NodeMCU (ESP8266 Dev Kit) D1—> INI del relé
  • NodeMCU (ESP8266 Dev Kit) D2—> Digital sensor PIR
  • NodeMCU (ESP8266 Dev Kit) VCC—> VCC (+) de la batería
  • NodeMCU (ESP8266 Dev Kit) GND—> GND (-) de la batería
  • Relé de VCC—> VCC (+) de la batería
  • Relé de tierra—> GND (-) de la batería
  • PIR Sensor VCC—> VCC (+) de la batería
  • PIR Sensor de tierra—> GND (-) de la batería

Software

Una vez el hardware  montado nos toca escribir el código  el código utilizando el IDE de Arduino para hacer que NodeMCU trabaje con un relé, sensor de movimiento PIR y utilizar IOT plataforma carriots sobre WIFI

El autor se  encontró con  algunos puntos problemas  en el diseño del programa  para ejecutar en la placa NodeMcu;

  • Compruebe que los pines de NodeMcu  están dando la entrada o salida correcta como se están asumiendo, por ejemplo, asegurándose  que usted no está tomando el pin 4 (GPIO) como un pin de entrada asi que por defecto que este pin debe leer…
  • Utilizar un método directo de get y post HTTP en lugar de utilizar una función de visualización por BLYNK o Thinger.io.
  • Observe  que el PIR da salida permanentemenet alta durante un par de envíos pero se necesita traer retraso para evitar el envío de múltiples correos electrónicos. Con algunos servicios como BLYNK este retraso causa un problema  asi que  es mejro a llamar a esa función una vez despues  de 6 o 7 seg.
  • Una vez satisfecha la condición de if loop, llamar a una función, en lugar de escribir todo con el bucle. Esto aporta claridad del código y ayuda en la resolución de problemas.
  • Se  puede  ajustar la sensibilidad del PIR para reducir el tiempo que permanece alta.

A continuación veamos el codigo completo del sw  que habrá que subir  a la placa desde el entorno  de Arduino:

«ESP8266WiFi.h»

const char * ssid = «NETGXXXXX»;   //red wifi a la que se conectara

const char * clave = «XXXXXXXXX»;  //clave red wifi para coenctarse

const char * servidor = «api.carriots.com»;

const String APIKEY = XXXXXXXXXX»; //Sustituir con su apikey de Carriots

 const  String DEVICE = «[email protected]»; //Reemplazar por el id_developer del dispositivo de  carriots

int ledpin = 4;

pirpin INT = 12;

int pirstate = LOW;

int val = 0;

void setup() {

Serial.Begin(115200);

Delay(10);

pinMode(ledpin,OUTPUT);

pinMode(pirpin,INPUT);

Serial.println(«calibrando»);

for (int i = 0; i < 20; i ++) {

Serial.Print(«.»);

Delay(1000);

}

//iniciar wifi

Serial.println();

Serial.println();

Serial.Print («conectarse»);

Serial.println(SSID);

WiFi.begin (ssid, clave);

while  (WiFi.status()! = WL_CONNECTED) {

Delay(500);

Serial.Print(«.»);

}

Serial.println(«»);

Serial.println («Wi-Fi conectado»);

Serial.println («dirección IP:»);

Serial.println(WiFi.localIP());

}

//función para hablar con la plataforma Carriot

void sendStream()

{

String txt = «»; //Texto para enviar

if (pirstate == HIGH)

{/ / alarma

txt = «Detecta movimiento;»

} else {/ / alarma en

txt = «Algo mal»;

}

 

Serial.println(txt);

Serial.println(Val); / / para fines de depuración

Client WiFiClient;

const int httpPort = 80;

if  (client.connect (servidor, 80)) {/ / si hay una conexión exitosa

Serial.println(F(«Conectedo»));

//Construir el campo de datos

String json = «{\»protocol\»:\»v2\»,\»device\»:\»»+DEVICE+»\»,\»at\»:\»now\»,\»data\»:{\»light\»:\»»+txt+»\ «}}»;

//Realizar una solicitud HTTP

Client.println («POST /streams HTTP/1.1»);

Client.println («Host: api.carriots.com»);

Client.println («Accept: aplicación/json»);

Client.println («User-Agent: Arduino-Carriots»);

Client.println («Content-Type: aplicación/json»);

Client.Print («carriots.apikey:»);

Client.println(APIKEY);

Client.Print («Content-Length:»);

int thisLength = json.length();

Client.println(thisLength);

Client.println («conexión: cerrar»);

Client.println();

Client.println(JSON);

}

Else {}

//Si no tiene una conexión con el servidor:

Serial.println (F («Conexión fallida»));

}

}

 

void loop() {}

Val = digitalRead(pirpin);

Serial.println(Val);

if(Val == HIGH) {}

digitalWrite(ledpin,HIGH);

if  (pirstate == LOW) {

Serial.println («movimiento detectado»);

pirstate = HIGH;

Serial.println (F («secuencia de enviar»));

sendStream();

Delay(30000);

}

/ * {while(client.available())}

String linea = client.readStringUntil(‘\r’);

Serial.Print(line);

Delay(30000);

} */

}

Else {}

digitalWrite(ledpin,LOW);

if(pirstate == HIGH) {}

Serial.println («movimiento detectado correo enviado»);

pirstate = LOW;

}

}

}

Programación de disparadores de Carriots enviar Email:

Una vez   que  tenga desplegado el  sw en su  placa NodeMcu  ,la capacidad de activar un correo debe ser  programado o configurado en la plataforma de Internet para este producto que está utilizando (la plataforma Carriots IOT) . Si no sabe como hacerlo en el siguiente video podemso  ver  como  familiarizarse con las funciones y cómo utilizarlas:

 

Obviamente esto podría programarse para llamada, o un texto o una alarma a la policía o quien sea. !Como podemos adivinar   las posibilidades  son infinitas!.

Fuente