반응형

 

 

 

안녕하세요 IT-G-House입니다. 오랜만에 인사드리네요~ 

그동안 새로운 환경에 적응하고 준비하느라 포스팅도 못하고 프로젝트 진행도 지지부진했습니다.. 혹시 글을 기다리셨다면.. 죄송합니다 ㅠㅠ

 

이번 포스팅은 아래와 같이 댓글로 '1234'님과 '최승예'님의 질문에 공통으로 답을 드릴 수 있을 것 같아 답변이 될만한 글을 준비하였습니다.

 

 


 

아두이노(Arduino)와 esp-01 와이파이 모듈(wifi module)을 이용하여 센서의 측정값을 DB (데이터베이스)에 저장하는 것은 앞선 포스팅을 통해 진행해 보셨을 겁니다. 앞선 단계가 필요하시면 아래 링크 참고 부탁드립니다.

 

아두이노 홈IoT 서버 활용 3: ESP8266(ESP-01) 이용하여 MySQL에 데이터 저장하는 프로그램 코딩

드디어 아두이노(Arduino) 홈IoT 서버 활용 세 번째 포스팅으로 아두이노에서 온습도 센서(Temperature and Humidity sensor)로 측정된 데이터를 Wifi(ESP-01: ESP8266) 모듈을 사용해서 MySQL (DB서버)에 저장하..

it-g-house.tistory.com

 

프로그램이 원활하게 작동하였으면 APMSetup의 MySQL을 통해 데이터도 저장되는 것을 확인할 수 있었고.. 오케이~ 그럼 저장된 데이터를 가공을 하든 출력을 하든 사용해야겠죠? 데이터를 사용하기 위해서 위에서 질문 주셨듯이 데이터를 가져오는 방법 또는 저장하는 방법, 엑셀로 여는 방법을 알아보겠습니다.

 

 

 

 

 


 

 

1. MySQL 콘솔 (Select 문)

 

먼저 MySQL 콘솔을 통해 DB의 table에 저장된 데이터를 불러오거나 파일로 저장하는 방법에 대해 알아보겠습니다. 앞서 진행하였듯이 저는 DB명은 'testdb'이고, table명은 'tempnhumi'입니다. 다들 각자 지정한 이름대로 진행 부탁드리며 MySQL에 대해 추가적인 내용은 아래 링크 참조 부탁드립니다.

 

MySQL 시작하기: 데이터베이스(Database), 테이블(Table) 만들기

지난 포스팅에서 아두이노(Arduino) 프로젝트를 위한 서버(Sever) 구성 도구로 A.M.P (Apache, MySQL, PHP) 프로그램에 대해 알아보았습니다. 각 프로그램 역할과 설치방법에 대해 자세한 내용은 아래 링크

it-g-house.tistory.com

MySQL 콘솔을 실행시킨뒤 아래와 같이 DB를 열고 table을 확인합니다.

 

 

그리고 'tempnhumi' table에 저장되어 있는 데이터를 select문을 통해 확인합니다.

데이터가 그렇게 많지는 않지만 중간에 생략하고 총 61 rows의 데이터가 저장되어 있습니다.

그럼 '*.txt' 파일로 저장해보겠습니다. 아래와 같이 'select*from' 다음에 'into oufile' 명령어를 통해 원하는 파일 경로에 원하는 파일명으로 저장할 수 있습니다. 저는 파일 경로는 D: 드라이브에 있는 'APM_Setup' 폴더에 'testdata.txt' 파일 이름으로 저장을 실행해보겠습니다.

 

MySQL 데이터 내보내기 (data export)

명령이 정상적으로 진행되었으면 OK 메세지가 나오고 아래와 같이 원하는 파일 경로 안에 txt 파일이 생성된 것을 확인할 수 있습니다.

 

생각보다 간단합니다. 파일을 열어보면 MySQL 콘솔에서 확인한 데이터를 볼 수 있고, 그대로 엑셀로 파일을 실행시켜도 데이터를 볼 수 있습니다.

 

MySQL 데이터 txt 파일로 저장
MySQL 데이터 txt, 엑셀 파일로 저장

 

  • MySQL 명령어
기능 명령어 사용예
시작하기  mysql -u 'ID' -p 'DB이름' mysql>mysql -u root -p (DB 최상위단으로 접속시)
DB 검색  show databases; mysql>show databases;
DB 만들기  create database 'DB이름'; mysql>create database Test;
DB 사용  use 'DB이름'; mysql>use Test;
Table 만들기  create table 'table이름'

 mysql>create table tempnhumi(

->temp float not null,

->humi float not null,

->primary key(temp)

->);

Table 검색  show tables; mysql>show tables;
Table 조회  select*from 'table이름'; mysql>select*from tempnhumi;
MySQL 종료 exit mysql>exit

 

 


 

 

 

 

 

2. MySQL 관리 (phpMyAdmin)

 

앞선 포스팅에서 APMSetup으로 좀 더 쉽게 홈 IoT(사물인터넷)을 위한 서버를 구축할 수 있었습니다. APMSetup 설치 및 동작에 대한 내용은 아래 링크 참조 부탁드립니다.

 

Arduino 아두이노 홈 IoT(사물인터넷)을 위한 서버(Sever) 쉽게 만들기: APMSetup 프로그램

아두이노(Arduino)를 사용해서 홈 IoT(사물인터넷)을 구축하는 프로젝트를 위해서는 인터넷을 통한 데이터 전송이 기본적으로 가능해야 합니다. 인터넷을 사용하여 웹을 통해 데이터를 송수신하��

it-g-house.tistory.com

'MySQL 관리' 실행을 통해 phpMyAdmin에 접속하면 아래와 같이 UI를 통해 MySQL의 데이터베이스와 그에 속한 테이블을 카테고리 형태로 확인할 수 있습니다. 여기서 상단 메뉴바에서 '내보내기'를 클릭하면 MySQL 콘솔에서 실행하였듯이 원하는 파일 형태로 데이터를 가져올 수 있습니다.

 

phpMyAdmin 데이터베이스 및 테이블 

상단의 '내보내기'를 클릭하면 아래와 같이 CSV 또는 엑셀, txt, PDF로 까지 데이터를 파일로 저장할 수 있습니다. 원하는 파일 형태를 선택하고 아래에 있는 파일로 저장을 클릭 후 실행을 하면 테이블 이름의 파일이 생성됩니다.

 

phpMyAdmin 데이터 내보내기
phpMyAdmin 데이터 파일로 저장

제가 설정한 테이블명인 tempnhumi이름의 txt 파일이 생성되는 것을 확인할 수 있습니다. 엑셀로 선택하면 '*.xls' 파일, CSV로 선택하면 '*.csv' 형태로 파일이 생성됩니다.

 


 

여기까지 아두이노(Arduino)를 이용하여 측정한 센서 data를 eps-01 와이파이 모듈(wifi module)을 통해 서버 DB에 저장한 데이터를 MySQL을 이용하여 다시 불러오는 방법에 대해 알아보았습니다.

 

'1234'님과 '최승예'님 질문에 답이 되었는지 모르겠네요^^

 

오늘도 긴 글 읽어주셔서 감사합니다. 궁금한 부분 또는 보충해주실 내용 있으면 언제든지 댓글로 남겨주세요~

 

 

 

 

반응형

+ Recent posts