Una introducción a IoT; o cómo construí una caja de arena para gatos IoT utilizando JavaScript

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

Mis cosas favoritas en la vida son los gatos, las computadoras y las ideas locas, así que decidí combinar las tres y hacer una caja de arena para gatos IoT (Internet de las cosas) utilizando una Raspberry Pi y JavaScript. Si alguna vez has querido construir tu propio proyecto de IoT, pero no sabías por dónde empezar, entonces esta charla es para ti.

Juntos, repasaremos cómo configuré mi caja de arena para gatos IoT de principio a fin. Incluyendo cómo configurar Node.js en una Raspberry Pi y cómo conectar sensores a una Raspberry Pi y cómo leer las entradas de los sensores con Node.js.

This talk has been presented at JSNation Live 2021, check out the latest edition of this JavaScript Conference.

FAQ

IoT, que significa Internet de las Cosas, se refiere a cualquier objeto que tenga un chip y pueda conectarse a Internet.

Joe Carlson sugiere que JavaScript y Node son ideales para nuevos desarrolladores de IoT debido a su facilidad de uso, la gran cantidad de herramientas y bibliotecas disponibles, y porque el internet ya utiliza JavaScript ampliamente.

Joe recomienda elegir bases de datos que puedan procesar datos rápidamente, manejar grandes volúmenes de escritura simultánea, y tengan esquemas flexibles para adaptarse fácilmente a nuevos datos de sensores.

La caja de arena utiliza sensores de carga para detectar cuando un gato entra y utiliza la caja. Registra el peso del gato y el evento de uso en una base de datos de MongoDB en la nube.

El código fuente y otros recursos están disponibles en el sitio web JoeCarlson.dev bajo la ruta /IOTkitty/BF04B, o escaneando el código QR mostrado en su presentación.

Además de la caja de arena para gatos IoT, Joe ha trabajado en un espejo mágico, hojas nano iluminadas y una pizarra digital de graffiti, todos conectados a Internet.

Joe Carlson recomienda como primer paso hacer parpadear un LED con una placa Raspberry Pi para asegurarse de que los circuitos están bien configurados.

Joe Karlsson
Joe Karlsson
23 min
10 Jun, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla es una introducción a IoT y JavaScript, donde se discute el uso de JavaScript y Node para proyectos de IoT, la importancia de considerar los datos y elegir las bases de datos adecuadas, y la implementación práctica de una caja de arena para gatos conectada a Internet. También se exploran el control de LEDs con Johnny-5, la solución al problema de la celda de carga y el futuro de IoT. El orador fomenta la experimentación y comparte proyectos geniales de IoT como el espejo mágico y las hojas nano conectadas a Internet. También se sugieren proyectos prácticos de IoT y unirse a las salas de discusión del orador para principiantes.

1. Introducción a IoT y JavaScript

Short description:

Bienvenidos a una introducción a IoT, paréntesis, Internet de los Inodoros. Esta es una charla sobre cómo construí una caja de arena para gatos conectada a Internet utilizando JavaScript y Node. Cubriremos la introducción a IoT, por qué JavaScript y Node son excelentes para proyectos de IoT, mi proyecto de la caja de arena y generalizaciones amplias sobre el futuro de IoT.

Hola. Bienvenidos a una introducción a IoT, paréntesis, Internet de los Inodoros. Esta será una charla sobre cómo construí una caja de arena para gatos conectada a Internet utilizando JavaScript y Node. Así que vamos a empezar. En primer lugar, mi nombre es Joe Carlson. Probablemente no les importe nada acerca de mí. Está bien. Pero soy un ingeniero de software y defensor del desarrollo y trabajo para una empresa llamada MongoDB. Es posible que ya hayan oído hablar de ella. Es un producto de base de datos bastante genial si me lo preguntan. Si quieren pasar tiempo conmigo en el futuro nuevamente, por favor háganlo. El mejor lugar para hacerlo es en Twitter. Pero si también están en TikTok, definitivamente deberían echarle un vistazo y hacer videos divertidos sobre programación allí. Si quieren seguir cualquier enlace, código fuente, grabación de este video, diapositivas, ejemplos de código, todo eso, pueden encontrarlo en el enlace allí. JoeCarlson.dev slash IOTkitty slash BF04B o si escanean el código QR en la esquina superior derecha del video, también los llevará allí. Por último, y esto es muy importante, cualquier cosa que diga en esta charla refleja mis propias opiniones y no las de mi empleador. ¿De acuerdo? Genial. Amo mi trabajo. No quiero ser despedido. Entonces, ¿de qué vamos a hablar hoy? En primer lugar, haremos una breve introducción a IoT, qué es y por qué creo que es tan genial. Luego hablaré sobre por qué deberían considerar JavaScript y Node para su próximo proyecto de IoT. Luego hablaremos de mi parte favorita aquí, que es mi caja de arena. Cómo la construí, les mostraré algo de código y cómo funciona. Y por último, haremos algunas generalizaciones amplias sobre el futuro de Internet de las cosas. Será divertido verlo dentro de cinco años juntos, podremos ver cuán equivocado estoy sobre todo. Pero bueno, lo importante es predecir y lo intentaré hacer lo mejor posible.

