XStore
View Categories

EC-M11-EG-C4-LTE – USER GUIDE

1 min read

Programming  #

The NORVI EC-M11-EG-C4-LTE has a mini USB Port for serial connection with the SoC for programming. Any ESP32-supported programming IDE can be used to program the controller. Follow this Guide to programming NORVI ESP32 Based Controllers with Arduino IDE.

SoC: ESP32-WROOM32
Programming Port: USB UART

8-pin Connector and wire harness #

Pin Description #

8P MaleWire colorI/O Configuration
1WhiteThermocouple +
2BrownThermocouple –
3Green
4Yellow
5Gray
6Pink
7BluePower+
8RedPower-

Thermocouple Input #

SPI MISOGPIO19
SPI SCKGPIO18
CSGPIO5

Programming Thermocouple Inputs  #

#include <SPI.h>
#include "Adafruit_MAX31855.h"
#define MAXDO  19
#define MAXCS   5
#define MAXCLK 18                // Initialize the Thermocouple
Adafruit_MAX31855 thermocouple(MAXCLK, MAXCS, MAXDO);

void setup() {
  Serial.begin(115200);
  Serial.println("MAX31855 test");             // Wait for MAX chip to stabilize
  delay(500);
  Serial.print("Initializing sensor...");
  if (!thermocouple.begin()) {
    Serial.println("ERROR.");
    while (1) delay(10);
  }
  Serial.println("DONE.");
}

void loop() {
  Serial.print("Internal Temp = ");
  Serial.println(thermocouple.readInternal());
  double c = thermocouple.readCelsius();
  if (isnan(c)) {
    Serial.println("Thermocouple fault(s) detected!");
    uint8_t e = thermocouple.readError();
    if (e & MAX31855_FAULT_OPEN) Serial.println("FAULT: Thermocouple is open - no connections.");
    if (e & MAX31855_FAULT_SHORT_GND) Serial.println("FAULT: Thermocouple is short-circuited to GND.");
    if (e & MAX31855_FAULT_SHORT_VCC) Serial.println("FAULT: Thermocouple is short-circuited to VCC.");
  } 
  else {
    Serial.print("C = ");
    Serial.println(c);
  }          
  //Serial.print("F = ");
  //Serial.println(thermocouple.readFahrenheit());
  Serial.println("");
  Serial.print("Analog Read : ");
  Serial.print(analogRead(36));
  Serial.println("");
  delay(1000);
}

LTE1 Communication #

Model of LTE ModemSIM7000-E
FCC ID2AJYU-SIM7000
TAC86615402
RXD GPIO25
TXDGPIO26
RESETGPIO32
POWERGPIO22
GPIO Connections of LTE1 Communication

LTE2 Communication #

Model of LTE ModemSIM7500
FCC ID2AQ9M-SIM7500
TAC86147503
RXDGPIO25
TXDGPIO26
RESETGPIO32
POWERGPIO22
GPIO Connections of LTE2 Communication

Programming LTE Communication #

#define MODEM_RESET 17
#define MODEM_FLIGHT 22
#define MODEM_RX 26
#define MODEM_TX 25
long timer1;

void setup() {           // initialize both serial ports:
  Serial.begin(115200);
  pinMode(MODEM_FLIGHT , OUTPUT);       // FLIGHT MODE ENABLE
  pinMode(MODEM_RESET , OUTPUT);       // MODEM RESET PIN
  digitalWrite(MODEM_FLIGHT, HIGH);   // FLIGHT MODE 
  MODEM_RESET_CYC();
  delay(2000);
  Serial2.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
  Serial.println("SIM AT ATART >>>>>>>>>>>>>>");
  delay(2000);
  Serial2.println("AT");
  delay(2000);
  Serial2.println("AT+CPIN?");
  delay(2000);
  Serial2.println("AT+CNMP?");
}

void loop() {
  delay(3000);
  timer1 = millis();
  Serial2.println("AT");
  while(millis()<timer1+10000){
    while (Serial2.available()) {
    int inByte = Serial2.read();
    Serial.write(inByte);
    }
  }
  timer1 = millis();
  Serial2.println("AT+CPIN?");
  while(millis()<timer1+10000){
    while (Serial2.available()) {
    int inByte = Serial2.read();
    Serial.write(inByte);
    }
  }
  Serial.println("AT SCAN DONE");         // read from port 0, send to port 1:
  while (Serial.available()) {
    int inByte = Serial.read();
    Serial2.write(inByte);
  }
  while (Serial2.available()) {
    int inByte = Serial2.read();
    Serial.write(inByte);
  }
}
void MODEM_RESET_CYC() {
  digitalWrite(MODEM_RESET,HIGH );
  delay(1000);
  digitalWrite(MODEM_RESET,LOW );
  delay(1000);
  digitalWrite(MODEM_RESET, HIGH);
}