Я хочу создать сценарий python, который будет передавать файл с моего P C на устройство Micro Python, прослушивая его терминал, а затем вызывая следующий код на устройстве:
newFile = open('--whatever-the-filename-is--', 'wb')
newFile.write(b'--all-the-stuff-in-the-file--')
newFile.close()
На этом этапе мне удалось подключиться к устройству и прочитать загрузочную распечатку со следующим кодом, введенным в терминал:
>>> import serial
>>> conn = serial.Serial('com3', 112500, timeout = 0.5)
>>> data = b' '
>>> while data != b'':
... data = conn.readline()
... print(data)
Этот код дает следующие результаты:
ets Jun 8 2016 00:22:57\r\n'
b'\r\n'
b'rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)\r\n'
b'configsip: 0, SPIWP:0xee\r\n'
b'clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00\r\n'
b'mode:DIO, clock div:2\r\n'
b'load:0x3fff0018,len:4\r\n'
b'load:0x3fff001c,len:4844\r\n'
b'load:0x40078000,len:9656\r\n'
b'load:0x40080400,len:6216\r\n'
b'entry 0x400806f0\r\n'
b'\x1b[0;32mI (457) cpu_start: Pro cpu up.\x1b[0m\r\n'
b'\x1b[0;32mI (457) cpu_start: Application information:\x1b[0m\r\n'
b'\x1b[0;32mI (457) cpu_start: Compile time: Dec 20 2019 07:50:41\x1b[0m\r\n'
b'\x1b[0;32mI (461) cpu_start: ELF file SHA256: 0000000000000000...\x1b[0m\r\n'
b'\x1b[0;32mI (467) cpu_start: ESP-IDF: v3.3\x1b[0m\r\n'
b'\x1b[0;32mI (471) cpu_start: Starting app cpu, entry point is 0x40083600\x1b[0m\r\n' b'\x1b[0;32mI (0) cpu_start: App cpu up.\x1b[0m\r\n'
b'\x1b[0;32mI (482) heap_init: Initializing. RAM available for dynamic allocation:\x1b[0m\r\n'
b'\x1b[0;32mI (489) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM\x1b[0m\r\n'
b'\x1b[0;32mI (495) heap_init: At 3FFBA488 len 00025B78 (150 KiB): DRAM\x1b[0m\r\n'
b'\x1b[0;32mI (501) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM\x1b[0m\r\n'
b'\x1b[0;32mI (507) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM\x1b[0m\r\n'
b'\x1b[0;32mI (514) heap_init: At 40092D6C len 0000D294 (52 KiB): IRAM\x1b[0m\r\n'
b'\x1b[0;32mI (520) cpu_start: Pro cpu start user code\x1b[0m\r\n'
b'\x1b[0;32mI (203) cpu_start: Chip Revision: 1\x1b[0m\r\n'
b'\x1b[0;33mW (203) cpu_start: Chip revision is higher than the one configured in menuconfig. Suggest to upgrade it.\x1b[0m\r\n'
b'\x1b[0;32mI (206) cpu_start: Starting scheduler on PRO CPU.\x1b[0m\r\n'
b'\x1b[0;32mI (0) cpu_start: Starting scheduler on APP CPU.\x1b[0m\r\n'
b'MicroPython v1.12 on 2019-12-20; ESP32 module with ESP32\r\n'
b'Type "help()" for more information.\r\n'
b'>>> '
b''
Это означает, что устройство успешно загрузилось и работает. Однако если я попытаюсь отправить команду python, она не будет выполнена, и вместо результатов будет выведена обратно отправленная мной команда:
>>> conn.write(b'print(\'hello world!\')\n')
22
>>> conn.readline()
b"print('hello world!')"
>>> conn.readline()
b''
>>> conn.readline()
b''
>>>
Как отправлять и получать информацию между Python и этим Устройство Micro Python?
Python 3.7.5 на Windows 10
Micro Python 1.12 generi c на ESP32 (Adafruit HUZZAH32)