Bueno, ¿qué diablos es IoT? Bueno, estoy seguro de que ya lo saben, pero básicamente es cualquier cosa que se conecta a Internet. Es solo una cosa con un chip que tiene Wi-Fi o Ethernet o lo que sea, ¿verdad? Simplemente puede conectarse a Internet. Pero quiero hablar sobre mi interés particular en IoT. Creo que nosotros como ingenieros, somos

2. Explorando IoT y JavaScript

Short description:

Internet ha dado forma a nuestra generación y hay mucho por explorar. Me encanta explorar la delgada línea entre el genio y la estupidez. Organicé una masterclass llamada Stupid Shit and Terrible Ideas Hack-a-thon, donde creamos proyectos divertidos y poco convencionales. JavaScript y Node son excelentes opciones para proyectos de IoT, especialmente para nuevos desarrolladores. C y C++ aún tienen su lugar, pero JavaScript es más fácil de desarrollar y actualizar a través de una red. El internet ya habla JavaScript.

particularmente adecuado para explorar la tecnología y el internet como medio de arte. Creo que el internet es lo que define quiénes somos como generación, cómo nos comportamos, y creo que hay mucho por explorar en esa área. Y me encanta hacer eso a través del arte y la tecnología. En particular, aún más específico, estoy obsesionado con tonterías estúpidas. Me encanta poner chips en cosas donde no deberían estar. Creo que es divertido explorar esa delgada línea entre el genio y la completa estupidez.

De hecho, me gusta tanto que organicé una masterclass llamada Stupid Shit and Terrible Ideas Hack-a-thon, donde simplemente hacíamos cosas estúpidas. Alguien hizo una cámara que solo toma fotos cuando la agitas, o un cubo de fidget de madera de seis pies, o una laptop hecha de cartón. Cosas divertidas, ¿verdad? Me encantan las tonterías estúpidas.

Ok, entonces IoT. Genial. Creo que todos sabemos qué es. Solo quería hablar sobre por qué me encanta. ¿Por qué deberías considerar JavaScript y Node para tu próximo proyecto de IoT? ¿Sabías que el 58% de los desarrolladores de IoT se identifican como desarrolladores de Node? ¿Hmm? Esta es solo mi opinión, pero creo que JavaScript es una excelente opción para nuevos desarrolladores. Muchas personas lo están aprendiendo cuando salen de bootcamps, fue mi primer lenguaje de programación. Es una buena herramienta para personas que están aprendiendo cómo, como, o quieren hacer cosas más visuales. Y no quiero decir que C o C++ sean malos lenguajes de programación, definitivamente aún tienen un lugar en la programación de dispositivos conectados a Internet. Eso no va a desaparecer pronto. Son más rápidos y más pequeños que JavaScript en este momento. Y a veces son más difíciles de desarrollar, ¿sabes? Al menos para mí lo son. Y si estás aprendiendo hardware, solo toma una cosa a la vez, aprende el componente de hardware. Ok. También es fácil de actualizar a través de una red. Tradicionalmente, con dispositivos integrados, cómo actualizar el firmware es que tienes que tomar ese dispositivo, conectarlo y volver a programar el código en él. Sin embargo, JavaScript es un poco más fácil. Todo lo que tienes que hacer es ejecutar Git pull y NPM install y listo. Estás actualizado. El internet ya habla JavaScript. Ya estamos hablando HTTP a través de la web. Ya estamos enviando este

3. Introducción a IoT y JavaScript (continuación)

Short description:

JavaScript es de naturaleza orientada a eventos. Los dispositivos IoT también son orientados a eventos. Los sensores en el campo esperan que ocurran eventos y desencadenen la ejecución de código.

archivos para ejecutar Internet. Tiene sentido hacerlo también para dispositivos IoT. Y tal vez no lo sepas, pero ya existen toneladas de herramientas, bibliotecas, perdón, y conjuntos de datos data disponibles para ti. Incluyendo CylonJS y Johnny5, que deberías revisar ambos. Son geniales. JavaScript es de naturaleza orientada a eventos. Y si lo piensas, los dispositivos IoT también son orientados a eventos, ¿verdad? Como tienes algún tipo de sensor en el campo que está esperando que ocurra algún evento, y una vez que se activa, quieres algún tipo de evento o devolución de llamada en JavaScript, ¿verdad, si quieres que ese código

4. Consideraciones de datos para proyectos de IoT

Short description:

Al construir proyectos de IoT, es importante considerar las consideraciones de datos y elegir bases de datos que puedan procesar datos rápidamente. Los proyectos de IoT son aplicaciones orientadas a la escritura, por lo que la capacidad de escribir datos de manera concurrente y masiva es crucial. Los esquemas flexibles son adecuados para proyectos de IoT, ya que permiten actualizaciones y ajustes fáciles. MongoDB es una excelente opción para proyectos de IoT, ya que maneja bien los datos de series temporales y permite la validación de esquemas a nivel de base de datos. Si estás considerando MongoDB para tu proyecto de IoT, vale la pena explorar sus capacidades.

