Не могу подключить Arduino к локальному серверу БД, я перепробовал все, что мог придумать - PullRequest
0 голосов
/ 13 марта 2020

Я изо всех сил пытаюсь получить соединение с моей локальной базой данных MySQL, которая находится на сервере LAMP, я пытался установить соединение с Arduino WiFi Rev.2, Arduino Yùn Rev.1, обычным Arduino UNO, подключенным ESP8266 и даже ESP-32. Я сделал пользователя в MySQL, которому разрешено подключаться только с IP-адреса, который имеет Arduino, но что бы я ни пытался со стороны клиента или сервера, я не могу заставить его работать.

Я просто использую небольшой набросок, который я сделал для подключения Arduino UNO WiFi Rev.2 к серверу, я использую библиотеку MySQL , сделанную Dr. Чарльз Белл . и я прочитал, хотя его руководство для lib и все, но все же, оно не будет работать.

Вот мой код для подключения:

#include <SPI.h>
#include <WiFiNINA.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
#include "arduino_passwds.h"
#include "arduino_usrs.h" 
char ssid[] = SECRET_SSID;        
char pass[] = SECRET_PASS; 
byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server_addr(127,0,0,1); //I am not using the local IP of the server in the original sketch. 
char user[] = "MyUser";                   // MySQL user login username
char password[] = "MyPasswd";             // MySQL user login password   
int status = WL_IDLE_STATUS;     
WiFiClient client;
MySQL_Connection conn((Client *)&client);
void setup() 
{
  Serial.begin(9600);
  while (!Serial)
  {
   ; 
  }
  if (WiFi.status() == WL_NO_MODULE) 
  {
    Serial.println("Communication with WiFi module failed!");
    while (true);
  }
  while (status != WL_CONNECTED) 
  {
    Serial.print("Attempting to connect to WPA SSID: ");
    Serial.println(ssid);
    status = WiFi.begin(ssid, pass);
    delay(10000);
  }
  Serial.println("You're connected to the network");
  printCurrentNet();
  printWifiData();
  Serial.println("Connecting to DB...");
  if (conn.connect(server_addr, 3306, user, password))
  {
    delay(1000);
    Serial.println("Success!");
  }
  else 
  {
    Serial.println("Failed to connect to DB");
    conn.close();
  }
}
void loop() 
{
  delay(5000);
}

Если вам нужна дополнительная информация просто спроси, а я плохо обеспечу.

...