Tabla de contenido:

Alimentador para gatos de IoT con fotón de partículas integrado con Alexa, SmartThings, IFTTT, hojas de Google: 7 pasos (con imágenes)
Alimentador para gatos de IoT con fotón de partículas integrado con Alexa, SmartThings, IFTTT, hojas de Google: 7 pasos (con imágenes)

Video: Alimentador para gatos de IoT con fotón de partículas integrado con Alexa, SmartThings, IFTTT, hojas de Google: 7 pasos (con imágenes)

Video: Alimentador para gatos de IoT con fotón de partículas integrado con Alexa, SmartThings, IFTTT, hojas de Google: 7 pasos (con imágenes)
Video: DIY IoT Cat Feeder - Particle Photon, Alexa, SmartThings, IFTTT 2024, Junio
Anonim
Image
Image
Alimentador para gatos IoT que utiliza fotones de partículas integrados con Alexa, SmartThings, IFTTT, Google Sheets
Alimentador para gatos IoT que utiliza fotones de partículas integrados con Alexa, SmartThings, IFTTT, Google Sheets
Alimentador para gatos IoT que utiliza fotones de partículas integrados con Alexa, SmartThings, IFTTT, Google Sheets
Alimentador para gatos IoT que utiliza fotones de partículas integrados con Alexa, SmartThings, IFTTT, Google Sheets
Alimentador para gatos IoT que utiliza fotones de partículas integrados con Alexa, SmartThings, IFTTT, Google Sheets
Alimentador para gatos IoT que utiliza fotones de partículas integrados con Alexa, SmartThings, IFTTT, Google Sheets

La necesidad de un comedero automático para gatos se explica por sí misma. Los gatos (el nombre de nuestro gato es Bella) pueden ser desagradables cuando tienen hambre y si tu gato es como el mío, comerá el cuenco seco cada vez. Necesitaba una forma de dispensar una cantidad controlada de comida automáticamente mediante 3 métodos: 1. comando de voz de Alexa, 2. por un horario y 3. por un botón en SmartThings. También quería una forma de rastrear cómo y cuándo se alimenta al gato para que no lo alimentemos dos veces (a veces, cuando mi esposa alimenta al gato y luego yo le doy de comer al gato 15 minutos más tarde).

Este proyecto no es demasiado difícil, no soy desarrollador ni ingeniero, pero había muchos recursos en línea que me ayudaron. Estoy recopilando todo lo que utilicé y todos los pasos necesarios para que tú también completes este proyecto. ¡Disfruta y feliz edificio!

Paso 1: Obtenga todos sus materiales necesarios - Aproximadamente $ 100

Obtenga todos los materiales necesarios: aproximadamente $ 100
Obtenga todos los materiales necesarios: aproximadamente $ 100

Aquí está todo lo que compré para hacer este comedero para gatos. Costaba alrededor de $ 100, que es un poco más de los $ 75 planeados, pero busqué algunas piezas de mejor calidad para garantizar que dure. Algunos de los materiales que ya tenía para hacer la caja como pegamento para madera, pistola de pegamento caliente, clavadora 18ga, papel de lija, masilla para madera, etc. En mi opinión, se incluyen en "herramientas" y no todos son necesarios. A veces hago todo lo posible para hacer las cosas bonitas.

Si se desvía de estos productos exactos, solo asegúrese de que su servo tenga un engranaje de metal y anote el número de dientes porque su brazo / bocina del servo necesitará tener el mismo número de dientes. El servo y el brazo que se enumeran a continuación son 25T, lo que significa 25 dientes. Además, utilicé un brazo de plástico en la primera vuelta y los dientes se quitaron dentro de una semana de uso, así que no sigas la ruta del plástico, obtén metal.

1. Fotón de partículas $ 19.99

2. Cables de puente y placa de pruebas $ 7.69

3. Servo $ 19.99

4. Brazo / bocina de servo de metal $ 8,98

5. Zumbador piezoeléctrico $ 5.05

6. Dispensador de cereales $ 14.95

7. Tablero de fibra de ferretería para la caja, 2 piezas en caso de que arruine $ 20

8. Pintura en aerosol martillada Rustoleum $ 5.97

8. Misc. elementos como tornillos, pegamento para madera, clavos, papel de lija, masilla para madera, etc.

Paso 2: Configurar Particle Photon