ejecutar. De acuerdo. Trabajo para MongoDB y necesito hablar un poco sobre las consideraciones de datos si estás construyendo proyectos de IoT. Quiero hablar en términos generales sobre qué buscar cuando estés construyendo o revisando bases de datos para guardar datos de IoT. Primero que nada, debes asegurarte de buscar bases de datos que puedan procesar los datos rápidamente, ¿verdad? Los proyectos de IoT son únicos en el sentido de que son aplicaciones orientadas a la escritura. La mayoría de las aplicaciones centradas en la web son orientadas a la lectura, ¿verdad? Por ejemplo, escribo un tweet en una base de datos y potencialmente podría ser leído por millones de personas. Ninguno de los míos lo es. Pero si fuera famoso, tal vez podría serlo. Debes asegurarte de buscar bases de datos con diferentes necesidades y que puedan procesar o escribir datos de manera concurrente y masiva, lo cual es extremadamente importante para una base de datos de IoT. Mencionamos anteriormente que muchos proyectos de IoT son orientados a eventos, ¿verdad? Estamos esperando que ocurra algún evento asíncrono en el campo y queremos asegurarnos de tener una base de datos que se ajuste a esa naturaleza orientada a eventos de nuestros proyectos de IoT. Los esquemas flexibles son especialmente adecuados para proyectos de IoT. Por ejemplo, en mi proyecto agregué un nuevo sensor y pude actualizar mis datos de series temporales para incluir los datos de ese nuevo sensor. Los datos de series temporales son únicos en el sentido de que se vuelven obsoletos rápidamente y normalmente se utilizan para visualizar en algún tipo de panel de control. Tal vez también los usemos para usos históricos. A medida que agregamos y actualizamos con el tiempo, podemos comenzar a agregar y ajustar nuestros esquemas de manera flexible a gran escala.

Quiero señalar aquí que es una idea equivocada común que MongoDB es una base de datos sin esquemas. En realidad, puedes validar esquemas a nivel de base de datos con MongoDB. No necesitas un ORM como Mongoose. Y debes asegurarte de tener una base de datos que maneje bien los datos de series temporales. Puedes crear datos de series temporales con la mayoría de los SGBD, genial, no hay problema. Pero se vuelve confuso rápidamente. Te mostraré mis datos de series temporales de IoT que utilicé para mi proyecto y por qué creo que es superior a otros modelos. Puede que esté sesgado aquí ya que trabajo para MongoDB, pero MongoDB es una excelente opción porque hace todas estas cosas y más. Lo único que tengo que mencionar es que si estás considerando usar MongoDB para un proyecto de IoT en el futuro, definitivamente deberías considerarlo. De acuerdo, la presentación de ventas ha terminado, volvamos a lo bueno. Caja de arena para gatos IoT, vamos a sumergirnos. Esto es lo que terminé construyendo. Es una pequeña caja de mediados de siglo que compré. Sé que es un poco extra. No necesitas conseguir algo lujoso como esto. Podrías conseguir algo de plástico de $20 en Amazon o lo que sea, siempre y cuando tenga un recinto y pueda usar arena fría, eso es todo lo que necesitas.

5. Robot Kitty Litter Box and Asynchronous Events

Short description:

Esta caja de arena para gatos robot existe y funciona mediante el uso de sensores de carga debajo de la caja para detectar un objeto del tamaño de un gato que entra. Una vez que se detecta un gato, se mide su peso y se registra en una base de datos de MongoDB. Después de que el gato termina, se inicializa un nuevo peso base y el proceso espera un nuevo evento. El proyecto implica esperar que ocurran eventos asíncronos. El primer paso en cualquier proyecto de IoT es hacer un LED para asegurarse de que los circuitos estén configurados correctamente.

Pensé que era una idea tonta, pero recientemente descubrí que esta caja de arena para gatos robot existe. Wired le dio una calificación de 8 sobre 10 y, lo que es más importante, la están vendiendo por $500. No estoy tratando de monetizar esto, pero si quisieras hacerlo, esta podría ser tu oportunidad.

¿Cómo funciona esta cosa? Tengo sensores de carga debajo de la caja. Básicamente son como una báscula de baño conectada a internet. Vamos a hablar primero de la otra parte. Tenemos un recinto en la caja y hay un interruptor en él para determinar cuándo está abierto o cerrado. Cuando abrimos esa caja, entramos en lo que llamo modo de mantenimiento. Ya sea que estemos eliminando desechos o agregando arena a la caja. El punto es que el peso base de esa caja cambia cada vez que entra en modo de mantenimiento. Una vez que la he limpiado, hecho mi trabajo en ella, la cierro de nuevo, sale del modo de mantenimiento, espero un poco a que se calme, luego reinicializamos el peso base de esa caja.

Después de que se haya determinado el peso base de esa caja, lo que hacemos es esperar a que entre un objeto del tamaño de un gato en la caja. Ahora no sé si es un zarigüeya, un mapache o una rata grande. No importa realmente. Solo estamos esperando algo que pese alrededor de 5 a 15 libras para que entre en esa caja. Una vez que se detecta un gato mediante las celdas de carga, esperamos un poco a que el gato se acomode. Luego tomamos una medida del peso de ese gato, para poder medir pasivamente el peso del gato a lo largo del tiempo, y registramos que se ha producido un evento de baño. Así que hace sus cosas y enviamos ese evento a una base de datos de MongoDB en la nube.

