簡體   English   中英

獲取 Esp32 設備自己的 IP 地址

[英]Get own IP Address of Esp32 Device

我有一個 Esp32 函數作為 TCP 套接字接收器/服務器。

可能無法始終在設備上設置靜態 IP,所以我想找出答案:

  1. 如何使用 micropython 從 Esp32 獲取本地 IP 地址。

  2. 或者,我想應該可以從客戶端掃描設備嗎? 客戶端在 Python 2.7 上運行......所以也許你可以給我一些關於如何解決這個問題的提示。

來自 PybD V 1.13 的 Micropython 文檔,但對於大多數(如果不是全部)端口來說都是通用的。

WLAN.ifconfig([(ip, subnet, gateway, dns)])
Get/set IP-level network interface parameters: IP address, subnet mask,
gateway and DNS server. 
When called with no arguments, this method returns a 4-tuple with the above 
information. 
To set the above values, pass a 4-tuple with the required information, for example:

nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))

正如其他人建議的那樣,首先檢查文檔總是一個好主意。

可能使用主機名也有助於您的客戶端連接到設備。 因此,您可以從客戶端連接到“mydevice.local”,而不是硬編碼“10.1.2.3”

像下面這樣的東西應該可以大大緩解這種情況。

import network
from config import homenet, CLIENT_ID

wlan = network.WLAN(network.STA_IF)

    if not wlan.active():
        wlan.active(True)
    if not wlan.isconnected():
        wlan.config(dhcp_hostname=CLIENT_ID)
        log.info("Activating Wlan {0}".format(homenet['SSID']))
        wlan.connect(homenet['SSID'], homenet['password'])

配置文件

from  ubinascii import  hexlify
# Base SSID to connect to
homenet = {'SSID': 'ThisIsHome', 'password': 'MicroPython'}

CLIENT_ID = b'mydevice' #  + hexlify(unique_id())[-6:]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM