# Software

Antes de iniciar el curso es necesario tener configurado un entorno local con las herramientas que se muestran a continuación.

## Aplicaciones locales

### Arduino IDE

Este IDE permite el desarrollo de aplicaciones para diferentes placas de desarrollo incluidas las placas Arduino . Este entorno de desarrollo será empleado en la parte inicial del curso para codificar programas para la plataforma arduino. Para descargarlo puede seguir el siguiente [link](https://www.arduino.cc/en/software)

<figure><img src="/files/xuNZZXr0m2BT6qEigojb" alt="imagen IDE Arduino"><figcaption><p>Interfaz arduino IDE</p></figcaption></figure>

### Fritzing

Fritzing es una plataforma para plataforma permitira prototipar hardware en su computador y verificar su funcionamiento antes de hacer el montaje en fisico. Esta puede ser descargada del siguiente [link](https://fritzing.org/).

<figure><img src="/files/GeUmh3i3pyJkJbgV07oP" alt=""><figcaption><p>Interfaz Fritzing</p></figcaption></figure>

### Visual Studio Code

Visual Studio Code es un editor de codigo fuente ampliamente versatil será empleado para desarrollo de programas de aplicación para las plataformas de hardware que se emplearan para prototipado en el curso. Siga el siguiente [link](https://nodered.org/) para llevar a cabo la instalación

<figure><img src="/files/o9UALhJbhTQINyMKDU9I" alt=""><figcaption><p>Interfaz Visual Studio Code</p></figcaption></figure>

### Platformio

El **Platformio** es un pluging de visual studio code será empleado para programar diferentes plataformas de desarrollo como el ESP32, ESP8266 y la Raspberry pi. Siga el siguiente [link](https://platformio.org/) consultar sobre su instalación.

<figure><img src="/files/JmKMQs3JYddupj9B78xb" alt=""><figcaption><p>Interfaz Platformio</p></figcaption></figure>

### Herramienta de diagramación

El uso de una herramienta de diagramación facilita enormente la concepción y diseño de una arquitectura. Existen varias posibilidades como Visio, Lucidchart o draw\.io. En nuestro caso recomentamos usar el **draw\.io** ([link](https://www.drawio.com/)) el cual puede ser usado como complemento en el navegador o como aplicación local.

<figure><img src="/files/kNXO0h8llFiKSE51iEve" alt=""><figcaption><p>Interefaz draw.io</p></figcaption></figure>

### Mosquitto

Mosquitto es un broker MQTT opensource que permite la comunicación de las cosas mediante el protocolo MQTT. Este broker será ampliamente usado a lo largo del curso para el desarrollo de proyectos IoT. Se recomienda llevar a cabo su instalación siguiento el siguiente [link](https://mosquitto.org/)<br>

<figure><img src="/files/Rriar2pFtUObzG9FpJGy" alt=""><figcaption><p>Terminal del cliente Mosquitto</p></figcaption></figure>

### Mqtt Explorer

El Mqtt explorer es un cliente MQTT grafico que facilita el proceso de debug de aplicaciones IoT que usand el protocolo IoT. Se recomienda su instalación siguiendo el siguiente [link](http://mqtt-explorer.com/)

<br>

<figure><img src="/files/5eiHpGjqfpaIrX6phCsx" alt=""><figcaption><p>Interfaz MQTT Explorer</p></figcaption></figure>

### Node-red

El NodeRED ([link](https://nodered.org/)) es una herramienta de programación grafica para el desarrollo de aplicaciones IoT permitiendo la conección dispositivos de hardware, API y diferentes servicios en línea. En este curso emplearemos esta herramienta para realizar prototipado rapido de aplicaciones.

<figure><img src="/files/2g88s0GL4oRlfRVnLfQd" alt=""><figcaption><p>Interfaz de desarrollo Nodered</p></figcaption></figure>

Siguiendo el siguiente [link](https://nodered.org/docs/getting-started/local) lleve a cabo la instalación de esta herramienta en su maquina. Tenga en cuenta que previa a la instalación debe asegurarse que se cumplan los prerequisitos. Asi que antes de instalar el Nodred,ejecute primero las instrucciones que se dan en la sección **prerequisites**.

## Aplicaciones remotas

### Github

Es necesario crear una en github para la creación y administración de repositorios a lo largo del curso. Visite el siguiente [link](https://github.com/) y siga los pasos necesarios para la creación de la cuenta.

<figure><img src="/files/yZbLCWzQVbMvLOCEfzHd" alt=""><figcaption><p>Login a Github</p></figcaption></figure>

### Tinkercad

Crear una cuenta en Tinkercad ([link](https://www.tinkercad.com/)). Esta plataforma web será sumamente util para prototipar y simular proyectos de arduino antes de realizar el montaje en fisico.

<figure><img src="/files/Ggv6uLdbccfaNgubLI49" alt=""><figcaption><p>Logo Tinkercad</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://udea-iot.gitbook.io/introduccion-al-iot/pasos-previos/herramientas-necesarias/software.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
