программировать шелесяки

User avatar
Amirko
Уже с Приветом
Posts: 5199
Joined: 08 Jul 2002 09:36
Location: В глухой провинции, у моря...

программировать шелесяки

Post by Amirko »

Хочется управлять разными штуками, читать порты (сом и usb) и посылать в нихъ, потом над этим рисовать кнопочки и делать stand alone executables. Пока под Win 7x64. Как хобби. Железяки обычно с какими-то инструкциями, но без API. Кто знает что есть free/good? Ну или недорого. Язык без разницы, программировал в последний раз в начале 90-х, но конечно чем IDE легче тем лучше. Вот вижу M$ VC Community...как оно?
Cheers,
Amirko
User avatar
Vladimir Kr.
Уже с Приветом
Posts: 539
Joined: 24 Mar 2004 07:31
Location: Krasnoyrsk -> -> Chicago

Re: программировать шелесяки

Post by Vladimir Kr. »

передумал
Last edited by Vladimir Kr. on 17 May 2018 01:26, edited 1 time in total.
User avatar
Dm.uk
Уже с Приветом
Posts: 5834
Joined: 12 Apr 2001 09:01
Location: нэподалеку от Ireland

Re: программировать шелесяки

Post by Dm.uk »

имхо прежде всего стоит перепрограммироватъ свой собственный мозгъ. эмбедщики, IC дезайнеры & co смотрят на всю эту Java-лабающую ш*аль как на ...ль.

Вы "с нами" или как ? (с) :-)))
DropAndDrag
Уже с Приветом
Posts: 6018
Joined: 11 Mar 2011 05:36

Re: программировать шелесяки

Post by DropAndDrag »

из дешевого можно попробовать поискать тут https://www.adafruit.com. в принципе сайт заточен под raspberry, arduino и прочее. raspberry имеет и цифровые входа-выходы, и serial port.
но может быть и какой-нибудь serial port with LEDs или семисегментиком отыщется.
DropAndDrag
Уже с Приветом
Posts: 6018
Joined: 11 Mar 2011 05:36

Re: программировать шелесяки

Post by DropAndDrag »

Dm.uk wrote: 16 May 2018 22:01 имхо прежде всего стоит перепрограммироватъ свой собственный мозгъ. эмбедщики, IC дезайнеры & co смотрят на всю эту Java-лабающую ш*аль как на ...ль.

Вы "с нами" или как ? (с) :-)))
не знаю кто на кого и как смотрит, но несколько лет назад Java не поддерживала serial port :pain1: у нас один Java чудак покупал network-serial port адаптеры :pain1: :pain1: :pain1:
когда попал на такое чудо, то нашел какую-то левую библиотеку. вообщем, я бы держался от Java подальше ...
User avatar
Amirko
Уже с Приветом
Posts: 5199
Joined: 08 Jul 2002 09:36
Location: В глухой провинции, у моря...

Re: программировать шелесяки

Post by Amirko »

Так, яву вычеркиваем. Да, для ардуино и пи среды есть, и пи у меня даже и есть, но мне надо в данном случае для виндов. Что-то простое и дубовое должно быть.
Cheers,
Amirko
User avatar
VovaK98
Уже с Приветом
Posts: 1830
Joined: 04 Mar 2002 10:01
Location: Tampa

Re: программировать шелесяки

Post by VovaK98 »

Amirko wrote: 17 May 2018 03:07 Что-то простое и дубовое должно быть.
Несколько лет назад, помнится, был такой DDK, думаю, что и посейчас что-то такое есть. Я бы копал в этом направлении, если что.
https://en.wikipedia.org/wiki/Windows_Driver_Kit
Несите чушь бережно, стараясь не расплескать. Чушь хороша, когда она полная.
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: программировать шелесяки

Post by Medium-rare »

Amirko wrote: 16 May 2018 21:32 Хочется управлять разными штуками, читать порты (сом и usb) и посылать в нихъ, потом над этим рисовать кнопочки и делать stand alone executables. Пока под Win 7x64. Как хобби. Железяки обычно с какими-то инструкциями, но без API. Кто знает что есть free/good? Ну или недорого. Язык без разницы, программировал в последний раз в начале 90-х, но конечно чем IDE легче тем лучше. Вот вижу M$ VC Community...как оно?
Компании для управления железяками всё реже выбирают Windows. MS слишком часто предлагает доступ к гландам через. В принципе, для домашних упражнений в обстановке поближе к реальности есть хорошая альтернатива: Raspberry Pie. Оно и будет вашим устройством с Linux, можно с ним говорить хоть из Windows, и подключать к его портам что угодно, и работать по человечески, хоть через порт, хоть через файл устройства. Стоит штучка недорого. Набираете "buy raspberry pi".

