def mount_sdcard(): spisd = SoftSPI(-1, miso=Pin(13), mosi=Pin(12), sck=Pin(14)) sd = SDCard(spisd, Pin(27)) vfs = os.VfsFat(sd) os.mount(vfs, '/sd')
def __init__(self, spi, reset, dreq, xdcs, xcs, sdcs=None, mp=None, cancb=lambda: False): self._reset = reset self._dreq = dreq # Data request self._xdcs = xdcs # Data CS self._xcs = xcs # Register CS self._mp = mp self._spi = spi self._cbuf = bytearray(4) # Command buffer self._cancb = cancb # Cancellation callback self._slow_spi = True # Start on low baudrate self._overrun = 0 # Recording self.reset() if ((sdcs is not None) and (mp is not None)): import sdcard import os sd = sdcard.SDCard(spi, sdcs) vfs = os.VfsFat(sd) os.mount(vfs, mp) self._spi.init(baudrate=_DATA_BAUDRATE)
def sdtest2(): spi = machine.SPI(1) spi.init() # Ensure right baudrate sd = sdcard.SDCard(spi, machine.Pin(15)) # Compatible with PCB # vfs = os.VfsLfs2(sd) vfs = os.VfsFat(sd) os.mount(vfs, "/fc") print("Filesystem check") print(os.listdir("/fc")) line = "abcdefghijklmnopqrstuvwxyz\n" lines = line * 200 # 5400 chars short = "1234567890\n" fn = "/fc/rats.txt" print() print("Multiple block read/write") with open(fn, "w") as f: n = f.write(lines) print(n, "bytes written") n = f.write(short) print(n, "bytes written") n = f.write(lines) print(n, "bytes written") with open(fn, "r") as f: result1 = f.read() print(len(result1), "bytes read") fn = "/fc/rats1.txt" print() print("Single block read/write") with open(fn, "w") as f: n = f.write(short) # one block print(n, "bytes written") with open(fn, "r") as f: result2 = f.read() print(len(result2), "bytes read") os.umount("/fc") print() print("Verifying data read back") success = True if result1 == "".join((lines, short, lines)): print("Large file Pass") else: print("Large file Fail") success = False if result2 == short: print("Small file Pass") else: print("Small file Fail") success = False print() print("Tests", "passed" if success else "failed")
def sdtest(): spi = machine.SPI(1) spi.init() # Ensure right baudrate sd = sdcard.SDCard(spi, machine.Pin.board.X21) # Compatible with PCB vfs = os.VfsFat(sd) os.mount(vfs, '/fc') print('Filesystem check') print(os.listdir('/fc')) line = 'abcdefghijklmnopqrstuvwxyz\n' lines = line * 200 # 5400 chars short = '1234567890\n' fn = '/fc/rats.txt' print() print('Multiple block read/write') with open(fn,'w') as f: n = f.write(lines) print(n, 'bytes written') n = f.write(short) print(n, 'bytes written') n = f.write(lines) print(n, 'bytes written') with open(fn,'r') as f: result1 = f.read() print(len(result1), 'bytes read') fn = '/fc/rats1.txt' print() print('Single block read/write') with open(fn,'w') as f: n = f.write(short) # one block print(n, 'bytes written') with open(fn,'r') as f: result2 = f.read() print(len(result2), 'bytes read') os.umount('/fc') print() print('Verifying data read back') success = True if result1 == ''.join((lines, short, lines)): print('Large file Pass') else: print('Large file Fail') success = False if result2 == short: print('Small file Pass') else: print('Small file Fail') success = False print() print('Tests', 'passed' if success else 'failed')
def test_format_sd(): sd_mnt_point = "/sd" spi = machine.SPI(1, sck=machine.Pin(10), mosi=machine.Pin(11), miso=machine.Pin(12), baudrate=10000) cs = machine.Pin(15) sd = sdcard.SDCard(spi, cs) os.VfsFat.mkfs(sd) sd_vfs_fat = os.VfsFat(sd) os.mount(sd_vfs_fat, sd_mnt_point) print("SD mounted") os.umount(sd_mnt_point) print("SD unmounted")
def __init__(self, spi, reset, dreq, xdcs, xcs, sdcs=None, mp=None): self._reset = reset self._dreq = dreq # Data request self._xdcs = xdcs # Data CS self._xcs = xcs # Register CS self._spi = spi self._cbuf = bytearray(4) # Command buffer self.reset() if ((sdcs is not None) and (mp is not None)): import sdcard import os sd = sdcard.SDCard(spi, sdcs) vfs = os.VfsFat(sd) os.mount(vfs, mp) self._cancnt = 0 # If >0 cancellation in progress self._playing = False self._spi.init(baudrate=_DATA_BAUDRATE) self._swriter = asyncio.StreamWriter(self, {})
def fs_use_sd(mnt_root_point="/sd"): # spi = machine.SPI(1) global sd_vfs_fat global sd_mnt_point if sd_vfs_fat != None: print("SD already used") return sd_mnt_point = mnt_root_point spi = machine.SPI(1, sck=machine.Pin(10), mosi=machine.Pin(11), miso=machine.Pin(12)) # spi = machine.SPI(1) cs = machine.Pin(15) sd = sdcard.SDCard(spi, cs) sd_vfs_fat = os.VfsFat(sd) os.mount(sd_vfs_fat, sd_mnt_point) print("SD mounted at " + sd_mnt_point)
def sdtest1(): spi = machine.SPI(1, sck=machine.Pin(10), mosi=machine.Pin(11), miso=machine.Pin(12)) spi = machine.SPI(1) cs = machine.Pin(15) sd = sdcard.SDCard(spi, cs) vfs = os.VfsFat(sd) os.mount(vfs, '/sd') os.mkdir('/sd/sd2') os.chdir('/sd/sd2') with open("pico2.txt", "a") as file: for i in range(10): file.write(str(i)+"2. Hello, world!\r\n") os.chdir('/') os.umount("/sd")
import machine, sdcard, os, time sd = sdcard.SDCard(machine.SPI(1), machine.Pin(15)) os.umount() os.VfsFat(sd, "") os.listdir() time.sleep(2) f = open('test.txt', 'w') f.write('hello world') f.close() os.listdir() time.sleep(1) f = open('text.txt', 'r') f.read() f.close()
# This file is executed on every boot (including wake-boot from deepsleep) #import esp #esp.osdebug(None) import gc import webrepl import toggleled, logging import machine, sdcard, os toggleled.toggleled() webrepl.start() gc.collect() sd = sdcard.SDCard(machine.SPI(1), machine.Pin(15)) os.umount() vfs = os.VfsFat(sd, "")
socket.getaddrinfo('dfrobot.com', 80)[0][4][0] except: print('can NOT connect to internet') return False return True spi = SPI(baudrate=100000, polarity=1, phase=0, sck=Pin(14), mosi=Pin(13), miso=Pin(12)) sd = sdcard.SDCard(spi, Pin(16)) os.umount() tmp = os.VfsFat(sd, "sd") if (connectWifi('rd', 'hidfrobot5353') == True): s = http_get('http://202.58.105.240/test.json') s = s[s.find('\r\n\r\n') + 4:] cfg = ujson.loads(s) f = open("config.json", "rw+") f.write(ujson.dumps(cfg)) f.close() print("get config file from internet") else: f = open("config.json", "r") cfg = ujson.loads(f.read()) f.close() print("get config file from local file") blinkInterval = cfg['blinkInterval']
def mount(sd): vfs = os.VfsFat(sd) os.mount(vfs, "/sd") print("Already mount")
import os import machine, rp2 # Try to mount the filesystem, and format the flash if it doesn't exist. bdev = rp2.Flash() try: vfs = os.VfsFat(bdev) os.mount(vfs, "/") except: os.VfsFat.mkfs(bdev) vfs = os.VfsFat(bdev) os.mount(vfs, "/") del os, bdev, vfs
time.sleep(1) SCL = Pin(2, Pin.OUT) SDA = Pin(0, Pin.OUT) i2c = I2C(-1, scl=SCL, sda=SDA) oled = SSD1306_I2C(128, 64, i2c) # 初始化SD卡 SD_SCK = Pin(12) SD_MOSI = Pin(14) SD_MISO = Pin(13) SD_CS = Pin(4) spi = SPI(sck=SD_SCK, mosi=SD_MOSI, miso=SD_MISO) spi.init() sd = sdcard.SDCard(spi, SD_CS) vfs = os.VfsFat(sd) # 初始化fat文件系统 os.mount(sd, "/sd") # 挂载SD卡到/sd目录下 def image(img_list): oled.fill(0) for i in img_list: oled.hline(i[0], i[1], i[2], 1) oled.show() with open('/sd/a.data', 'r') as f: for b in f: image(json.loads(b)) f = open('/sd/a1.data', 'rb')
import ujson as json import urequests as requests import time import dht import machine from machine import Pin from machine import SPI import ssd1306 from machine import I2C import sdcard, os import sys index=0 i2c = I2C(-1, Pin(14), Pin(2)) oled = ssd1306.SSD1306_I2C(128, 64, i2c) done_pin=Pin(13,Pin.OUT) done_pin.value(0) oled.fill(0) oled.text(" Q U A H O G",0,0) oled.text("Starting up ...",0,30) oled.show() try: sck=Pin(16) mosi=Pin(4) miso=Pin(17) cs = Pin(15, Pin.OUT) spi2=SPI(2,baudrate=5000000,sck=sck,mosi=mosi,miso=miso) sd = sdcard.SDCard(spi2, cs) vfs=os.VfsFat(sd) os.mount(vfs,"/sd")
def sdtest(): print("1") #hardware spi spi = SPI(2, baudrate=10000000, polarity=0, phase=0, bits=8, firstbit=SPI.MSB, sck=Pin(18, Pin.OUT, Pin.PULL_DOWN), mosi=Pin(23, Pin.OUT, Pin.PULL_UP), miso=Pin(19, Pin.IN, Pin.PULL_UP)) spi.init() # Ensure right baudrate sd = sdcard.SDCard(spi, Pin(22)) # Compatible with PCB vfs = os.VfsFat(sd) os.mount(vfs, "/fc") print("Filesystem check") print(os.listdir("/fc")) print("1") line = "abcdefghijklmnopqrstuvwxyz\n" lines = line * 200 # 5400 chars short = "1234567890\n" print("1") fn = "/fc/rats.txt" print() print("Multiple block read/write") with open(fn, "w") as f: n = f.write(lines) print(n, "bytes written") n = f.write(short) print(n, "bytes written") n = f.write(lines) print(n, "bytes written") with open(fn, "r") as f: result1 = f.read() print(len(result1), "bytes read") fn = "/fc/rats1.txt" print() print("Single block read/write") with open(fn, "w") as f: n = f.write(short) # one block print(n, "bytes written") with open(fn, "r") as f: result2 = f.read() print(len(result2), "bytes read") os.umount("/fc") print() print("Verifying data read back") success = True if result1 == "".join((lines, short, lines)): print("Large file Pass") else: print("Large file Fail") success = False if result2 == short: print("Small file Pass") else: print("Small file Fail") success = False print() print("Tests", "passed" if success else "failed")
def main(): # UART init uart = UART(2, baudrate=115200, rx=21, tx=22, timeout=10) print("UART OK") # LCD init i2c = I2C(scl=Pin(5), sda=Pin(4), freq=100000) # Init i2c lcd = ssd1306.SSD1306_I2C(128, 64, i2c) print("LCD OK") lcd.fill(0) lcd.text('LCD OK', 0, 0) # SD init spi = SPI(1, baudrate=400000, polarity=1, phase=0, sck=Pin(14), mosi=Pin(13), miso=Pin(12)) spi.init() # Ensure right baudrate lcd.text('SPI OK', 0, 8) sd = sdcard.SDCard(spi, Pin(32)) # Compatible with PCB vfs = os.VfsFat(sd) os.mount(vfs, "/SD") random.seed(len(os.listdir("/SD"))) print("SD OK") lcd.text('SPI OK', 0, 16) # LCD show lcd.fill(0) lcd.text('Hello, Makerfabs', 0, 0) lcd.text('GPS..', 0, 8) lcd.show() # A9G open A9G_RESET_PIN = Pin(33, Pin.OUT) A9G_RESET_PIN.value(0) # set pin to low time.sleep(1) A9G_PWR_KEY = Pin(27, Pin.OUT) A9G_PWR_KEY.value(0) time.sleep(1) A9G_PWR_KEY.value(1) time.sleep(1) lcd.fill(0) lcd.text('A9G open', 0, 0) # A9G GPS open uart.write('AT+GPS=1\r\n') # 1: turn on GPS 0:Turn off GPS time.sleep(1) uart.write('AT+GPSRD=0\r\n') time.sleep(1) lcd.fill(0) lcd.text('A9G GPS open', 0, 0) while uart.any(): clean_buffer = uart.readline() print(clean_buffer) # Time and index init index = 0 filename = '/SD/trace' + str(random.randint(0, 10000)) + '.txt' print(filename) lcd.fill(0) lcd.text('Preare pen ' + filename, 0, 0) f = open(filename, "w") lcd.fill(0) lcd.text('Already pen ' + filename, 0, 0) print('Open ' + filename) f.write(filename + '\t create by Vincent\n') f.write("-----------------------\n") f.flush() while True: uart.write('AT+LOCATION=2\r\n') # Get GPS address time.sleep(1) while uart.any(): bin_data = uart.readline() uart_str = bin_data.decode().replace('\n', '').replace('\r', '') #uart_str = '22.611830,113.835153' if uart_str == "": continue print(uart_str) if uart_str.find('+LOCATION') == 0: index = index + 1 data = {} data['time'] = time.time() data['index'] = index data['latitude'] = "NULL" data['longitude'] = "NULL" f.write(str(data) + '\n') f.flush() lcd.fill(0) lcd.text(str(index), 0, 0) lcd.text("NULL", 0, 8) lcd.show() print(data) elif uart_str.find(',') != -1: index = index + 1 gps_str_list = uart_str.split(',') #纬度 latitude = float(gps_str_list[0]) #经度 longitude = float(gps_str_list[1]) data = {} data['time'] = time.time() data['index'] = index data['latitude'] = latitude data['longitude'] = longitude f.write(str(data) + '\n') f.flush() lcd.fill(0) lcd.text(str(index), 0, 0) lcd.text(str(latitude), 0, 8) lcd.text(str(longitude), 0, 16) lcd.show() print(data) time.sleep(5)
#classmachine.SDCard(slot=1, width=1, cd=None, wp=None, sck=None, miso=None, mosi=None, cs=None) #SDCard(slot=1, width=1, cd=None, wp=None, sck=None, miso=None, mosi=None, cs=None) Acelx = I2C(scl=Pin(22), sda=Pin(21), freq=100000) Acelx.writeto_mem(MMA8254Q_ADDR, 0x2A, b'\x00') Acelx.writeto_mem(MMA8254Q_ADDR, 0x2A, b'\x01') Acelx.writeto_mem(MMA8254Q_ADDR, 0x0E, b'\x00') Acelx.writeto_mem(MMA8254Q_ADDR, 0x0F, b'\x30') #SD1 = SPI(1, 1000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19)) SD1 = SPI(1, 10000000, sck=Pin(14), mosi=Pin(13), miso=Pin(32)) sleep_ms(500) SD1.init() # Ensure right baudrate #sd = SDCard(SD1,Pin(05)) # Compatible with PCB sd = SDCard(SD1, Pin(27)) vfs = os.VfsFat(sd) os.mount(vfs, '/fc') in_xAcc1 = 0 in_yAcc1 = 0 in_zAcc1 = 0 xAcc1 = 0 yAcc1 = 0 zAcc1 = 0 in_in_xAcc1 = 0 in_in_yAcc1 = 0 in_in_zAcc1 = 0 current_time_a = 0
import json import time import os import urequests import network import sdcard t=time.time() # wlan = network.WLAN(network.STA_IF) # wlan.active(True) # if not wlan.isconnected(): # wlan.connect('your wifi','passwd') sdi = SPI(2, baudrate=80000000, polarity=1, phase=0, sck=Pin(18), mosi=Pin(23), miso=Pin(19)) sd = sdcard.SDCard(sdi, Pin(22)) sdfile=os.VfsFat(sd) spi = SPI(1, baudrate=10000000, polarity=1, phase=0, sck=Pin(21), mosi=Pin(2)) ss = Pin(5, Pin.OUT) display = max7219.Matrix8x8(spi,ss,16) class play(): def pxy(self,x,y,z,c): display.hline(x,y,z,c) def image(self,img_list): display.fill(img_list[0]) if img_list[0]==1: c=0 else: c=1 img_list.pop(0)
import sys import mimxrt from machine import Pin bdev = mimxrt.Flash() try: vfs = os.VfsLfs2(bdev, progsize=256) except: os.VfsLfs2.mkfs(bdev, progsize=256) vfs = os.VfsLfs2(bdev, progsize=256) os.mount(vfs, "/flash") os.chdir("/flash") sys.path.append("/flash") sys.path.append("/flash/lib") # do not mount the SD card if SKIPSD exists. try: os.stat("SKIPSD") except: try: from machine import SDCard sdcard = SDCard(1) fat = os.VfsFat(sdcard) os.mount(fat, "/sdcard") os.chdir("/sdcard") sys.path.append("/sdcard") except: pass # Fail silently
import os,sdcard from machine import Pin, SPI card = sdcard.SDCard(SPI(1),Pin(15)) os.umount("/") vfs = os.VfsFat(card) os.listdir()