[英]Get own IP Address of Esp32 Device
我有一個 Esp32 函數作為 TCP 套接字接收器/服務器。
可能無法始終在設備上設置靜態 IP,所以我想找出答案:
如何使用 micropython 從 Esp32 獲取本地 IP 地址。
或者,我想應該可以從客戶端掃描設備嗎? 客戶端在 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.