Bien, genial, el gato ha terminado sus cosas. Lo que hacemos es esperar a que las cosas se enfríen un poco, espero unos 5 minutos, y reinicializamos un nuevo peso base de la caja y esperamos un nuevo evento. Ya sea un evento de mantenimiento o un nuevo evento de entrada de gato en la caja. Bien, así que estamos esperando constantemente que ocurran todos estos eventos asíncronos. Y eso es todo, es bastante simple. Pero saltemos a un poco de código, ¿de acuerdo? Vamos a ver un poco de código, chicos. Si quieres seguir el código fuente, nuevamente todo ese código está disponible en ese enlace, o si escaneas ese código QR con tu teléfono.

De acuerdo, así que el primer paso para cualquier proyecto de IoT, si este es tu primer proyecto de IoT, el primer paso que debes hacer es hacer un LED. LED, en blanco. Básicamente, solo asegura que tus circuitos estén configurados, que tu placa esté bien, que puedas comunicarte con ella y hacer que haga lo que quieres. Y al igual que la programación, iteramos en eso y construimos. De hecho, puedes ver que tengo las celdas de carga preparadas al lado o al lado de eso.

6. Controlando LED con Johnny-5

Short description:

Para encender y apagar el LED, utilizamos Johnny-5 con el paquete Raspberry Pi. Inicializamos una nueva placa Johnny-5 para Raspberry Pi, esperamos a que esté lista y luego inicializamos un LED en el pin GPIO 13. Solo se necesitan unas pocas líneas de código para que nuestro hola mundo funcione.

Y simplemente hago que el LED se encienda y apague. Eso es todo. Bien, ¿cómo lo hacemos? Con Johnny-5, es bastante fácil. Johnny-5 funciona con muchas placas diferentes. Entonces necesitamos importar el paquete Raspberry Pi. Y volvemos a inicializar una nueva placa Johnny-5 y le decimos, hey, hoy vas a trabajar con una placa Raspberry Pi. Muy bien. Y luego esperamos a que esa placa esté lista para comenzar a escuchar. Y luego simplemente inicializamos un nuevo LED en el pin GPIO 13. No sé qué es eso. Tengo que buscarlo en Google cada vez que lo conecto. Y luego solo tiene una función incorporada que dice en blanco. Pero eso es todo. ¿Qué es eso? Son como, no sé, menos de 10 líneas de código para que nuestro hola mundo funcione con nuestro Johnny-5.

7. Convirtiendo un LED en un Inodoro

Short description:

Para convertir un LED en un inodoro, utilizamos una placa Raspberry Pi y un interruptor magnético para determinar el modo de mantenimiento de la caja. Dependiendo de si está abierta o cerrada, se puede cambiar el estado de la caja. La Raspberry Pi lee los eventos en tiempo real, lo que hace que sea un proceso sencillo.

Muy sencillo. OK. Entonces, ¿cómo convertimos un LED en un inodoro? Buena pregunta. Necesitamos hacer lo mismo. Vamos a utilizar esa placa Raspberry Pi y, en lugar de usar un LED, vamos a utilizar un interruptor magnético para determinar si la caja está en modo de mantenimiento o no. Y luego, dependiendo del estado de si está abierta o cerrada, podemos cambiar el estado de la caja.

OK, veámoslo en la práctica. Te voy a mostrar la placa o cómo lo hago yo. Y puedes ver el pequeño interruptor allí, esa pequeña cosa blanca. Ese es el interruptor magnético. Hay uno en cada lado. Y a medida que abro y cierro esa caja, puedes ver que esos eventos se leen en tiempo real por mi Raspberry Pi y se determina en qué estado se encuentra la caja. Bastante, bastante sencillo.

8. Resolviendo el Problema de la Celda de Carga

Short description:

Tuve que ser creativo para resolver el problema de la celda de carga, ya que no pude encontrar una biblioteca con Johnny-5 para interactuar directamente con las celdas de carga. En su lugar, utilicé el proceso Spawn Child en Node Core para ejecutar un script de Python y enviar los datos a mi programa Node.

Muy bien, las celdas de carga. Esta parte es un poco más complicada. Tengo que ser un poco creativo en cómo resuelvo este problema. Debería terminar usando, porque no pude encontrar una biblioteca con Johnny-5 que pudiera interactuar directamente con las celdas de carga que compré. Vaya figura, ¿verdad? Pero de hecho, encontré una biblioteca de Python que podía hacerlo. Así que terminé utilizando el proceso Spawn Child, que está integrado en Node Core, para crear un subproceso hijo que ejecuta un script de Python y envía los data de ese script de Python al proceso principal. Y luego puedo hacer lo que quiera con él en mi programa Node. Bastante simple. Es Node y JavaScript, pero también fui un poco creativo en ello.

9. IoT Data and Box Assembly

Short description:

Cada décima de segundo, se lee y envía el peso base de la caja. Es posible registrar en tiempo real los cambios de peso. Los datos de series temporales de IoT se almacenan en una base de datos MongoDB, con nuevos documentos creados cada 24 horas. La matriz de eventos captura las entradas del gato y la limpieza de la caja, diseñada para facilitar los informes. El montaje de la caja implica montar el Pi y conectar los cables.

