Quick

    아두이노 우노Q 에서 데이터베이스와 SQL 실행하기!

 

목록으로
아두이노 우노 Q 데이터베이스 실습

안녕하세요, 나도메이커입니다!

이전 시간에는 코딩학원과 학교 코딩교육에서 자주 다루는 데이터베이스(Database)의 기본 개념과 중요성에 대해 배워보았습니다. 데이터를 체계적으로 저장하고 관리하는 것은 현대 소프트웨어와 IoT 프로젝트에서 선택이 아닌 필수입니다. 이번 시간에는 이론을 넘어, 실제 기기에 데이터베이스를 직접 설치하고 구성해보는 실습 프로젝트를 진행해 보겠습니다.

일반적으로 데이터베이스 서버는 성능이 좋은 싱글보드컴퓨터(SBC)나 데스크탑 PC에 설치하여 운영합니다. 하지만 오늘은 매우 특별한 환경에서 테스트를 진행할 예정입니다. 바로 코딩을 배우는 학생부터 코딩 선생님들까지 널리 사용하는 아두이노 플랫폼 중, 리눅스(Linux) 운영체제가 구동되는 혁신적인 보드인 '아두이노 우노 Q(Arduino Uno Q)'를 활용해 보겠습니다.

아두이노 보드에 직접 데이터베이스 서버를 구축한다는 것은 기존에는 상상하기 어려웠던 흥미로운 코딩 프로젝트입니다. 복잡해 보일 수 있지만, 과정이 결코 어렵거나 길지 않으니 초등학생부터 고등학생까지 차근차근 따라오시면 충분히 완성하실 수 있습니다. 그럼 지금부터 본격적인 설치와 SQL 실행 실습을 시작하겠습니다!

■ 1. 아두이노 우노 Q 터미널 및 OS 업데이트

가장 먼저 수행해야 할 작업은 아두이노 우노 Q의 시스템을 최신 상태로 유지하는 것입니다. 리눅스 환경에서는 새로운 패키지를 설치하기 전에 항상 패키지 목록을 동기화하고 기존 소프트웨어를 업데이트하는 것이 시스템 충돌을 예방하는 안전한 방법입니다.

아두이노 우노 Q에서 터미널(Terminal) 창을 열고, 아래의 리눅스 명령어를 순서대로 입력하여 운영체제를 업데이트합니다.

sudo apt update -y
sudo apt upgrade -y

주의사항: 업데이트 및 업그레이드가 진행되는 동안에는 기기의 전원을 끄거나 네트워크 연결을 해제하면 안 됩니다. 시스템 파일이 손상될 수 있습니다. 만약 터미널 창에 'reboot' 관련 메시지가 출력된다면, 설치된 패키지 적용을 위해 기기를 한 번 재부팅해주시면 됩니다.

■ 2. MariaDB (마리아DB) 서버 설치하기

운영체제 업데이트가 무사히 완료되었다면, 이제 본격적으로 데이터베이스 관리 시스템(DBMS)을 설치해 보겠습니다. 이번 프로젝트에서 사용할 데이터베이스는 MariaDB(마리아DB)입니다. MariaDB는 전 세계적으로 코딩교육 및 실무에서 널리 사용되는 MySQL과 완벽하게 호환되는 강력한 오픈소스 관계형 데이터베이스입니다.

아래 명령어를 통해 서버(server)와 클라이언트(client) 패키지를 동시에 설치합니다.

sudo apt install mariadb-server mariadb-client -y

명령어 끝에 붙은 '-y' 옵션은 설치 도중 나타나는 확인 메시지에 자동으로 'Yes'를 입력하겠다는 의미로, 설치 과정을 훨씬 빠르고 편리하게 만들어 줍니다.

■ 3. 데이터베이스 접속 및 SQL 명령어 확인

설치 과정에서 특별한 오류 메시지가 없었다면 데이터베이스 서버가 정상적으로 구축된 것입니다. 이제 관리자 권한을 이용하여 DB 서버에 직접 접속해 보겠습니다.

다음 명령어를 입력하여 루트(root) 계정으로 MySQL(MariaDB) 시스템에 진입합니다.