И будет для Raspberry в Сети или на Youtube миллион инструкций, и любой практически сложности программы писать для, хоть на Питоне, хоть на C++/Qt.
Есть смысл и просто в Linux на вашем компутере, как что подключить к порту, тоже найдётся. Но вам же устройство какое-то автономное.
... and even then it's rare that you'll be going there...
DropAndDrag
Уже с Приветом
Posts: 6018
Joined: 11 Mar 2011 05:36

Re: программировать шелесяки

Post by DropAndDrag »

Amirko wrote: 17 May 2018 03:07 Так, яву вычеркиваем. Да, для ардуино и пи среды есть, и пи у меня даже и есть, но мне надо в данном случае для виндов. Что-то простое и дубовое должно быть.
.NET Framework имеет класс для serial port. Вот ссылка https://msdn.microsoft.com/en-us/librar ... .110).aspx - найти проще будет сложновато.
на месяц можете поставить Microsoft Visual Studio и все дела.

если serial port будет медленным, то тогда будут заметны задержки в UI. это тоже решаемо, но это другая проблема.
DropAndDrag
Уже с Приветом
Posts: 6018
Joined: 11 Mar 2011 05:36

Re: программировать шелесяки

Post by DropAndDrag »

VovaK98 wrote: 17 May 2018 13:57
Amirko wrote: 17 May 2018 03:07 Что-то простое и дубовое должно быть.
Несколько лет назад, помнится, был такой DDK, думаю, что и посейчас что-то такое есть. Я бы копал в этом направлении, если что.
https://en.wikipedia.org/wiki/Windows_Driver_Kit
да он все время был ... так у меня руки до него и не дошли - задачи реальной не было.
есть еще варианты, которые упрощают разбирательство, но тоже ими не пользовался.
User avatar
Amirko
Уже с Приветом
Posts: 5199
Joined: 08 Jul 2002 09:36
Location: В глухой провинции, у моря...

Re: программировать шелесяки

Post by Amirko »

Medium-rare wrote: 17 May 2018 16:01
Amirko wrote: 16 May 2018 21:32 Хочется управлять разными штуками, читать порты (сом и usb) и посылать в нихъ, потом над этим рисовать кнопочки и делать stand alone executables. Пока под Win 7x64. Как хобби. Железяки обычно с какими-то инструкциями, но без API. Кто знает что есть free/good? Ну или недорого. Язык без разницы, программировал в последний раз в начале 90-х, но конечно чем IDE легче тем лучше. Вот вижу M$ VC Community...как оно?
Компании для управления железяками всё реже выбирают Windows. MS слишком часто предлагает доступ к гландам через. В принципе, для домашних упражнений в обстановке поближе к реальности есть хорошая альтернатива: Raspberry Pie. Оно и будет вашим устройством с Linux, можно с ним говорить хоть из Windows, и подключать к его портам что угодно, и работать по человечески, хоть через порт, хоть через файл устройства. Стоит штучка недорого. Набираете "buy raspberry pi".

И будет для Raspberry в Сети или на Youtube миллион инструкций, и любой практически сложности программы писать для, хоть на Питоне, хоть на C++/Qt.
Есть смысл и просто в Linux на вашем компутере, как что подключить к порту, тоже найдётся. Но вам же устройство какое-то автономное.
Я уже выше говорил что Pi у меня есть и я даже им пользовался, но для данной задачи он не годится. Суть в том что это только часть системы, коея состоит из разных компонентов и управляющих ими программулин, написанных не мной и все под Windows. Можно конечно из Виндовса лезть в Raspberry но не хочется умножать сущности без надобности. Система -- имеется в виду радиостанция любительская, используемая удаленно:
K4MJA-Remote.JPG
нужно переключать антенны, крутить их, считывать информацию с усилителя, антенного тюнера и т п.
Всё это в Raspberry никоим образом не лэзэт.
You do not have the required permissions to view the files attached to this post.
Cheers,
Amirko
User avatar
Amirko
Уже с Приветом
Posts: 5199
Joined: 08 Jul 2002 09:36
Location: В глухой провинции, у моря...

