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

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Creando tu Stack de LoRa

31/39
Recursos

Aportes 7

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

#include <lmic.h>
#include <hal/hal.h>
#inlcude < SPI.h >
#include < DHT.h >

#define DHTPIN 23
#define DHTYPE DHT22

DHT dht( DHTPIN, DHTYPE );

void os_getArtEui ( u1_t* buf ) { }
void os_getDevEui ( u1_t* buf ) { }
void os_getDevKey ( u1_t* buf ) { }

const lmic_pinmap lmic_pins = {
.nss = 18,
.rxtx = LMIC_UNUSED_PIN,
.rst = 14,
.dio = { 26 , 33 , 32 }
}

void onEvent ( ev_t ev ) {
switch ( ev ) {
case EV_TXCOMPLETE:

     break;
     default:
     Serial.println ( "Evento desconocido" );
     break;

}

void setup ( ) {
// put your setup main code here, to run repeatedly:
}

void loop ( ) {
// put your main code here, to run repeatedly:
}

void enviar_datos ( uint8_t *mydata, unint16_t len) {
LMIC_setTxData2 ( 1,mydata,len,0);
}

void getInfoAndSend ( ) {
float temp = dht.readTemperature ( );

}

Quien no tenga un TTGo sino un devkit32 y un modulo de radio rf95 o hpd13a puede usar el siguiente codigo, debe mapear los pines MISO, MOSI, SCK, y todas las tierras del radio deben estar aterrizadas

#include <CayenneLPP.h>
#include<lmic.h>
#include<hal/hal.h>
#include <SPI.h>
#include<DHT.h>


#define DHTPIN 22
#define DHTYPE DHT11
#define LED_BUILTIN 2

DHT dht(DHTPIN,DHTYPE);
CayenneLPP lpp(51);

uint32_t DEV_ADDR = 0x26021285;
uint8_t NET_SESS_KEY[16] = { 0xFE, 0x99, 0x29, 0x91, 0xD2, 0x60, 0x99, 0x63, 0xCA, 0xC0, 0x67, 0xAB, 0xA7, 0xFF, 0xBD, 0x52 };
uint8_t APP_SESS_KEY[16] = { 0xD9, 0x8C, 0xC1, 0xA2, 0x8D, 0x43, 0xBD, 0x07, 0x61, 0xAE, 0xCF, 0x8D, 0x76, 0xB4, 0x48, 0x5C };

void os_getArtEui(u1_t* buf){}
void os_getDevEui(u1_t* buf){}
void os_getDevKey(u1_t* buf){}

const unsigned TX_INTERVAL = 10;
unsigned long previousMillis = 0;

const lmic_pinmap lmic_pins = {
  .nss =5,
  .rxtx = LMIC_UNUSED_PIN,
  .rst =14,
  .dio = {26,33,32}
};

void onEvent(ev_t ev)
{
  switch(ev)
  {
    case EV_TXCOMPLETE:
      Serial.println("[LMIC] Radio Tx Complete");
      digitalWrite(LED_BUILTIN, LOW);
      break;
    default:
      Serial.println("Evento Desconocido");
      break;
  }
}

void enviar_datos(uint8_t *mydata, uint16_t len)
{
  if(LMIC.opmode & OP_TXRXPEND)
  {
    Serial.println("[LMIC] OP_TXRXPEND, not sending");
  }
  else
  {
      LMIC_setTxData2(1,mydata,len,0);
  }
  
}

void getInfoAndSend()
{
  digitalWrite(LED_BUILTIN, HIGH);
  // Leer sensores y transmitir
  float temp = dht.readTemperature();
  lpp.addTemperature(1,temp);
  enviar_datos(lpp.getBuffer(),lpp.getSize() ); 
}

void setup() 
{
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
  Serial.print("Led ON");
  Serial.println();
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  Serial.print("Led OFF");
  Serial.println();
  Serial.println("[INFO] Iniciando");
  dht.begin();
  os_init();
  LMIC_reset();
  LMIC_setSession(0x1,DEV_ADDR, NET_SESS_KEY, APP_SESS_KEY);
  // put your setup code here, to run once:
  for(int chan=0; chan<72;++chan)
  {
    LMIC_disableChannel(chan);
  }
  // Escojemos 904.3 Mhz, 915 Mhz en la banda de 902 - 928 Mhz
  LMIC_enableChannel(10);
  LMIC_setLinkCheckMode(0);
  
  LMIC_setDrTxpow(DR_SF7,20);
  previousMillis = millis();
}

void loop() 
{
  // put your main code here, to run repeatedly:
  if( millis() > previousMillis + (TX_INTERVAL*1000) )
  {
    getInfoAndSend();
    previousMillis=millis();
  }
  os_runloop_once();
}```
#include <lmic.h>
#include <hal/hal.h>
#inlcude < SPI.h >
#include < DHT.h >

#define DHTPIN 23
#define DHTYPE DHT22

DHT dht( DHTPIN, DHTYPE );

void os_getArtEui ( u1_t* buf ) { }
void os_getDevEui ( u1_t* buf ) { }
void os_getDevKey ( u1_t* buf ) { }

const lmic_pinmap lmic_pins = {
.nss = 18,
.rxtx = LMIC_UNUSED_PIN,
.rst = 14,
.dio = { 26 , 33 , 32 }
}

void onEvent ( ev_t ev ) {
switch ( ev ) {
case EV_TXCOMPLETE:

     break;
     default:
     Serial.println ( "Evento desconocido" );
     break;
}

void setup ( ) {
// put your setup main code here, to run repeatedly:
}

void loop ( ) {
// put your main code here, to run repeatedly:
}

void enviar_datos ( uint8_t *mydata, unint16_t len) {
LMIC_setTxData2 ( 1,mydata,len,0);
}

void getInfoAndSend ( ) {
float temp = dht.readTemperature ( );

}

Cuantos son el numero Maximo de dispositivos soportados en simultaneo? gracias

Lo recomendable es instalar los diferentes softwares en la carpeta /opt

Buenas tardes, tengo problemas al visualizr este video