求教,是ESP8266连接MySQL数据库的问题-Arduino中文社区 - Powered by Discuz! Archiver

希夷 发表于 2022-4-3 10:55

求教,是ESP8266连接MySQL数据库的问题

我现在遇到的问题是:使用Arduino上下载的MySQL的类库里的示例代码,使用ESP8266连接MySQL数据库并在表中插入测试数据,在串口上显示WiFi连接成功但是数据库连接失败
#include <ESP8266WiFi.h>         // Use this for WiFi instead of Ethernet.h
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>

IPAddress server_addr(192,168,1,3);// 这个是我自己电脑的ip地址
char user[] = "root";            // MySQL user login username
char password[] = "123456";      // MySQL user login password

// Sample query
char INSERT_SQL[] = "INSERT INTO test.mess (message) VALUES ('Hello, Arduino!')";

// WiFi card example
char ssid[] = "CU_cJt5";         // your SSID
char pass[] = "nv4q5vzz";   // your SSID Password

WiFiClient client;               // Use this for WiFi instead of EthernetClient
MySQL_Connection conn(&client);
MySQL_Cursor* cursor;

void setup()
{
Serial.begin(115200);
while (!Serial); // wait for serial port to connect. Needed for Leonardo only

// Begin WiFi section
Serial.printf("\nConnecting to %s", ssid);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
}

// print out info about the connection:
Serial.println("\nConnected to network");
Serial.print("My IP address is: ");
Serial.println(WiFi.localIP());

Serial.print("Connecting to SQL...");
Serial.println(server_addr);
if (conn.connect(server_addr, 3306, user, password)) //在这一步执行连接的时候总是失败
    Serial.println("OK.");
else
    Serial.println("FAILED.");


// create MySQL cursor object
cursor = new MySQL_Cursor(&conn);
}

void loop()
{
if (conn.connected())
    cursor->execute(INSERT_SQL);

delay(5000);
}我在自己的MySQL中用我自己电脑的ip地址可以登入MySQL但是通过ESP8266却失败了,我想请教一下原因

imhm 发表于 2022-4-3 13:08

啊啊 。。网上有esp8266成功连接mysql的例子??? esp8266才64k还是96k内存的。。。mysql 能行??我记得mysql连接最小2M吧??

希夷 发表于 2022-4-3 13:12

imhm 发表于 2022-4-3 13:08
啊啊 。。网上有esp8266成功连接mysql的例子??? esp8266才64k还是96k内存的。。。mysql 能行??我记得m ...

这个是从Arduino库管理器里下载的示例代码,应该是可以的吧,而且我只是访问我电脑上面的MySQL的话应该是可以的吧

imhm 发表于 2022-4-3 15:32

希夷 发表于 2022-4-3 13:12
这个是从Arduino库管理器里下载的示例代码,应该是可以的吧,而且我只是访问我电脑上面的MySQL的话应该是 ...

mysql 默认没开启远程访问权限。。你电脑访问,就是安装mysql的那台电脑?还是局域网中的电脑?

希夷 发表于 2022-4-3 15:38

imhm 发表于 2022-4-3 15:32
mysql 默认没开启远程访问权限。。你电脑访问,就是安装mysql的那台电脑?还是局域网中的电脑? ...

我安装的时候勾选了开启远程访问权限,电脑访问时安装数据库的那个电脑。对了我还想请教一个问题,我想将ESP8266当成一个单纯的转发数据的作用,就是传感器把数据传给开发板,开发板通过ESP8266把数据插入数据库,但是这个问题我不知道该怎么去实现,请问有什么参考资料吗。

imhm 发表于 2022-4-3 16:07

希夷 发表于 2022-4-3 15:38
我安装的时候勾选了开启远程访问权限,电脑访问时安装数据库的那个电脑。对了我还想请教一个问题,我想将 ...

要么使用公用云的mqtt服务,要么自己撸个mqtt服务,要么干脆撸个网页,接收esp8266 通过http client,post上来的数据,网页负责存数据库。。。

imhm 发表于 2022-4-3 16:12

希夷 发表于 2022-4-3 15:38
我安装的时候勾选了开启远程访问权限,电脑访问时安装数据库的那个电脑。对了我还想请教一个问题,我想将 ...

mysql 那台电脑防火墙还要放开 3306 端口

希夷 发表于 2022-4-3 16:15

imhm 发表于 2022-4-3 16:12
mysql 那台电脑防火墙还要放开 3306 端口

已经开放了

希夷 发表于 2022-4-3 16:18

imhm 发表于 2022-4-3 16:07
要么使用公用云的mqtt服务,要么自己撸个mqtt服务,要么干脆撸个网页,接收esp8266 通过http client,pos ...

ESP8266通过usb线连接到电脑上了,Arduino UNO开发板也是连接到电脑上,现在两个板子都有一个串口,有什么办法将数据在这种情况下传给ESP8266吗

imhm 发表于 2022-4-3 16:22

希夷 发表于 2022-4-3 16:18
ESP8266通过usb线连接到电脑上了,Arduino UNO开发板也是连接到电脑上,现在两个板子都有一个串口,有什 ...
抛弃 Arduino UNO 。。。 把传感器直接接esp8266 开发板不行? esp8266 性能很强的。。读个传感器应该一点问题木有吧。。。
页: [1] 2 3
查看完整版本: 求教,是ESP8266连接MySQL数据库的问题