Instalar un servidor IOT en un PC


Para montar un servidor IoT en un PC, primero necesitamos un PC con los requisitos mínimos necesarios. Estos requisitos suelen ser los siguientes:

  • Un procesador de al menos 1 GHz
  • 2 GB de RAM
  • 10 GB de espacio libre en disco duro
  • Un sistema operativo compatible con IoT, como Windows 10, Linux o macOS

Una vez que tenga un PC compatible, puedes empezar a instalar el software necesario. Hay muchas opciones disponibles, pero algunas de las más populares son:

  1. Apache MQTT es un servidor MQTT que facilita la comunicación entre dispositivos IoT de manera eficiente y ligera. MQTT es reconocido por su bajo consumo de ancho de banda y su capacidad para funcionar en redes con recursos limitados, lo que lo convierte en una opción popular para la comunicación en entornos IoT. Al utilizar un modelo de publicación/suscripción, MQTT permite que los dispositivos envíen y reciban mensajes de manera eficiente, lo que lo hace ideal para aplicaciones donde se requiere un intercambio rápido de datos entre múltiples dispositivos.
  2. Node-RED proporciona un entorno de desarrollo visual para la creación de aplicaciones IoT basadas en JavaScript. Con una interfaz gráfica intuitiva, Node-RED permite a los desarrolladores crear flujos de trabajo complejos al conectar nodos predefinidos. Estos nodos pueden realizar una variedad de tareas, como la integración con dispositivos y servicios IoT, el procesamiento de datos y la generación de respuestas automatizadas. Al simplificar el proceso de desarrollo, Node-RED agiliza la creación de aplicaciones IoT y facilita la implementación de soluciones inteligentes y conectadas.
  3. ThingSpeak es una plataforma en la nube diseñada para la recopilación, el almacenamiento y la visualización de datos de dispositivos IoT. Ofrece herramientas para la integración de dispositivos y la recopilación de datos en tiempo real, así como para el análisis y la visualización de datos a través de gráficos y tablas. ThingSpeak también permite la creación de paneles personalizados para monitorizar y controlar dispositivos IoT, lo que facilita la creación de soluciones personalizadas para diferentes aplicaciones y casos de uso.
  4. HomeAssistant es una plataforma IoT de código abierto ampliamente utilizada que se puede instalar en una variedad de dispositivos, como Raspberry Pi o servidores domésticos. Ofrece una interfaz centralizada para controlar y automatizar dispositivos IoT de diferentes fabricantes y protocolos. HomeAssistant es altamente personalizable y extensible, lo que permite a los usuarios integrar una amplia gama de dispositivos y servicios en una sola plataforma. Con funciones avanzadas de automatización y soporte para la creación de reglas personalizadas, HomeAssistant es una opción popular para aquellos que desean crear un hogar inteligente personalizado y flexible.

Apache MQTT

Apache MQTT: Un servidor MQTT, que es un protocolo de mensajería ligero utilizado para la comunicación entre dispositivos IoT.

Para instalar Apache MQTT, puede seguir estos pasos:

  1. Abra un símbolo del sistema o una terminal.
  2. Escriba el siguiente comando:
sudo apt-get install mosquitto
  1. Presione Enter.

Esto instalará el servidor MQTT en tu PC. Para comprobar que está instalado correctamente, puede escribir el siguiente comando:

sudo service mosquitto status

Si el servidor está instalado correctamente, verá el siguiente mensaje:

mosquitto.service - Mosquitto MQTT v3.1.1 message broker
   Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2023-12-30 12:00:00 CET; 10h ago
  Main PID: 1336 (mosquitto)
  Tasks: 2 (limit: 2349)
  Memory: 1.8M
  CGroup: /system.slice/mosquitto.service

Node-RED

Node-RED: Un entorno de desarrollo visual para crear aplicaciones IoT basadas en JavaScript.

Para instalar Node-RED, puede seguir estos pasos:

  1. Abra un símbolo del sistema o una terminal.
  2. Escriba el siguiente comando:
npm install -g node-red
  1. Presione Enter.

Esto instalará Node-RED en tu PC. Para comprobar que está instalado correctamente, puede escribir el siguiente comando:

node-red

Esto abrirá Node-RED en su navegador web.

ThingSpeak

ThingSpeak: Una plataforma en la nube que permite recopilar, almacenar y visualizar datos de dispositivos IoT.

Para instalar ThingSpeak, puedes seguir estos pasos:

  1. Vaya al sitio web de ThingSpeak.
  2. Haga clic en «Create Account».
  3. Introduzca su información de contacto y cree una contraseña.
  4. Haga clic en «Create Account».

