Wi-Fi를 통해 애플파이와 Arduino CLI로 쓸 수 있습니다!

랩베리 Pi4를 이용해 아두노에 Wi-Fi로 쓸 수 있는 스크립트를 만들었다.
기존에는 아두노타가 있지만 단점이 몇 가지 있다.
  • ESP 32 이외의 Arduino
  • 에 쓸 수 없음
  • ArduinoOTA 프로그램을 설치해야 함
  • 이러한 단점을 해결하기 위해 아두노 CLI를 사용해 바이너리 데이터를 실러캔스 파이에 전송하고 실러캔스 파이에 연결된 아두노에 쓰는 조개 스크립트를 만들었다.
    이렇게 하면 ESP 32 이외의 아두노에 쓸 수도 있고, 아두노OTA 프로그램을 조립하지 않아도 된다.
    아직 개선할 여지가 많다.

    Arduino CLI란 무엇입니까?


    모르시는 분들을 위해 Arduiino IDE에서 수행되는 다양한 작업은 CLI에서 수행됩니다.
    자세한 내용은 이쪽을 보세요.설치 방법은 뒤에 설명되어 있습니다.
    문서: https://arduino.github.io/arduino-cli/0.21/
    보관소: https://github.com/arduino/arduino-cli

    컨디션


    이번에 내가 시도한 환경은 이런 느낌이다.
  • M1 Mac mini
  • Raspberry Pi 4
  • ESP32DevKitC
  • 나는 리눅스 컴퓨터도 괜찮다고 생각한다. (WSL도 괜찮을 것 같다.)
    리눅스가 움직일 수 있는 보드 컴퓨터라면 라스파도 괜찮을 것 같아요.
    ESP 32도 Arduino를 임의로 사용해야 합니다. 괜찮습니다.
    저와 다른 환경에서 시도한 결과를 댓글과 트위터에 보고할 수 있다면 기쁘겠습니다!

    팬케이크 준비


    오븐 OS


    우선 랩베리 피용 OS를 구워주세요.
    이번에는 랩베리 피 OS lite(64-bit)를 사용했다.
    또한 사용자 이름은 pi, 호스트 이름은 arduino-tester입니다.
    나중에 사용할 호스트 이름을 사용자 이름으로 바꾸십시오.

    Arduino CLI 설치

  • ssh [email protected]에서 ssh 로그인을 진행합니다.

  • 실행(설치)curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh.

  • 실행cp ./bin/arduino-cli /bin/arduino-cli.

  • 경로 통과 여부를 확인하려면 arduino-cli를 수행합니다.
  • 마지막 단계는 ssh를 통해arduino-cli를 운행하는 데 필요한 것이다.(더 좋은 방법이 있을지도 모른다)

    USB로 아두노와 실러캔스 파이 연결하기


    중요해.

    Mac 측 준비


    Arduino CLI 설치


  • 실행brew install arduino-cli.

  • 경로 통과 여부를 확인하려면 arduino-cli를 수행합니다.
  • Linux를 사용하는 사람은 curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh 설치를 수행합니다.
    자세한 내용은 https://arduino.github.io/arduino-cli/0.21/installation/#use-the-install-script
    그게 다야.

    스크립트를 쓰다


    이번에 한번 써보고 싶어요l_chika.ino.
    코드는 이거야!
    // l_chika.ino
    
    void setup() {
       pinMode(21, OUTPUT);
     }
     
     void loop() {
       digitalWrite(21, HIGH);
       delay(100);
       digitalWrite(21, LOW);
       delay(100);
     }
    
    같은 디렉터리에 생성setup.sh.
    #!/bin/bash
    # setup.sh
    
    arduino-cli compile --quiet --build-path ./build -b esp32:esp32:esp32 ./l_chika.ino
    
    HOST=$1
    
    scp ./build/*.bin $HOST:/tmp/
    
    ssh $HOST "arduino-cli config init --overwrite &&
                arduino-cli config add board_manager.additional_urls https://dl.espressif.com/dl/package_esp32_index.json &&
                arduino-cli core update-index &&
                arduino-cli core install esp32:esp32 &&
                arduino-cli upload --input-file /tmp/l_chika.ino.bin -p /dev/ttyUSB0 -b esp32:esp32:esp32"
    
    if [ $? -eq 0 ]; then
        echo "成功したよ"
    fi
    
    환경에 따라 다음 섹션을 변경하십시오.l_chika.ino 업로드할 Arduino 파일로 변경됩니다.esp32:esp32:esp32 업로드하기 좋은 아두노.arduino-cli board listall에 해당하는 FQBN을 찾을 수 있습니다.arduino-cli board listall uno도 축소가 가능하다./dev/ttyUSB0 라떼 파이에서 실행arduino-cli board list한 후에 나타나는 설비로 변경하십시오.
    현재의 문서 구성은 이렇다.
    $ tree
    .
    ├── l_chika.ino
    └── upload.sh
    
    0 directories, 2 files
    

    L자로 쓰다


    실행bash upload.sh [email protected].성공하면 성공!!!
    나는 성공했으니, 나는 열심히 노력할 것이다!
    LチカするArduino

    끝맺다


    Arduino CLI에 꿈을 느끼게 합니다.이것을 다시 정리하면 재미있는 일을 많이 할 수 있을 것 같다.이 아두노를 이용한 개발환경 정비를 더 추진해보고 싶네요.
    만약 보도에 잘못이나 이해하지 못하는 부분이 있다면 저에게 알려 주세요.그럼!

    좋은 웹페이지 즐겨찾기