El primer paso es conectar su Particle Photon a Internet. Esto es muy fácil, especialmente con las guías proporcionadas por Particle. Descargue la aplicación Particle en su teléfono, cree una cuenta de partículas y siga la guía para conectarla a su wifi. ¡Vea el video y siga estas instrucciones!

docs.particle.io/guide/getting-started/start/photon/

Paso 3: conecte la partícula al servo, la placa de pruebas y el zumbador

Conecte la partícula al servo, la placa de pruebas y el zumbador
Conecte la partícula al servo, la placa de pruebas y el zumbador
Conecte la partícula al servo, la placa de pruebas y el zumbador
Conecte la partícula al servo, la placa de pruebas y el zumbador

Bien, ahora tenemos que conectar la partícula al servo y al zumbador usando una placa de pruebas. Adjunte su partícula a la placa de pruebas dejando 2 orificios en cada lado, realmente no importa dónde se coloque la partícula fuera de eso. Soldé mis cables al timbre y luego usé pegamento caliente para asegurarlo. Un método más sencillo sería utilizar conectores terminales o conectores a tope y engarzarlos con unos alicates. Depende de usted.

Conecte los cables del servo:

VIN Cable servo rojo

Cable servo amarillo A5

GND Cable servo negro

Conecte los cables del zumbador (no importa cuál es cuál):

Cable del zumbador D0

Cable del zumbador GND

Paso 4: código intermitente para el fotón

Código intermitente al fotón
Código intermitente al fotón

Ahora que lo tiene conectado, flasheemos el código de firmware al fotón y probemos que el timbre reproduce una melodía y el servo gira.

Inicie sesión en la consola de compilación de partículas con su cuenta

Haga clic en el botón de código en la barra de herramientas del lado izquierdo. Copie y pegue el código de firmware proporcionado (cat_feeder.c) en la consola de compilación, reemplace cualquier código existente allí por defecto.

Una pequeña explicación sobre la función de alimentación. Dado que la alimentación se puede invocar mediante 3 métodos diferentes (botón, voz, horario), necesitamos 3 comandos diferentes para publicar cada evento y saber cómo se alimentó al gato. Estos comandos son "bfeed" cuando se alimentan con el botón, "sfeed" cuando se alimentan por horario y "vfeed" cuando se alimentan con comandos de voz.

Haga clic en el botón Buscar carpeta para guardar su código, asígnele un nombre de su elección.

Haga clic en el botón de verificación (parece una marca de verificación con un círculo alrededor). Después de unos momentos, debería ver en la barra de estado inferior:

Compilando código… Código verificado. ¡Buen trabajo! Listo.

Ahora, haga clic en el botón Flash en la barra de herramientas izquierda (parece un rayo). Después de unos momentos, debería ver en la barra de estado inferior:

Código intermitente… ¡Flash exitoso! Se está actualizando su dispositivo. Listo.

A continuación, inicie sesión en la consola de partículas

Haga clic en su fotón de partículas. Esta es una página de estado para su dispositivo, puede ver en los Registros de eventos cuando se toman acciones, como el código parpadeante o cuando se publican eventos al invocar los comandos de alimentación. Para iniciar un comando de alimentación, utilizará el mosaico Función en el lado derecho de esta consola. Dado que la función se llama "feed" en el código, debería verla y un cuadro de entrada de argumento.

Escriba "bfeed" en el cuadro de entrada del argumento y haga clic en Llamar.

Esto debería reproducir la melodía y luego girar el servo. Si lo desea, para fines de prueba, cambie el tiempo de retardo en el código de 330 MS a algo más largo como 5000 si desea verificar el giro del servo. Debe hacer clic en el botón Flash cada vez que realice cambios en el código. Probablemente necesitará ajustar la demora más adelante para obtener la cantidad de turno deseada (como alimentar a un perro, es posible que desee dispensar más comida).

Paso 5: haz una caja para albergar todo

Hacer una caja para albergar todo
Hacer una caja para albergar todo
Hacer una caja para albergar todo
Hacer una caja para albergar todo
Hacer una caja para albergar todo
Hacer una caja para albergar todo

Este paso consiste en tus buenas habilidades en carpintería de moda. Compré 2 tableros de fibra de -2x4 pies para hacer la caja porque es fuerte, suave al tacto, relativamente barata y fácil de cortar / trabajar. Puedes elegir cualquier material. Este paso es realmente a su discreción sobre cómo se construye porque todos tienen necesidades diferentes. No tendré un paso a paso detallado para hacer la caja, pero puedo compartir el proceso de pensamiento y los métodos que utilicé.

