Example #1
0
    def reset(force=False, reply=5, is_hard=True):
        if force == False and __class__.isconnected():
            return True
        try:
            # IO map for ESP32 on Maixduino
            fm.register(25,fm.fpioa.GPIOHS10)#cs
            fm.register(8,fm.fpioa.GPIOHS11)#rst
            fm.register(9,fm.fpioa.GPIOHS12)#rdy

            if is_hard:
                print("Use Hareware SPI for other maixduino")
                fm.register(28,fm.fpioa.SPI1_D0, force=True)#mosi
                fm.register(26,fm.fpioa.SPI1_D1, force=True)#miso
                fm.register(27,fm.fpioa.SPI1_SCLK, force=True)#sclk
                __class__.nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS10, rst=fm.fpioa.GPIOHS11, rdy=fm.fpioa.GPIOHS12, spi=1)
                print("ESP32_SPI firmware version:", __class__.nic.version())
            else:
                # Running within 3 seconds of power-up can cause an SD load error
                print("Use Software SPI for other hardware")
                fm.register(28,fm.fpioa.GPIOHS13, force=True)#mosi
                fm.register(26,fm.fpioa.GPIOHS14, force=True)#miso
                fm.register(27,fm.fpioa.GPIOHS15, force=True)#sclk
                __class__.nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS10,rst=fm.fpioa.GPIOHS11,rdy=fm.fpioa.GPIOHS12, mosi=fm.fpioa.GPIOHS13,miso=fm.fpioa.GPIOHS14,sclk=fm.fpioa.GPIOHS15)
                print("ESP32_SPI firmware version:", __class__.nic.version())

            # time.sleep_ms(500) # wait at ready to connect
        except Exception as e:
            print(e)
            return False
        return True
Example #2
0
def main():
    # IO map for ESP32 on Maixduino
    fm.register(25, fm.fpioa.GPIOHS10)  #cs
    fm.register(8, fm.fpioa.GPIOHS11)  #rst
    fm.register(9, fm.fpioa.GPIOHS12)  #rdy
    fm.register(28, fm.fpioa.GPIOHS13)  #mosi
    fm.register(26, fm.fpioa.GPIOHS14)  #miso
    fm.register(27, fm.fpioa.GPIOHS15)  #sclk

    nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS10,
                            rst=fm.fpioa.GPIOHS11,
                            rdy=fm.fpioa.GPIOHS12,
                            mosi=fm.fpioa.GPIOHS13,
                            miso=fm.fpioa.GPIOHS14,
                            sclk=fm.fpioa.GPIOHS15)

    print("ESP32_SPI firmware version:", nic.version())

    nic.connect(WIFI_SSID, WIFI_PASSWD)
    print(nic.ifconfig())
    print(nic.isconnected())

    headers = {"User-Agent": "MaixPy"}
    res = get("http://dl.sipeed.com/MAIX/MaixPy/assets/Alice.jpg",
              headers=headers)
    print("response:", res.status_code)
    content = res.content
    print("get img, length:{}, should be:{}".format(
        len(content), int(res.headers['Content-Length'])))

    img = image.Image(content, from_bytes=True)
    lcd.init()
    lcd.display(img)
Example #3
0
def esp32_init(force=False):
    """
    Initialize Maixduino ESP32 with IO and SPI assignments
    :return: esp32 network object or NONE if a device already exists
    """
    esp32 = None
    exists = False

    # check if the ESP32 device was already initialized
    if not force:
        for key, val in locals().items():
            if isinstance(val, network.ESP32_SPI):
                exists = True
                print("An ESP32 device was already setup under name: ", key)
                esp32 = val

    # if not initialized or we want to re-initialize
    if not exists:
        # IO map for ESP32 on Maixduino
        fm.register(25, fm.fpioa.GPIOHS10)  # cs
        fm.register(8, fm.fpioa.GPIOHS11)  # rst
        fm.register(9, fm.fpioa.GPIOHS12)  # rdy
        fm.register(28, fm.fpioa.GPIOHS13)  # mosi
        fm.register(26, fm.fpioa.GPIOHS14)  # miso
        fm.register(27, fm.fpioa.GPIOHS15)  # sclk

        esp32 = network.ESP32_SPI(cs=fm.fpioa.GPIOHS10,
                                  rst=fm.fpioa.GPIOHS11,
                                  rdy=fm.fpioa.GPIOHS12,
                                  mosi=fm.fpioa.GPIOHS13,
                                  miso=fm.fpioa.GPIOHS14,
                                  sclk=fm.fpioa.GPIOHS15)

    return esp32
