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

Не получается собрать esptool.exe

al.kl

New member
Всем доброго времени суток !
Наткнулся на проблемку. Не получается собрать esptool.exe по этим рекомендациям :
Это не обязательно, все питоновские скрипты скомпилены в exe и не требуют наличия Python 2.7, но если Вы хотите сами компилировать *.py из папки C:\Espressif\utils\, то тогда нужно просто установить Python 2.7 и запустить например C:\Espressif\utils\py2exe_esptool.cmd, батник сам установить что нужно и соберет exe.
После запуска py2exe_esptool.cmd, вылезает чёрное окно, что-то там делается, затем вываливается вот что :
2016-02-02 19-44-34 Скриншот экрана.png
Жму Next, получаю такое :
2016-02-02 19-45-42 Скриншот экрана.png
Жму Ок, получаю :
2016-02-02 19-46-49 Скриншот экрана.png
В поля ввести ничего нельзя, они неактивные.
Нажимаю Отмена - всё закрывается.
Окно лога, на момент выхода синего окна :
2016-02-02 19-55-08 Скриншот экрана.png

Кто подскажет, в чём может быть проблема ?
Хочу немного поменять под себя дрыганье ногами RTS и DTR в скрипте.

Спасибо.
 
Последнее редактирование:

al.kl

New member
Python 2.7 был установлен.
Когда его не было, в консольном окне вылезал мессадж о его отсутствии.

Проблема была из-за разрядности системы. py2exe-0.6.9.win32-py2.7.exe не подходил под неё. Поправил скрипт py2exe_esptool.cmd под другой файл и всё заработало :)
 

CHERTS

Moderator
Команда форума
Проблема была из-за разрядности системы. py2exe-0.6.9.win32-py2.7.exe не подходил под неё. Поправил скрипт py2exe_esptool.cmd под другой файл и всё заработало
Так то да, у меня рассчитано все под 32 разрядную систему.
 

al.kl

New member
Думаю, в скрипте нужно было как-то это предусмотреть. В крайнем случае, сделать пользовательский ввод варианта разрядности.
Ну да ладно, и на том огромное спасибо за Ваш проделанный труд !

По моей проблеме. Просто я столкнулся с необычным поведением линий RTS и DTR своего переходника. RTS меняло своё значение только при изменении DTR. Пришлось в esptool.py менять последовательность. И в переходнике делать задержку на вывод ресета, чтобы он отпускал модуль только после установки DTR.
В общем, всё заработало, всё прошивается из еклипса. Я счастлив :)
 

CHERTS

Moderator
Команда форума
Думаю, в скрипте нужно было как-то это предусмотреть. В крайнем случае, сделать пользовательский ввод варианта разрядности.
В данном случае нужно определять разрядность не Windows, а Python, что сделать из cmd несколько сложнее, а может и вообще не возможно. Максимум, что возможно, это указать в выводе py2exe_esptool.cmd что все это ставится для Python x86
 

al.kl

New member
Не, ну Python то, само собой, ставится под свою систему. Тут дело в том, что py2exe_esptool.cmd качает и запускает файл py2exe-0.6.9.win32-py2.7.exe , работающий только под x86. Для 64-ой системы нужен уже py2exe-0.6.9.win64-py2.7.amd64.exe.
Вот, думаю, и можно было бы спросить юзера, что-то типа "У вас 32-ух или 64-х разрядная система ?", и 2 варианта ответа.
Но это всё в порядке бреда. :) Проще сделать ещё один файлик, рядом с этим, какой-нибудь py2exe_esptool_x64.cmd, с уже изменённым именем файла для скачивания и запуска.

Мои изменения :
Код:
    "%curdir%\wget.exe" "http://kent.dl.sourceforge.net/project/py2exe/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe" -O "%curdir%\py2exe-0.6.9.win32-py2.7.exe"
    if exist "%curdir%\py2exe-0.6.9.win32-py2.7.exe" (
            echo Installing py2exe...
        "%curdir%\py2exe-0.6.9.win32-py2.7.exe"
    )
на
Код:
    "%curdir%\wget.exe" "http://kent.dl.sourceforge.net/project/py2exe/py2exe/0.6.9/py2exe-0.6.9.win64-py2.7.amd64.exe" -O "%curdir%\py2exe-0.6.9.win64-py2.7.amd64.exe"
    if exist "%curdir%\py2exe-0.6.9.win64-py2.7.amd64.exe" (
            echo Installing py2exe...
        "%curdir%\py2exe-0.6.9.win64-py2.7.amd64.exe"
    )
 
Сверху Снизу