Una vez que haya creado una cuenta, puede empezar a crear canales para recopilar y almacenar datos de sus dispositivos IoT.

Una vez que haya instalado el software necesario, puede empezar a conectar sus dispositivos IoT a tu servidor. La forma de hacerlo dependerá del tipo de dispositivo que esté utilizando.

Por ejemplo, si está utilizando un dispositivo que utiliza el protocolo MQTT, puede conectarlo a su servidor utilizando el siguiente comando:

mosquitto_sub -h localhost -t topic

Este comando suscribirá tu dispositivo al tema «topic».

Una vez que tus dispositivos estén conectados a tu servidor, podrás empezar a recopilar datos de ellos. Puedes hacerlo utilizando el software que hayas instalado anteriormente.

Por ejemplo, si está utilizando Node-RED, puede crear un flujo para recopilar datos de sus dispositivos. El siguiente flujo recopilará datos de un dispositivo que utiliza el protocolo MQTT:

[{"id":"in1","type":"mqtt in","topic":"topic","broker":"localhost"}]

Este flujo creará una entrada llamada «in1» que recibirá datos del tema «topic» del broker MQTT local.

home assistant

Home Assistant

HomeAssistant: Una plataforma IoT de código abierto ampliamente utilizada que se puede instalar en una gran variedad de dispositivos.

Home Assistant es un software de automatización del hogar gratuito y de código abierto que te permite gestionar todos tus dispositivos inteligentes desde un único lugar.También es posible instalar Home Assistant en tu PC.

Para instalar Home Assistant en un PC , puede seguir estos pasos:

  1. Descarga la última versión de Home Assistant desde la página web oficial.Se abre en una ventana nuevawww.home-assistant.ioPágina web oficial de Home Assistant
  2. Descomprime el archivo descargado.
  3. Abre un símbolo del sistema o una terminal en la carpeta descomprimida.
  4. Escribe el siguiente comando:
hass
  1. Presiona Enter.

Esto iniciará Home Assistant. El servidor se iniciará en la dirección http://localhost:8123/.

Una vez que haya iniciado Home Assistant, puede empezar a agregar dispositivos a su sistema. Puede hacerlo utilizando la interfaz web de Home Assistant o mediante la API de Home Assistant.

Para agregar dispositivos a tu sistema utilizando la interfaz web, haz clic en el icono «+» en la esquina superior izquierda de la pantalla. A continuación, seleccione el tipo de dispositivo que deseas agregar.

Para agregar dispositivos a tu sistema mediante la API de Home Assistant, puede utilizar un lenguaje de programación como Python o JavaScript.

Aquí hay algunos ejemplos de lo que puedes hacer con Home Assistant:

  • Controlar tus luces, termostatos y otros dispositivos inteligentes.
  • Automatizar tareas, como encender las luces cuando llegues a casa o apagarlas cuando te vayas.
  • Recibir notificaciones sobre el estado de tus dispositivos.

Home Assistant es una excelente manera de controlar sus dispositivos inteligentes y automatizar su hogar.

Resumen

La elección de la herramienta adecuada depende de sus necesidades específicas y de los requisitos de su proyecto. Aquí hay algunos factores a considerar al tomar una decisión:

  1. Requerimientos del proyecto: Evalúe qué funcionalidades necesita en su solución IoT. ¿Necesita un servidor de mensajería para la comunicación entre dispositivos? ¿Quiere una plataforma para visualizar y analizar datos de IoT? ¿Busca una herramienta para desarrollar aplicaciones IoT de manera rápida y eficiente?
  2. Facilidad de uso: Considere la facilidad de uso y la curva de aprendizaje de cada herramienta. Algunas plataformas pueden ser más amigables para principiantes o ofrecer una interfaz visual intuitiva, mientras que otras pueden requerir un conocimiento más profundo de programación.
  3. Flexibilidad y escalabilidad: Piense en la flexibilidad y la escalabilidad de la herramienta. ¿Puede integrar una amplia gama de dispositivos y servicios? ¿La herramienta puede escalar fácilmente a medida que crece tu proyecto IoT?
  4. Comunidad y soporte: Investige la comunidad de usuarios y el soporte disponible para cada herramienta. Una comunidad activa puede proporcionar recursos, tutoriales y soluciones a problemas comunes, mientras que un buen soporte técnico puede ayudarle a resolver problemas específicos.
  5. Costo: Considere el costo asociado con cada herramienta, incluyendo posibles tarifas de licencia, costos de infraestructura, y gastos de mantenimiento. Algunas herramientas pueden ser de código abierto y gratuitas, mientras que otras pueden requerir una inversión inicial o pagos periódicos.

