Ubidots Community

UBI_UDP' was not declared in this scope MKR1000

#include <UbidotsArduino.h>
#include <SPI.h>
#include <MFRC522.h>
#include <WiFiNINA.h>

#define SS_PIN 4 //D4
#define RST_PIN 3 //D3
#define verde 0
#define amarillo 8
#define rojo 2
#define bot_1 1

const char* UBIDOTS_TOKEN = “BBFF-1bDj5d3x14efqWLlkT0g58xGCCCkaI”; // Ubidots Token
const char* WIFI_SSID = “Lucas”; // SSID de tu WiFi
const char* WIFI_PASS = “”; // Clave de tu WiFi
const char* DEVICE_LABEL = “GRI”; // Nombre del dispositivo

Ubidots ubidots(UBIDOTS_TOKEN, UBI_UDP);

MFRC522 mfrc522(SS_PIN, RST_PIN); // Crear instancia para sensor RFID MFRC522

const int cantidad = 4; // Elegir la cantidad de llaves con Acceso.
const int cantida = 4;
/////////Tarjetas con Acceso/////////////
String paso[cantida] = {“E7 DE CF 4D”,“CB 55 6F 85”}; //Codigos de tus tarjetas RFID que tendran acceso a entrar.E7 DE CF 4D
String nombres[cantida] = {“LUCAS”," LUCIANO"}; //Modificar los nombres a tu gusto.
String pases[cantidad] = {“A9 08 A4 6E”, “27 5F A9 4D”}; //Codigos de tus tarjetas RFID que tendran acceso a entrar.
String nombre[cantidad] = {“CARLOS”, " SEBASTIAN"}; //Modificar los nombres a tu gusto.

/////////////////////////////////////////

int acceso = 0;
int out = 0;
String llave;
int x= -1 ;
int a = 0 ;

/****************************************
Funciones principales
****************************************/

void setup()
{
ubidots.wifiConnect(WIFI_SSID, WIFI_PASS);
Serial.begin(9600); // inicializa comunicacion por monitor serie a 9600 bps
SPI.begin(); // inicializa bus SPI
mfrc522.PCD_Init(); // inicializa modulo lector
pinMode(bot_1,INPUT);
pinMode (verde, OUTPUT);
pinMode (amarillo, OUTPUT);
pinMode (rojo, OUTPUT);
digitalWrite(rojo,LOW);
digitalWrite(amarillo,LOW);
digitalWrite(verde,LOW);
}
void loop()
{
a = digitalRead(bot_1);
if(a==LOW)
{
digitalWrite(rojo, LOW);
digitalWrite(amarillo,LOW);
digitalWrite(verde,LOW);
delay(2000);
}
else
{
digitalWrite(rojo, LOW);
}

// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
//Serial.println();
//Serial.print(" UID tag :");
String content = “”;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
//Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " “);
//Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0” : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
content.toUpperCase();
//Serial.println();

llave = content.substring(1);

verifico();
verifica();

if (acceso==1)
{

acceso=0;

}

}
void cambio(){
digitalWrite(rojo,LOW);
digitalWrite(amarillo,HIGH);
digitalWrite(verde,LOW);

}
void cambio1(){
digitalWrite(rojo,LOW);
digitalWrite(amarillo,LOW);
digitalWrite(verde,HIGH);
}
void verifico() {
for (int y = 0; y <cantidad; y++) {
//Serial.println(y);
if (llave == pases[y]) {
//Serial.println(llave);
//Serial.println(pases[y]);
acceso = 1;
x = y;
cambio();
registro();
}
}
}
void verifica() {
for (int y = 0; y <cantida; y++) {
//Serial.println(y);
if (llave == paso[y]) {
//Serial.println(llave);
//Serial.println(pases[y]);
acceso = 1;
x = y;
cambio1();
registra();
}
}
}
void registra() {

//Serial.println(“Registrando”);

char str[11];

nombre[x].toCharArray(str, sizeof(nombre[x]));

ubidots.addContext(“asistio”, str);

char* context = (char*)malloc(sizeof(char) * 60);

/* Estructura el contexto para ser enviado */
ubidots.getContext(context);

/* Envia la variable con su contexto */
ubidots.add(“asistencia”, 1, context); // Cambiar con el nombre de tu variable

bool bufferSent = false;
bufferSent = ubidots.send(DEVICE_LABEL); // Enviará el dato al DEVICE_LABEL declarado.
free(context);
}
void registro() {

//Serial.println(“Registrando”);

char str[11];

nombres[x].toCharArray(str, sizeof(nombres[x]));

ubidots.addContext(“libero”, str);

char* context = (char*)malloc(sizeof(char) * 60);

/* Estructura el contexto para ser enviado */
ubidots.getContext(context);

/* Envia la variable con su contexto */
ubidots.add(“asistencia”, 1, context); // Cambiar con el nombre de tu variable

bool bufferSent = false;
bufferSent = ubidots.send(DEVICE_LABEL); // Enviará el dato al DEVICE_LABEL declarado.
free(context);
}

Good day @lucho,

I hope all is well,

The MKR1000 is not compatible with the WiFiNINA Library, this board uses the WiFi101 library, so is necessary to modify the code to work with the WiFi library that the device is compatible with.

All the best,
-Isabel