Vscode для разработки на pi zero w?

Тема в разделе "Raspberry Pi", создана пользователем Anrikigai, 12 июл 2020.

  1. Anrikigai

    Anrikigai Нерд

    Обзавелся Raspberry Pi Zero W для сепцифической задачи (связать сетки через VPN Wirguard).,
    И, думаю, чего она прохлаждается, надо еще чем-то ее загрузить.

    Для ESP писал на VSCode с Platformio (Arduino Framework).
    Думал, сейчас приспособлю его и для RPi, но не тут то было.

    Пункт в Platformio для создания проекта под Raspberry Pi Zero есть. Но при создании проекта создает только директории, никаких файлов. Разбирательство показало, что Platformio не поддерживает такую разработку:
    Remote для vscode не поддерживает armv6l
    Т.е. была бы малинка более высокой версии, может и проще было бы...

    Собственно вопрос:
    Какую среду разработки использовать для Pi Zero W?

    Я готов и на python переключиться, будет повод выучить.
    Но только чтобы это была не командная строка, а нормальный редактор с подсветкой синтаксиса, подсказками методов и т.п.
    Крайне желательно, чтобы изобразив текст в редакторе можно было лего "отправить" его на Rpi и видеть вывод у себя на экране.
    Ну как для ESP - по нажатию кнопки скомпилировалось, залилось, автоматически подключилось к Serial и я вижу вывод.. Всякие точки остановки, конечно, было бы здорово, но не критично.

    Устанавливать VSCode на Zero W - слишком мало ресурсов.

    Я готов и на Python перейти, будет повод выучить. Но CLI без подсветки и т.п. - сплошное мучение будет.

    Также вопрос по билиотекам. Подо что их обычно пишут?
    Для ESP дял вводил название датчика и слово Arduino, и все находилось.

    А тут вроде как на wiringpi много чего заточено, но сам проект deprecated. Странно на такое завязываться, только начиная...

    Вразумите, пожалуйста!
     
  2. parovoZZ

    parovoZZ Гуру

    Чтобы компилировать на платформе, отличной от целевой, необходим кросс-компилятор
    https://yandex.ru/search/?text=крос...0000134:5d15111c9fe6bf00283cc02a&win=391&lr=2

    Я же поступал по-другому. Писал в VSCode, компилировал на raspberry. Если не тянуть библиотеки на большого брата, то и подсветки автоподстановки не будет.
    Собственно, в VSCode есть расширение Remote-SSH, но оно у меня не взлетело.
     
  3. Un_ka

    Un_ka Гуру

    Под Линукс, если для Raspberry pi.
    Я делал так: на Raspberry sftp сервер, на сервере редактируемый фаил. Он редактируется и отправляется на компиляцию командами из консоли. Причём я использовал droid edit pro и компилировал прямо из приложения. Вывод в консоли из запущенной программы. Очень удобно.
     
  4. Anrikigai

    Anrikigai Нерд

    Да, я понимаю. Собственно для ESP у меня так и происходит ведь? Я на винде компилирую бинарник для ESP.

    Компилировать на raspberry - подольше, конечно, будет, но не критично.
    А вот отсутствие подсветки и всего такого - печаль.
    Ведь как удобно - набрал ESP. и увидел все методы... Для функции показываются параметры с типами...

    Если Platformio или нечто иное можно под Linux запустить, и это даст мне вожделенные возможности - я буду вполне доволен.
    Ubuntu subsystem под Win 10 или даже виртуалка под VMware Workstation меня вполне устроит.
    Но все равно же надо хедеры и все такое подгружать, чтобы условный VSCode правильно подсвечивал? Особенно, если внешние библиотеки подключаются...

    Технически сам процесс понятен. Тоже без кросскомпиляции, все родное.

    Остается вопрос про подсветку синтаксиса. Ну и опять же - одно дело скомпилировать в консоли raspberry, увидеть ошибку, и потом ее искать в редакторе на Windows. А другое - как сейчас - внизу окошка вывалились ошиби, в один клик перехожу в редакторе к проблемной строке...

    Я просто не понимаю, почему для ESP все удобно, а для raspberry я не могу так сделать. Казалось бы, наоборот должно быть, не?

    Это с любой моделью. так? Или Zero такая слабая и старая (что даже Remote-SSH не работает на armv6l)?
    Если взять для разработки более продвинутую, все станет хорошо? Или не поможет?

    Ну и по библиотекам:
    1) Если на С - то wiringpi.h?
    Или есть что-то не deprecated (уже год как)?
    А то только освою, как выйдет Raspberry 5, которая не будет уже поддерживаться...
    2) Якобы RPi заточена под python. Конечно, на нем существенно медленнее, чем на С (сравнение), но мне хватит.
    Для всяких датчиков подо что проще найти библиотеки?
    Под python или С?

    Или здесь вообще нет речи о "библиотеках для датчиков", а какие-нибудь "драфйвера" искать надо?
    К примеру, для ds18b20 я просто считываю температуру из файла /sys/bus/w1/devices/28-01191408493e/w1_slave
    Может и для других аналогично (поддержка добавляется через всякие modprob в систему, а не через include в конкретную программу)?

    Впрочем, когда я говорю о "библиотеках", я имею ввиду не только датчики, но и, к примеру, "библиотеку для отправки данных по mqtt". Это же явно что-то внешнее надо подключать именно в код.
     
    Последнее редактирование: 12 июл 2020
  5. Anrikigai

    Anrikigai Нерд

    И отдельным сообщением спрошу:
    Есть такой проект: Raspberry Pi emulation for Windows
    Как думаете, может в него установить VScode и Platformio, как в родной, все писать и компилировать в нем, и лишь для реальной отладки с датчиками бинарник перекидывать на Pi Zero?

    Или же Debian with Raspberry Pi Desktop
    Выглядит, как "Raspbian для x86"ю Т.е. вроде как можно запустить в обычной VMware Workstation, в ней все писать привычным образом (тот же VSCode), и уже финальный исходник отправлять на реальную Pi Zero.

    Слишком много вариантов, чтобы все пробовать самому, глаза разбегаются. Хочется сократить их количество благодаря советам опытных товарищей.
     
    Последнее редактирование: 12 июл 2020
  6. parovoZZ

    parovoZZ Гуру

    а как это. Можно пападробности?

    можно, но он не актуален.

    remote-ssh с этой штукой у меня заработал. Но ведь здесь х86 проц, а надо под ARM. Поэтому либо симуляция или кросс-компиляция.

    ну да. Регистры там уже не меняются лет как цать.

    свою написать, если вдруг смещения адресов изменятся. Но маловероятно.

    на github. Но проще выучить язык, написать или стырить у кого драйвер на интерфейс и писать самому библиотеки под любые заморские и не очень датчеги)))

    Это всегда так при освоении чего-то кардинально нового. Просто пробуешь всё в подряд и всё)

    я сейчас потихоньку перелез на Debian. Поставил KVM/QEMU, которая может эмулировать любую существующую платформу.
     
    Igor68 нравится это.
  7. Un_ka

    Un_ka Гуру

    Также в данном редакторе есть поддержка внешних команд, которые можно задать самому. Консоль- через juiceSSH. Это естественно для андроид, но для винды наверника такое же есть.