[Web IOPi] 스마트폰으로 서보 모터 제어!③

스마트폰 제어 서보 모터!


서보 모터 시리즈를 스마트폰으로 제어하는 것은 이번이 세 번째다.
Raspberry Pi를 사용하여 IoT를 간단하게 제작할 수 있는 라이브러리, WebIOPi를 사용하여 스마트폰에서 서보 모터를 제어한다.
지금까지의 보도는 아래의 내용을 참고하십시오.
1. WebIOPi 설치
2. HTML/CSS 파일 제작
3. JavaScript 파일 만들기

서보 모터


서보 모터 동작을 만드는 Python 스크립트를 생성합니다.
서보 모터는 펄스 주기에 따라 회전한다.각자의 규격에 따라 펄스를 1.0ms~2.4ms의 범위 내에서 제어한다.
참고로 SG90 이 서보 모터는 0.5ms~2.4ms입니다.pigpio라는 스펙트럼 라이브러리를 사용하여 서보 모터를 실행합니다.

pigpio 설치


pigpio라는 스펙트럼 라이브러리를 사용하면 서보 모터를 운행할 때 안정적인 펄스를 생성할 수 있습니다.
Raspberry Pi의 터미널에서 다음 명령을 입력합니다.
sudo apt install pigpio
pigpio를 사용할 때 다음 명령을 사용하여 시작 (수호 프로세스) 하십시오.

sudo pigpiod

Python 스크립트 제작


우선 전체적으로 다음과 같다.
pyfile.py
import webiopi
import pigpio

webiopi.setDebug()      # WebIOPiのデバッグをセット
pi = pigpio.pi()

# サーボモーターへのパルス出力ピンを指定
SV_1 = 12       # SERVO1
SV_2 = 19       # SERVO2

"""以下、サーボ動作"""

# SERVO1
@webiopi.macro
def GET1(val):
    value1 = int(val)
    pi.set_servo_pulsewidth(SV_1, value1)
    webiopi.debug(value1)


# SERVO2
@webiopi.macro
def GET2(val):
    value2 = int(val)
    pi.set_servo_pulsewidth(SV_2, value2)
    webiopi.debug(value2)
WebIOPi에서 디버깅을 수행할 때는 webiopi.setDebug() 로 기술됩니다.
그리고 webiopi.debug(表示したいパラメータ)로 기술하여 디버깅할 때 이 매개 변수의 값을 확인할 수 있습니다.

webiopi.macro


그런데 자바스크립트로 만든 webiopi.callMacro() 함수를 기억하십니까?
webiopi().callMacro('GET1',value1)
첫 번째 매개 변수는 실행할 Python 함수입니다. 여기에서 def GET1(val): 입니다.
또한 JavaScript에서 매개변수val를 적용합니다.서로의 관계는 아래 사진을 참고하세요.

여기, webiopi에서 실행되는 Python 함수는 함수 이름에 기술해야 합니다@webiopi.macro!
그리고 수신된 값을 수치형으로 변환하여 pigpio를 통해 서보 동작을 합니다.

마지막


다음이 마지막이야.
WebIOPi를 사용하여 서버를 시작합니다.

좋은 웹페이지 즐겨찾기