Conceptos Básicos

1

Qué aprenderás sobre Internet of Things

2

Espectro electromagnético y qué es radiofrecuencia

3

Clasificacion de radiofrecuencia

4

Regulación de la radiofrecuencia

5

¿Qué son las Telecomunicaciones?

6

Halfduplex y Fullduplex

7

Clasificación de transmisiones: Upstream y Downstream

8

Link budget

9

Con ciertas características, ¿Habría conexión en el sistema?

Alto data rate

10

Wi-fi

11

Bluetooth

12

Redes celulares

LPWANs

13

NB-IoT

14

Consideraciones para implementación de NB-IoT

15

LoRaWAN

Reto 2

16

¿Qué usarías para monitorear la posición GPS de un vehículo? y ¿Qué usarías para monitorear datos en campo?

Diseño

17

Arquitectura de nodos

Introducción a la práctica

18

Instalación de framework ESP32 e instalación de framework SAMD21

19

Qué es una interrupción

Práctica de WiFi

20

Prueba de señal Wi-fi

21

Protocolo HTTP desde un microcontrolador

22

Conectando sensores y actuadores al microcontrolador

23

Preparación de aplicación para recibir datos

24

Programación por eventos de un microcontrolador

25

Configuración de eventos del microcontrolador

26

Conexión de aplicación

Práctica con LoRa

27

¿Cuál es el stack de LoRaWAN?

28

Creando tu propio gateway

29

Ensamblado de gateway

30

Pon a andar tu gateway de LoRa

31

Creando tu Stack de LoRa

32

Conecta tu nodo a internet

33

Integrando datos a un dashboard

34

Terminando de implementar nuestro stack de LoRa

35

BugFixing nuestro stack de LoRa

36

Ensamblando el nodo de LoRa

37

Probando LoRa en nuestro Dashboard

38

Prácticas con tarjetas MKR

Cierre del curso

39

Cierre del curso

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Conexión de aplicación

26/39
Recursos

Aportes 7

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Yo programe una conexion wifi con arduinoUNO y esp8266, y es complicado con los comandos AT.
para ejecutar una Orden de gateway a Server no hay problema, se manda con GET en HTTP
Pero una orden de Server a gateway no se puede directamente. y tiene que hacerse a base de consultas cada cierto tiempo. (el gateway preguntando al server si tiene una orden, y el server respondiendo con la orden).
En base a consultas queda solucionado. Me pregunto si Blynk se basa en lo mismo para ejecutar una Orden de Server a Gateway.?
Todo esta simplificado en esa función:
BLYNK_WRITE(V0){
}
lo cual es maravilloso, Eduardo dijo que esa funcion se activa cuando hay un cambio en VO, pero el Server no podria comunicar eso directamente al Gateway a no ser que el gateway este haciendo consultas constantemente debido a la misma naturaleza de las conexiones cliente servidor en HTTP.
¿Alguien me dice si estoy en lo correcto?

Buenas noches!
Comparto mi código, con algunas variaciones ya que he usado un NodeMCU ESP8266, con la cual algunas librerías que usa el profe aquí no funcionan. Ademas he sumado una pequeña porción de código que activa un relé (Y este encendería un ventilador) cuando se supera cierta temperatura:

#define BLYNK_PRINT Serial

//Librerias utilizadas
#include <DHTesp.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

//Variables
bool ext_intFlag = 0;
bool pinChanged = 0; //Indica el cambio de estado
float t,h;

//def
#define dhtPin D0 // Pin DHT22
#define led1 D1 //Pin LED
#define relay D2 //Pin Relay
#define btn1 D3 //Pin Pulsador

//Init
DHTesp dht;
BlynkTimer timer;
WidgetLED wled(V1);

//WiFi & Token
char ssid[] = "Tu SSID";
char pass[] = "Tu contraseña";
char auth[] = "Tu token de Blynk";

BLYNK_WRITE(V0)
{
  int v0Data = param.asInt();
  /* Otros tipos de parametro:
   *  asString
   *  asDouble
   */
   Serial.print("Valor de V0:");
   Serial.println(v0Data);
   digitalWrite(led1,v0Data);
}

void sendSensors()
{
  t = dht.getTemperature();
  h = dht.getHumidity();

  Blynk.virtualWrite(V5,t);
  Blynk.virtualWrite(V6, h);
}

void checkPin()
{
  ext_intFlag = !ext_intFlag;
  pinChanged = 1;
  
}

void ICACHE_RAM_ATTR checkPin();

void setup()
{
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  
  timer.setInterval(2000L, sendSensors);
  
  pinMode(relay, OUTPUT);
  digitalWrite(relay,LOW);
  pinMode(btn1, INPUT_PULLUP);
  pinMode(led1, OUTPUT);
  digitalWrite(led1,LOW);
  dht.setup(dhtPin,DHTesp::DHT22);

  attachInterrupt(digitalPinToInterrupt(btn1),checkPin,RISING);
}

void loop()
{
  Blynk.run();
  timer.run();
  if(pinChanged)
  {
    if(ext_intFlag)
    {
      wled.on();
    }
    else
    {
      wled.off();
    }
    pinChanged = 0; //Volvemos el valor a 0 para evitar que se ejecute el if por error
  }
  if (t > 27.00)
  {
    digitalWrite(relay,HIGH);
  }
  else
  {
    digitalWrite(relay,LOW);
  }
}

Espero les sea de utilidad!

Saludos

Para esta practica, yo utilice los siguientes componentes:
ESP32 CAM
Conversor USB A Serial: CP2102
DHT11
Pulsador
Protoboard
Cables

Les doy mi aporte para los que solo tienen un Esp8266 y no cuentan con un push button, ni un sensor DHT. No se puede encender el LED de blynk, pero si aparecen unos valores random de temperatura y humedad en la grafica y si presionas el botón de encendido o apagado, se enciente el led que trae de fabrica el Esp8266.

#define BLYNK_PRINT Serial //se debe poner antes de la libreria

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

#define led 2


BlynkTimer timer;
WidgetLED led1(V1);

char token[]="zXI3NpVjj9H-YdVdgwHQp4fhdQuY1QBh";

BLYNK_WRITE(V0){//lee desde blynk el estado del boton y si se presiona, el led se enciende
  int V0data = param.asInt(); //.asString .asDouble
  Serial.println("Valor de V0= ");
  Serial.print(V0data);
  digitalWrite(led, V0data);
}

void sendsensors(){ //funcion envia a blynk los valores de temperatura y humedad
  float h = random(80,99);
  float t = random(20,33);

  Blynk.virtualWrite(V5,t);
  Blynk.virtualWrite(V6,h);
}

void setup() {
 Serial.begin(115200);
 pinMode(led, OUTPUT);
 digitalWrite(led, LOW);
 timer.setInterval(2000, sendsensors); //cada 2000 milis se ejecuta la funcion sendsensors
 Blynk.begin(token, "RED","CONTRASEÑA"); //token de autorizacion e internet
 
}

void loop() {
Blynk.run(); //si llegó un dato desde blynk
timer.run();

}

Tengo una esp32-pico-kit-v4-1 y el sensor DHT11 y DHT22 no me funcionaron con esta placa, decidi continuar con una BMP180 para continuar las activadades del curso. Aun asi si alguien ha tenido experiencias usando esta placa con esos sensores y han encotrado solucion lo agradecería

A mí no me ha salido, de momento, con el Wemos D1 mini Pro (ESP8266). Lo seguiré intentando.

Tengo un ESP8266 y debería funcionar importando estas librerías

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>