Перейти к содержанию
    

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

Эдди хоть и фундаменталист, но здесь он прав: писать свой инструментарий можно и нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так готовое решение в стиле UNIX-way я и предложил (netcat + FIFO + hexdump). Но таки лично я для себя, если б такое надо было, написал бы сам. Потому что можно в дальнейшем расширять желаемый функционал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 часа назад, aaarrr сказал:

Эдди хоть и фундаменталист, но здесь он прав: писать свой инструментарий можно и нужно.

Вы напишете такой инструментарий, подобный по функционалу тем, что предлагались выше, за один вечер? Да так чтобы "надёжно работал"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, jcxz said:

за один вечер

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

Абсолютно любая разработка так и ведется. Вы же для своих железяк прошивку не пишете за вечер! Иной раз год может уйти, пока что-то более-менее дельное родится. Зато копится база сниппетов, и каждая следующая разработка все проще. Вот у меня, например: эдакие сниппеты для STM32для STM8… Да и всякие утилиты для ПК тоже постепенно сниппеты порождают. Часть я отдельно собираю, а наиболее актуальные даже в библиотеку объединил для упрощения себе жизни.

Правда, есть небольшая проблема у многих тутошних обитателей: большинство из них вообще полный нуль в IT. Многие даже вместо операционной системы используют прошивку для игровых приставок. Это, конечно, прискорбно. Но еще более прискорбно то, что эти товарищи не хотят понять, что писать утилиты для ПК значительно проще, чем для микроконтроллеров!