Re: программировать шелесяки

Post by Amirko »

VovaK98 wrote: 17 May 2018 13:57
Amirko wrote: 17 May 2018 03:07 Что-то простое и дубовое должно быть.
Несколько лет назад, помнится, был такой DDK, думаю, что и посейчас что-то такое есть. Я бы копал в этом направлении, если что.
https://en.wikipedia.org/wiki/Windows_Driver_Kit
спасибо погляжу. Да, надо наверное копать со стороны API а не среды разработки, поскольку мне на данном этапе неважно на чём написано.
Cheers,
Amirko
User avatar
Amirko
Уже с Приветом
Posts: 5199
Joined: 08 Jul 2002 09:36
Location: В глухой провинции, у моря...

Re: программировать шелесяки

Post by Amirko »

DropAndDrag wrote: 17 May 2018 16:43
Amirko wrote: 17 May 2018 03:07 Так, яву вычеркиваем. Да, для ардуино и пи среды есть, и пи у меня даже и есть, но мне надо в данном случае для виндов. Что-то простое и дубовое должно быть.
.NET Framework имеет класс для serial port. Вот ссылка https://msdn.microsoft.com/en-us/librar ... .110).aspx - найти проще будет сложновато.
на месяц можете поставить Microsoft Visual Studio и все дела.

если serial port будет медленным, то тогда будут заметны задержки в UI. это тоже решаемо, но это другая проблема.
Попробую! Медленным не будет, так как устройства все неспешные -- электромоторы крутят реальные объекты немаленького размера, релешки перещёлкиваются и т п.
Cheers,
Amirko
User avatar
IPoloz
Уже с Приветом
Posts: 427
Joined: 08 May 2001 09:01

Re: программировать шелесяки

Post by IPoloz »

Для RS-232 нет ничего проще:

