글쓰기

스마트인재개발원/라즈베리파이

[21.07.07]라즈베리파이 파이썬 GPIO, pymysql [스마트인재개발원]

RSpring41 2021. 7. 7. 11:41

< 라즈베리파이 핀맵 >

사진 출처 : https://docs.microsoft.com/ko-kr/windows/iot-core/learn-about-hardware/pinmappings/pinmappingsrpi

- GPIO 사용 선언

import RPi.GPIO as gp
gp.setwarnings(False)

 

- 핀 모드 설정
gp.setmode(gp.BCM)

 

- 핀 입출력 선언

gp.setup(18, gp.OUT)
gp.setup(22, gp.IN)

 

 

- PWM출력 선언
p = gp.PWM(18,1000)

 

- PWM신호 시작
p.start(0)

 

- PWM신호 duty변경
p.ChangeDutyCycle(100)

 

ADC(Analog-to-digital converter)

 

 

 

 

 

파이썬에서 db 정보 저장

 

1. 리눅스에 mariadb-server를 설치

2. (mysql -u root -p)로그인 이후 계정 테이블에서 변경(코드 못적음)) -> root계정 pw 지정

3. (create database 이름) database 생성

4. (pip install pymysql)pip를 이용하여 pymysql 설치

5. db 접속을 위한 파이썬 코드 작성

import pymysql as ps


ps.connect(
    host = 'localhost',
    user = 'root',
    passwd = '1234',
    db = 'test',
    charset = 'utf8'
    )

 

6. cursor을 만들고 sql문을 작성해 실행함

   -> 여러개 sql문을 실행할때는 배열을 이용하여 작성함

 

7. 실행 결과 처리

-->

 

 

select 실행 예시

 

 

센서값 DB 저장 예제

import pymysql as ps
# ADC IC 라이브러리
import spidevRead as sr
import time

# connection 생성
db = ps.connect(
    host = 'localhost',
    user = 'root',
    passwd = '1234',
    db = 'test',
    charset = 'utf8'
    )
    
# cursor 생성
cursor = db.cursor()



while True:
    
    # read sensor value
    sensor_val = sr.analog_read(0)
    print(sensor_val)
    
    
    #insert
    sql_insert = 'insert into sensordb(sensing) values(%s)'
    cursor.execute(sql_insert,(sensor_val))
    db.commit()
    #time.sleep(0.5)


db.close()

 

 

- shell를 이용한 db 접속 방법 정리

>> 처음 설치시 설정 참고 자료

 

[21.06.15 MySql] 프레임워크 사용과 MySql연결[스마트인재개발원]

▶ 교육용 표준 프레임워크 다운로드 사이트 https://www.egovframe.go.kr/home/ntt/nttRead.do?pagerOffset=0&searchKey=&searchValue=&menuNo=65&bbsId=4&nttId=1741 교육자료 | 표준프레임워크 포털 eGovFrame..

rspring41.tistory.com

 

1. mysql -u root -p 비밀번호 : 로그인

2. user 데이터베이스 이름

 

 

- mysql에서 저장한 sensor값 확인 결과 

 

 

 

% cursor() : 괄호 내부에 반환형 타입을 지정할 수 있다.

   -> 그 이외에는 동일한 cursor를 사용해도 상과없다.

 

 

 

 

 

 

 

 

# 해당 수업은 '스마트인재개발원'에서 '지능형IoT 융합SW 전문가과정(NCS)과정'에서 진행한 교육내용입니다.

 

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr

 

'스마트인재개발원 > 라즈베리파이' 카테고리의 다른 글

[2021.07.09] aws 키 발급 및 설정  (0) 2021.07.09
[2021.07.08] motion 인식  (0) 2021.07.08
Flask  (0) 2021.07.07