Así que cada décima de segundo, simplemente lee el peso base de la caja y lo envía. Lo convierto en un número decimal, actualizo el promedio y luego solo espero que suceda ese evento del tamaño de un gato.

Muy bien, echemos un vistazo. Debajo de esa pieza de contrachapado, tengo las celdas de carga en cada esquina. Y es difícil porque no pude alejarme lo suficiente, pero estoy presionando sobre la tabla. Y verás aquí en un momento, esas presiones se están registrando en realtime en mi aplicación Node. Así que puedo registrar y ver en realtime lo que está sucediendo o, como, el peso de la caja en todo momento.

De acuerdo, te prometí que hablaría sobre mis IoT datos de series temporales aquí. Y todavía voy a cumplir esa promesa. Así es como se ve. Cada 24 horas, creo un documento nuevo en mi MongoDB database. Y allí tengo algunos metadatos sobre mí y el gato en caso de que quisiera ampliar esto a varias cajas, gatos y propietarios. Y tengo una matriz de eventos. Entonces, en mi matriz de eventos, cada vez que un gato entra en la caja o limpio la caja, agrego un documento o subdocumento nuevo a esa matriz de eventos. Lo diseñé de esta manera debido a cómo lo usamos, ¿verdad? Estoy leyendo estos data para mostrarlos en un panel de control. Y quiero mostrar todos los eventos por día de lo que está sucediendo. Así que diseñé mi esquema de IOT para que sea fácilmente legible para los informes que estoy haciendo sobre esto. Que es, como, la regla número uno del diseño del esquema de MongoDB. Solo design tu esquema en función de las necesidades de tu aplicación. ¿Cómo vas a utilizar esos data? Y así es como lo voy a utilizar. Puedes hacer esto, como, una vez a la semana, una vez al año. Pero para una caja pequeña como esta, tiene sentido hacerlo una vez al día.

Muy bien, genial. Asamblea de la caja. Armo toda la caja. Puedes ver el Pi montado en el interior allí. Tengo algunos cables. Y tengo un pequeño cable para enchufarlo. Y eso es todo. Es bastante simple.

10. The Future of IoT and How to Get Started

Short description:

Sabes, no se ve elegante cuando abres la caja. Pero funciona. Se ve bastante bien cuando está cerrada. Y ahí está mi gato. Tuve que sobornarlo con algunas golosinas para obtener esta foto. El futuro de IoT: los dispositivos serán más pequeños y más potentes, se integrarán en más cosas, JavaScript se compilará en tamaños más pequeños para IoT y dispositivos integrables, mejor soporte de hardware, se solucionarán los problemas de los sensores, las baterías seguirán siendo un cuello de botella. Para convertirte en un maestro de IoT, JavaScript o MongoDB, sal y hazlo. Elige un proyecto. Crea algo divertido. Solo juega.

Sabes, no se ve elegante cuando abres la caja. Pero funciona. Se ve bastante bien cuando está cerrada. Y ahí está mi gato. Tuve que sobornarlo con algunas golosinas para obtener esta foto.

De acuerdo, casi terminado aquí, lo prometo, el futuro de IoT. Hagamos algunas predicciones aquí. En primer lugar, creo que, por supuesto, los dispositivos serán más pequeños y más potentes en el futuro. Ya estamos viendo esto. Se integrarán en aún más cosas a medida que avancemos. De hecho, ya estamos viendo esto, pero JavaScript se está compilando en tamaños más pequeños para IoT y dispositivos integrables, ¿verdad? Son más simplificados. Y tienen un recolector de basura más pequeño para ser más eficientes en energía y memoria, por lo que son más efectivos en dispositivos más pequeños. Ya estamos viendo que esto sucede. Veremos un mejor soporte de hardware. Por cierto, te dije que tenía algunos problemas con los sensores de esas celdas de carga. Pude encontrar una biblioteca de Python. Pero en el futuro, creo que eso se solucionará. Y, por supuesto, las baterías son y seguirán siendo el cuello de botella. A medida que los dispositivos se vuelven más potentes, también generan más calor, lo que consume más energía, desafortunadamente, ¿verdad? Entonces, especialmente los dispositivos integrados que no están conectados las 24 horas, como mi caja, la energía es y sigue siendo un problema a medida que los vemos en más lugares.

De acuerdo. Entonces, si hoy los he inspirado a querer convertirse en maestros de IoT, JavaScript o MongoDB, ¿cómo lo hacen? Bueno, escuchar cómo hablo de esto es una cosa. La otra cosa que recomendaría hacer es simplemente salir y hacerlo. Elijan un proyecto. No tiene que ser genial. Hagan algunas tonterías en casa. Simplemente hagan algo divertido. Hagan un LED en blanco. Pueden conseguir una Raspberry Pi en la mayoría de las tiendas de informática por unos $25 a $35. Y también pueden conseguir un paquete de inicio de un pequeño dispositivo IoT en Amazon por unos $20. Simplemente jueguen.

11. Conclusion and Poll Results

Short description:

No te preocupes por monetizar o hacer algo profesional o genial. Explora y comparte tus proyectos. Conéctate conmigo en Twitter en Joe Carlson1. Gracias a todos por ser increíbles. Discutamos los resultados de la encuesta: el 50% no tiene experiencia con IoT, el 34% tiene un poco de experiencia, el 16% ha realizado un proyecto y el 0% trabaja a tiempo completo en IoT.

