Dlinyj (dlinyj) wrote,
Dlinyj
dlinyj

Categories:

Android vt100 uart-терминал

Мне казалось я хочу малого: терминальную программу, которая поддерживает usb-com устройства и поддерживает ESC-последовательности типа терминала vt100. Оказалось, что это никто не реализовал, а те кто релизовал реализовал так, что лучше бы не делал.

Итак, предыстория. Когда-то давным давно написал статью о том, как выводить данные красиво в СОМ-порт, используя ESC-последовательности: Терминальная графика . Там в конце я приводил пример кода, который может на контроллере выводить всякие красивые таблички. Решил реализовать в железе на Arduino. Первое с чем столкнулся, с тем что Arduino не умеет UTF-8. Ну ладно, обойдёмся классическими ASCII. Всякие углы заменил плюсами. В результате в minicom получил такую красоту



Повыкидывал лишние всякие выводы, например время и прочее. Главное проверить принцип. И далее начал исследовательскую работу программ под Anrdoid, которые могут реализовать эту красоту. Боже, тонны говн. Всё кривое, косое, что-то не может работать с ESC-последовательностями, что-то может, но работает так, что лучше б не работало.



В принципе эту программу я обучил переваривать ESC-последовательности, но управлять выводом она не умеет. Так и складывала все строчки выводимые одну за другой. Нашёл, сцуко, платную программу DroidTerm PRO 1.2. Заплатил за неё 80 с гаком рублей. И о чудо, она смогла вывести всю красоту. Там были глюки с цветами, но это было простительно. Но чудо длилось не долго, это говно в следующий запуск выводило только китайские иероглифы вместо красоты. И никакие настройки не помогали. Я так психанул, что забыл скрины наделать. В результате снёс её к полным херам и вернул деньги (да, так можно).
Короче, я решил упороться по полной. Есть такая программа, которая честно поддерживает vt100 терминал, с управляющими последовательностями (есть лёгкие глюки, но прощаемо). BlueTerm для работы нужен блютус модуль, который просто работает как UART-свисток (например, Bluetooth HC-06). И, о чудо!, оно работает!



В железе выглядит так.



Вот скажите, неужели я хочу чего-то странного и необычного, и ни у кого не возникает нужды подключать консоль с управляющими ESC-последовательностями к мобильному телефону?

UPD. Есть linux-way, но для него нужны root-права. А к ним я пока морально не готов.
Tags: andoid, arduino, habr, linux, терминал
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 26 comments