Hubo una serie de factores que tomé en consideración para diseñar la caja. Quería esta cosa lo más compacta posible. Quería que se pudiera reparar fácilmente para limpiarlo y / o arreglarlo si alguna vez fallaba. Por último, quería que el tubo del dispensador estuviera expuesto para poder ver visiblemente cuando la comida se está agotando. Con esto en mente, primero hice la caja y luego medí las dimensiones internas para hacer un marco cuadrado al que se unen la unidad dispensadora, el servo y la placa. De esta manera, toda la unidad se puede sacar de la caja para su mantenimiento. Vea las fotos.

Paso 6: Controladores de dispositivos SmartThings

Controladores de dispositivos SmartThings
Controladores de dispositivos SmartThings
Controladores de dispositivos SmartThings
Controladores de dispositivos SmartThings
Controladores de dispositivos SmartThings
Controladores de dispositivos SmartThings

Este paso explica cómo implementar la llamada a la función de alimentación usando SmartThings y Alexa. Para hacer esto, tuve que escribir 2 manejadores de dispositivos maravillosos. Uno de los controladores es para "bfeed" cuando presiono el botón en SmartThings y el otro controlador es para "vfeed" cuando le pido a Alexa que alimente a Bella mediante un comando de voz. Otra razón para tener 2 controladores diferentes es que Alexa solo reconoce dispositivos que son interruptores, no botones. Así que tuve que engañar a Alexa para que reconociera un interruptor para poder invocar la función (apagar y encender la misma acción). Ok, comencemos.

Inicie sesión (o cree una cuenta) en el portal IDE SmartThings en https://ide.smartthings.com utilizando su cuenta Samsung o su cuenta SmartThings.

Confirma que tu concentrador SmartThings aparece en "Mis ubicaciones" y "Mis concentradores". Si no aparece, solucione el problema antes de continuar.

Primero crearemos el controlador de botones

Haga clic en "My Device Handlers" en la barra de navegación superior.

Haga clic en el botón azul "Crear nuevo controlador de dispositivo"

Seleccione la pestaña "Desde el código" y pegue el código del archivo adjunto button_handler.groovy. Luego haga clic en Crear.

Haga clic en "Guardar" y "Publicar" "Para mí". Debería ver aparecer una notificación verde que dice "El tipo de dispositivo se publicó correctamente".

Ahora, salte a su teléfono y abra la aplicación SmartThings. Debería ver que el controlador aparece como un dispositivo nuevo. Deberá configurar el controlador para que se publique en su dispositivo de partículas. Seleccione el dispositivo recién creado y abra la Configuración (parece un icono de engranaje).

Ingrese el nombre del dispositivo: nombre el dispositivo como elija, estoy seguro de que su gato tampoco se llama Bella.

Ingrese el token de acceso: el token de acceso se encontrará en la consola de Particle Build https://build.particle.io/ debajo de la Configuración (icono de engranaje en la parte inferior izquierda). El token de acceso será una cadena de 40 caracteres.

Ingrese la ID del dispositivo: la ID del dispositivo se encuentra en la página de la Consola de partículas como una cadena de 24 caracteres y también se ve en todas las URL de partículas cuando inicia sesión en su cuenta trabajando en su dispositivo de partículas. El ID del dispositivo se ve en NEGRITA en la URL:

Clic en Guardar.

¡Haz clic en el botón Feed!

Al hacer clic en el botón de alimentación, debería escuchar la melodía y hacer que el servo gire. También debería ver los eventos publicados en el registro de eventos de la consola de partículas.

A continuación, crearemos el controlador de dispositivos para Alexa

Siga el mismo procedimiento que el anterior. Vaya al portal IDE SmartThings y haga clic en "My Device Handlers" en la barra de navegación superior. Haga clic en el botón azul "Create New Device Handler".

Seleccione la pestaña "Desde el código" y pegue el código del archivo adjunto alexa_handler.groovy. Luego haga clic en Crear.

Haga clic en "Guardar" y "Publicar" "Para mí". Debería ver aparecer una notificación verde que dice "El tipo de dispositivo se publicó correctamente".

Ahora, regrese a su teléfono y abra la aplicación SmartThings. Debería ver que el controlador aparece como un dispositivo nuevo, pero esta vez sin ningún botón. Deberá configurar el controlador con su token de acceso y la identificación del dispositivo tal como lo hizo anteriormente.

Seleccione el dispositivo recién creado en SmartThings y abra la Configuración (parece un icono de engranaje).

