아두이노의 Labrary Manager에서 mysql을 검색하면
MySQL_MariaDB_Generic라는 라이브러리가 존재한다.
이걸로 MySQL 서버 정보를 갱신해 보려고 한다.
이상하게도 여기서 인스톨 버튼을 눌러도 인스톨이 되지 않았다.
따라서 [More info] 를 눌러 아래의 페이지로 가서. zip 파일의 라이브러리를 다운로드하여서 직접 설치했다.
https://github.com/khoih-prog/MySQL_MariaDB_Generic
MySQL_MariaDB_Generic의 라이브러리에는 기본적인 명령이 있는 샘플코드가 있다.
이것을 응용하여 ESP32가 MySQL 서버에 데이터를 갱신할 수 있게 한다.
소스코드를 수정해서 실행시켜 주면 아래와 같이 INSERT INTO 명령어를 사용할 수 있다.
샘플소스 안의 내용을 조금 손봐야 되는데,
SSID나 데이터베이스 유저 아이디 등을 수정하면 간단하게 실행해 볼 수 있다.
<소스코드에서 수정 한 부분에 대한 설명>
① 호스트 설정
#define USING_HOST_NAME false
→ 여기서는 IP Address로 로컬 네트워크 서버에 접속을 할 것이어서 false로 설정했다.
② 포트 설정
uint16_t server_port = 3306;
→ MySQL 기본 설정인 3306으로 설정했다.
③ 데이터베이스와 테이블 이름 설정
char default_database[] = "여기에 데이터 베이스 이름"; //"test_arduino";
char default_table[] = "여기에 테이블 이름"; //"test_arduino";
→ 데이터베이스와 테이블 이름을 본인의 서버 설정에 맞게 수정해 준다.
④ Credentials.h 의 수정
각자의 네트워크에 접속하기 위한 정보를 수정한다.
char ssid[] = "SSID 이름"; // your network SSID (name)
char pass[] = "SSID의 패스워드"; // your network password
그리고 MySQL 에 설정했던 유저명과 패스워드 정보를 수정한다.
char user[] = "유저명"; // MySQL user login username
char password[] = "패스워드"; // MySQL user login password
대충 이 정도만 수정해 주고 소스코드를 업로드하니까
아래와 같이 정상적으로 서버에 정보를 갱신할 수 있었다.
실제로 아래와 같이 데이터 베이스의 id에 1이, value에 10이 들어가 있는 것을 확인할 수 있다.
라이브러리가 준비되어 있으니 아주 쉽게 데이터베이스에 접근할 수 있다.
MySQL 서버 설정은 아래의 글을 참고하길 바란다.