Example #4
0
class wifi():
    # IO map for ESP32 on Maixduino
    fm.register(25,fm.fpioa.GPIOHS10)#cs
    fm.register(8,fm.fpioa.GPIOHS11)#rst
    fm.register(9,fm.fpioa.GPIOHS12)#rdy
    print("Use Hareware SPI for other maixduino")
    fm.register(28,fm.fpioa.SPI1_D0, force=True)#mosi
    fm.register(26,fm.fpioa.SPI1_D1, force=True)#miso
    fm.register(27,fm.fpioa.SPI1_SCLK, force=True)#sclk
    nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS10, rst=fm.fpioa.GPIOHS11, rdy=fm.fpioa.GPIOHS12, spi=1)
Example #5
0
    def __init__(self):

        fm.register(25, fm.fpioa.GPIOHS25)  #cs
        fm.register(8, fm.fpioa.GPIOHS8)  #rst
        fm.register(9, fm.fpioa.GPIOHS9)  #rdy
        print("Use hardware SPI for other maixduino")
        fm.register(28, fm.fpioa.SPI1_D0, force=True)  #mosi
        fm.register(26, fm.fpioa.SPI1_D1, force=True)  #miso
        fm.register(27, fm.fpioa.SPI1_SCLK, force=True)  #sclk
        time.sleep(1.5)

        self.nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS25,
                                     rst=fm.fpioa.GPIOHS8,
                                     rdy=fm.fpioa.GPIOHS9,
                                     spi=1)
from fpioa_manager import fm, board_info

# IO map for ESP32 on Maixduino
fm.register(25, fm.fpioa.GPIOHS10)  #SPI cs
fm.register(8, fm.fpioa.GPIOHS11)  #rst
fm.register(9, fm.fpioa.GPIOHS12)  #rdy
fm.register(28, fm.fpioa.GPIOHS13)  #SPI mosi
fm.register(26, fm.fpioa.GPIOHS14)  #SPI miso
fm.register(27, fm.fpioa.GPIOHS15)  #SPI sclk

lcd.init()
lcd.clear()

nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS10,
                        rst=fm.fpioa.GPIOHS11,
                        rdy=fm.fpioa.GPIOHS12,
                        mosi=fm.fpioa.GPIOHS13,
                        miso=fm.fpioa.GPIOHS14,
                        sclk=fm.fpioa.GPIOHS15)

print("ESP32_SPI firmware version:", nic.version())

enc_str = ["OPEN", "", "WPA PSK", "WPA2 PSK", "WPA/WPA2 PSK"]
aps = nic.scan()
cnt = 0
for ap in aps:
    enc_1 = "SSID:{:^20}".format(ap[0])
    enc_2 = "    ENC:{:>5} , RSSI:{:^20}".format(enc_str[ap[1]], ap[2])
    lcd.draw_string(0, 0 + 20 * (2 * cnt), enc_1, lcd.WHITE, lcd.RED)
    lcd.draw_string(0, 0 + 20 * (2 * cnt + 1), enc_2, lcd.WHITE, lcd.RED)
    print(enc_1)
    print(enc_2)
Example #7
0
fm.register(8, fm.fpioa.GPIOHS8)  #rst
fm.register(9, fm.fpioa.GPIOHS9)  #rdy
print("Use hardware SPI for other maixduino")
fm.register(28, fm.fpioa.SPI1_D0, force=True)  #mosi
fm.register(26, fm.fpioa.SPI1_D1, force=True)  #miso
fm.register(27, fm.fpioa.SPI1_SCLK, force=True)  #sclk
##################################

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.set_vflip(2)
lcd.rotation(1)

nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS25,
                        rst=fm.fpioa.GPIOHS8,
                        rdy=fm.fpioa.GPIOHS9,
                        spi=1)
print("ESP32_SPI firmware version:", nic.version())

while not WIFI_SSID:
    img = sensor.snapshot()
    a = img.replace(vflip=True, hmirror=False, transpose=True)
    res = img.find_qrcodes()
    if len(res) > 0:
        a = img.draw_string(2, 2, res[0].payload(), color=(0, 255, 0), scale=1)
        payload = res[0].payload()
        print(payload)
        payloadJSON = ujson.loads(payload)
        WIFI_SSID = payloadJSON["ssid"]
        WIFI_PASSWORD = payloadJSON["password"]
        server_ip = payloadJSON["host"]