Использование usb-otg как виртуальный com-порт

USB OTG serial port: программы и утилиты

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}
");let k=document.querySelector(".flat_pm_modal[data-id-modal=\""+a.ID+"\"]");if(-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(k,d):jQuery(k).html(b+d),"px"==a.how.popup.px_s)e.bind(h,()=>{e.scrollTop()>a.how.popup.after&&(e.unbind(h),f.unbind(i),j())}),void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{e.unbind(h),f.unbind(i),j()});else{let b=setTimeout(()=>{f.unbind(i),j()},1e3*a.how.popup.after);void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{clearTimeout(b),f.unbind(i),j()})}f.on("click",".flat_pm_modal .flat_pm_crs",()=>{jQuery.arcticmodal("close")})}if(void 0!==a.how.outgoing){let b,c="0"==a.how.outgoing.indent?"":" style=\"bottom:"+a.how.outgoing.indent+"px\"",e="true"==a.how.outgoing.cross?"":"",f=jQuery(window),g="scroll.out"+a.ID,h=void 0===flatPM_getCookie("flat_out_"+a.ID+"_mb")||"false"!=flatPM_getCookie("flat_out_"+a.ID+"_mb"),i=document.createElement("div"),j=jQuery("body"),k=()=>{void 0!==a.how.outgoing.cookie&&"false"==a.how.outgoing.cookie&&h&&(jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show"),j.on("click",".flat_pm_out[data-id-out=\""+a.ID+"\"] .flat_pm_crs",function(){flatPM_setCookie("flat_out_"+a.ID+"_mb",!1)})),(void 0===a.how.outgoing.cookie||"false"!=a.how.outgoing.cookie)&&jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show")};switch(a.how.outgoing.whence){case"1":b="top";break;case"2":b="bottom";break;case"3":b="left";break;case"4":b="right";}jQuery("body > *").eq(0).before("
"+e+"
");let m=document.querySelector(".flat_pm_out[data-id-out=\""+a.ID+"\"]");-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(m,d):jQuery(m).html(e+d),"px"==a.how.outgoing.px_s?f.bind(g,()=>{f.scrollTop()>a.how.outgoing.after&&(f.unbind(g),k())}):setTimeout(()=>{k()},1e3*a.how.outgoing.after),j.on("click",".flat_pm_out .flat_pm_crs",function(){jQuery(this).parent().removeClass("show").addClass("closed")})}countMode&&(flat_count["block_"+a.ID]={},flat_count["block_"+a.ID].count=1,flat_count["block_"+a.ID].click=0,flat_count["block_"+a.ID].id=a.ID)}catch(a){console.warn(a)}}function flatPM_start(){let a=flat_pm_arr.length;if(0==a)return flat_pm_arr=[],void jQuery(".flat_pm_start, .flat_pm_end").remove();flat_body=flat_body||jQuery("body"),!flat_counter&&countMode&&(flat_counter=!0,flat_body.on("click","[data-flat-id]",function(){let a=jQuery(this),b=a.attr("data-flat-id");flat_count["block_"+b].click++}),flat_body.on("mouseenter","[data-flat-id] iframe",function(){let a=jQuery(this),b=a.closest("[data-flat-id]").attr("data-flat-id");flat_iframe=b}).on("mouseleave","[data-flat-id] iframe",function(){flat_iframe=-1}),jQuery(window).on("beforeunload",()=>{jQuery.isEmptyObject(flat_count)||jQuery.ajax({async:!1,type:"POST",url:ajaxUrlFlatPM,dataType:"json",data:{action:"flat_pm_ajax",data_me:{method:"flat_pm_block_counter",arr:flat_count}}})}).on("blur",()=>{-1!=flat_iframe&&flat_count["block_"+flat_iframe].click++})),flat_userVars.init();for(let b=0;bflat_userVars.textlen||void 0!==a.chapter_sub&&a.chapter_subflat_userVars.titlelen||void 0!==a.title_sub&&a.title_subc&&cc&&c>d&&(b=flatPM_addDays(b,-1)),b>e||cd||c-1!=flat_userVars.referer.indexOf(a))||void 0!==a.referer.referer_disabled&&-1!=a.referer.referer_disabled.findIndex(a=>-1!=flat_userVars.referer.indexOf(a)))&&(c=!0),c||void 0===a.browser||(void 0===a.browser.browser_enabled||-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser))&&(void 0===a.browser.browser_disabled||-1==a.browser.browser_disabled.indexOf(flat_userVars.browser)))){if(c&&void 0!==a.browser&&void 0!==a.browser.browser_enabled&&-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser)&&(c=!1),!c&&(void 0!==a.geo||void 0!==a.role)&&(""==flat_userVars.ccode||""==flat_userVars.country||""==flat_userVars.city||""==flat_userVars.role)){flat_pm_then.push(a),flatPM_setWrap(a),flat_body.hasClass("flat_pm_block_geo_role")||(flat_body.addClass("flat_pm_block_geo_role"),flatPM_ajax("flat_pm_block_geo_role")),c=!0}c||(flatPM_setWrap(a),flatPM_next(a))}}}let b=jQuery(".flatPM_sticky");b.each(function(){let a=jQuery(this),b=a.data("height")||350,c=a.data("top");a.wrap("
");let d=a.parent()[0];flatPM_sticky(this,d,c)}),debugMode||countMode||jQuery("[data-flat-id]:not([data-id-out]):not([data-id-modal])").contents().unwrap(),flat_pm_arr=[],jQuery(".flat_pm_start, .flat_pm_end").remove()}
USB OTG serial port: программы и утилиты
Добавил(а) microsin   
Уже давно известно (начиная с Android 3.1+ и его Android USB Host API), что через порт USB OTG операционная система Android умеет работать как хост USB с мышами и клавиатурами. Также можно управлять и самодельными устройствами USB HID [2, 3]. Но как обстоят дела с обменом данными с классом USB CDC (виртуальный COM-порт), или USB serial-интерфейс (RS-232 TTL)? Возможность работать с последовательным портом очень удобна для подключения множества устройств на микроконтроллерах, например тех же плат Arduino, или какого-нибудь заводского оборудования. Оказывается, все также очень даже неплохо. Эта статья посвящена краткому обзору готового софта и библиотек, которые позволяют работать с последовательными портами в операционной системе Android.[Первое подключение устройства USB CDC к Android]Для подключения к порту USB Android какого-нибудь устройства USB Вам понадобится специальный кабель USB OTG. Его можно недорого купить в магазине или на рынке, или изготовить самому [4]. Если у Вас уже установлены какие-нибудь программы, поддерживающие последовательное соединение через USB (например, какие-нибудь программы, рассмотренные во врезках ниже), то при первом подключении устройства к порту USB OTG операционная система Android выдаст приглашение запустить для работы с устройством какую-нибудь из установленных программ, см. скриншот ниже.Если Вы сделаете на этом экране свой выбор, то сразу запустится выбранная программа, и ей будет предоставлено разрешение работать с подключенным устройством USB. Если Вы ничего не выберете (просто нажмете на кнопку “Назад”), то разрешение на доступ к устройству будет запрошено позже, когда в программе Вы попытаетесь подключиться к устройству USB CDC:Если на этом экране выбрать “Да”, то программа сможет работать с Вашим устройством USB CDC. Если еще при этом установить галочку “Использовать по умолчанию для этого USB-устройства”, то при каждом подключении устройства USB CDC к порту USB OTG будет автоматически запускаться эта программа, и ей будут сразу автоматически дано разрешение на доступ к устройству.[Терминальные клиенты, поддерживающие USB OTG serial]Готовые программные клиенты под Android, которые позволяют организовать текстовую консоль для приема/передачи текстовой информации через виртуальный COM-порт USB, избавляют Вас от необходимости писать управляющее программное обеспечение, когда Вы хотите через Android управлять какой-нибудь электронной аппаратурой. Ниже представлен краткий обзор нескольких таких утилит.Это утилита для проверки, совместим ли Ваш мобильный телефон, или смартфон, или планшет с устройством UART/RS-232. Рута не требует, бесплатная, но на этом достоинства программы заканчиваются. У меня она не заработала, не нашла подключенное через порт USB OTG устройство на чипе FT232R (при попытке открыть соединение через меню Open программа выдавала сообщение “Not found USB UART device!”). Причина в том, что пока чипы FTDI этой программой не поддерживаются.

Весьма годная программа. Можно подключать устройства USB CDC на чипах Silicon Laboratories CP210X, FTDI FT232 (ARDUINO) и Prolific PL2303 (это популярные микросхемы моста USB-CDC/ACM – TTL UART). Так же можно использовать беспроводную систему Zigbee Chip TI CC2531 (USB-Enabled SOC Solution for 2.4-GHz IEEE 802.15.4).

Поддерживаются все смартфоны, на которых есть порт USB с поддержкой режима хоста (OTG) – Samsung galaxy2 / galaxy 3 / galaxy note / galaxy note2 / Vega racer R3 и т. п. Требуемая версия Android: 3.1 (API Level 12).

[Быстрый старт]

1. Подключите кабелем OTG устройство к смартфону.2. Операционная система Android определит подключенное устройство USB, и запросит разрешение на запуск приложения. Кликните OK, программа запустится.3.

Кликните кнопку “Settings” (она в виде гаечного ключа) для настройки параметров соединения. После внесенных изменений кликните на кнопку “Save” (чтобы она стала видна, прокрутите вниз окно настроек).

Перезапустите программу, переподключите устройство, чтобы настройки вошли в силу.

4. Кликните на кнопку “Connect” (с иконкой в виде телефонной трубки) на верхней панели программы для подключения к устройству.

[Создание кнопок управления]

5. Кликните на кнопку с зеленым плюсиком, введите имя для кнопки и содержимое данных для отправки.
6. Кликните кнопку “Save”. Кнопка управления будет добавлена на панель.

Если кликнуть на эту кнопку, то программа отправит данные в устройство. Принятые от устройства данные будут отображены в текстовом окне консоли.

Формат данных для кнопок управления. Можно вводить двоичные данные, как это показано ниже – в шестнадцатеричном (hex), двоичном (binary) или десятичном (decimal) виде: 

– Decimal: @ + 3 цифры (0..255), например CR: @013- Hex: # + 2 hex-цифры, например CR: #0D

– Binary: & + 8 двоичных цифр, например CR: &00001101

Escape-символы @, #, & можно вводить, если их указать дважды, тогда будут переданы соответственно @, #, &.

Между передаваемыми данными можно вводить задержку. Задержка указывается в миллисекундах, пример:

up< % sleep:1000 %>down< % sleep:2000 %>left< % sleep:3000 %>right

Здесь закодирована следующая последовательность действий:

1. Отправка “up”.2. Задержка (sleep) на 1 секунду.3. Отправка “down”.4. Задержка на 2 секунды.5. Отправка “left”6. Задержка на 3 секунды.

7. Отправка “right”

Простая программа последовательного терминала (с открытым исходным кодом, см. https://github.com/devmel/), предназначенная для управления устройством на микроконтроллерах (http://devmel.com/). Очень полезна как инструмент отладки в приложениях с обменом данными.

https://www.youtube.com/watch?v=4iSRUcb9GWM

Заявлена совместимость:

1. С Bluetooth (модули HC-05, HC-06, любой Bluetooth-Serial адаптер).

2. С адаптерами USB OTG и микросхемами моста USB-TTL UART:

Silicon Laboratories CP210XFTDI FT232Prolific PL2303Arduino

CDC/ACM

3. С шиной LinkBus (Ethernet to UART device, подробнее см. http://www.devmel.com/linkbus).

Для адаптеров USB-TTL UART поддерживаются настройки:

Baud Rate: 1200 .. 250000Data Bits : 5, 6, 7 или 8Stop Bits 1 или 2

Parity Bit: none, even или odd

В приложении нет никакой рекламы. Несмотря на то, что в описании к программе для поддержки режима хоста USB требуются права root, программа все равно нормально работает с USB-TTL UART (например, с платами Arduino) и не на рутованном устройстве Android.

Выбор порта подключения и настройка параметров:

Запрос на подтверждение пользователем разрешения для подключения к устройству USB CDC (USB-TTL UART платы Arduino):

Общий вид на главное окно программы в отключенном и подключенном состоянии соединения с устройством USB CDC:

Программа для последовательного терминала на смартфонах. Можно использовать устройства USB на чипах Silicon Laboratories CP210X, FTDI FT232 и Prolific PL2303 (CDC/ACM UART для моста USB). Также можно использовать Zigbee Chip TI CC2531 (USB-Enabled SOC Solution для 2.4-GHz IEEE 802.15.4 и приложений ZigBee).

Предоставляет стандартный набор базового функционала, который предоставляют аналогичные программы на платформе PC. Поддерживаются все смартфоны, на которых есть порт USB с поддержкой режима хоста (OTG) – Samsung galaxy2 / galaxy 3 / galaxy note / galaxy note2 / Vega racer R3 и т. п. Требуемая версия Android: 3.1 (API Level 12) или более свежая.

[Быстрый старт]

1. Подключите кабелем OTG устройство к смартфону.2. Операционная система Android определит подключенное устройство USB, и запросит разрешение на запуск приложения. Кликните OK, программа запустится.3.

Кликните кнопку “Settings” (она в виде гаечного ключа) для настройки параметров соединения. После внесенных изменений кликните на кнопку “Save” (чтобы она стала видна, прокрутите вниз окно настроек).

Перезапустите программу, переподключите устройство, чтобы настройки вошли в силу.

4. Кликните на кнопку “Connect” (с иконкой в виде телефонной трубки) на верхней панели программы для подключения к устройству.

Можно настраивать параметры последовательного соединения – Baud rate, Data bits, Parity, Stop bits, также поддерживаются опции режима управления потоком данных (Handshaking Mode setting). Доступно ведение лога для принимаемых данных, для файла лога нужно указать путь наподобие “[External Storage Root] / USBTerminal / YYMMDD_hhmmss.log”.

[Описание кнопок и функций главного окна]

– ASCII: выводить принимаемые данные как строку ascii.- HEX: выводить принимаемые данные как шестнадцатеричную строку.- BIN: выводить принимаемые данные как двоичную строку.- Кнопка Connect (с иконкой в виде телефонной трубки): запускает подключение к устройству USB.

После соединения картинка на кнопке поменяется на крестик, и кнопка будет работать для функции закрытия соединения.- Кнопка Settings (с гаечным ключом): откроется окно для настройки параметров последовательного соединения.- Галочки CR, LF (в верхней части, RX): конфигурация обработки разделения строк.

Задает преобразование принимаемых символов возврата каретки и перевода строки перед выводом текста на экран.- Кнопки состояния модема: показывают уровни сигналов CTS, DSR, CD, RI.- Кнопка отображения описания устройства USB: откроется окно с подробными системными данными подключенного устройства USB.

– Очистка принятых данных: иконка с мусорной корзиной, стирает с экрана все принятые данные.- Кнопка DTR: управляет состоянием сигнала модема DTR.- Кнопка RTS: управляет состоянием сигнала модема RTS.- Галочки CR, LF (в нижней части, TX): конфигурация обработки разделения строк.

Управляет добавлением символов разделения строк к передаваемым данным.

– Поле ввода текста (TX): можно ввести данные для передачи в виде символов текста.

Передаваемые данные по умолчанию передаются как строки символов. Но можно вводить данные и в других форматах:

– Decimal: @ + 3 цифры (0..255), например CR: @013- Hex: # + 2 hex-цифры, например CR: #0D

– Binary: & + 8 двоичных цифр, например CR: &00001101

Escape-символы @, #, & можно вводить, если их указать дважды, тогда будут переданы соответственно @, #, &.

– Кнопка передачи (в виде правой стрелки): запускает передачу данных в устройство USB.- Кнопки макросов 1 .. 7: запускают макросы (можно применять для часто используемых передач).

– Кнопка редактирования макросов (с иконкой карандаша): откроется окно редактирования макроса.

[Пункты меню]

– Settings: откроется окно настроек параметров соединения (Serial Communication Settings).- USB Descriptions: откроется окно с описанием подключенного оборудования USB.- Edit Macro: откроется окно редактирования макроса.- ASCII Code Table: откроется окно кодовой таблицы символов ASCII. Здесь можно выбрать нужный код, он автоматически вставится в строку ввода передаваемого текста.

– Help: система помощи.

Очень простая программа консоли соединения с устройством USB-Serial (CDC-ACM). Автором тестировалась а платами Arduino UNO, MEGA, а также с NXP LPC1769. При обнаружении совместимого устройства USB программа запросит разрешение на доступ:

Когда соединяетесь с устройством CDC-ACM, выберите в меню пункт Open Device.

[Возможности программы]

– Поддержка протокола CDC-ACM (Arduino, встраиваемые платформы, PSoC и т. п.- Поддержка чипов FTDI (FT232RL, FT230X).- Настройка скорости (1200 – 115200 bps).

– Настройка параметров соединения – Data bits, Parity Check, Stop bits, flow control, break options (не поддерживается в CDC-ACM).- Отображение принимаемых данных в символьном, двоичном и шестнадцатеричном виде.

– Отправка результатов на e-mail.- Отправка/прием различных комбинаций разделения строк (CR,LF или CR+LF).

– Опция размера шрифта.

С помощью этой программы Вы можете, к примеру, обмениваться данными между Android и платой Arduino UNO. И если на Вашем электронном устройстве стоит адаптер FTDI USB-Serial (FT232RL), то любой микроконтроллер можно соединить с устройством на Android.

[FAQ]

Q: Почему мой телефон/планшет (Android 3.1 или более новая версия) не совместим с программой?
A: Сейчас это редкость. Возможно Ваше устройство Android не поддерживает аппаратно функцию USB Host API.

Q: Но мой телефон/планшет поддерживает флешки USB, USB мышь и USB клавиатуру.
A: Это не USB Host API, а Linux USB Host. Пожалуйста, проверьте поддержку Вашим устройством Android функции USB Host API.

Q: Можно ли получить двоичный или исходный код программы?
A: Да, программа с открытым исходным кодом, см. страницу на github.

Основная программа: https://github.com/ksksue/Android-USB-Serial-Monitor-Lite.Библиотека (драйвер): https://github.com/ksksue/FTDriver.

Q: Какой может быть самый большой выходной ток для устройства USB?
A: Смартфоны: 150 .. 180 mA (Galaxy Nexus, Galaxy S2), планшеты: 400 .. 500 mA (ICONIA A500, Nexus 7).

Утилита UsbTerminal это программа эмулятора терминала (иногда она называется “monitor”). С её помощью можно использовать телефоны или планшеты с портом USB обмениваться данными с внешними устройствами. Телефон или планшет с системой Android должен поддерживать режим хоста USB, так называемый USB On-The-Go (USB-OTG). Также требуется кабель USB-OTG [4].

[Возможности программы]

• Поддержка устройств USB, принадлежащих классу CDC-ACM.• Поддержка устройств на базе чипов FTDI.• Поддержка устройств на базе Winchiphead-CH340/CH341 (пока эта функция экспериментальная, автор ждет обратной связи от пользователей с сообщениями о проблемах).

• Поддержка двух режимов ввода с клавиатуры:

1. Auto – работает как “настоящий” терминал, без специального поля ввода для подготовки отправляемых данных.

Символы отправляются в последовательное устройство по мере их ввода, в соответствии с нажатиями кнопок на клавиатуре. Это режим по умолчанию.
2.

С помощью выделенного поля ввода – ввод с клавиатуры сначала попадает в специальное текстовое поле, и отправляется в устройство только после нажатия на кнопку “Send”.

• Поддержка отправки управляющих символов (например Ctrl-C).• Поддержка управления выходными уровнями DTR и CTS.• Запись сессий в лог-файлы. Затем эти логи могут быть проанализированы, отправлены по email и т. п.

• Большой буфер прокрутки (его размер конфигурируется).• Мигающий курсор, показывающий текущую позицию на экране.• Строка состояния (status line). Показывает статус соединения и сообщения об ошибках.• Встроенная система помощи (help).

Нет необходимости подключаться к Интернету для получения справки.

• Не требуется права root.

Ограничения: нет поддержки escape-последовательностей для перемещения курсора, управления цветом текста и т. п.. Это означает, что нет эмуляции VT100, и такие программы Unix, как vi, emacs, top, и т. д. не поддерживаются.

Поддерживаются устройства USB: Arduino на основе чипов FTDI (например оригинальный Arduino Uno), на основе класса CDC (например Arduino Uno R3) и на основе чипа CH340 (например дешевые клоны Arduino). Также поддерживаются любые устройства, которые используют микросхему FTDI FT232R.

Примечание: устройства Prolific (например, основанные на кристалле PL2303) в настоящий момент не поддерживаются.

Для пользователей Arduino: одно из достоинств UsbTerminal это метод обработки DTR. Обычно когда плата Arduino подключена к компьютеру PC, она перезагружается каждый раз приложением эмуляции терминала, которая подключена к ней.

Это происходит из-за того, что PC переводит сигнал DTR в лог. 0 всякий раз при формировании соединения, и Arduino разработана так, что сбрасывается, когда сигнал DTR падает в лог. 0.

Программа UsbTerminal работает по-другому – она не меняет автоматически уровень сигнала DTR. Когда Вы подключаете смартфон или планшет к плате Arduino и открываете UsbTerminal, плата Arduino продолжит работать так, как она это делала до сего времени.

Если Вы хотите перегрузить плату Arduino, то можете просто управлять сигналом DTR в программе UsbTerminal с помощью специальной кнопки.

Компания ECYPH LLC анонсирует полное программное и аппаратное решение для поддержки терминала на Android. Вместе с кабелем идет бесплатная программа терминала FTDI UART Terminal, и это позволяет получить полноценную поддержку RS232 Serial Port. Эта программа может работать с любыми чипами компании FTDI.

На мой взгляд у этой программы есть главное достоинство – функция, которой нет ни у одной другой программы – возможность передавать файлы по протоколу XMODEM (и другим популярным коммуникационным протоколам). Это очень удобно для обновления программного обеспечения радиоаппаратуры и для обмена информацией в виде файлов.

Источник: http://microsin.net/programming/android/usb-otg-serial-utilites.html

Виртуальный COM-порт для Windows 7

Последовательный или COM-порт — это интерфейс стандарта RS-232, который служит для подключения различного оборудования к компьютеру.

Из-за ограничения в размере информации (1 бит), передаваемой за один раз, данный порт получил второе название: последовательный.

Интересным является тот факт, что в различных интерфейсах, таких как Ethernet или USB информация передаются также — последовательно, однако, такое название за ними не закрепилось.

Что делать если в компьютере нет COM-порта?

Изначально COM-порты использовались для подключения терминалов, модемов и мыши.

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

Также COM-порт очень активно использовался для синхронизации компьютеров: к примеру, ноутбука с персональным компьютером. Сейчас такой подход сменился использованием USB-порта.

Что такое виртуальный COM-порт?

Виртуальный COM-порт воображает себе наша операционная система, при этом он отсутствует физически. Для «воображения» существуют специальные программы, одну из которых мы рассмотрим позже.

Для чего используется?

Поняв, что такое реальный COM-порт и для чего он используется, без труда можно представить себе необходимость в виртуальном COM-порте. Представьте: вам нужно подключить вычислительное устройство к компьютеру через COM-порт. Но у вас его нет! Или же подключить несколько устройств, а порт всего один. Как быть в такой ситуации? Спасает именно создание виртуального порта.

Таким образом, виртуальный порт позволяет имитировать его присутствие в компьютере при отсутствии оного. Примеровприменения довольно много. Однако наиболее часто виртуальный COM-порт применяется:

  • При необходимости подключить несколько устройств одновременно.
  • При необходимости отладить (протестировать, найти ошибки) программу для вычислительного устройства при отсутствии порта.

Как создать виртуальные порты?

Для их создания предусмотрены специализированные программы. Стоит выбирать те, которые предлагают нам установить нужные для виртуальных портов драйвера, поскольку их поиск — не очень приятное занятие.

Скачайте и установите программу Advanced Virtual COM Port. Установка занимает считаные минуты, при этом на одном из этапов нам предложат драйвер:

Программа для настройки виртуального com-порта в windows

Соглашаемся и нажимаем «Установить». Следует подождать несколько минут — не пугайтесь, если потребуется 5–10 минут. Это нормально.
После установки, заходим в программу и видим главное окно:

Кернел про -для настройки виртуального com-порта в windows

Оно содержит три основных вкладки: Общие (расширенные), клиентские и локальные порты.

Вкладка общие (или расширенные) порты позволяет делиться COM-портами через локальную сеть (LAN) или интернет. Таким образом, данные с виртуальных портов могут быть легко и быстро переданы другим пользователям.

Вкладка клиентские порты позволяют создавать порты на компьютере, которые подключаются к расширенным портам через виртуальный кабель нуль-модема. Стоит сказать, что виртуальный кабель программа предусматривает автоматически.

Вкладка локальные порты даёт возможность просматривать, создавать и удалять все пары виртуальных COM-портов.

Перейдём во вкладку локальные порты и нажмём кнопку Add. Перед нами откроется окно, предлагающее создать пару COM-портов, которые предполагаются быть соединёнными виртуальным нуль-модемным кабелем:

Создание виртуального com-порта в windows7

Жмём ОК. Переходим в Панель управления -> Система -> Диспетчер устройств.
Видим, что наши COM-порты были успешно созданы:

Виртуальные com-порты windows

Взаимодействие расширенных и клиентских COM-портов

Скорее всего, непонятным остаётся вопрос взаимодействия этих двух вкладок. На самом деле всё просто: расширенные порты позволяют делиться своими com-портами, то есть всей информацией, что доступны с устройств, подключённых к этим портам. Они подключаются к клиентским: тем, которые получают всю необходимую информацию.

Для создания расширенного порта достаточно в первой вкладке нажать кнопку Add и выбрать порт, которым мы делимся:

Расшаренный com-порт windows

Для создания клиентского порта, переходим во вторую вкладку, нажимаем кнопку Add и выбираем сначала порт, который хотим сделать клиентским, а затем адрес компьютера, к порту которого мы хотим подключиться:

Клиентский com-порт windows

Итоги

За бортом осталось ещё много чего интересного на тему COM-портов. Хотя эта технология и отходит на второй план с развитием других интерфейсов для подключения устройств, тем не менее пока что она всё ещё активно используются и знать тонкости её работы очень полезно.

Источник: http://answit.com/virtualnyiy-com-port-dlya-windows-7/

Подключаем com порт usb в Windows

Всех приветствую вновь на страницах своего блога и сегодня хочу рассказать, как подключить com порт usb в Windows . Поговорим, что это такое и для чего используется.

Я думаю для начинающих сетевых администраторов, да и просто для продвинутых пользователей это будет интересно, для меня в свое время это было просто какой-то магией, позволяющая настраивать серверное оборудование.

Что подключают через com порт

Через com порт ранее подключали модемы, мышки. Сейчас он используется для соединения с источниками бесперебойного питания, для связи с аппаратными средствами разработки встраиваемых вычислительных систем, спутниковыми ресиверами, кассовыми аппаратами, с приборами систем безопасности объектов, а также с многими прочими устройствами.

С помощью COM-порта можно соединить два компьютера, используя так называемый «нуль-модемный кабель» (см. ниже). Использовался со времен MS-DOS для перекачки файлов с одного компьютера на другой, в UNIX для терминального доступа к другой машине, а в Windows (даже современной) — для отладчика уровня ядра.

Но в сетевом мире через com порт подключаются к консольному порту сетевых устройств (коммутаторов, роутеров, таких брендов как Cisco или Juniper)

Какая схема подключения к коммутаторам через последовательный порт. Есть переходники, например от фирмы st-lab На одном конце USB который вы подключаете к компьютеру, а второй это com порт.

Далее к ком порту подсоединяется вот такой шнурок, com порт, а с другой стороны LAN RJ45, и вся схема дает нам один большой шнурок USB to LAN.

К сожалению в Windows подключенные устройства, usb to com не всегда автоматически устанавливаются в системе, и приходится искать для них драйвера. Если вы покупали его сами, то в комплекте шел диск с драйверами, и можно воспользоваться им, если его нет, то смотрим как найти драйвера.

Открываем диспетчер устройств в Windows. Если не знаете как, то нажмите CTR+Pause breake, либо нажмите Win+R и в окне выполнить введите devmgmt.msc. Как видите у меня в разделе Порты (COM и LPT) нашелся на третьем COM порту неизвестный провод, и драйверов для него не нашлось у системы, о чем говорит нам желтый значок.

Переходим в свойства данного устройства и выбираем ИД оборудования, у вас будет, что то по типу usbVID_067B&PID_2303&REV_0300, вот его вы копируете и ищите в гугле или яндексе.

После чего щелкаем правым кликом по устройству в диспетчере устройств и выбираете установить драйвера, указываете до них путь и ставите, если все ок, то у вас пропадет значок предупреждения.

Далее вы уже можете использовать возможности com порта, с помощью таких утилит на подобие Putty, где вы выбираете пункт Serial и указываете нужный порт Com порта, посмотреть его можно в том же диспетчере устройств.

Надеюсь вы научились и разобрались как подключать com порт usb в Windows.

Источник: http://pyatilistnik.org/podklyuchaem-com-port-usb-v-windows/

Что такое и как работает функция OTG на устройствах Android

С каждым годом возможности смартфонов превышают своих предшественников в несколько раз, предоставляя пользователям очень интересные и полезные функции. И порой задумываешься, а скоро ли технические параметры и функционал телефонов догонят персональные компьютеры? Да, к этому все идет, но по факту до такого прогресса еще далеко.

Если раньше пользователям нужно было подключаться к компьютеру, чтобы скидывать файлы с ПК или со съемного носителя на смартфон, то теперь можно копировать информацию сразу на телефон! Не верите? Значит, вы еще не слышали про технологию OTG!

Что это такое?

USB OTG — это отдельный переходник для вашего смартфона, который подключается через mini-USB или micro-USB, а с другой стороны расположен USB-порт, в который можно вставлять не только флешки, но и другие типы гаджетов. Например, картридеры, внешние диски, игровые джойстики, клавиатуры и многие другие важные технические новинки, окружающие нас в повседневной жизни.

Функция OTG на Android значительно расширяет возможности смартфона, предоставляя пользователю больший спектр применения своего аппарата. Ведь вы и сами понимаете, что намного приятнее и удобнее просматривать фотографии с флешки, подключив её сразу к смартфону или телевизору, чем, выполняя эти же действия, только на компьютере.

Также часто появляются вопросы о том, почему разработчики девайсов не встраивают отдельный USB-порт, чтобы не использовать сторонние переходники.

  1. Во-первых, это лишнее место на корпусе телефона. Практически все компании, занимающиеся производством техники, стараются уменьшать толщину корпуса и это огромное преимущество перед конкурентами, поэтому ни один производитель смартфонов не пойдет на такой шаг.
  2. Во-вторых, такой порт будет активно потреблять дополнительную энергию, а это сильно бьет по общему расходу заряда батареи.
  3. В-третьих, на продаже аксессуаров зарабатывают огромные деньги партнеры разработчиков. То есть, в Андроид добавили поддержку USB OTG, побудили интерес к своей технологии, а партнеры предоставили на рынке те самые переходники, которые необходимы для корректной работы с флешками и прочими устройствами. В итоге выигрывают все, даже потребитель!

Какие устройства можно подключать через OTG?

Благодаря этой технологии к телефону могут подключаться практически любые типы устройств. Но это только в теории. На практике же мы видим иную картину. Здесь многое зависит от разработчиков оболочек для конкретной версии операционной системы, от аппаратов, которые вы подключаете, от совместимости.

Без проблем можно подключать USB-накопители до 32 Гб. Можно попробовать и больше, например, на 64 Гб, но они работают не везде.

Также есть возможность подключения отдельных внешних накопителей, но здесь стоит учесть тот факт, что многим моделям попросту не хватит мощности питания от вашего телефона. Если есть возможность подключить питание через обычную розетку в дополнительном входе, то тогда проблем с передачей и корректным чтением списка файлов не возникнет.

Можно подключать компьютерную мышь, клавиатуру. Это очень полезно в тех случаях, когда пользователю необходимо что-то напечатать, а стандартная виртуальная клавиатура его не устраивает.

Источник: https://mobimozg.com/android/nastrojka/otg-funkciya.html

Настройка virtual USB-COM

  • Несмотря на общую усталость от жизни, время от времени включаю трансивер и даже захожу на радиолюбительские сайты. Радует то, что наша радиолюбительская братия априори с интеллектом и чувством юмора. По крайней мере я надеюсь что она кроме закона Ома знает еще и закон Кирхгофа на забывая о радостях земных 🙂 
  • Когда-то я готовил прогнозы прохождения на КВ, УКВ и тропо с авророй для курглых столов области. Получалось достаточно длинно, даже если быстро зачитывать, и недостаточно информативно. То есть тому, кто этим решил воспользоваться надо было это всё запоминать. Ну потому что тогда интернет был не у всех, зайти на мой сайт и почитать мог не каждый. Сегодня картина изменилась, интернет есть на каждом телефоне и прогнозы не смотрит только ленивый. Однако проблема лаконичности прогноза, ну чтобы втиснуть в пару слов по каждому диапазону-времени, меня угнетала. Прогноз то усечённый. Сегодня я предложу вашему вниманию прогноз прохождения на КВ диапазоны в новом виде. Это четыре многоцветных графика по направлениям от насна Японию, ЮВА и Тихоокеанский анклав, на VK,ZL, на Южную Америку и Атлантику и на северную Атлантику и Америку. Можно было бы построить их на 6 направлений, но это, кажется, будет перебор. С шириной лепестка диаграммы направленных (массово 3 элемента 🙂 антенн в 70 градусов вря ли нужно точнее. В графиках по горизонтали время суток, по вертикали частота, а интенсивность прохождения определяется цветом. Маленькая картинка намного информативнее словесного описания.Подробнее…  
  •  Вот если ты не бъёшся в ARRL10M Contest, кажется жизнь остановилась:-) на десятке слышно почти всё, что в эфире. Вплоть до того, что твой сосед с другого края области (юг Чернигвской) находящийся на грани(це) “мёртвой зоны” идёт LP  🙂    Аудио UR8RF 28116 CW ARRL 10M Contest    Но ты в контесте не работаешь, поэтому только слушаешь. Я не плакал, потому что ни одной новой для себя территории на 10-ке не услышал. Вот на 160 – да. Кластер “мяукнул” что Литва у меня на 160 не закрыта. Работал LY2BAW. Правда звал он “DX”. У меня на 160 антенна компромиссная – “инвертед L” – но слышал я его отменно. А когда услышал что он отвечает Европе – коротко маякнул свой call. Сработало. Возвращаясь к вопросу диапазоне 160 метров могу сказать, что пока он радует больше чем десятка. Конечно, я хорошо понимаю что он, как и десятка, – крайние :-)Подробнее…  
  • Продолжение. Начало Смотрим SSB сигнал  PC DSP Filter  С компьютером в эфир  Запись звука  SSTV & So On     Так уж выходит, что не всегда на КВ или УКВ или даже на спутниках есть прохождение, что-либо интересное или стоящее того, чтобы портатить на это своё драгоценное время. Иногда “мёртвый сезон”. Но если желание посидеть в эфире есть, то можно попробовать поднять себе настроение способом SSTV 🙂      Понятно, что и там бывает как в домино “пусто:пусто”, но большей частью в районе частот хх.230 слышен характерный звук построчно передаваемой картинки. Понятно, что этот вид связи не для DX, но интересно провести время удаётся легко. И, конечно, для не основной программы я выбрал достаточно функциональную и простую в использовании программу MMSSTV от уже известного нам автора Мако JE3HHT. Известны и другие программы, но так как мы уже привыкли к изящной простоте софта Мако предпочтём её. Итак в момент открытия программы с подключенными входами-выходами звуковой карты имеем примерно следующую картину.Правая верхняя часть интерфейПодробнее…  
  • Позвонил приятель и пожаловался на то, что у него очень плохо работает декодер телеметрии FunCube-1 – Dushboard.  Принимали одновременно одну орбиту, один спутник, я принял почти все пакеты, а Сергей ни одного. !!!    Как так?  Не может быть!???   Ну хотя бы один то должен был принять.  Стали обсуждать и сравнивать в Скайпе.   Выяснилась интересная деталь 🙂  Это называется  сам себя перехитрил 🙂    В программе есть функция коррекции эффекта Допплера.  Включается она проставлением соответствующей “галки” в окне “Auto Tune” (см. рисунок).Но работает программа по аудио сигналу, то есть постфактум.   Она “читает” высоту тона посылок, делает поправку, сдвигая весь спектр по частоте так, что следующая посылка синхроимпульсов “попадает” точно в створ частотного фильтра программы.  А мой приятель при включенной авто настройке вручную каждую посылку подстраивал приёмник по частоте. Получается что программа высчитала и выставила сдвиг, но Сергей уже передвинул частоту вручную 🙂 и она снова оказалась не там 🙂    Настраивать (подстраивать) нужноПодробнее…  

Источник: http://hammania.net/index.php/cat-rtx-pc-ptt/nastrojka-perekhodnika-usb-com

STM32F4. Урок 31 – Использование USB-OTG как виртуальный COM-порт

Данная библиотека позволяет использовать USB OTG порт на плате Discovery в режиме CDC. Это позволяет создать виртуальный COM-порт (с логическими уровнями UART), дающий возможность совершать обмен данными между платой и ПК.

На стороне компьютера устанавливается “VirtualComPort-Driver for ST”, который можно загрузить на сайте ST (автор тестировал версию 1.3.1). Поиск можно осуществить по запросу “STSW-STM32102”.

Библиотека ожидает идентификатор конца строки в виде символа “0x0D”, означающий возврат каретки (который должен быть указан в конце). Настройка протокола (скорость, количество стоп-битов и т.д.) производится в драйвере USB.

В библиотеке предусмотрены функции для отправки и приема строк и функция проверки соединения с USB. Автор тестировал написанные функции в “mini” PC-Terminal программе. Для подключения использовался microUSB кабель (который можно купить на eBay или Amazon)

Используемые выводы:

 PA8  -> USB_OTG_SOF (не используется)  PA9  -> USB_OTG_VBUS  PA10 -> USB_OTG_ID  PA11 -> USB_OTG_DM

 PA12 -> USB_OTG_DP

Требуемые библиотеки:

Подключаемые модули CooCox-IDE: GPIO, MISC
Поддерживаемые библиотеки: отсутствуют

Перечисления:

typedef enum { USB_CDC_NO_INIT =0, // интерфейс USB не инициализирован USB_CDC_DETACHED, // USB-соединение инициализировано USB_CDC_CONNECTED // USB-Соединение установлено
}USB_CDC_STATUS_t;
USB_CDC_STATUS_t USB_CDC_STATUS; typedef enum { NONE = 0, // без идентификатора LFCR, // возврат строки и перевод каретки (0x0A,0x0D) CRLF, // перевод каретки и возврат строки (0x0D,0x0A) LF, // перевод строки (0x0A) CR // возврат каретки (0x0D)
}USB_CDC_LASTBYTE_t; typedef enum { RX_USB_ERR =0, // нет подключения к USB RX_EMPTY, // данные не приходят RX_READY // данные, принятые в буфер
}USB_CDC_RXSTATUS_t;

Функции:

void UB_USB_CDC_Init(void); // инициализировать интерфейс USB
USB_CDC_STATUS_t UB_USB_CDC_GetStatus(void); // Проверка статуса USB
ErrorStatus UB_USB_CDC_SendString(char *ptr, USB_CDC_LASTBYTE_t end_cmd); // Отправить строку через USB
USB_CDC_RXSTATUS_t UB_USB_CDC_ReceiveString(char *ptr); // Принять строку через USB

Пример использования:

//————————————————————–
// File : main.c
// Datum : 23.06.2013
// Version : 1.4
// Autor : UB
// EMail : mc-4u(@)t-online.de
// Web : www.mikrocontroller-4u.de
// CPU : STM32F4
// IDE : CooCox CoIDE 1.7.0
// Module : CMSIS_BOOT, M4_CMSIS_CORE
// Funktion : Demo der USB-CDC-Library
// Hinweis : Diese zwei Files muessen auf 8MHz stehen
// “cmsis_boot/stm32f4xx.h”
// “cmsis_boot/system_stm32f4xx.c”
//————————————————————– #include “main.h”
#include “stm32_ub_usb_cdc.h” int main(void)
{ char buf[APP_TX_BUF_SIZE]; // буфер для приема данных USB_CDC_RXSTATUS_t check=RX_EMPTY; SystemInit(); // Инициализация настроек кварца // Инициализация USB-OTG-порта как CDC-устройство // (Виртуальный COM порт) UB_USB_CDC_Init(); while(1) { // Проверка работы USB-подключения к ПК if(UB_USB_CDC_GetStatus()==USB_CDC_CONNECTED) { // Проверка получения данных по USB check=UB_USB_CDC_ReceiveString(buf); if(check==RX_READY) { // При получении данных // вернуться эхо // (с перемещением на новую строку) UB_USB_CDC_SendString(buf,LFCR); } } }
}

В приложении проект CooCox и отдельная библиотека для использования в других проектах, а так же программа-терминал для работы с COM-портом. Автор оригинала статьи просит задавать вопросы на его сайте на немецком или английских языках.

Оригинал статьи

Прикрепленные файлы:

RoughОпубликована: 16.04.20150Вознаградить Я собрал 0 0

x

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография

Источник: http://cxem.gq/mc/mc365.php