通过 ESP8266 在 Raspberry Pi(3 和零)上访问 MySQL 的问题

Issues accessing MySQL on Raspberry Pi (3 & Zero) through ESP8266

不确定这是否是打开此主题的正确位置,但我会试一试。

最近我在我的(两个)Raspberry Pi(一个是 raspberry Pi 3 B 和一个零)上遇到了意外行为。

我尝试了以下配置:

  1. RasPi Zero 通过 eth0 连接到路由器。它用它的wlan0打开一个WiFi(参考:https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md)。

一个。如果我将笔记本电脑或 ESP8266 NodeMCU 连接到“家庭 Wifi”,两者都可以访问 MySQL (MariaDB) 数据库。

b。如果我将笔记本电脑或 ESP8266 NodeMCU 连接到“RasPi Wifi”,则只有笔记本电脑可以访问 MySQL (MariaDB) 数据库。 ESP82866 与数据库的连接被“阻塞”但没有错误消息。

我做了一个草图你可以参考:Configuration 1 (with RasPi Zero)

  1. RasPi 3 通过 wlan1 连接到路由器。它用它的wlan0打开一个WiFi(参考:https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md)。

一个。如果我将笔记本电脑或 ESP8266 NodeMCU 连接到“家庭 Wifi”,两者都可以访问 MySQL (MariaDB) 数据库。

b。如果我将笔记本电脑或 ESP8266 NodeMCU 连接到“RasPi Wifi”,则只有笔记本电脑可以访问 MySQL (MariaDB) 数据库。 ESP82866 与数据库的连接被“阻塞”但没有错误消息。

看我的草图:Configuration 2 (with RasPi 3)

谁遇到过sam问题?根据我的理解,笔记本电脑 (MacBook Pro) 可以通过 Python 访问连接到任何网络的数据库并使用 phpmyadmin 是没有意义的。 ESP只有在“家庭网络”时才能连接到数据库ESP上的代码运行除了SSID和MySQL服务器的IP地址之外总是相同的。

谢谢。
亚历克斯

我尝试了很多解决方法和其他想法来解决这个问题。喜欢分享我做的一些经验(可惜不能100%理解)。

  1. 如果 ESP(试用了 NodeMCU、WemosD1 mini 和 ESP12F)连接到由 Raspberry Pi 到 hostapd 提供的 WiFi,它不能 ping/access 该网络内的任何设备。我不明白为什么,因为任何其他设备(例如 RasPi 或笔记本电脑)都可以 ping ESP。

  2. 但是 ESP 可以连接到其自身网络之外的设备。例如。可以ping通RasPi的第二个IP地址。

在我的示例中,ESP 接收 IP 192.168.4.96(来自 RasPi 的 DHCP,hostapdwlan0 提供)。它可以 Ping 同一个 RasPi 的 wlan1 IP 192.168.188.37.

有了这个小小的成功,ESP 就可以访问 RasPi 上的数据库了。 (按照 The Impaler 的提示 - 使用 GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;)。

主要问题仍然悬而未决:是否有针对我面临的最初问题的解释和解决方案 - 无法访问数据库/ESP 连接到的网络中的任何其他设备?