• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP07.Micropython.ESPlorer поясните за внешние модули (свои файлы скриптов).

Alexeus

New member
Помогите пожалуйста, не могу никак вникнуть, может кто имел дело с модулем ESP07:
-есть wi-fi модуль ESP07, закачал в него крайнюю прошивку с сайта микропитона для ESP8266 (MicroPython v1.10-8-g8b7039d7d on 2019-01-26; ESP module with ESP8266), подключаюсь через ESPlorer (v.0.2.0 RC5, использую USB -> USART переходник). Подключение происходит, автоматически прошивка не определяется, но жму на железе кнопку сброса и происходит определение и подключение, выводиться строка интерпретатора типа ">>>".

В файловой системе ESP07 лежат два пустых файла boot.py и main.py.
записываю в main.py код:
Код:
import time;

time.sleep_ms(1000);
print('');
print('sleep 1 sec');

def printer():
    print("Hello World !!!");
printer();
Посылаю его в ESP кнопкой "Send to ESP", код выполняется правильно:
Код:
>>>
paste mode; Ctrl-C to cancel, Ctrl-D to finish
=== import time;
===
=== time.sleep_ms(1000);
=== print('');
=== print('sleep 1 sec');
===
=== def printer():
===     print("Hello World !!!");
=== printer();
===

sleep 1 sec
Hello World !!!
>>>
Сохраняю файл main.py в фаловой системе ESP -нажимаю кнопку "Save to ESP", файл сохраняется.
Выполняю сброс модуля, ожидаю аналогичного автоматического запуска кода и приветствия в консоли, но получаю ошибку:
Код:
  File "main.py", line 1
SyntaxError: invalid syntax
Да что не так??? (
PS: хотел спросить про выполнение своих внешних скриптов из файлов, но даже одним внутренним не получается...
 

Alexeus

New member
Ничего более не трогая, сокращаю код в файле main.py до такого (убираю функцию):
Код:
import time;

time.sleep_ms(1000);
print('');
print('sleep 1 sec');
Сохраняю в файловой системе ESP07 и при перезагрузке получаю сообщение, т.е. код выполнился.

Я как то не так функцию записываю/вызываю?
Код:
def printer():
    print("Hello World !!!");
printer();
 

Alexeus

New member
Почему код полностью правильно выполняется в строке интерпретатора ">>>" ?
(строка интерпретатора ">>>" запускается после завершения выполнения кода в файле main.py. Если в main.py бесконечный цикл, строка интерпретатора не запуститься)
 

Alexeus

New member
Скачал uPyCraft IDE - все отлично!!! Файловую систему ESP07 видит, из внешних файлов код импортирует и исполняет, кавычки ; не нужны, после рестарта main.py импортирует код из других модулей(файлов) и выполняет... Красота.
С ESPlorer я так и не справился.
 
Сверху Снизу