示例#1
0
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)
示例#3
0
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")
示例#4
0
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')
示例#5
0
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")
示例#6
0
 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, {})
示例#7
0
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)
示例#8
0
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")
示例#9
0
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()
示例#10
0
# 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, "")
示例#11
0
        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']
示例#12
0
def mount(sd):
    vfs = os.VfsFat(sd)
    os.mount(vfs, "/sd")
    print("Already mount")
示例#13
0
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
示例#14
0
        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')
示例#15
0
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
示例#19
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)
示例#20
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
示例#21
0
import os,sdcard
from machine import Pin, SPI

card = sdcard.SDCard(SPI(1),Pin(15))
os.umount("/")
vfs = os.VfsFat(card)
os.listdir()