Analize estos factores y elija la herramienta que mejor se adapte a tus necesidades y objetivos de proyecto. Una vez que hayas recopilado los datos de tus dispositivos, puedes almacenarlos, analizarlos o utilizarlos para automatizar tareas.

Aquí tiene algunos ejemplos de lo que puede hacer con un servidor IoT:

  • Monitorear el estado de tus dispositivos IoT.
  • Recopilar datos para fines de análisis.
  • Automatizar tareas, como encender o apagar luces o abrir puertas.
  • Etc

El potencial de los servidores IoT es enorme. Con un poco de esfuerzo, puede crear aplicaciones IoT que le ayuden a mejorar su vida.

Que no le vendan gato por liebre con las unidades flash USB y los SSD


Cuando consideramos la adquisición de dispositivos de almacenamiento como discos duros, SSD o unidades USB, nos resultan atractivas las opciones chinas. Estas alternativas suelen ser considerablemente más económicas, permitiéndonos adquirir discos de varios terabytes por una fracción del precio que encontramos en otras tiendas. Sin embargo, es importante destacar que en el caso de los pendrives USB de alta capacidad, muchas veces nos enfrentamos a productos falsificados.

Cuando evaluamos un dispositivo de almacenamiento, consideramos tres aspectos principales: capacidad, velocidad y, por supuesto, precio. Si al menos dos de estos criterios cumplen o superan nuestras expectativas, entonces estamos ante una compra viable. Tiendas como AliExpress ofrecen una amplia gama de discos SSD, tarjetas SD y unidades USB con capacidades considerables a precios reducidos. Estos productos se venden en grandes cantidades diariamente, atrayendo a muchos clientes que pueden caer inadvertidamente en una estafa

Ciertamente comprar una unidad USB falsa no es una pérdida total porque en algunos casos una buena parte es espacio de almacenamiento real. Digamos que el fabricante sólo ha tergiversado su verdadero espacio para atraerle a comprarlo, así que a pesar de que puede que nos podamos encontrar estafados, aun es posible recuperar al menos una parte de su valor si lo formatea a su capacidad real.

Si nos vamos al explorador de archivos al estar formateada a una capacidad no real en extFat no podemos saber cual es su capacidad real.Con la introducción de ValiDrive, ahora tenemos la capacidad de identificar la verdadera capacidad de almacenamiento.

Podemos encontrarnos con la tentación de adquirir un SSD M.2 a un precio muy económico, cuya apariencia exterior y capacidad anunciada parecen ser auténticas. Al ver fotos de clientes que muestran unidades aparentemente genuinas, podemos sentirnos inclinados a realizar la compra. Sin embargo, es importante tener en cuenta que existen estafas, como la de los SSD M.2 que en realidad contienen tarjetas MicroSD en su interior. Aunque estos productos alcanzan la capacidad declarada, su velocidad no corresponde a la esperada. Incluso hemos visto falsificaciones en tiendas estadounidenses, como un SSD de «30 TB» por 39 dólares, una oferta claramente irreal.

Al principio, esto puede parecer una molestia menor: compra una unidad de 1 o 2 terabytes a un precio de ganga y en su lugar recibe una unidad de 64 GB. ¡Pero eso NO es lo que sucede aquí! La unidad parece ser la unidad de 1 o 2 terabytes que compró. Lo conectas a tu computadora y todo se ve bien. Incluso puede copiar archivos al disco; tantos como quieras. Y cuando miras el contenido de la unidad, los archivos están ahí. Pero lo insidioso es que es posible que el contenido de los archivos nunca haya sido almacenado.

Estas unidades fraudulentas contienen suficiente almacenamiento (generalmente 64 GB) para contener de manera convincente la lista de directorios del sistema de archivos . Pero una vez que se hayan llenado los primeros 64 GB de espacio de almacenamiento, el contenido de los archivos adicionales no se almacenará realmente. Sus nombres, fechas y tamaños se almacenarán en el directorio en la parte frontal de la unidad. Todo parecerá estar bien. Pero el contenido de los archivos estará en blanco porque fueron «almacenados» donde no existe almacenamiento.

ValiDrive

Además de los SSD, también se comercializan unidades USB de 2 TB o incluso más a precios muy bajos. Para ayudar a detectar estas estafas, Steve Gibson ha desarrollado una nueva aplicación gratuita para Windows llamada ValiDrive. Esta aplicación puede identificar la capacidad real de cualquier unidad USB y determinar si es falsa. ValiDrive 1.0 se puede descargar desde la Gibson Research Corporation y es extremadamente útil, ya que también puede detectar errores de lectura/escritura. En un ejemplo revelador, se descubrió que una unidad USB de 2 TB en realidad tenía solo 2MB GB, demostrando ser una completa estafa.