Code: Select all

        DCB dcb = {0};
        COMMTIMEOUTS commtimeouts = {...}; //fill as needed
        HANDLE hCom=CreateFile(_T("\\\\.\\COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
        if (INVALID_HANDLE_VALUE == hCom) //error out
        GetCommState(hCom,&dcb);
	//update baud rate etc here
	SetCommState(hCom,&dcb);
        SetCommMask(hCom,EV_RXCHAR|EV_TXEMPTY); //or some other event mask as needed
        SetCommTimeouts(hCom,&commtimeouts);
        
        //Done with opening
        
        //Write to RS232
        if (!WriteFile(hCom, buffer, size, &written, NULL)) 
        	// shit happened here

        //Read from RS232
        if (!ReadFile(hCom, buffer, size, &read, NULL))
        	// shit happened here
        	
         FlushFileBuffers(hCom);
         CloseHandle(hCom);
куски выдернуты из старого проекта - возможно даже скомпилится.

USB надо symbolic link, типа:
CreateFile(_T("\\\\?\\USB#VID_0483&PID_2434#6&26c545a4&0&1#{4d36e979-e325-11ce-bfc1-08002be10318}")...
Для хобби проекта драйвер писать, кмк, оверкил. Я б об этом задумался только если нужны фишки типа PnP или DMA. Хотя, теперь есть удобный фреймворк для юзермода - umdf - почти драйвер. Оттуда или из обычной юзермодной приклады можно запользовать WinUsb.sys https://docs.microsoft.com/en-us/window ... usb-device
Last edited by IPoloz on 17 May 2018 19:08, edited 1 time in total.
User avatar
IPoloz
Уже с Приветом
Posts: 427
Joined: 08 May 2001 09:01

Re: программировать шелесяки

Post by IPoloz »

Кста, для 64 бит драйвера подписывать МС сертификатом надо, иначе винда их только в дебаг моде загружать согласится, а в 10-ке и так откажется, только с F8 и Disable signature enforcement...
Если всеж хочется поиграть в ядреного девелопера, вот интересный проект взамен WinUsb.sys
https://github.com/daynix/UsbDk
User avatar
Amirko
Уже с Приветом
Posts: 5199
Joined: 08 Jul 2002 09:36
Location: В глухой провинции, у моря...

Re: программировать шелесяки

Post by Amirko »

IPoloz wrote: 17 May 2018 18:55 Кста, для 64 бит драйвера подписывать МС сертификатом надо, иначе винда их только в дебаг моде загружать согласится, а в 10-ке и так откажется, только с F8 и Disable signature enforcement...
Если всеж хочется поиграть в ядреного девелопера, вот интересный проект взамен WinUsb.sys
https://github.com/daynix/UsbDk
да вроде драйвера выпиливать не планируется пока, хотел использовать имеющиеся (например виртуальный компорт Icom'а который работает через USB) и стандартные. Посмотрим как пойдёт. Спасибо за подсказки.
Cheers,
Amirko
DropAndDrag
Уже с Приветом
Posts: 6018
Joined: 11 Mar 2011 05:36

Re: программировать шелесяки

Post by DropAndDrag »

Amirko wrote: 17 May 2018 17:07Медленным не будет, так как устройства все неспешные -- электромоторы крутят реальные объекты немаленького размера, релешки перещёлкиваются и т п.
Когда именно устройства отвечают с задержкой (именно с задержкой, а не сами по себе медленные устройства), тогда и будет получаться - кнопку нажал и ощущаешь замедление. Еще как вариант - rs232 работает на скорости 100 бит в секунду, но таких давно не встречал
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: программировать шелесяки

Post by oshibka_residenta »

Не слушайте embedded инженеров - у них фантазии мало. Пишите на любом языке. Хоть на бейсике.
Я работал в компании стоимостью несколько миллиардов, где весь Production code - сотни мегабайт кода, управляющего железом, был написан на VB6.
User avatar
thinker
Уже с Приветом
Posts: 26871
Joined: 29 Aug 2000 09:01

Re: программировать шелесяки

Post by thinker »

oshibka_residenta wrote: 18 May 2018 02:43 Не слушайте embedded инженеров - у них фантазии мало. Пишите на любом языке. Хоть на бейсике.
Я работал в компании стоимостью несколько миллиардов, где весь Production code - сотни мегабайт кода, управляющего железом, был написан на VB6.
На Си наверняка заняло бы 2 МБ. :-)
All rights reserved, all wrongs revenged.
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: программировать шелесяки

Post by oshibka_residenta »

thinker wrote: 18 May 2018 03:03
oshibka_residenta wrote: 18 May 2018 02:43 Не слушайте embedded инженеров - у них фантазии мало. Пишите на любом языке. Хоть на бейсике.
Я работал в компании стоимостью несколько миллиардов, где весь Production code - сотни мегабайт кода, управляющего железом, был написан на VB6.
На Си наверняка заняло бы 2 МБ. :-)
Предлагаю не тянуть резину и сразу начать меряться зарплатой.
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: программировать шелесяки

Post by oshibka_residenta »

По теме: если язык без разницы, то c# - наше всё. И UI склепать, и в порт писать ( ссылку на SerialPort класс из .net framework здесь уже привели). Threads для long-running tasks тоже с пол-пинка делаются. C забыть как страшный сон.
User avatar
Dm.uk
Уже с Приветом
Posts: 5834
Joined: 12 Apr 2001 09:01
Location: нэподалеку от Ireland

Re: программировать шелесяки

Post by Dm.uk »

оба спорщика правы ^^

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

ЗЫ у меня самые занимательные проекты были при разработке ... чипов для смарт карт. Вот где голова должна была работать на все 300 %
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: программировать шелесяки

Post by oshibka_residenta »

Dm.uk wrote: 18 May 2018 10:39
ЗЫ у меня самые занимательные проекты были при разработке ... чипов для смарт карт. Вот где голова должна была работать на все 300 %
Кстати, это странно. Если мы говорим про те же смарт карт, то там бежит JavaCard OS и код пишется просто на Java. Или вы саму OS портировали под свой чип?
User avatar
Dm.uk
Уже с Приветом
Posts: 5834
Joined: 12 Apr 2001 09:01
Location: нэподалеку от Ireland

Re: программировать шелесяки

Post by Dm.uk »

смарткарты есть ... разные

я про те которые "живут" не более 450-500 милисекунд. Разумеется все кастомайзед (по раным причинам), никаких джавоэс
User avatar
Amirko
Уже с Приветом
Posts: 5199
Joined: 08 Jul 2002 09:36
Location: В глухой провинции, у моря...

Re: программировать шелесяки

Post by Amirko »

я думал что VB6 давно издох, оказывается его держат на плаву
Cheers,
Amirko

Return to “Вопросы и новости IT”