Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 31.01.2020
Сообщений: 20

Ответ с телефона на запрос

28.11.2020, 18:40. Показов 971. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, привет. Такая задача: нужно послать на телефон запрос через COM-порт (телефон подключен к ноутбуку через usb), через какое-либо приложение на телефоне сформировать ответ, отправить его назад и отобразить в самой программе. Как сделать ответ с телефона на компьютер?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;  //Подключение библиотеки для работы с последовательным портом COM1-COM16
using System.IO;
 
namespace Serial_port_test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        SerialPort port;    //создание объекта
 
        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "";
            comboBox2.SelectedIndex = 0;
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try { port = new SerialPort(comboBox1.SelectedItem.ToString()); }   //инициализация объекта port
            catch (Exception) { label1.Text = "Ошибка при создании объекта.";
                File.AppendAllText("text.txt", label1.Text + '\n');
            }
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (comboBox1.SelectedItem == null) { label1.Text = "Не выбран порт.";
                    File.AppendAllText("text.txt", label1.Text+'\n');
 
                    return; }
                label1.Text = "";
                textBox2.Text = "";
                port.ReadTimeout = 500; //таймаут на прием-передачу
                port.WriteTimeout = 500;
                port.Open();
                if (comboBox2.SelectedIndex == 0)
                {
                    port.WriteLine(textBox1.Text);
                    textBox2.AppendText(port.ReadLine());
                    File.AppendAllText("text.txt", port.ReadLine()+'\n');
                }
                if (comboBox2.SelectedIndex == 1)
                {
                    port.RtsEnable = false;
                    textBox1.Text = "False" + Environment.NewLine;
                    textBox2.Text = port.CtsHolding.ToString() + Environment.NewLine;
                    port.RtsEnable = true;
                    textBox1.Text += "True";
                    textBox2.Text += port.CtsHolding.ToString();
                    File.AppendAllText("text.txt", textBox2.Text+'\n');
                }
                if (comboBox2.SelectedIndex == 2)
                {
                    port.DtrEnable = false;
                    textBox1.Text = "False" + Environment.NewLine;
                    textBox2.Text = port.DsrHolding.ToString() + Environment.NewLine;
                    port.DtrEnable = true;
                    textBox1.Text += "True";
                    textBox2.Text += port.DsrHolding.ToString();
                    File.AppendAllText("text.txt", textBox2.Text +'\n');
                }
                port.Close();
            }
            catch (ArgumentNullException)
            {
                label1.Text = "Параметр str имеет значение null.";
                File.AppendAllText("text.txt", label1.Text + '\n');
            }
            catch (InvalidOperationException)
            {
                label1.Text = "Указанный порт не открыт.";
            }
            catch (TimeoutException)
            {
                label1.Text = "Операция не была завершена до истечения срока ожидания.";
                File.AppendAllText("text.txt", label1.Text + '\n');
            }
            catch (Exception)
            {
                label1.Text = "Неизвестная ошибка.";
                File.AppendAllText("text.txt", label1.Text);
            }
            finally //закрытие порта
            {
                try { port.Close(); }
                catch (Exception) { }
            }
        }
 
        private void comboBox1_Click(object sender, EventArgs e)
        {
            label1.Text = "";
            try
            {
                comboBox1.Items.Clear();
                comboBox1.Items.AddRange(SerialPort.GetPortNames());
            }
            catch (Exception) { label1.Text = "Ошибка инициализации.";
                File.AppendAllText("text.txt", label1.Text+'\n');
            }
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.11.2020, 18:40
Ответы с готовыми решениями:

Почему ответ на GET запрос из Python отличается от ответа на GET запрос из HTTP Analyzer
Добрый день. Делаю GET запрос из HTTP Analyzer Указываю только адрес запроса: https://www.nn.ru/community/sp/food/ Получаю ответ -...

Запрос номера телефона с vk.com
Доброго времени суток, происходит блокирование сайта vk.com (URL:Mal) и при выключении экранов avast просьба ввести номер телефона с...

Ответ на запрос
У меня есть переменная которая принимает данные: $data = $_POST; Мне нужно после того как я принял данные отправить ответ. Ответ...

9
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
28.11.2020, 19:22
Цитата Сообщение от UltraMo Посмотреть сообщение
нужно послать на телефон запрос через COM-порт (телефон подключен к ноутбуку через usb)
Это как? Живой COM порт на компьютере? Их же давно не делают. Или это конвертор COM-USB?

Цитата Сообщение от UltraMo Посмотреть сообщение
на телефоне
На каком телефоне? Какая модель? Какое ПО? Раз там конвертор, то надо по даташитам смотреть, что делает телефон. Если это Android/iOS, то идея использовать COM порт непонятна и можно программу написать самому на Xamarin, на Java или C++. В случае с Android скорее всего уже есть такое приложение с каким-то контрактом и может быть найдено в мусорке под названием Google Play.
0
0 / 0 / 0
Регистрация: 31.01.2020
Сообщений: 20
29.11.2020, 15:23  [ТС]
Вставляешь простой usb, но он определяется как com.
Телефон samsung
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
29.11.2020, 15:47
UltraMo, чего? А смотреть-то где? Вставил свой SM-G975F через USB в компухтер:
1. В проводнике появилось устройство Galaxy S10+, у которого есть один диск Phone.
2. В диспетчере устройств в разделе Контроллеры USB появилось два новых подключения:
2.1. SAMSUNG Mobile USB Composite Device
2.2. SAMSUNG Mobile USB Composite Device V2

Оба подключения:
- Родительское устройство: USB
- Тип устройства: Контроллеры USB

Ответ без изменений:
Цитата Сообщение от I2um1 Посмотреть сообщение
Если это Android/iOS, то идея использовать COM порт непонятна и можно программу написать самому на Xamarin, на Java или C++.
Добавлено через 3 минуты
Я знаю, есть драйвер, который умеет эмулировать USB как COM. Но нафига его использовать для смартфонов? Может тогда пойти во все тяжкие и использовать LPT?
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
29.11.2020, 20:57
UltraMo, так пишешь будто это какой то стандарт реализованный на всех телефонах.
Используя всю силу своих телепатических способностей могу предположить что телефон на базе ОС Android.
Android SDK таких API не содержит, Xamarin тем более. Остается уровень линукс. Быстрое гугление дало кое какие результаты реализаций на Java https://github.com/handheldgro... alport-api
Задача не для junior hello world deleloper.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
30.11.2020, 20:33
Цитата Сообщение от nicolas2008 Посмотреть сообщение
Android SDK таких API не содержит
USB host overview

Цитата Сообщение от nicolas2008 Посмотреть сообщение
Xamarin тем более
Я же ссылку выше кинул. Вот еще есть такой Hello World.
No root access, ADK, or special kernel drivers are required; all drivers are implemented in c#. You get a raw serial port with Read(), Write(), and other basic functions for use with your own protocols. The appropriate driver is picked based on the device's Vendor ID and Product ID.
Не, конечно без танцев с бубном так просто не заработает, отвечаю как junior hello world monkey coder. ТС молчит как партизан про COM.
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
30.11.2020, 20:46
I2um1, так USB Host это другое. В этом случае сам телефон подключается к ком порту другого устройства. Наверное можно со специальным ПО заставить комп работать в режиме USB slave и с эмуляцией com порта, но это совсем изврат
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
30.11.2020, 21:22
nicolas2008, так ТС и занимается каким-то извращением и непонятно что чудит. Пусть потанцует с бубном и потом расскажет другим как надо. Я все еще не понял как USB устройство определяется как COM, что нужно было намутить. Но, учитывая качество кода в нул посте, реализацию я не дождусь.

Хотя~, я думаю там какая-то задача, что этот USB вообще нафиг не нужен.

Добавлено через 27 минут
Есть еще какая-то сомнительная RXTX, которая как раз изображает COM. Тогда можно использовать accessory mode.

Добавлено через 1 минуту
Или включить режим дебага на телефоне.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,434
01.12.2020, 06:44
Цитата Сообщение от I2um1 Посмотреть сообщение
не понял как USB устройство определяется как COM
Очень просто: есть специальные USB-UART адаптеры, в том числе встраиваемые в другие устройства.
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
01.12.2020, 23:24
I2um1, раньше большинство если не все телефоны определялись при подключении как устройства-com порты.
Вроде бы связано это с нюансами лицензирования и просто сложностью реализации USB стандарта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2020, 23:24
Помогаю со студенческими работами здесь

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

Запрос и ответ
Всем привет, я полный null в php поэтому обращаюсь к вам. Задача Как сделать запрос в приложение windows.form и если windows.form...

Ответ на Get запрос
на сайте крутиться код <html> <head> <title></title> <?php echo "wtf"; ?> ...

Ответ на запрос
Доброго времени суток ) Такой вопрос... Кто знает как при отправке сайту get или post запросв получить ответ в виде xml файла с нужной...

Запрос номера телефона пользователя AD
Доброго времени суток Имеется скрипт On Error Resume Next Const ADS_SCOPE_SUBTREE = 2 Const TemporaryFolder = 2 Set wshFSO =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru