Sus preguntas parecen ser "Tengo una aplicación (supongo que está en un servidor o ejecutándose en la web) ¿cómo identifico lo que está hablando de mi aplicación?"
Si desea que un microcontrolador notifique una ID o una versión de firmware, debe codificarlo para hacerlo.
Si está pensando que otros tomarán su código, puerto y se ejecutarán en otro micro, entonces tal vez lo hagan. Pero solo si su aplicación es lo suficientemente exitosa, la gente querrá hacer esto. Entonces no puede imponer ningún cambio en los informes de la versión de firmware o cualquier otra cosa.
Una alternativa es escribir para todas las versiones de micro para que nadie más tenga que hacerlo. En mi opinión, no es práctico, ya que es mucho trabajo.
Otra es usar un número de serie, cifrado y código de acceso individual que solo le da a los usuarios legítimos. No recomendado ya que es un dolor en el culo. He tenido esto con licencias de software.
Otra forma sería liberar el código fuente y contiene comentarios al codificador para incluir el tipo de microcontrolador. Aquí insertaría una tabla de códigos que les indicaba los códigos a utilizar. O simplemente podría decirles que completen una descripción de cadena y acepten lo que quieran. Limítelo a 16 caracteres tal vez.