Ingrese el nombre del dispositivo: nombre el dispositivo que elija, lo llamé "Manejador del alimentador de gatos para Alexa" para que mi esposa sepa que no es el botón Alimentador de gatos.

Ingrese el token de acceso e ingrese el ID del dispositivo, luego haga clic en Guardar.

Ahora, abra su aplicación Alexa en su teléfono. Si aún no lo ha hecho antes, habilite SmartThings Alexa Skill y vincule su cuenta SmartThings a la aplicación Alexa. Luego, vaya a la pantalla de inicio inteligente y haga clic en "Agregar dispositivo". Esto también se puede hacer diciendo "Alexa, descubre dispositivos". Un dispositivo debería aparecer con un ícono de interruptor, se llamará como usted nombró al controlador en SmartThings. Puede cambiar el nombre en la aplicación Alexa si lo desea, pero recuerde que este es un tipo de interruptor, por lo que requerirá decir "Alexa, encienda" o "Alexa, apague". Sé que no es agradable decir "Enciende el comedero para gatos", así que una alternativa es crear una nueva rutina en la aplicación Alexa y llamarla con la frase que quieras exactamente. Hice una rutina llamada "Alimenta a Bella" que enciende el interruptor del comedero para gatos.

Al hacer clic en el interruptor en la aplicación Alexa, ahora debería llamar con éxito a la función de alimentación. El registro de eventos de Particle Console también debe publicar los eventos que así lo indiquen.

Una vez que tenga todo el nombre de la forma que desea, ¡adelante y pruébelo!

Paso 7: Poniéndolo todo junto

Poniendolo todo junto
Poniendolo todo junto
Poniendolo todo junto
Poniendolo todo junto
Poniendolo todo junto
Poniendolo todo junto
Poniendolo todo junto
Poniendolo todo junto

La última pieza que no he cubierto es cómo programar los feeds y registrar los eventos publicados en una hoja de Google. Probablemente esté pensando que la aplicación Alexa se puede usar para hacer una rutina para el horario, pero esto no nos permitiría registrar el horario frente al comando o botón de voz. Entonces, en cambio, ya hay un subprograma IFTTT para partículas que usaremos.

Creemos el subprograma IFTTT para programar feeds

Vaya a https://ifttt.com o descargue la aplicación para teléfonos inteligentes IFTTT e inicie sesión (cree una cuenta si es necesario)

Si eres nuevo en IFTTT, es muy sencillo. Cada subprograma consta de un SI (una condición o disparador) y un ESO (alguna acción por hacer).

Entonces, una vez que haya iniciado sesión en IFTTT, cree un nuevo subprograma, seleccione SI y busque o seleccione "Fecha y hora". Configura esto según el horario que prefieras. Luego, siga los pasos y una vez que llegue a ESO, buscará "Partícula" y seleccionará "Llamar a una función". Complete los campos como en la captura de pantalla anterior, asegúrese de usar "sfeed" como entrada, ya que este es el comando necesario para publicar un evento "Fed by schedule". Es posible que deba conectarse o iniciar sesión en su cuenta de partículas mientras configura este subprograma. Guarde el subprograma y debería estar listo para comenzar. Si desea realizar una prueba, simplemente cambie la fecha y la hora a próximas en el futuro y vea si se activa correctamente.

Ahora para crear los subprogramas IFTTT para manejar los 3 tipos de eventos

Hay 3 comandos que debemos tener en cuenta cuando se ejecuta el comedero para gatos. Estos están codificados en el firmware de partículas:

Bella alimentada por horario Bella alimentada por botón Bella alimentada por comando de voz

Si su mascota no se llama "Bella", probablemente desee cambiar esto en el firmware y volver a flashear. Cambie el texto en la línea Particle.publish del código de partículas.

Cree un nuevo subprograma IFTTT. (necesita hacer esto 3 veces, para cada tipo de evento)

Comenzando con el IF, busque Partícula y seleccione "Nuevo evento publicado". El nombre del evento deberá ser el nombre del evento publicado exacto que tiene en su firmware. Por ejemplo, "Bella alimentada por horario" es el nombre exacto del evento en el código que te proporcioné. Mira la captura de pantalla mientras la completé como referencia. Deberá crear 2 IFTTT más para manejar los otros eventos también. Este subprograma creará una nueva hoja en su unidad de Google si aún no existe y registrará nuevos eventos en la siguiente fila vacía.

Recomendado: