在多终端通信时,如果想在服务端确定是哪个设备的请求,就需要硬件有一个唯一的标识。但是arduino并没有内置这样的函数,google了一下,找到一个封装的比较好的包:ArduinoUniqueID
源代码:
https://github.com/ricaun/ArduinoUniqueID
使用方法:
1.安装ArduinoUniqueID库
打开IDE,点击“项目-加载库-管理库”菜单,搜索“ArduinoUniqueID”并安装
2.获得Arduino硬件唯一ID函数封装
//
// 获得Arduino硬件唯一ID
//
#include <ArduinoUniqueID.h>
String getArduinoUniqueId(){
/*获得arduino板子硬件唯一ID*/
String uniqid = "";
for (size_t i = 0; i < UniqueIDsize; i++)
{
if( i > 0 and i < UniqueIDsize){
uniqid = uniqid + "-";
}
if (UniqueID[i] < 0x10){
uniqid = uniqid + "0";
}
uniqid = uniqid + String(UniqueID[i], HEX);
}
return uniqid;
}
void setup()
{
Serial.begin(115200);
}
void loop()
{
//获得硬件唯一ID
String uniqid = getArduinoUniqueId();
Serial.println(uniqid);
delay(1000);
}
3.测试效果
yan 2019.7.15
参考:https://github.com/ricaun/ArduinoUniqueID