Skip to main content

A library for controlling KT-AI-IOT devices

Project description

KT-AI-IOT Python 라이브러리

개요

  • 교육용 KT-AI-IOT 디바이스를 제어하는 Python기반 라이브러리입니다.

  • 설치: pip install kt-ai-iot

  • import: kt_ai_iot

  • 사용 예제:

    import kt_ai_iot
    import time
    
    def main():
        # 디바이스의 통신 데이터 출력을 허용합니다.
        kt_ai_iot.set_debug(True)
        # 컴퓨터에 연결된 모든 시리얼 통신 포트를 출력합니다.
        kt_ai_iot.get_serial_list()
        # 디바이스의 시리얼 통신 포트와 속도로 연결합니다.
        conn, reader = kt_ai_iot.open('COM9', 38400)
        gpio_state = 0
        last_toggle_time = time.time()
    
    
        try:
            while True:
                	# 500ms 마다 입력의 모든 핀을 읽어 출력합니다.
                    print(f"in1: {reader.get_in1()}, in2: {reader.get_in2()}, in3: {reader.get_in3()}, in4: {reader.get_in4()}, remocon: {reader.get_remocon()}")
                    current_time = time.time()
                     # 1초마다 gpio_out의 0번째 핀으로 high, low로 설정합니다.
                    if current_time - last_toggle_time > 1.0:
                        gpio_state = 1 if gpio_state == 0 else 0
                        kt_ai_iot.gpio_out(0, gpio_state)
                        last_toggle_time = current_time
                    time.sleep(0.5)
        except KeyboardInterrupt:
            print("Program interrupted by user")
        finally:
            conn.close()
    
    if __name__ == '__main__':
        main()
    

명령어 Summary

  • set_debug: 라이브러리 동작 출력 확인

  • get_serial_list: 통신 포트 리스트 확인

  • open: KT-AI-IOT 디바이스와 통신 연결

  • close: KT-AI-IOT 디바이스와 통신 끊기

  • gpio_out: GPIO 출력.

  • servo_motor: 서버모터 동작

  • dc_motor_all_on: DC모터 동작

  • dc_motor_all_off: DC모터 중지

  • dc_motor1_on: DC모터1 동작

  • dc_motor2_on: DC모터2 동작

  • reader.get_in1: GPIO 포트 1 입력 읽기

  • reader.get_in2: GPIO 포트 2 입력 읽기

  • reader.get_in3: GPIO 포트 3 입력 읽기

  • reader.get_in4: GPIO 포트 4 입력 읽기

  • reader.get_remocon: 리모컨 입력 값 읽기

통신 명령어

  • 설명: KT-AI-IOT 디바이스와 통신 연결을 위한 명령어 모음 입니다.

get_serial_list()

  • 설명: 컴퓨터에 연결된 시리얼 통신 포트 리스트를 출력합니다. KT-AI-IOT 디바이스 포트 번호를 확인하세요.
  • 입력: 없음
  • 응답: 터미널 창에 통신 포트 리스트를 출력

open(port, baud)

  • 설명: KT-AI-IOT 디바이스와 시리얼 통신 연결을 합니다.
  • 입력:
    • port: KT-AI-IOT 디바이스의 포트 번호 문자열 예) 'COM3'
    • baud: 통신 속도 (기본: 38400)
  • 응답: conn, reader
    • conn: 연결된 통신 객체, 연결을 끊을 때 필요합니다.
    • reader: KT-AI-IOT 디바이스로부터 수신되는 입력 데이터 집합 객체, 입력 값 확인 시, 필요합니다.

conn.close()

  • 설명: KT-AI-IOT 디바이스와 통신을 해제합니다.

  • 입력: 없음

  • 응답: 없음

동작 명령어

  • 설명: KT-AI-IOT 디바이스를 동작 시키는 명령어입니다.

gpio_out(pin, logic)

  • 설명: GPIO 포트핀으로 출력을 High, Low로 설정합니다.
  • 입력:
    • pin: GPIO핀 번호(범위: 0 ~ 5)
    • logic: 0(low) 또는 1(high)
  • 응답: 전송 성공 여부