sudo mysql -uroot

접속에 성공하면 터미널의 입력 프롬프트가 'MariaDB [(none)]>' 형태로 변경됩니다. 이곳은 리눅스 명령어가 아닌 SQL 쿼리문을 입력하는 공간입니다. 기본적으로 제공되는 데이터베이스 목록이 정상적으로 불러와지는지 확인하기 위해 아래의 SQL 명령어를 입력합니다.

show databases;

핵심 포인트: SQL 명령어의 끝에는 항상 세미콜론(;)을 붙여야 명령이 실행됩니다. 명령어를 입력하고 엔터를 누르면, 시스템이 기본적으로 구성해 놓은 데이터베이스 테이블 목록이 화면에 깔끔하게 출력되는 것을 확인할 수 있습니다. 여기까지 성공하셨다면 데이터베이스 구축이 완벽하게 끝난 것입니다!

■ 4. 파이썬(Python)과 데이터베이스 연동 실습

데이터베이스를 설치하는 것만으로는 진정한 IoT 코딩 프로젝트라고 할 수 없습니다. 외부 센서에서 읽어온 데이터를 데이터베이스에 영구적으로 기록하려면 프로그래밍 언어와의 연동이 필수적입니다. 교육용으로 가장 사랑받는 파이썬(Python)과 MariaDB를 연동하는 방법을 알아보겠습니다.

1. 파이썬 모듈 설치하기
파이썬에서 MySQL 계열의 DB와 통신하기 위해서는 전용 라이브러리가 필요합니다. 터미널로 돌아가서 아래 명령어로 'PyMySQL' 모듈을 설치해 줍니다.

sudo pip install PyMySQL

2. MariaDB 사용자 계정 및 비밀번호 설정
보안 필수: 파이썬 코드에서 데이터베이스에 접근하려면 보안상 비밀번호가 반드시 필요합니다. MariaDB 설정으로 들어가 실습에 사용할 계정과 비밀번호를 미리 생성 및 설정해 주어야 합니다.

3. Python 연동 코드 작성하기
설정이 완료되었다면, 파이썬 편집기를 열고 아래의 템플릿 코드를 작성해 봅니다. 이 코드는 아두이노 우노 Q가 수집한 데이터를 DB에 전송하는 뼈대가 됩니다.

import pymysql

# 사용할 host, user, password, db명을 자신의 설정에 맞게 입력합니다.
db = pymysql.connect(host='', user='', password='', db='', charset='utf8')

cur = db.cursor()
cur.execute("여기에 실행할 SQL 쿼리문을 입력하세요") # 예: SELECT, INSERT 등

rows = cur.fetchall()

db.close()

■ 5. 실습을 마무리하며

이번 시간에는 리눅스 운영체제가 탑재된 뛰어난 성능의 아두이노 우노 Q 보드에 데이터베이스 서버를 직접 설치하고 파이썬으로 연동하는 기반 작업까지 진행해 보았습니다.

기존의 일반적인 아두이노 우노 보드에서는 메모리와 OS의 한계로 불가능했던 작업들이, 아두이노 우노 Q에서는 이렇게 부드럽고 완벽하게 실행됩니다. 코딩 강사님들의 커리큘럼 구성이나 학생들의 심화 프로젝트에 있어서 활용도가 무궁무진해졌음을 느낄 수 있습니다. 무겁지 않은 형태의 데이터베이스라면 아두이노 우노 Q만으로도 센서 데이터를 장기간 저장하고 분석하는 훌륭한 IoT 서버 역할을 해낼 수 있습니다.

복잡한 서버 구축 없이 보드 하나로 끝내는 데이터베이스 실습, 유익하셨나요? 다음 시간에도 코딩 실력을 한 단계 업그레이드할 수 있는 재미있고 실용적인 실습 콘텐츠로 찾아오겠습니다!

해당 프로젝트에서 활용된 아두이노 우노 Q 상품은 아래에서 확인 가능합니다. ▼

실습준비물

연관 컨텐츠

결제 및 주문

공지사항 목록