Creo que no te preocupes por tener que monetizarlo o hacer algo que sea profesional o genial. Creo que es divertido simplemente explorar y ver qué obtienes. Y trata de compartirlo si puedes. Me encanta ver esas cosas. Me encantaría ver en qué estás trabajando.

De acuerdo. Estoy en el chat si alguien tiene alguna pregunta. De lo contrario, definitivamente puedes contactarme en Twitter en Joe Carlson1. Y, sí, me encantaría conectarme contigo de todos modos, incluso si no tienes preguntas. Todos los enlaces para esta charla, video diapositivas, ejemplos de código, todo está disponible en el enlace allí o si escaneas ese código QR.

Muchas gracias a todos. Han sido increíbles. Me lo he pasado genial aquí. Adiós.

Ahora hablemos de la encuesta. La pregunta es, ¿cuál es tu experiencia con IoT? Sin juicios. Solo curiosidad. Ninguno dijo que el 50% de ellos no tiene experiencia. Solo interesados en potencialmente ingresar algún día. Un poco. Con un 34%. Un poco, he hecho uno en blanco una vez. El 16% respondió que tengo un par de proyectos en mi haber. Y el 0% dijo que trabajo a tiempo completo en IoT. Nadie lo hace a tiempo completo. Pero la mayoría de ellos sí lo ha hecho. Eso es más o menos lo que esperaba. Eso es más o menos lo que esperaba. Quiero decir, esta es una introducción suave a los inodoros de Internet. Espero que incluso si has sido un maestro, aún puedas aprender algo nuevo.

QnA

Cool IoT Projects and Small Experiments

Short description:

Pero sabes que este es un gran momento para los principiantes. Eso es genial. Increíble. Vamos a la sesión de preguntas y respuestas. Cuéntame sobre otros proyectos geniales de IoT en los que hayas estado trabajando. Recientemente hice el proyecto del espejo mágico, que consiste en colocar un monitor detrás de un espejo bidireccional y conectarlo a una Raspberry Pi. También hice mis propias hojas nano conectadas a Internet utilizando una impresora 3D y LEDs. Otro proyecto en el que trabajé fue una pizarra digital de graffiti que permite a las personas dibujar en ella usando sus teléfonos. Si eres nuevo en la programación de IoT, te recomiendo conseguir una Raspberry Pi y experimentar haciendo que un LED parpadee o creando una aplicación web que traduzca texto a código Morse.

Pero sabes que este es un gran momento para los principiantes. Eso es genial. Increíble. Vamos a la sesión de preguntas y respuestas.

Así que tenemos. Cuéntame sobre otros proyectos geniales de IoT en los que hayas estado trabajando. Oh, gran pregunta. Sí. Un montón. No inventé este proyecto, pero recientemente hice el proyecto del espejo mágico, que básicamente consiste en colocar un monitor detrás de un espejo bidireccional y luego conectarlo a una Raspberry Pi y ejecutar una pequeña aplicación web con Electron. Es muy divertido, honestamente es lo más útil que he hecho. Es tan divertido. También hice unas hojas nano. Esas hojas geniales y elegantes que se iluminan y se pueden colocar en la pared. También son muy caras, pero hice las mías propias conectadas a Internet, al menos con la impresora 3D y algunos LEDs y una pequeña aplicación web para controlarlas. Fue muy divertido. Fue un proyecto muy divertido. Y luego, ¿he hecho algo más? No, esos son los dos. Esos son los grandes, y mi caja de arena conectada a Internet, creo que son simplemente divertidos. Oh, también hice una pizarra digital de graffiti hace un par de semanas. Sí, la idea era como una obra de arte o como algo que podría tener en el fondo cuando estoy dando una charla como esta, y la gente podría unirse y dibujar en ella con sus teléfonos, interactuar con ella en la vida real. Gracias Liz, soy parcial pero estoy totalmente de acuerdo contigo. Son realmente divertidos e increíbles. Mi pregunta es, ¿algún experimento pequeño que sea fácil de comenzar con IoT y JavaScript? Sí, hablé un poco de esto en la charla, pero mi recomendación si eres nuevo en la programación de IoT, consigue una Raspberry Pi, es como un entorno basado en UNIX, así que si estás acostumbrado a programar en una Mac o en Linux, es lo mismo. Sí, obtén un entorno Node completo en él y simplemente juega, lo más fácil de hacer es hacer que un LED parpadee, encenderse y apagarse, como, sí. Ni siquiera sé, en realidad, uno de mis primeros proyectos fue una aplicación web que podía traducir texto a código Morse, así que simplemente parpadeaba código Morse para el mensaje que estuvieras haciendo. Sí, no sé. Me gusta, quiero decir, ese fue un circuito tan fácil, pero hacer un divertido proyecto web con él fue muy divertido. Sí, ya no está en funcionamiento.

Practical IoT Projects and Conclusion

Short description:

