top of page
Crescer (fundo transparente)_Negativo_pn
Você sabia que a Crescer ensina, fornece e faz soluções de automação e IoT com Arduino e ESP32?

Fale com um especialista

2.png
3.png
1.png
Foto do escritorThales Gonçalves Ferreira

CPB32h - Módulo LoRa Ebyte

A CPB32h possui um barramento especial dedicado à conexão de dispositivos de comunicação sem fio. Um dos dispositivos que podem ser utilizados nesse barramento é o módulo LoRa da Ebyte.


Os módulos LoRa da Ebyte oferecem comunicação de longa distância com baixo consumo de energia, sendo ideais para aplicações de IoT. Eles são compactos, fáceis de integrar e garantem uma comunicação robusta.


Neste blog, vamos ver como comunicar dois ESP32 utilizando o módulo LoRa da Ebyte com a CPB32h.



Sumário



1. Visão geral

 

Na figura a seguir, podemos ver a região da placa que será utilizada para a comunicação com o módulo LoRa.



Nesta região, temos um regulador de tensão de 3,3V a 5V, que possibilita o uso do LoRa, Bluetooth e outras funcionalidades que precisam se comunicar via pinos RX e TX, flexibilizando e viabilizando diferentes projetos. Na figura a seguir, podemos ver mais detalhes.



Usando o trimpot RV1, é possível ajustar a tensão do pino de Vcc para o valor desejado, entre 3,3V e 5V. Os pinos 26, 25 e 13 são pinos do próprio ESP32, passando por um conversor de nível lógico, o que permite uma conexão perfeita com o módulo.

 

Vale ressaltar que, quando o usuário da CPB32h utilizar outro dispositivo de rádio frequência, que não seja os contidos no ESP32 (Wi-Fi e Bluetooth do próprio módulo da Espressif presente na placa), a homologação feita pela Crescer para a CPB32h deixa de ser válida. Nesse caso, o usuário precisará submeter o equipamento a um novo processo de homologação. A Crescer pode apoiar com a homologação atual, mas não isenta da necessidade de um novo processo de homologação.



2. Como utilizar o módulo LoRa Ebyte


Na figura a seguir, podemos ver o módulo LoRa utilizado neste blog, com a identificação de seus pinos. O modelo exato é o E220-900T30D.



Para a correta conexão do módulo com a CPB32h, é necessário utilizar um adaptador, mostrado na figura a seguir.

 


Fazendo a conexão utilizando o adaptador, ligamos os pinos do ESP32 aos pinos do módulo, conforme descrito na tabela a seguir.

 

Na figura a seguir, podemos ver à esquerda a CPB32h apenas com o adaptador, e à direita, com o adaptador e o módulo LoRa conectado.

 

Como exemplo, vamos comunicar dois ESP32. Na figura a seguir, podemos ver a topologia utilizada.


Agora, vamos ao firmware utilizado. Para este exemplo, usamos nossa biblioteca de timer sem delay, que está disponível para download neste link. A seguir, podemos ver o código completo que deve ser carregado em ambos os ESP32.


int tipoSim = 4; //  0=C e 1=L e 2=7020 e 3=lora ebyte e 4=manual

// o pino - PWR é macetoso
// dando um pulso ele desliga
// outro pulso ele liga
// se vier "NORMAL POWER DOWN"; precisa enviar um pulso para ligar

// pulso  = low 500; high 1300; low para sempre

// parece que prcisa ficar 33 segundos no estado para não inverter caso ocorra um pulso
#include <SoftwareSerial.h>

#include "Crescer.h"
Tempora temp1;
/*
  #include <SoftwareSerial.h>

  SoftwareSerial mySerial(A3, A2); // RX, TX
  //SoftwareSerial mySerial(6, 7); // RX, TX

*/
SoftwareSerial testSerial;
long bd = 9600;
void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(bd);
  //  Serial2.begin(bd,25,26);
  Serial.println("oi");
  testSerial.begin(9600, SWSERIAL_8N1, 26, 25, false);
  pinMode(13, OUTPUT);
  //pinMode(13, LOW);
  temp1.defiSP(200);
  if (tipoSim != 2)
  {
    logicaReset();
    delay(10);
    Serial2.println("at");
  }

  pinMode(4, OUTPUT);
  pinMode(32, OUTPUT);
  pinMode(33, OUTPUT);

  digitalWrite(4, 0);
  digitalWrite(32, 0);
  digitalWrite(33, 0);
}
int var = 0;
void loop() { // run over and over
  if (testSerial.available()) {
    Serial.write(testSerial.read());
  }
  if (Serial.available()) {
    byte teste = Serial.read();
    testSerial.write(teste);
    if (teste == 0x23) logicaReset();
  }
}

void logicaReset()
{
  Serial.println("reseta SIM");
  if (tipoSim == 0)
  {
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(1300);
    digitalWrite(13, HIGH);
  }

  //sim800L

  if (tipoSim == 1)
  {
    digitalWrite(13, 0);
    delay(500);
    digitalWrite(13, 1);
    delay(1300);
    digitalWrite(13, 0);
    delay(500);
    digitalWrite(13, 1);
  }
  if (tipoSim == 2)
  {
    int saida = 1 - digitalRead(13);
    digitalWrite(13, saida);
    Serial.println(saida);
  }

  if (tipoSim == 3)
  {
    digitalWrite(13, 0);
    delay(500);
    digitalWrite(13, 1);
    delay(1300);
    digitalWrite(13, 0);
  }

  if (tipoSim == 4)
  {
    digitalWrite(13, 1 - digitalRead(13));
    Serial.print("Agora o reset está em: ");
    Serial.print(digitalRead(13));
    Serial.println();
  }
  delay(500);
}

Com esse código, podemos realizar a comunicação entre os dois dispositivos e também acessar as configurações do módulo. Acessando o monitor serial, podemos selecionar entre os dois modos de funcionamento enviando o caractere #. Quando o valor de reset está em 0, o módulo está pronto para comunicar; enquanto em 1, ele está no modo de configuração.

 


Primeiro, vamos acessar as configurações do módulo. Para isso, utilizaremos o programa fornecido pelo fabricante, que pode ser baixado no link a seguir.

 


Coloque o pino de reset em 1, abra o programa de configuração, selecione a porta serial utilizada, clique em “Open”, marque a caixa “Hardware Config” e depois clique em “Get”. Na figura a seguir, podemos ver o resultado obtido.



Entre as configurações disponíveis, a que mais nos interessa neste momento é o canal do módulo. Devemos configurar ambos os módulos no mesmo canal, neste caso, o canal 23. Com os dois módulos no mesmo canal, podemos testar a comunicação.

 

Coloque o pino de reset dos dois módulos em 0. Uma placa estará na COM8 e a outra na COM18. Na figura a seguir, mostramos o envio da palavra “Teste” da COM18 para a COM8 e da frase “Enviado da COM8 para COM18” no sentido contrário.

 


Neste blog, mostramos como utilizar o módulo LoRa da Ebyte com a CPB32h. Para mais informações e exemplos, assista ao vídeo a seguir.



Se você deseja ver mais detalhes sobre a CPB32h, acessar o seu manual ou adquirir uma unidade, clique neste link.



Posts recentes

Ver tudo

Comments


ícone do whatsapp

Fale com um
especialista:

bottom of page