• Skip to primary navigation
  • Skip to main content

IoTmaker

사물인터넷에 대한 모든 것 여기서 해결하셔요!

  • 홈
  • 책:마이크로파이썬을 활용한 사물인터넷
  • 책:따라 하면서 배우는 사물인터넷
  • 온라인 교육 코스
  • 새로운 소식
  • 의견보내기
  • 내 수강정보
  • 로그인
  • 회원가입

ChatGPT 사용법

마이크로파이썬

 1  계정 만들기

챗GPT 홈 페이지를 방문하여 계정을 만듭니다.
챗GPT 페이지

 2  유료 플랜 가입하기

무료 플랜을 사용해도 되지만 본격적으로 AI를 학습하고 싶으면 적합한 유료 플랜에 가입하는 것이 좋습니다. 이렇게 하면 높은 성능의 옵션을 사용할 수 있습니다.

 3  여기서는 프롬프트에 집중합니다

코딩을 도와주는 옵션이 있지만, 여기서는 좋은 프롬프트를 만드는데 집중합니다.

개인의 취향에 따라 코딩을 도와주는 옵션을 사용해도 됩니다.

 4  모르는 것 질문하기

교재에서는 주로 마이크로컨트롤러, 마이크로파이썬, MQTT, Node-RED 등을 학습합니다. 학습하고자 하는 내용에 대하여 적절한 질문을 하면 즉시 답을 얻을 수 있습니다.

교재의 [AI 프롬프트 실습]에서는 질문을 하고, 마이크로파이썬 코드를 생성하고, 코드에 대한 설명을 만드는 일련의 과정을 모두 보여 줍니다.

교재의 [AI 프롬프트 활용]에는 질문만 나열되어 있습니다. 이 질문은 학습자가 직접 AI에게 물어서 답을 얻어야 하는 항목입니다.

[AI 프롬프트 실습]이나 [AI 프롬프트 활용]의 내용은 별도 웹 페이지로 제공하므로, 프롬프트를 쉽게 복사하여 사용할 수 있습니다.

AI 프롬프트 바로가기

 5  프로그램 오류 해결하기

여기서는 궁극적으로 유효한 마이크로파이썬 코드를 생성하는 것이 목표입니다. 그러나 생성한 코드를 실행하면 오류가 나는 경우가 있습니다. 이때는 오류 메시지를 복사하여 붙여 넣어서 다시 질문하여야 합니다.

 6  패턴(patterns)과 부품(components)

챗GPT는 코드를 만들어 주는 도깨비 방망이가 아닙니다.
마이크로파이썬을 사용하는 개발 보드에 적합하게 모듈을 만드는 작업이 선행되어야 합니다. AI에게는 모듈을 연결하는 작업을 시키는 것이 좋습니다. 이런 방식으로 만들어진 코드는 읽기도 좋고 수정하기도 편합니다. 따라서 좋은 모듈을 만드는 능력을 키우는 것은 대단히 중요합니다.

모듈을 활용하기 위한 패턴(patterns)을 만들어 두고, 이 패턴을 활용하여 코드를 부품(components)처럼 조립하여 사용할 수가 있습니다. 패턴과 부품에 대한 규칙은 YAML로 코딩합니다. 그래서 YAML을 다루는데 익숙해져야 합니다.

다음과 같이 패턴과 규칙을 YAML 프롬프트로 만들어서 AI에게 마이크로파이썬 코드를 만들도록 하면 됩니다.

프롬프트 작성 예
patterns:
    code:
        설명: '입력 받은 내용을 그대로 코드변환합니다'
        매개변수: text
        코드변환: |
            {{text}}    
    i2c:
        설명: 'i2c bus를 만듭니다.'
        매개변수: 
            i2c_bus: i2c       
            no: 0        
            scl_pin: P.SCL
            sda_pin: P.SDA
        코드변환: |
            from machine import I2C
            {{i2c_bus}} = I2C({{no}}, scl={{scl_pin}}, sda={{sda_pin}})        
    DHT22:
        매개변수:
            이름: dht
            pin_gpio: P.DHT
        코드변환: |
            from dht22sensor import DHT22Sensor
            {{이름}} = DHT22Sensor(pin_gpio={{pin_gpio}})  
    아날로그 센서:
        매개변수:
            이름: 
            pin_instance: 
        코드변환: |
            from machine import ADC
            {{이름}} = ADC({{pin_instance}})
            gas.atten(ADC.ATTN_11DB)  

앞의 patterns:에서 정의된 내용을 참조하여 아래에 지정된 components:를 마이크로파이썬 코드변환로 만들어 주세요.

components:
- code: |
    import pinno as P
- i2c:
- dht22:
- 아날로그 센서:
    이름: gas
    pin_instance: Pin(P.A0_IN)

앞의 프롬프트을 실행하여 만든 마이크로파이썬 코드는 다음과 같습니다.

AI가 작성한 마이크로파이썬 코드
아래는 주어진 `patterns`와 `components` 정의를 참조하여 변환된 마이크로파이썬 코드입니다.

```python
# 코드 변환 시작

# code: 입력받은 텍스트 그대로 변환
import pinno as P

# i2c: I2C 버스 생성
from machine import I2C
i2c = I2C(0, scl=P.SCL, sda=P.SDA)

# dht22: DHT22 센서 초기화
from dht22sensor import DHT22Sensor
dht = DHT22Sensor(pin_gpio=P.DHT)

# 아날로그 센서: 아날로그 센서 초기화
from machine import ADC, Pin
gas = ADC(Pin(P.A0_IN))
gas.atten(ADC.ATTN_11DB)

# 코드 변환 완료
```

이 코드는 지정된 `patterns`를 기반으로 모든 `components`를 변환하여 생성된 코드입니다. 추가적인 요구 사항이 있으면 알려주세요!

패턴은 한 번 만들어 두면 반복해서 사용할수 있습니다. 패턴을 활용하여 부품 정보만 기입하기만 해도 복잡해 보이는 코드를 쉽게 생성할 수 있습니다.

AI 가 쉽게 코드를 만들어 주지만, 전제는 모듈화를 잘 하고 패턴을 미리 만들어 두어야 한다는 것입니다.

Copyright © 2025 ·로그인