ESP8266 CHIPID (upercase)

ESP8266 CHIPID (in uppercase)
Hi, I'm new, self-taught and I don't speak English.
I have started a sketch for IoT with ESP8266 Lolin.
I use to identify the equipment ESP.getChipId()
but by mistake I left a POST with the constant CHIPID..
I detected that this constant gives me a number that does not match the MACaddr, nor does it match FlashId
I only have one ESP8266 rig so I can't check if this CHIPID constant differs on other rigs.
I only have this in the SKETCH:

void setup() {
   // put your setup code here, to run once:
Serial.begin(115200);
}
void loop() {
   // put your main code here, to run repeatedly:
Serial.println(CHIPID);
delay(1000);
}

and I get a 9-digit number: 385921024
Can someone try a sketch that does this and see what it says in the serial console?
Question: what is CHIPID?

¿Y si

por qué escribes en inglés en el foro en Español?

Saludos

Porque estaba traducido para ponerlo en el foro en ingles, no me di cuenta que habia uno en español
¿Sabes que de donde sale CHIPID?

ESP8266 CHIPID (en mayuscula)
Hola soy nuevo, autodidacta -
He inciado un sketch para IoT con ESP8266 Lolin.
utilizo para identificar el equipo ESP.getChipId()
pero por error deje un POST con la constante CHIPID..
detecte que esta constante me entrega un numero que no coincide con el MACaddr , tampoco conicide con FlashId
solo tengo un equipo ESP8266 porlo que no puedo verificar si esta
que es la constante CHIPID
difiere en otros equipos.
solo tengo esto en el SKETCH:

void setup() {
  // put your setup code here, to run once:
Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
Serial.println(CHIPID);  
delay(1000);
}

y obtengo un numero de 9 cifras: 385921024
Puede alguien probar un sketch que haga esto y ver que nuemro le indica en la consola serial
Pregunta: que es CHIPID?

Por estar en mayúsculas puede que sea una constante predefinida pero la verdad no he trabajado con el ESP así que no tengo idea. :wink:

Saludos

Es un valor que da la fábrica a cada componente, y es único.

Google: ESP8266 ChipID te daría la respuesta.

@Surbyte yo busqué y no encontré nada sobre esa constante.

Saludos

@Surbyte
ESP.getChipId() no es lo mismo que la constante CHIPID
Solo tengo un ESP8266 (mi primer y unico equipo), no puedo probar en otros para comparar
esa constante
Salidas :
CHIPID: 385921024
ESP.getChipId(): 7366956

Tambien creo que es una constante predefinida, el tema es si es unico para cada equipo.
Porque quiero usarlo para identificar los POST que envien los equipos..
pd: fue un error de tipeo que me llevo a ese valor (tenia definido String chipid.. pero lo imprimi con mayusculas y entonces no entendi nada)

A ver @raffarraffa
ESP.getChipId(): 7366956
devuelve el valor de la MAC sin el OUI o sea sin el identificador del fabricante.
El CHIPID es la MAC pero la MAC puede cambiarse asi que puede ser que tuvieras una inicialmente y ahora otra. Como lo se? Porque me ha pasado.
La lista de OUIs http://standards-oui.ieee.org/oui.txt
Ejemplo de alguien que comenta en la web

I've got an ESP-WROVER-B (16MB flash) and this function (getChipID) gives me the MAC backwards by 2 digits:

  • MAC: 40:F5:20:xx:xx:xx
  • ChipID: xx:xx:xx:20:F5:40
    By the way, I've seen a comment here, the Espressif Inc. has extended the registered MAC list

Fuente: Question about output of ESP.getChipId()? · Issue #921 · esp8266/Arduino · GitHub

Igualmente ahora pruebo lo que pides en un par de ESP8266

Hola @Surbyte
CHIPID en mayuscula no es la MAC.
yo estab usando ESP.getChipId() tomo el valor ni bien enciende le equipo para evitar el cambio
Ahora bien: no me coinciden los valores para que CHIPID pueda ser parte del WIFI MACadress
Tampoco encontre relacion entre ESP.getChipId() y CHIPID
PD: seria muy bueno si tenes algun ESP8266 y podes verificar si existe CHIPID y sus valores
Porque si son UID esta bueno ya que ni siquiera debes definirlo.

Esto obtuve con este código

void setup() {
  delay(1000);
  Serial.begin(115200);
  // put your main code here, to run repeatedly:
  Serial.printf("CHIPID    = %08X\n", CHIPID);  
  Serial.printf("getchipId = %08X\n", ESP.getChipId());
}

void loop() {}

CHIPID = 6400B000
getchipId = 001AF3DB
otro
CHIPID = 4900B000
getchipId = 0017436A

1 Like

Bien, la muestra no es muha pero ya son 3 equipos que tiene predefinido CHIPID y su valor difiere
pd: tambien lo verifique contra ESP.getFlashChipId()
que devuelve el ID del chip FLASH.
y es dferente..
Me voy a jugar a poner esa cosnatnte como UID
pd gracias por probar

Es mas busco en GOOGLE : ESP8266 CHIPID y no sale nada de nada.

a veces las segerencia buscar en google son obvias, realemente creen que nadie busca antes de preguntar?.
Hace 1 mes que estoy leyendo sobre el tema.
hasta he buscado en paginas chinas...
en el foro de espressif
no encontre nada sobre CHIPID y como tengo uno solo no sabia si era algo que me quedo de algun sketch anterior..
no entendia nada
@Surbyte Muchas gracias pro probar en sus equipos...

No, nadie no, solo el 99%. Jaja

Saludos

1 Like

@ raffarraffa te puedo asegurar que tal como dice @anon90500195 el 99% de la gente no busca, quiere la cómoda y es que el otro le resuelva el problema.
Nosotros no sabemos si hablamos con un estudiante secundario, terciario, un Master o un hobbista. Todos estos casos tienen respuestas diferentes.
Claramente no es tu caso.
Mi respuesta fue automática y acierto como veras la mayor parte de las veces al igual que los demas, pero ahora me quedé intrigado de que es y de donde sale el CHIPID porque no lo encuentro.
Lo has visto en el fuente de Expressif?

1 Like

@Surbyte
Podria decirse que soy hobbista.
Pues bien CHIPID salio como un valor por haber dejado bloqueado mayusculas, tenia definida una constante chipid = ESP.getChipId() . En minuscula pero temine escribiendo en un sector del codigo con mayusculas..
imaginate mi sorpresa cuando imprimio 2 valores diferentes para lo que yo creia era la misma cosntante.
No hay, al menos no encontre bibliografia para CHIPID
Creo que es una constante golbal
En PHP hay varias constantes de sistema que son globales (DIR, LINE...etc) creo que es algo similar.

Bueno, no hay documentación al respecto de modo que para mi hasta no encontrar algo que sostenga ese dato, no existe para tenerlo en cuenta. Me quedaría con chipid = ESP.getChipId() que es el que esta documentado.
Ojo, no te lo discuto, arroja valores diferentes pero prefiero lo documentado que basarme en algo ??? que no sale en Google ni en el foro.
Mi consejo es que cierres este hilo y te animes a abrir uno en inglés en el foro adecuado en ese idioma.

Puse en un grupo de face ESP8266 que encontre .
De momento me decante, como decis vos, por ESP.getChipId()
Pero me gustaria saber sobre esta constante

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.