servo_motor(pin, angle, speed)

  • 설명: 서버모터의 포트핀으로 각도와 속도를 설정합니다.
  • 입력:
    • pin: 서버모터 핀 번호(범위: 3 ~ 6)
    • angle: 동작 각도를 설정합니다. (범위: -90 ~ 90)
    • speed: 동작 속도를 설정합니다. (범위: 0 ~ 30)
  • 응답: 전송 성공 여부

dc_motor_all_on(l1, r1, l2, r2)

  • 설명: DC모터 1번과 2번을 동시에 동작하도록 설정합니다.
  • 입력:
    • l1: LEFT 1번의 모터 속도를 설정합니다. (범위: -100 ~ 100)
    • r1: RIGHT 1번의 모터 속도를 설정합니다. (범위: -100 ~ 100)
    • l2: LEFT 2번의 모터 속도를 설정합니다. (범위: -100 ~ 100)
    • r2: RIGHT 2번의 모터 속도를 설정합니다. (범위: -100 ~ 100)
  • 응답: 전송 성공 여부

dc_motor_all_off()

  • 설명: DC모터 1번과 2번의 동작을 동시에 중지합니다.
  • 입력: 없음
  • 응답: 전송 성공 여부

dc_motor1_on(l1, l2)

  • 설명: DC모터 1번을 동작하도록 설정합니다.
  • 입력:
    • l1: LEFT 1번의 모터 속도를 설정합니다. (범위: -100 ~ 100)
    • r1: RIGHT 1번의 모터 속도를 설정합니다. (범위: -100 ~ 100)
  • 응답: 전송 성공 여부

dc_motor2_on(l2, r2)

  • 설명: DC모터 2번을 동작하도록 설정합니다.

  • 입력:

    • l2: LEFT 2번의 모터 속도를 설정합니다. (범위: -100 ~ 100)
    • r2: RIGHT 2번의 모터 속도를 설정합니다. (범위: -100 ~ 100)
  • 응답: 전송 성공 여부

입력 포트 읽기 명령어

  • 디바이스로 입력된 상태 값을 읽는 명령어 입니다. open 함수에서 반환된 reader와 같은 객체를 통해 입력 포트를 확인할 수 있습니다.
  • 여기서는 reader로 설명합니다. 객체 변수명은 지정에 따라 다를 수 있습니다.

reader.get_in1()

  • 설명: 포트1번의 디바이스 입력 값을 읽어 옵니다. ADC 값으로 0~255의 값을 수신합니다.
  • 입력: 없음
  • 응답: 값 (0~255)

reader.get_in2()

  • 설명: 포트2번의 디바이스 입력 값을 읽어 옵니다. ADC 값으로 0~255의 값을 수신합니다.
  • 입력: 없음
  • 응답: 값 (0~255)

reader.get_in3()

  • 설명: 포트3번의 디바이스 입력 값을 읽어 옵니다. ADC 값으로 0~255의 값을 수신합니다.
  • 입력: 없음
  • 응답: 값 (0~255)

reader.get_in4()

  • 설명: 포트4번의 디바이스 입력 값을 읽어 옵니다. ADC 값으로 0~255의 값을 수신합니다.
  • 입력: 없음
  • 응답: 값 (0~255)

reader.get_remocon()

  • 설명: 디바이스의 IR로 입력되는 리모컨 입력 값을 읽어 옵니다. 0~255의 값을 수신합니다.
  • 입력: 없음
  • 응답: 값 (0~255)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kt-ai-iot-0.1.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

kt_ai_iot-0.1.0-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file kt-ai-iot-0.1.0.tar.gz.

File metadata

  • Download URL: kt-ai-iot-0.1.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for kt-ai-iot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d7993d80403c048b06724e2676b430899a75cfa992cda2815a3bc66ac14d944f
MD5 652bceaf3c142ddfc42208bf5ab298d6
BLAKE2b-256 c526c945ceb62f7441a2d653a30defe5804ef198401eef3e7d862d4e52a6a673

See more details on using hashes here.

File details

Details for the file kt_ai_iot-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kt_ai_iot-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for kt_ai_iot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6d687b75980e8e7c79813054b162bbf27ffde74e6eb10a44c4eaa82722dbd5a
MD5 77fcd6814452020f2444750634f0b90b
BLAKE2b-256 90299ba6a267abf14da9616059ed441764f3c009202747129e93fc49ebac5443

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page