Espshell : отладочный инструментарий для ESP32

Я новичок в Arduino, многое делаю методом проб и ошибок. В определенный момент времени я устал от бесконечных циклов исправил\скомпилировал\залил\проверил и написал шелл, в котором наиболее частые и простые вещи можно делать командами в консоли.

С помощью этого шелла я отлаживаюсь сам, в частности - он мне помог с i2c устройствами и GSM модемом sim7600e

Шелл представляет собой один файл, espshell.c , который нужно просто положить в каталог со скетчем (в каталог с вашим .ino файлом) и нажать кнопку компиляции и прошивки в Arduino IDE. Шелл автоматически перехватит управление при старте скетча и запустит CLI на UART0

Общаться с шелом можно через Arduino IDE Serial Monitor, но лучше - через Tera Term. Или PuTTY. Это связано с тем, что Serial Monitor не умеет посылать CTRL+C и CTRL+Z которые нужны при отладке устройств с uart интерфейсом.

Вся эта красота НЕ будет работать на USB-Serial бордах (где серийник - не
class HardwareSerial, а class USBCDC, например Nano ESP32). Как обзаведусь платой с USB-OTG, тогда доработаю шелл.

Тут: GitHub - vvb333007/espshell: Command line interface debug tool for Arduino projects on ESP32 hardware
Там же документация на русском: espshell/docs/ru_RU at main · vvb333007/espshell · GitHub

Там же лежит и скетч-пример, с которым можно запустить этот шелл. Скетч-пример мигает светодиодиком на GPIO2.

1 лайк

Отлично README написан, за 15 секунд глазами, наискось листа смог прочитать!
(на Гитхабе)
а class USBCDC, например Nano ESP32) есть ещё ESP32C3 (но они бывают и с CH340)

1 лайк

Никогда не видел, покажешь?

коль гугл у тебя забанили - держи

Print *_serial = Serial;

............

_serial->println();

И пофиг, какой класс у сериала. Бонусом можно выводить данные в любой поток - хоть в файл, хоть на экран

1 лайк

Да, с гуглом плохо))
Спасибо.

какой такой шелл, мой юный друг, ты наверное не в курсе, но данный чип поддерживает аппаратную отладку. надо всего лишь приобрести простой советский программатор ESP-PROG за 15 долларов / 1500 рублей с доставкой
какието шеллы люди делают, во блин, еще криптоалгоритмы начните делать.

купить то несложно, а как им пользоваться, не увидел на esp32 модулях куда эти шлейфы можно подключить, видимо и плату надо брать какую-то отладочную?

не, вывести нужные контакты которые на дебаг нужны, разьемчики то пожеланию когда место есть)

Я в курсе. Предназначение разное. Это не про отладку в стиле gdb же. Это с пинами поиграться, по i2c или uartу пообщаться. На живом-то скетче! :slight_smile:

ну ты тогда делай девкит, что всю периферию проверить можно было)

ну я делаю то, чем сам пользуюсь. скоро приделаю spi. :). всю переферию - это незачем. надо чтобы use cases были какие-то. вот с уартом и и2ц я намучался (вернее, с устройствами, подключенными по уарт и и2ц), поэтому сделал команды для работы с и2ц и уарт-устройствами

ну а основная идея-то в том, что просто кинув 1 файл в свой скетч ты получаешь шелл, в котором можно какие-то простенькие штуки проверять не перекомпилируя скетч каждый раз. Этот шел - программа-паразит :). Ему нужен скетч, к которому она прилипнет :smiley:

можно как либу оформить если считаешь, что будет пользоваться

Да, ардуиновцы привыкли к либам. Может быть.

А пока - инициализируем i2c и читаем eepromку на свежекупленном модуле RTC ds3231 :slight_smile:

кстати о либах, не вижу ничего плохого, особенно для таких как я - не настоящих сталеваров )))
PS сегодня пытался запустить для ядра от STM дисплей ILI9341, ни на библиотеках от Adafruit ни на TFT_eSPI не зарабатоло (а позиционируются как поддерживающие), пришлось из кубиков собирать свою