Software/MySQL

ESP32 에서 MySQL 의 이용

초인로크 2023. 3. 8. 17:04
반응형

아두이노의 Labrary Manager에서 mysql을 검색하면

MySQL_MariaDB_Generic라는 라이브러리가 존재한다.
 
이걸로 MySQL 서버 정보를 갱신해 보려고 한다.
 
 

 

 

이상하게도 여기서 인스톨 버튼을 눌러도 인스톨이 되지 않았다.

 

따라서 [More info] 를 눌러 아래의 페이지로 가서. zip 파일의 라이브러리를 다운로드하여서 직접 설치했다.

 

https://github.com/khoih-prog/MySQL_MariaDB_Generic

 

GitHub - khoih-prog/MySQL_MariaDB_Generic: This MySQL_MariaDB_Generic library helps you connect your boards directly to a MySQL

This MySQL_MariaDB_Generic library helps you connect your boards directly to a MySQL / MariaDB server, either local or cloud-based, so that you can store / retrieve data to / from the server. Suppo...

github.com


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 서버 설정은 아래의 글을 참고하길 바란다.
 

 

MacBook Pro (Apple M1 Max) 에서 MySQL 설정하기

MySQL Community Server와 MySQL Workbench는 아래의 링크에서 다운로드할 수 있다. https://dev.mysql.com/downloads/ MySQL :: MySQL Community Downloads The world's most popular open source database Contact MySQL | Login | Register dev.mysql.com

fermium.tistory.com

 

반응형