Ну и в качестве совета этим товарищам: старайтесь как можно больше использовать терминал. Вы поймете, что с хорошим окружением мышкой пользоваться нужно не так-то и часто (разве что в браузере или графических редакторах / CAD'ах). И поймете, что 99% задач решают обычные CLI-утилиты, а GUI нужен крайне редко. И очень часто задачи, требующие GUI, можно решить при помощи веб-морды! Т.е. фактически не нужно осваивать идиотские Qt или еще более идиотские GTK! Можно просто взять, и накатать сетевой демон, который будет взаимодействовать с веб-мордой. А уж в веб-морде каждый может при помощи stylish свое расположение всех рюшечек сделать, а при помощи greasemonkey даже частично что-то автоматизировать.

 

P.S. Если что, я вообще ни разу не программист и не электронщик! По образованию я - астрофизик, правда, так получилось, что в основном железяками последние 10 лет занимаюсь. Поэтому самостоятельно осваиваю электронику и программирование...

Изменено пользователем Eddy_Em

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 минут назад, Eddy_Em сказал:

Зато копится база сниппетов, и каждая следующая разработка все проще. Вот у меня, например: эдакие сниппеты для STM32для STM8… Да и всякие утилиты для ПК тоже постепенно сниппеты порождают.

Тогда лучше писать: "Допилить существующую утилиту (ежли таковая имеется) под эту задачу". :moil: Когда просто пишут "разработка" - это подразумевается "с нуля" или практически с нуля.

И чтобы за вечер можно было допилить нормально, имеющаяся утилита должна быть довольно близка уже к тому, что требуется. Например: просто переделать утилиту работающую с COM-портом (WinAPI) на работу с сокетами (опять-же - winsock2.h/ws2tcpip.h) с той же юзер-мордой - вечера уже не хватит, так как там слишком много нюансов в этих сокетах.

Цитата

писать утилиты для ПК значительно проще, чем для микроконтроллеров!

В чём-то проще, в чём-то - сложнее. По-разному. Когда приходится читать тонну описаний API функций MFC или WinAPI, то часто замечаю, что то же самое на МК я бы уже давно написал и забыл, так как читать на МК нужно меньше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, jcxz said:

Вы напишете такой инструментарий, подобный по функционалу тем, что предлагались выше, за один вечер? Да так чтобы "надёжно работал"?

Рекомендую С++ Builder Rio 10.3.3
Это реально новый уровень производительности. 
Самые крутые GUI пишутся за вечер с WinRT и последними фишками Win10
То что там было показано от hw-group, именно такое можно написать за день-полтора. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

38 minutes ago, AlexandrY said:

Рекомендую С++ Builder Rio 10.3.3
Это реально новый уровень производительности. 
Самые крутые GUI пишутся за вечер с WinRT и последними фишками Win10
То что там было показано от hw-group, именно такое можно написать за день-полтора. 

Вы об Embarcadero C++ Builder? Вещь, конечно, хорошая, но ему бы лицензию по типу MSVS Community.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, jcxz said:

Вы напишете такой инструментарий, подобный по функционалу тем, что предлагались выше, за один вечер? Да так чтобы "надёжно работал"?

Для тестовой утилиты мне полный функционал был не нужен. За вечер не осилил, но за пару дней, кажется, запустил, тк сильнонадобыло. Взял исходник-пример работы с UDP-датаграммами ( или любой другой пример для работы, в Win - winsocket, они по размеру кода 2-3 страницы). Гибкость и настраиваемость полученного "инструмента" поражает (определяется возможностями компилятора и моска разработчика :russian_ru:), также как и размер исходника и кода (минимальные). Использовал под QNX, потом аналогично - под Win. Это если не удастся найти универсальный "инструмент".

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, jcxz said:

Когда приходится читать тонну описаний API функций MFC или WinAPI, то часто замечаю, что то же самое на МК я бы уже давно написал и забыл, так как читать на МК нужно меньше.

Вас прицепили наручниками к батарее, не кормят и заставляют вместо компьютера игровые приставки использовать?

Поставьте уже линукс и перестаньте идиотизмом заниматься!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, jcxz said:

Вы напишете такой инструментарий, подобный по функционалу тем, что предлагались выше, за один вечер? Да так чтобы "надёжно работал"?

Что-то и за 15 минут сделаю (конечно, доработаю свою же готовую, но и на неё не недели ушли).

 

3 hours ago, jcxz said:

Например: просто переделать утилиту работающую с COM-портом (WinAPI) на работу с сокетами (опять-же - winsock2.h/ws2tcpip.h) с той же юзер-мордой - вечера уже не хватит, так как там слишком много нюансов в этих сокетах.

Нюансам сокетов не один десяток лет как бы. А уж юзер-морда - это явное излишество для тестовой утилиты на любой ОС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, Eddy_Em said:

Поставьте уже линукс и перестаньте идиотизмом заниматься!

Ну когда же вы закончите пропихивать линукс везде, где не нужно и нужно? Вы понимаете, что не всем этот линукс подходит. И иногда, занимаясь написанием гуя под ненавистную для вас виндовс, мы просто удовлетворяем желание заказчика. А как вы думаете, куда вас пошлёт заказчик, когда вы предложите ему использовать линукс?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Между прочим, использование windows вместо операционной системы — очень хороший показатель полной некомпетентности человека в IT.

Изменено пользователем Eddy_Em

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, Eddy_Em said:

Я с психически больными дело иметь не собираюсь!

Покажите, пожалуйста, диплом врача-психиатра. Иначе это просто уже п...здо...льство в чистом виде с вашей стороны, и не первый раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, haker_fox сказал:

Ну когда же вы закончите пропихивать линукс везде, где не нужно и нужно? Вы понимаете, что не всем этот линукс подходит. И иногда, занимаясь написанием гуя под ненавистную для вас виндовс, мы просто удовлетворяем желание заказчика. А как вы думаете, куда вас пошлёт заказчик, когда вы предложите ему использовать линукс?

+1. ненавижу windows (хотя 10-ка вроде торт... загрузка ПК, после прогрузки биоса меньше минуты, загрузка десктопа, после ввода пароля 1 секунду). Перешел бы на линукс, будь там нужное ПО, например альтиум или ворд.

 

В 26.11.2019 в 19:44, jcxz сказал:

А "распылять силы" - это как раз то что вы советуете, вместо решения задачи писать всякие приблуды, кои есть готовые.

+1. Да ни фига это не пишится за вечер.

 

В 26.11.2019 в 23:32, Eddy_Em сказал:

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

что имеем: программист МК. Знает СИ (возможно с++, а возможно только асм, хота таких диназавров уже совсем мало). Какую нибудь среду типа IAR/Keil/AVRStudio/CCS/STM32CubeIDE  

На мк может быть lwip, а может аппаратный стек типа w5100 - тогда прогер далек от сетевого стека.... ему нужно отработать протокол Modbus TCP.  У ТС задача только посмотреть что шлёт железка... Послушаемся Эдди... Ставим среду ...ээээ... например  С++ Builder Rio (я бы порекомендовал бесплатный Qt, или вообще mingw32-win и кансоль). Покупаем билдер качаем пиратку, ищем таблетку.... пока ищем таблетку, цепляем всякую заразу.... можно и на винлокер нарваться со всеми вытекающими... Разворачиваем среду (бубен)... начинаем осваивать... ищем туториалы... пишем холоворд... разбираемся с языком с++/Борланд (ибо разница между с++ и с++/Борланд такая же как между си и с++)

С Qt путь покороче, если повезёт... а если нет (а такое бывает) - то готу на форум Qt в раздел "Установка и настройка Qt" (была бы устанвка Qt без бэ - не было бы этого раздела), тоже бубен в помощь. В Qt не обойдется без слотов/сигналов.... учим эти механизмы.... A тем временем вечер то наш идет куча вечеров прошло....

Ну вот есть среда.... все компиляторы настроены... холовор собран.... начинаем сокеты!!!! Сетевое программирование ни кто с материнским молоком не всасывает - его нужно знать уметь select-ы, bind-ы... читаем книжку (мне понравилась "Сетевое программирование от Бриджа")... и пошло поехало.... а у эдди в снипетах ещё и треды... оооо.... это ещё книжка.... а какой-нить гуру скажет что ОБЯЗАТЕЛЬНО нужно свой make файл писать.... вот это и называется "Распылять силы". Так и потом действительно, ещё и обязательно глючить будет...

 

А какая задача была - посмотреть что шлёт железка в хексе? У меня, вышеперечисленные этапы пройдены, и не за вечер... и я бы смог написать прогу которая примет пакет и выведет его в хекс за вечер (используя свои наработки/навык)... но да же я бы не стал этого делать.... ибо мне жалко на это тратить вечер. Скачивание и установка Wireshark занимает 5 минут. Ещё 5 минут займет (если первый раз, потом минута) чтобы разобраться как отфильтровать ненужные пакеты. Wireshark знает Modbus, распарсит принятый и отправленный пакеты и разложит все данные по полочкам. Смотри хоть сырой хекс, хоть распаренный. Тем более, если пишешь ПО для сети - самое первое, что ты должен себе поставить - это Wireshark. Wireshark - первый инструмент в джентльменском наборе работы с сетью (а он ещё работает в винде/линуксе/... - дайтедве!!!). Кстати, на modbus.org список ПО для отладки протокола, там есть Wireshark.

 

Или ComPortToolKit ой, TCPPortToolKit. Установка и скачивание занимает 1 минуту, запуск и настройка TCP - ещё минуту. 

Итого - использовать готовое и надёжное занимает всего от 2 до 10 минут.

У сторонних готовых утилит возможностей/удобств вагон.... гораздо удобнее вашей утилиты "завечер".

Вообще не понимаю - зачем изобретать велосипед писать своё, когда нужно нагнуться и поднять готовое/отлаженное. Вы бы ещё предложили написать свой notepad/Wordpad или KWriter, когда возникнет потребность написать текстовую заметку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, juvf said:

Ставим среду ...ээээ... например  С++ Builder Rio (я бы порекомендовал бесплатный Qt, или вообще mingw32-win и кансоль). Покупаем билдер качаем пиратку, ищем таблетку.... пока ищем таблетку, цепляем всякую заразу.... можно и на винлокер нарваться со всеми вытекающими... Разворачиваем среду (бубен)... начинаем осваивать... ищем туториалы... пишем холоворд... разбираемся с языком с++/Борланд (ибо разница между с++ и с++/Борланд такая же как между си и с++)

И что же вы так консоль-то не любите, а?

 

5 minutes ago, juvf said:

Скачивание и установка Wireshark занимает 5 минут. Ещё 5 минут займет (если первый раз, потом минута) чтобы разобраться как отфильтровать ненужные пакеты. 

А сколько займет написание плагина под Wireshark для разборки своего протокола?

 

8 minutes ago, juvf said:

У сторонних готовых утилит возможностей/удобств вагон.... гораздо удобнее вашей утилиты "завечер".

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...