Как подключить Arduino и базу данных MySQL сервера WAMP?
Я пытаюсь подключить Arduino Mega к базе данных моего сервера WAMP, используя коннектор MySQL для ведения журнала посещаемости. Но он показывает «Ошибка подключения».
Какой IP-адрес моего сервера WAMP?
Я подключаю свой ноутбук и Arduino к маршрутизатору следующим образом:
- Мой ноутбук: 192.168.1.2
- Мой Arduino — 192.168.1.3
Я думаю, что это правильно.
/*
Пример MySQL Connector/Arduino: базовая вставка
В этом примере показано, как выполнить запрос INSERT для сохранения данных в
стол. Для этого мы создадим специальную базу данных и таблицу для тестирования.
Ниже приведены команды SQL, которые необходимо выполнить для настройки.
ваша база данных для запуска этого скетча.
СОЗДАТЬ БАЗУ ДАННЫХ test_arduino;
СОЗДАТЬ ТАБЛИЦУ test_arduino.hello_arduino (
num целочисленный первичный ключ auto_increment,
символ сообщения (40),
записанная метка времени
);
Здесь мы видим одну базу данных и таблицу с тремя полями; первичный ключ, который
является auto_increment, строкой и отметкой времени. Это продемонстрирует, как
чтобы сохранить дату и время, когда строка была вставлена, что может помочь вам
определить, когда данные были записаны или обновлены.
ИНСТРУКЦИИ ПО ИСПОЛЬЗОВАНИЮ
1) Создайте базу данных и таблицу, как показано выше.
2) Измените адрес сервера на IP-адрес сервера MySQL.
3) Измените пользователя и пароль на действительных пользователя и пароль MySQL.
4) Подключите USB-кабель к Arduino.
5) Выберите правильную плату и порт
6) Скомпилируйте и загрузите скетч в Arduino.
7) После загрузки откройте Serial Monitor (используйте скорость 115200) и наблюдайте
8) После того, как скетч поработает какое-то время, откройте клиент mysql и введите
команда: «SELECT * FROM test_arduino.hello_arduino», чтобы увидеть данные
записано. Обратите внимание на значения полей и то, как база данных обрабатывает
поля auto_increment и timestamp для нас. Вы можете очистить данные с помощью
«УДАЛИТЬ ИЗ test_arduino.hello_arduino».
Примечание. MAC-адрес может быть любым, если он уникален в вашей сети.
Создано: доктор Чарльз А. Белл
*/
#include <Ethernet.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server_addr(192, 168, 1, 3); // IP MySQL *сервера* здесь
char user[] = "root"; // имя пользователя для входа в MySQL
char password[] = ""; // Пароль для входа в MySQL
// Пример запроса
char INSERT_SQL[] = "INSERT INTO test_arduino.hello_arduino (message) VALUES ('Hello, Arduino!')";
EthernetClient client;
MySQL_Connection conn((Client *)&client);
void setup() {
Serial.begin(115200);
while (!Serial); // ждем подключения последовательного порта
Ethernet.begin(mac_addr);
Serial.println("Connecting...");
if (conn.connect(server_addr, 3306, user, password)) {
Serial.println("Connected Successfully...");
delay(1000);
} else
Serial.println("Connection failed.");
}
void loop() {
delay(2000);
Serial.println("Recording data.");
// Инициируем экземпляр класса запроса
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
// Выполнить запрос
cur_mem->execute(INSERT_SQL);
// Примечание: поскольку результатов нет, нам не нужно читать данные
// Удаление курсора также освобождает используемую память
delete cur_mem;
}
1 ответ
▲ 2
Как заметил gre_gor, похоже, вы подключаетесь не к тому IP-адресу.
Изменить:
IPAddress server_addr(192, 168, 1, 3); // IP of the MySQL *server* here
Кому:
IPAddress server_addr(192, 168, 1, 2); // IP MySQL *сервера* здесь
,
@Mazaryk
Смотрите также:
- Как создать метеостанцию, используя только чип GY-BME280-3.3 и Ethernet-шилд w5100, установленный на arduino mega 2560 r3
- Arduino Ethernet Shield: "no matching function for call to 'EthernetClass::begin()'"
- POST запрос на pythonanywhere дает ответ 400
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
IP-адрес ноутбука (с вашим сервером MySQL) — *192.168.1.2*, но вы пытаетесь подключиться к *192.168.1.3*., @gre_gor