라즈베리 파이 피코 SD 카드에서 설정 읽기

이 가이드는 Micro SD 카드에서 구성 파일을 사용하는 방법을 보여줍니다. 우리는 다음에 대해 배울 것입니다:

라즈베리 파이 피코 마이크로 sd 카드 구성 파일

준비물

1×라즈베리 파이 피코 W 쿠팡 | 아마존
1×라즈베리 파이 피코 (또는) 쿠팡 | 아마존
1×마이크로 USB 케이블 아마존
1×마이크로 SD 카드 아마존
1×마이크로 SD 카드 모듈 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) MicroSD to SD 메모리 카드 어댑터 아마존
1×(추천) 라즈베리 파이 피코용 스크루 터미널 확장 보드 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

마이크로 SD 카드 모듈에 대하여

마이크로 SD 카드 모듈의 핀 구성, 작동 방식, 프로그래밍 방법 등에 대해 라즈베리 파이 피코 - 마이크로 SD 카드 가이드를 통해 배울 수 있습니다.

작동 방식

키-값 쌍은 다음과 같이 미리 마이크로 SD 카드에 저장됩니다:

  • 각 키-값 쌍은 새 줄 문자로 구분된 별도의 줄에 있습니다. 키와 값은 = 문자로 구분됩니다.

Raspberry Pi Pico용 코드는 키를 검색하고 해당 키에 상응하는 값을 찾아 그 값을 변수에 저장합니다. 이 변수는 int, float 또는 String 타입일 수 있습니다.

선연결

라즈베리 파이 파이코 마이크로 sd 카드 모듈 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

※ 주의:

이더넷 쉴드나 Micro SD 카드 슬롯이 있는 모든 쉴드를 가지고 있다면, 별도의 Micro SD 카드 어댑터가 필요하지 않습니다. Micro SD 카드를 쉴드의 슬롯에 꽂기만 하면 됩니다.

설정을 변수에 읽는 방법

  • 메모장 또는 메모장++을 사용하여 컴퓨터에 config.txt라는 파일을 만드세요. 다음 키-값 쌍을 복사하여 config.txt에 붙여넣으세요.
myString_1=Hello myString_2=Raspberry Pi PicoGetStarted.com myInt_1=2 myInt_2=-105 myFloat_1=0.74 myFloat_2=-46.08

i. USB 3.0 SD 카드 리더기를 사용하여 컴퓨터에 마이크로 SD 카드를 삽입합니다.

i. 마이크로 SD 카드가 FAT16 또는 FAT32로 포맷되어 있는지 확인합니다. 필요하다면 온라인에서 지침을 찾아보십시오.

i. 'config.txt' 파일을 마이크로 SD 카드의 기본 디렉토리로 이동합니다.

i. 컴퓨터에서 마이크로 SD 카드를 제거합니다.

i. 제공된 배선도를 참고하여 마이크로 SD 카드 모듈과 함께 Raspberry Pi Pico에 마이크로 SD 카드를 연결합니다.

i. 아래 코드를 복사하여 Thonny IDE에서 엽니다.

/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-read-config-from-sd-card */ import machine import os import sdcard # Define SPI pins for the Micro SD Card module SPI_SCK_PIN = 2 # The Raspberry Pi Pico pin GP2 connected to SCK SPI_MOSI_PIN = 3 # The Raspberry Pi Pico pin GP3 connected to MOSI SPI_MISO_PIN = 4 # The Raspberry Pi Pico pin GP4 connected to MISO SPI_CS_PIN = 5 # The Raspberry Pi Pico pin GP5 connected to SS (CS) FILE_NAME = "/sd/config.txt" # Variables my_int_1 = 0 my_int_2 = 0 my_float_1 = 0.0 my_float_2 = 0.0 my_string_1 = "" my_string_2 = "" def sd_find_key(key): """Search for a key in the config file and return its value as a string.""" try: f = open(FILE_NAME, "r") for line in f: line = line.strip() if "=" in line: k, v = line.split("=", 1) if k == key: f.close() return v f.close() except Exception as e: print("SD Card: Issue encountered while attempting to open the file", FILE_NAME, e) return None def sd_find_int(key): """Read a key from config file and return as int. """ value = sd_find_key(key) if value is not None: return int(value) return 0 def sd_find_float(key): """Read a key from config file and return as float.""" value = sd_find_key(key) if value is not None: return float(value) return 0.0 def sd_find_string(key): """Read a key from config file and return as string. """ value = sd_find_key(key) if value is not None: return value return "" # Initialize SD card using SoftSPI and sdcard driver spi = machine.SoftSPI(baudrate=1000000, polarity=0, phase=0, sck=machine.Pin(SPI_SCK_PIN), mosi=machine.Pin(SPI_MOSI_PIN), miso=machine.Pin(SPI_MISO_PIN)) cs = machine.Pin(SPI_CS_PIN, machine.Pin.OUT) try: sd = sdcard.SDCard(spi, cs) os.mount(sd, "/sd") print("SD Card initialized.") except Exception as e: print("SD CARD FAILED, OR NOT PRESENT!", e) raise SystemExit my_int_1 = sd_find_int("myInt_1") my_int_2 = sd_find_int("myInt_2") my_float_1 = sd_find_float("myFloat_1") my_float_2 = sd_find_float("myFloat_2") my_string_1 = sd_find_string("myString_1") my_string_2 = sd_find_string("myString_2") print("myInt_1 =", my_int_1) print("myInt_2 =", my_int_2) print("myFloat_1 =", my_float_1) print("myFloat_2 =", my_float_2) print("myString_1 =", my_string_1) print("myString_2 =", my_string_2) os.umount("/sd")
  • Thonny IDE에서 Upload 버튼을 눌러 코드를 Raspberry Pi Pico로 전송하세요.
  • 시리얼 모니터에서 결과를 확인하세요.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot SD Card initialized. myInt_1 = 2 myInt_2 = -105 myFloat_1 = 0.74 myFloat_2 = -46.08 myString_1 = Hello myString_2 = Raspberry Pi PicoGetStarted.com
MicroPython (Raspberry Pi Pico) • Board CDC @ COM29 ≡
  • 시리얼 모니터는 마이크로 SD 카드에 저장된 값과 동일한 값을 표시합니다.

이제 코드를 수정하여 더 많은 변수를 추가할 수 있습니다.

※ 주의:

코드는 키-값 쌍의 순서를 무시합니다. 파일의 처음부터 끝까지 키를 찾아 일치하는 항목이 발견될 때까지 검색합니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.