En efecto este programa (ValiDrive) realiza una verificación puntual rápida y de secuencia aleatoria en todo el espacio de almacenamiento declarado de la unidad . En cada ubicación, verifica el almacenamiento y la recuperación exitosos de datos de prueba aleatorios (no falsificables)

Los mapas de unidades anteriores son típicos de las unidades fraudulentas que están inundando el mercado. Esto muestra una unidad vendida en dos terabytes (2 TB) que en realidad sólo contiene 2MB! ) de almacenamiento flash. Consulte el informe completo de ValiDrive sobre esta unidad a continuación.

Mientras ValiDrive husmea en su unidad USB, anota el tiempo necesario para cada acceso aleatorio de lectura y escritura. Una vez finalizado, analiza y resume las estadísticas de tiempo de acceso de la unidad en un informe final:

Quizás el informe de mas arriba sea mas interesante porque en este caso observamos como una unidad que publicita 2Tb no llega a los 4Mb

Además de la capacidad real los detalles de rendimiento pueden ser sumamente interesantes:

Los sistemas operativos no verifican que los datos que escriben hayan sido realmente escritos. Confían en la honestidad de los dispositivos de almacenamiento para informar errores. Si se produce un error de escritura, el sistema operativo reescribirá los datos en otro lugar. Pero estas unidades deliberadamente fraudulentas nunca reportan ningún problema: simplemente descartan silenciosamente cualquier dato escrito donde no hay almacenamiento.

Formatear la unidad falsa a su capacidad real

Diskpart es una herramienta de línea de comandos de Microsoft que se utiliza para administrar discos duros y unidades de almacenamiento en un sistema operativo Windows. Con Diskpart, puede crear, eliminar y formatear particiones en un disco duro, así como asignar y quitar letras de unidad a las particiones. También se puede utilizar para establecer una partición como activa, limpiar un disco duro y cambiar el tamaño de las particiones.


Usando diskpart, ahora dividiremos el USB en su espacio real, para ello, en primer lugar, tenemos que identificar la unidad USB y seleccionarla. Asegúrese de verlo seleccionado en la lista de discos y que es el correcto (el asterisco indica que está seleccionado).

Microsoft DiskPart versión 10.0.22000.653

Copyright (C) Microsoft Corporation.
En el equipo: DESKTOP-NA97NGE

DISKPART> list disk

  Núm Disco  Estado      Tamaño   Disp     Din  Gpt
  ---------- ----------  -------  -------  ---  ---
  Disco 0    En línea        476 GB  2048 KB        *
  Disco 1    En línea       1943 GB      0 B

DISKPART>

Es muy importante asegurarse que disco vamos a gestionar , pues una vez limpiado, se eliminan todos los archivos y particiones. En el ejemplo el disco falso es el disco 1, así que lo seleccionaremos y lo listaremos para asegurarnos que esta activo.


DISKPART> select disk 1

El disco 1 es ahora el disco seleccionado.

DISKPART> list disk

  Núm Disco  Estado      Tamaño   Disp     Din  Gpt
  ---------- ----------  -------  -------  ---  ---
  Disco 0    En línea        476 GB  2048 KB        *
* Disco 1    En línea       1943 GB      0 B

Como el disco falso esta activo, podemos proceder a limpiarlo con el comando clean.

DISKPART> clean

DiskPart ha limpiado el disco satisfactoriamente.

Ahora crearemos una partición basada en el resultado del escaneo que teníamos. En nuestro caso en el ejemplo nos daba 61GB , que en MB es 61*1024=62.464Mb, que es el tamaño que elegiremos.


DISKPART> create partition primary size=62464

DiskPart ha creado satisfactoriamente la partición especificada.

En lugar de los falsos 2TB en el ejemplo , ahora tenemos 61 Gigabytes de verdadero espacio escribible. Esto asegurará que todos los archivos escritos en el USB no estén corruptos.

DISKPART> list partition

  Núm Partición  Tipo              Tamaño   Desplazamiento
  -------------  ----------------  -------  ---------------
* Partición 1    Principal           61 GB  1024 KB

DISKPART>

Active la nueva partición pues de ese modo podremos formatearla normalmente.

DISKPART> select partition 1

La partición 1 es ahora la partición seleccionada.


Ahora el USB falso vuelve a ser auténtico.

DISKPART> active

DiskPart marca la partición actual como activa.

DISKPART>

En este momento Windows lo reconocerá como disco , y nos pedirá que procedamos a formatearlo

Es interesante destacar que podemos formatear ya en NTFS y no en FAT extendida como suelen venir. Tras unos instantes veremos que el disco es correctamente formateado a su capacidad real.