[PJT] RPI 셋팅 & 테스트

정재훈·2022년 5월 24일
0

간단 PJT

목록 보기
5/6

RPI 기본세팅

RC카 라즈베리파이를 SSH로 접속합니다. 기본 도구인 apt-update, vim과 rdate를 설치합니다. 그리고 시간 세팅을 하여 DB에 정확한 시간 값을 저장할 수 있도록 합니다.

sudo apt update
sudo apt install rdate vim -y
sudo rdate -s time.bora.net
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
date

작업 디렉토리 생성 후 테스트

mkdir 를 통해 작업 디렉토리 생성하기!
MySQL 접속을 위한 pip로 설치하기!

python3 -m pip install mysql-connector
python3 -m pip install mysql-connector-python

작업 디렉토리 접근후 테스트 해보기

DB 테스틑

1_db_test.py

import mysql.connector

db = mysql.connector.connect(host='AWS IP 주소`, user=`관리자 계정 ID', password='관리자 PW', database='생성한 스키마명', auth_plugin='mysql_native_password')
cur = db.cursor()

#query
cur.execute("select * from command")

#print
for (id, time, cmd_string, arg_string, is_finish) in cur:
    print(id, time, cmd_string, arg_string, is_finish)

cur.close()
db.close()

Sense Hat Test

sudo apt-get install sense-hat을 통해 센스햇 Library
2_sensehat_test.py

from sense_hat import SenseHat
sen = SenseHat()
sen.show_message('HELLO')

압력,온도,습도 센서 Test

3_sensor_test.py

from sense_hat import SenseHat
from time import sleep

sense = SenseHat()

while True:
  pressure = sense.get_pressure()
  temp = sense.get_temperature()
  humidity = sense.get_humidity()

  p = round(pressure, 2)
  t = round(temp, 2)
  h = round(humidity, 2)

  msg = "Press : " + str(p) + "  Temp : " + str(t) + "  Humid : " + str(h)
  print(msg)
  sleep(0.1)

조이스틱 test

4_eyebbong_test.py

from sense_hat import SenseHat

sense = SenseHat()
sense.clear(255, 255, 255) 

def red():
  sense.clear(255, 0, 0)

def blue():
  sense.clear(0, 0, 255)

def green():
  sense.clear(0, 255, 0)
  
def yellow():
  sense.clear(255, 255, 0)

sense.stick.direction_up = red
sense.stick.direction_down = blue
sense.stick.direction_left = green
sense.stick.direction_right = yellow
sense.stick.direction_middle = sense.clear

#infinity loop
while True:
  pass

모터 세팅하기

Motor Driver(Motor Hat)을 사용하면, GPIO 로 간단히 DC Motor, Servo Motor를 제어할 수 있습니다.

Motor Library 다운 후 압축 풀기

cd ~/bbqcar
wget http://raspberrypiwiki.com/images/a/ac/Raspi-MotorHAT-python3.zip --no-check-certificate
unzip ./Raspi-MotorHAT-python3.zip

필요한 라이브러리 작업 디렉토리로 복사하기

cp ./DCTest.py ~/bbqcar/test/5_DCTest.py
cp ./Raspi_I2C.py ~/bbqcar/test/
cp ./Raspi_MotorHAT.py ~/bbqcar/test/
cp ./Raspi_PWM_Servo_Driver.py ~/bbqcar/test/

DC모터 테스트

vi 5_DCTest.py에서 DC모터가 연결된 채널을 확인한 후 myMotor = mh.getMotor(연결된 채널)을 수정해줍니다!

서보모터 테스트

from Raspi_PWM_Servo_Driver import PWM
import time

pwm = PWM(0x6F)
pwm.setPWMFreq(60)

while True:
    value = int(input('PWM VALUE : '))
    if value <= 200 or value >= 500 : 
        print("WARNING")
        continue
    pwm.setPWM(0, 0, value)
    ```
profile
여러 방향으로 접근하는 개발자

0개의 댓글