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?

o inicia sesión.

#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