Si estás comenzando con IoT, es mejor hacer lo que sabes. Hay muchos proyectos prácticos y cotidianos de IoT que puedes explorar, como bloqueadores de anuncios en toda la red y almacenamiento conectado a la red. También puedes crear proyectos de arte o simplemente experimentar con proyectos para principiantes de Raspberry Pi. Únete a Joe en sus salas de conferencias en Spatial Chat para más discusiones.

Sí, creo que todos los que comienzan con IoT siempre comienzan con el roster, es el más común y sí. Oh, totalmente. Y como no puedes meterte en ello, yo me metí en los chips embebidos más avanzados y cosas más pequeñas y geniales, pero si estás comenzando, ¿por qué complicarte la vida? simplemente haz lo que sabes, sabes, estoy de acuerdo.

Entonces, la pregunta es, en tu opinión, ¿cuáles son algunos otros proyectos prácticos o cotidianos de IoT que has encontrado? Um, quiero decir, cualquier cosa que tenga un chip. Personalmente, me gustan un montón de proyectos privados geniales que son proyectos de IoT, como mi pie hole, es una de las cosas más geniales que uso actualmente. No hice pie hole, es como un bloqueador de anuncios en toda la red que funciona en el DNS, lo cual es súper genial. Hice un NOS o almacenamiento conectado a la red con Raspberry Pi, lo cual es genial. Pequeños proyectos de arte. La idea es que puedes hacer cosas prácticas para tu hogar, puedes hacer proyectos de arte tontos, puedes hacer cosas inútiles. Depende de lo que quieras hacer. Solo búscalo en Google como proyectos para principiantes de Raspberry Pi, encontrarás un montón de cosas geniales para hacer. Ese es un gran consejo. Gracias, Joe.

Parece que no tenemos más preguntas, pero por favor únete a Joe en sus salas de conferencias en Spatial Chat. El enlace para unirse está en la línea de tiempo. Gracias Joe. Nos vemos más tarde. Gracias. Adiós. Adiós.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Node Congress 2022Node Congress 2022
26 min
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Top Content
The talk discusses the importance of supply chain security in the open source ecosystem, highlighting the risks of relying on open source code without proper code review. It explores the trend of supply chain attacks and the need for a new approach to detect and block malicious dependencies. The talk also introduces Socket, a tool that assesses the security of packages and provides automation and analysis to protect against malware and supply chain attacks. It emphasizes the need to prioritize security in software development and offers insights into potential solutions such as realms and Deno's command line flags.
Cargadores ESM: Mejorando la carga de módulos en Node.js
JSNation 2023JSNation 2023
22 min
Cargadores ESM: Mejorando la carga de módulos en Node.js
Top Content
ESM Loaders enhance module loading in Node.js by resolving URLs and reading files from the disk. Module loaders can override modules and change how they are found. Enhancing the loading phase involves loading directly from HTTP and loading TypeScript code without building it. The loader in the module URL handles URL resolution and uses fetch to fetch the source code. Loaders can be chained together to load from different sources, transform source code, and resolve URLs differently. The future of module loading enhancements is promising and simple to use.
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Node Congress 2022Node Congress 2022
34 min
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Top Content
There is a need for a standard library of APIs for JavaScript runtimes, as there are currently multiple ways to perform fundamental tasks like base64 encoding. JavaScript runtimes have historically lacked a standard library, causing friction and difficulty for developers. The idea of a small core has both benefits and drawbacks, with some runtimes abusing it to limit innovation. There is a misalignment between Node and web browsers in terms of functionality and API standards. The proposal is to involve browser developers in conversations about API standardization and to create a common standard library for JavaScript runtimes.
Diagnostics de Node.js listos para usar
Node Congress 2022Node Congress 2022
34 min
Diagnostics de Node.js listos para usar
This talk covers various techniques for getting diagnostics information out of Node.js, including debugging with environment variables, handling warnings and deprecations, tracing uncaught exceptions and process exit, using the v8 inspector and dev tools, and generating diagnostic reports. The speaker also mentions areas for improvement in Node.js diagnostics and provides resources for learning and contributing. Additionally, the responsibilities of the Technical Steering Committee in the TS community are discussed.
El Estado de Node.js 2025
JSNation 2025JSNation 2025
30 min
El Estado de Node.js 2025
The speaker covers a wide range of topics related to Node.js, including its resilience, popularity, and significance in the tech ecosystem. They discuss Node.js version support, organization activity, development updates, enhancements, and security updates. Node.js relies heavily on volunteers for governance and contribution. The speaker introduces an application server for Node.js enabling PHP integration. Insights are shared on Node.js downloads, infrastructure challenges, software maintenance, and the importance of update schedules for security.
Compatibilidad con Node.js en Deno
Node Congress 2022Node Congress 2022
34 min
Compatibilidad con Node.js en Deno
Deno aims to provide Node.js compatibility to make migration smoother and easier. While Deno can run apps and libraries offered for Node.js, not all are supported yet. There are trade-offs to consider, such as incompatible APIs and a less ideal developer experience. Deno is working on improving compatibility and the transition process. Efforts include porting Node.js modules, exploring a superset approach, and transparent package installation from npm.

Workshops on related topic

