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

Ensamblando el nodo de LoRa

36/39
Recursos

Aportes 5

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

El v铆deo parece cortado, solo logro ver al 3:28 da la sensaci贸n de que falta mucho m谩s.

hola les comparto mi codigo!!

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

#define ESP32_LED_BUILTIN 2
#define LPPBUFFSIZE 32
#define TX_INTERVAL 10

// From TTN
uint32_t DEVADDR = 0x26031696;
uint8_t NWSK[16] = { 0x77, 0x6B, 0x1F, 0xC4, 0x03, 0xBF, 0x42, 0xC3, 0x56, 0xA3, 0x8F, 0x36, 0x10, 0x34, 0xF2, 0x53 };
uint8_t APPSK[16] = { 0x4B, 0xD2, 0x28, 0xEB, 0xE4, 0xD9, 0x90, 0x75, 0x65, 0x10, 0x43, 0xA7, 0xD3, 0x43, 0x1A, 0x56 };
unsigned long previousMillis = 0;

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

CayenneLPP lpp(LPPBUFFSIZE);

void os_getArtEui(u1_t* buff){};
void os_getDevEui(u1_t* buff){};
void os_getDevKey(u1_t* buff){};

void onEvent(ev_t ev)
{
switch (ev)
{
case EV_TXCOMPLETE :
Serial.println(鈥淟MIC : Event Tx complete鈥);
digitalWrite(ESP32_LED_BUILTIN,LOW);
break;

default:
  Serial.println("UKN Event");
  break;

}
}

void setup() {
Serial.begin(115200);
pinMode(ESP32_LED_BUILTIN,OUTPUT);
os_init();
LMIC_reset();
LMIC_setSession(0x1,DEVADDR,NWSK,APPSK);
for (uint8_t chan=0;chan<=72;++chan)
{
//904.3 MHz banda de 915 MHz 902MHz-928MHz
LMIC_disableChannel(chan);
}

LMIC_enableChannel(10);
LMIC_setLinkCheckMode(0);
LMIC_setDrTxpow(DR_SF7,20);
previousMillis = millis();

}

void loop() {
if (millis() > (previousMillis + TX_INTERVAL*1000))
{
getInfoAndSend();
previousMillis = millis();
}
os_runloop_once();
}

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

void getInfoAndSend()
{
digitalWrite(ESP32_LED_BUILTIN,HIGH);
int ADC_VALUE = analogRead(A0);
float pot = (ADC_VALUE * 3.3 ) / (4095);
lpp.addVoltage(1,pot);
sendData(lpp.getBuffer(),lpp.getSize());
}

codigo corregido

// Ejemplo de nodo LoRa
#include <lmic.h>
#include <hal/hal.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <CayenneLPP.h>


#define DHTPIN 23
#define DHTYPE DHT22

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

uint8_t NWSK [16]={};
uint8_t APPSKEY [16]={};
uint32_t DEVADDR = 0x26021460;

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

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

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:
  Serial.println("[LMIC] Radio TX complete");
  digitalWrite(LED_BUILTIN,LOW);

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

//Funciones
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);
  float temp = dht.readTemperature();
  lpp.addTemperature(1,temp);
  enviar_datos(lpp.getBuffer(),lpp.getSize());
}


void setup()
{
  Serial.begin(115200);
  Serial.println("[INFO] Iniciando");
  pinMode(LED_BUILTIN,OUTPUT);
  dht.begin();
  os_init();
  LMIC_reset();
  LMIC_setSession(0x1,DEVADDR,NWSK,APPSKEY);

  for(int chan=0;chan<72;++chan){
LMIC_disableChannel(chan);

  }

  LMIC_enableChannel(10);
  LMIC_setLinkCheckMode(0);
  LMIC_setDrTxpow(DR_SF7,20);
  previusMillis = millis();

}

void loop()
{
  if(millis()>previusMillis+(TX_INTERVAL*1000)){
    getInfoAndSend();
    previusMillis=millis();
  }
  os_runloop_once();

}


Hola Eduardo, Cordial Saludo鈥 Te comento que estoy usando una tarjeta LoRa32u4-II y pude subir tu codigo tal cual (haciendo unos ajustes como corresponde como lo son los pines f铆sicos), tambi茅n pude realizar los pasos en TTN sin embargo estoy intentando conectarme a un GATEWAY dragino OLG02 (el cual es que tengo a la mano) el cual esta registrado en TTN鈥 驴hay alg煤n paso que estoy omitiendo para lograr conexi贸n? pues no estoy usando la TTGO鈥 quedo atenta鈥