如何设置、查询 ESP32 设备的 MAC 地址

设置、查询 ESP32 设备的 MAC 地址有多种方式,如下:

1 使用 AT 指令来设置、查询 ESP32 设备的 MAC 地址

1.1 使用 AT 指令设置、查询 Wi-Fi Station 模式的 MAC 地址


1.2 使用 AT 指令设置、查询 Wi-Fi SoftAP 模式的 MAC 地址


1.3 使用 AT 指令设置、查询 Ethernet 的 MAC 地址


1.4 使用 AT 指令设置、查询 BLE(BT)模式 的 MAC 地址


1.5 使用 ESP32 设备当前模式下的 MAC 地址

只有当 ESP32 设备获取到有效接口信息后,才能查询到它的 MAC 地址

  • 使用 AT+CIFSR 指令来查询 ESP32 设备当前模式下的 MAC 地址。

2 使用 esptool 工具来设置、查询 ESP32 设备的 MAC 地址

可先使用 espefuse.py -h 命令来查询相关命令的使用方法,如下
在这里插入图片描述

2.1 使用 esptool 工具来查询 ESP32 设备默认出厂写入 EFUSE BLOCK0 中的 MAC 地址

  • 使用 espefuse.py summary 命令可查询 ESP32 设备默认出厂写入 EFUSE BLOCK0 中的 MAC 地址,如下:
    在这里插入图片描述
  • 查询到的 EFUSE BLOCK0 中的 MAC 地址为 base_macbase_mac 默认是 Wi-Fi Station 模式的 MAC 地址。根据 Wi-Fi Station 模式的 MAC 地址可获取 Wi-Fi SoftAP 模式、蓝牙模式、以太网的 MAC 地址。可参考 MAC Address 说明。如下:

请添加图片描述

2.2 使用 esptool 工具向 EFUSE BLOCK3设置用户自定义的 MAC 地址

  • 使用 espefuse.py burn_custom_mac 12:22:33:44:55:66 命令可向 EFUSE BLOCK3设置用户自定义的 MAC 地址,如下:

注意:EFUSE BLOCK3Bit 1 不能为 1
在这里插入图片描述

2.3 使用 esptool 工具查询 EFUSE BLOCK3 中设置的用户自定义的 MAC 地址

  • 使用 espefuse.py get_custom_mac 命令可查询用户自定义设置的 EFUSE BLOCK3 中的 MAC 地址,如下:
    在这里插入图片描述
  • 也可以使用 espefuse.py summary 命令来查询用户自定义设置的 EFUSE BLOCK3 中的 MAC 地址,如下:
    在这里插入图片描述

3 使用相关 API 来设置、查询 Wi-Fi 的 MAC 地址

  • 使用 esp_base_mac_addr_set(uint8_t *mac); 设置用户自定义的 MAC 地址(base_mac)到 EFUSE BLOCK3 中,默认为 WI-Fi STA 的 MAC 地址。例如:

    	“ esp_base_mac_addr_set(1222334455:FF)“,
    
  • 对应的是:

    >  STA(FF)
    >  AP(FF + 1 -> 00)
    >  BT(FF + 2 -> 01)
    >  ETH(FF + 3 -> 02)`(末位不进位)`
    

注:可参考 MAC Address 说明。如下:
请添加图片描述


4 使用 NVS 写入 MAC 地址


【MAC 地址】

  • ESP32 模组出厂会将设备的 MAC 基地址(默认也是 Wi-Fi STA MAC 地址)写到 EFUSE BLOCK0 中(即:通过扫描模组二维码获取的是基地址
  • MAC 基地址加 “1” 即为 Wi-Fi AP MAC 地址;MAC 基地址加“2”即为蓝牙的 MAC 地址;MAC 基地址加“3”即为 Ethernet 的 MAC 地址。
  • MAC 地址是全球唯一的,且每个批次都不相同。
  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值