Masterclass de Node.js
Node Congress 2023Node Congress 2023
109 min
Masterclass de Node.js
Top Content
Workshop
Matteo Collina
Matteo Collina
¿Alguna vez has tenido dificultades para diseñar y estructurar tus aplicaciones Node.js? Construir aplicaciones que estén bien organizadas, sean probables y extensibles no siempre es fácil. A menudo puede resultar ser mucho más complicado de lo que esperas. En este evento en vivo, Matteo te mostrará cómo construye aplicaciones Node.js desde cero. Aprenderás cómo aborda el diseño de aplicaciones y las filosofías que aplica para crear aplicaciones modulares, mantenibles y efectivas.

Nivel: intermedio
Construir y Desplegar un Backend Con Fastify & Platformatic
JSNation 2023JSNation 2023
104 min
Construir y Desplegar un Backend Con Fastify & Platformatic
Top Content
WorkshopFree
Matteo Collina
Matteo Collina
Platformatic te permite desarrollar rápidamente GraphQL y REST APIs con un esfuerzo mínimo. La mejor parte es que también te permite desatar todo el potencial de Node.js y Fastify siempre que lo necesites. Puedes personalizar completamente una aplicación de Platformatic escribiendo tus propias características y plugins adicionales. En la masterclass, cubriremos tanto nuestros módulos de Open Source como nuestra oferta en la Nube:- Platformatic OSS (open-source software) — Herramientas y bibliotecas para construir rápidamente aplicaciones robustas con Node.js (https://oss.platformatic.dev/).- Platformatic Cloud (actualmente en beta) — Nuestra plataforma de alojamiento que incluye características como aplicaciones de vista previa, métricas integradas e integración con tu flujo de Git (https://platformatic.dev/). 
En esta masterclass aprenderás cómo desarrollar APIs con Fastify y desplegarlas en la Platformatic Cloud.
Construyendo un Servidor Web Hiper Rápido con Deno
JSNation Live 2021JSNation Live 2021
156 min
Construyendo un Servidor Web Hiper Rápido con Deno
Workshop
Matt Landers
Will Johnston
2 authors
Deno 1.9 introdujo una nueva API de servidor web que aprovecha Hyper, una implementación rápida y correcta de HTTP para Rust. El uso de esta API en lugar de la implementación std/http aumenta el rendimiento y proporciona soporte para HTTP2. En este masterclass, aprende cómo crear un servidor web utilizando Hyper en el fondo y mejorar el rendimiento de tus aplicaciones web.
0 a Auth en una Hora Usando NodeJS SDK
Node Congress 2023Node Congress 2023
63 min
0 a Auth en una Hora Usando NodeJS SDK
WorkshopFree
Asaf Shen
Asaf Shen
La autenticación sin contraseña puede parecer compleja, pero es fácil de agregar a cualquier aplicación utilizando la herramienta adecuada.
Mejoraremos una aplicación JS de pila completa (backend de Node.JS + frontend de React) para autenticar usuarios con OAuth (inicio de sesión social) y contraseñas de un solo uso (correo electrónico), incluyendo:- Autenticación de usuario - Administrar interacciones de usuario, devolver JWT de sesión / actualización- Gestión y validación de sesiones - Almacenar la sesión para solicitudes de cliente posteriores, validar / actualizar sesiones
Al final del masterclass, también tocaremos otro enfoque para la autenticación de código utilizando Flujos Descope en el frontend (flujos de arrastrar y soltar), manteniendo solo la validación de sesión en el backend. Con esto, también mostraremos lo fácil que es habilitar la biometría y otros métodos de autenticación sin contraseña.
Tabla de contenidos- Una breve introducción a los conceptos básicos de autenticación- Codificación- Por qué importa la autenticación sin contraseña
Requisitos previos- IDE de tu elección- Node 18 o superior
GraphQL: De Cero a Héroe en 3 horas
React Summit 2022React Summit 2022
164 min
GraphQL: De Cero a Héroe en 3 horas
Workshop
Pawel Sawicki
Pawel Sawicki
Cómo construir una aplicación GraphQL fullstack (Postgres + NestJs + React) en el menor tiempo posible.
Todos los comienzos son difíciles. Incluso más difícil que elegir la tecnología es desarrollar una arquitectura adecuada. Especialmente cuando se trata de GraphQL.
En este masterclass, obtendrás una variedad de mejores prácticas que normalmente tendrías que trabajar en varios proyectos, todo en solo tres horas.
Siempre has querido participar en un hackathon para poner algo en funcionamiento en el menor tiempo posible, entonces participa activamente en este masterclass y únete a los procesos de pensamiento del instructor.
Dominando Node.js Test Runner
TestJS Summit 2023TestJS Summit 2023
78 min
Dominando Node.js Test Runner
Workshop
Marco Ippolito
Marco Ippolito
Node.js test runner es moderno, rápido y no requiere bibliotecas adicionales, pero entenderlo y usarlo bien puede ser complicado. Aprenderás a utilizar Node.js test runner a su máximo potencial. Te mostraremos cómo se compara con otras herramientas, cómo configurarlo y cómo ejecutar tus pruebas de manera efectiva. Durante la masterclass, haremos ejercicios para ayudarte a sentirte cómodo con el filtrado, el uso de afirmaciones nativas, la ejecución de pruebas en paralelo, el uso de CLI y más. También hablaremos sobre trabajar con TypeScript, hacer informes personalizados y la cobertura de código.