программировать шелесяки
-
- Уже с Приветом
- Posts: 5199
- Joined: 08 Jul 2002 09:36
- Location: В глухой провинции, у моря...
программировать шелесяки
Хочется управлять разными штуками, читать порты (сом и usb) и посылать в нихъ, потом над этим рисовать кнопочки и делать stand alone executables. Пока под Win 7x64. Как хобби. Железяки обычно с какими-то инструкциями, но без API. Кто знает что есть free/good? Ну или недорого. Язык без разницы, программировал в последний раз в начале 90-х, но конечно чем IDE легче тем лучше. Вот вижу M$ VC Community...как оно?
Cheers,
Amirko
Amirko
-
- Уже с Приветом
- Posts: 539
- Joined: 24 Mar 2004 07:31
- Location: Krasnoyrsk -> -> Chicago
Re: программировать шелесяки
передумал
Last edited by Vladimir Kr. on 17 May 2018 01:26, edited 1 time in total.
-
- Уже с Приветом
- Posts: 5834
- Joined: 12 Apr 2001 09:01
- Location: нэподалеку от Ireland
Re: программировать шелесяки
имхо прежде всего стоит перепрограммироватъ свой собственный мозгъ. эмбедщики, IC дезайнеры & co смотрят на всю эту Java-лабающую ш*аль как на ...ль.
Вы "с нами" или как ? (с) :-)))
Вы "с нами" или как ? (с) :-)))
-
- Уже с Приветом
- Posts: 6018
- Joined: 11 Mar 2011 05:36
Re: программировать шелесяки
из дешевого можно попробовать поискать тут https://www.adafruit.com. в принципе сайт заточен под raspberry, arduino и прочее. raspberry имеет и цифровые входа-выходы, и serial port.
но может быть и какой-нибудь serial port with LEDs или семисегментиком отыщется.
но может быть и какой-нибудь serial port with LEDs или семисегментиком отыщется.
-
- Уже с Приветом
- Posts: 6018
- Joined: 11 Mar 2011 05:36
Re: программировать шелесяки
не знаю кто на кого и как смотрит, но несколько лет назад Java не поддерживала serial port у нас один Java чудак покупал network-serial port адаптеры
когда попал на такое чудо, то нашел какую-то левую библиотеку. вообщем, я бы держался от Java подальше ...
-
- Уже с Приветом
- Posts: 5199
- Joined: 08 Jul 2002 09:36
- Location: В глухой провинции, у моря...
Re: программировать шелесяки
Так, яву вычеркиваем. Да, для ардуино и пи среды есть, и пи у меня даже и есть, но мне надо в данном случае для виндов. Что-то простое и дубовое должно быть.
Cheers,
Amirko
Amirko
-
- Уже с Приветом
- Posts: 1830
- Joined: 04 Mar 2002 10:01
- Location: Tampa
Re: программировать шелесяки
Несколько лет назад, помнится, был такой DDK, думаю, что и посейчас что-то такое есть. Я бы копал в этом направлении, если что.
https://en.wikipedia.org/wiki/Windows_Driver_Kit
Несите чушь бережно, стараясь не расплескать. Чушь хороша, когда она полная.
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: программировать шелесяки
Компании для управления железяками всё реже выбирают Windows. MS слишком часто предлагает доступ к гландам через. В принципе, для домашних упражнений в обстановке поближе к реальности есть хорошая альтернатива: Raspberry Pie. Оно и будет вашим устройством с Linux, можно с ним говорить хоть из Windows, и подключать к его портам что угодно, и работать по человечески, хоть через порт, хоть через файл устройства. Стоит штучка недорого. Набираете "buy raspberry pi".Amirko wrote: ↑16 May 2018 21:32 Хочется управлять разными штуками, читать порты (сом и usb) и посылать в нихъ, потом над этим рисовать кнопочки и делать stand alone executables. Пока под Win 7x64. Как хобби. Железяки обычно с какими-то инструкциями, но без API. Кто знает что есть free/good? Ну или недорого. Язык без разницы, программировал в последний раз в начале 90-х, но конечно чем IDE легче тем лучше. Вот вижу M$ VC Community...как оно?
И будет для Raspberry в Сети или на Youtube миллион инструкций, и любой практически сложности программы писать для, хоть на Питоне, хоть на C++/Qt.
Есть смысл и просто в Linux на вашем компутере, как что подключить к порту, тоже найдётся. Но вам же устройство какое-то автономное.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 6018
- Joined: 11 Mar 2011 05:36
Re: программировать шелесяки
.NET Framework имеет класс для serial port. Вот ссылка https://msdn.microsoft.com/en-us/librar ... .110).aspx - найти проще будет сложновато.
на месяц можете поставить Microsoft Visual Studio и все дела.
если serial port будет медленным, то тогда будут заметны задержки в UI. это тоже решаемо, но это другая проблема.
-
- Уже с Приветом
- Posts: 6018
- Joined: 11 Mar 2011 05:36
Re: программировать шелесяки
да он все время был ... так у меня руки до него и не дошли - задачи реальной не было.VovaK98 wrote: ↑17 May 2018 13:57Несколько лет назад, помнится, был такой DDK, думаю, что и посейчас что-то такое есть. Я бы копал в этом направлении, если что.
https://en.wikipedia.org/wiki/Windows_Driver_Kit
есть еще варианты, которые упрощают разбирательство, но тоже ими не пользовался.
-
- Уже с Приветом
- Posts: 5199
- Joined: 08 Jul 2002 09:36
- Location: В глухой провинции, у моря...
Re: программировать шелесяки
Я уже выше говорил что Pi у меня есть и я даже им пользовался, но для данной задачи он не годится. Суть в том что это только часть системы, коея состоит из разных компонентов и управляющих ими программулин, написанных не мной и все под Windows. Можно конечно из Виндовса лезть в Raspberry но не хочется умножать сущности без надобности. Система -- имеется в виду радиостанция любительская, используемая удаленно: нужно переключать антенны, крутить их, считывать информацию с усилителя, антенного тюнера и т п.Medium-rare wrote: ↑17 May 2018 16:01Компании для управления железяками всё реже выбирают Windows. MS слишком часто предлагает доступ к гландам через. В принципе, для домашних упражнений в обстановке поближе к реальности есть хорошая альтернатива: Raspberry Pie. Оно и будет вашим устройством с Linux, можно с ним говорить хоть из Windows, и подключать к его портам что угодно, и работать по человечески, хоть через порт, хоть через файл устройства. Стоит штучка недорого. Набираете "buy raspberry pi".Amirko wrote: ↑16 May 2018 21:32 Хочется управлять разными штуками, читать порты (сом и usb) и посылать в нихъ, потом над этим рисовать кнопочки и делать stand alone executables. Пока под Win 7x64. Как хобби. Железяки обычно с какими-то инструкциями, но без API. Кто знает что есть free/good? Ну или недорого. Язык без разницы, программировал в последний раз в начале 90-х, но конечно чем IDE легче тем лучше. Вот вижу M$ VC Community...как оно?
И будет для Raspberry в Сети или на Youtube миллион инструкций, и любой практически сложности программы писать для, хоть на Питоне, хоть на C++/Qt.
Есть смысл и просто в Linux на вашем компутере, как что подключить к порту, тоже найдётся. Но вам же устройство какое-то автономное.
Всё это в Raspberry никоим образом не лэзэт.
You do not have the required permissions to view the files attached to this post.
Cheers,
Amirko
Amirko
-
- Уже с Приветом
- Posts: 5199
- Joined: 08 Jul 2002 09:36
- Location: В глухой провинции, у моря...
Re: программировать шелесяки
спасибо погляжу. Да, надо наверное копать со стороны API а не среды разработки, поскольку мне на данном этапе неважно на чём написано.VovaK98 wrote: ↑17 May 2018 13:57Несколько лет назад, помнится, был такой DDK, думаю, что и посейчас что-то такое есть. Я бы копал в этом направлении, если что.
https://en.wikipedia.org/wiki/Windows_Driver_Kit
Cheers,
Amirko
Amirko
-
- Уже с Приветом
- Posts: 5199
- Joined: 08 Jul 2002 09:36
- Location: В глухой провинции, у моря...
Re: программировать шелесяки
Попробую! Медленным не будет, так как устройства все неспешные -- электромоторы крутят реальные объекты немаленького размера, релешки перещёлкиваются и т п.DropAndDrag wrote: ↑17 May 2018 16:43.NET Framework имеет класс для serial port. Вот ссылка https://msdn.microsoft.com/en-us/librar ... .110).aspx - найти проще будет сложновато.
на месяц можете поставить Microsoft Visual Studio и все дела.
если serial port будет медленным, то тогда будут заметны задержки в UI. это тоже решаемо, но это другая проблема.
Cheers,
Amirko
Amirko
-
- Уже с Приветом
- Posts: 427
- Joined: 08 May 2001 09:01
Re: программировать шелесяки
Для RS-232 нет ничего проще:
куски выдернуты из старого проекта - возможно даже скомпилится.
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
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.
-
- Уже с Приветом
- Posts: 427
- Joined: 08 May 2001 09:01
Re: программировать шелесяки
Кста, для 64 бит драйвера подписывать МС сертификатом надо, иначе винда их только в дебаг моде загружать согласится, а в 10-ке и так откажется, только с F8 и Disable signature enforcement...
Если всеж хочется поиграть в ядреного девелопера, вот интересный проект взамен WinUsb.sys
https://github.com/daynix/UsbDk
Если всеж хочется поиграть в ядреного девелопера, вот интересный проект взамен WinUsb.sys
https://github.com/daynix/UsbDk
-
- Уже с Приветом
- Posts: 5199
- Joined: 08 Jul 2002 09:36
- Location: В глухой провинции, у моря...
Re: программировать шелесяки
да вроде драйвера выпиливать не планируется пока, хотел использовать имеющиеся (например виртуальный компорт Icom'а который работает через USB) и стандартные. Посмотрим как пойдёт. Спасибо за подсказки.IPoloz wrote: ↑17 May 2018 18:55 Кста, для 64 бит драйвера подписывать МС сертификатом надо, иначе винда их только в дебаг моде загружать согласится, а в 10-ке и так откажется, только с F8 и Disable signature enforcement...
Если всеж хочется поиграть в ядреного девелопера, вот интересный проект взамен WinUsb.sys
https://github.com/daynix/UsbDk
Cheers,
Amirko
Amirko
-
- Уже с Приветом
- Posts: 6018
- Joined: 11 Mar 2011 05:36
Re: программировать шелесяки
Когда именно устройства отвечают с задержкой (именно с задержкой, а не сами по себе медленные устройства), тогда и будет получаться - кнопку нажал и ощущаешь замедление. Еще как вариант - rs232 работает на скорости 100 бит в секунду, но таких давно не встречал
-
- Уже с Приветом
- Posts: 4435
- Joined: 13 Feb 2002 10:01
- Location: Bay Area
Re: программировать шелесяки
Не слушайте embedded инженеров - у них фантазии мало. Пишите на любом языке. Хоть на бейсике.
Я работал в компании стоимостью несколько миллиардов, где весь Production code - сотни мегабайт кода, управляющего железом, был написан на VB6.
Я работал в компании стоимостью несколько миллиардов, где весь Production code - сотни мегабайт кода, управляющего железом, был написан на VB6.
-
- Уже с Приветом
- Posts: 26871
- Joined: 29 Aug 2000 09:01
Re: программировать шелесяки
На Си наверняка заняло бы 2 МБ.oshibka_residenta wrote: ↑18 May 2018 02:43 Не слушайте embedded инженеров - у них фантазии мало. Пишите на любом языке. Хоть на бейсике.
Я работал в компании стоимостью несколько миллиардов, где весь Production code - сотни мегабайт кода, управляющего железом, был написан на VB6.
All rights reserved, all wrongs revenged.
-
- Уже с Приветом
- Posts: 4435
- Joined: 13 Feb 2002 10:01
- Location: Bay Area
Re: программировать шелесяки
Предлагаю не тянуть резину и сразу начать меряться зарплатой.thinker wrote: ↑18 May 2018 03:03На Си наверняка заняло бы 2 МБ.oshibka_residenta wrote: ↑18 May 2018 02:43 Не слушайте embedded инженеров - у них фантазии мало. Пишите на любом языке. Хоть на бейсике.
Я работал в компании стоимостью несколько миллиардов, где весь Production code - сотни мегабайт кода, управляющего железом, был написан на VB6.
-
- Уже с Приветом
- Posts: 4435
- Joined: 13 Feb 2002 10:01
- Location: Bay Area
Re: программировать шелесяки
По теме: если язык без разницы, то c# - наше всё. И UI склепать, и в порт писать ( ссылку на SerialPort класс из .net framework здесь уже привели). Threads для long-running tasks тоже с пол-пинка делаются. C забыть как страшный сон.
-
- Уже с Приветом
- Posts: 5834
- Joined: 12 Apr 2001 09:01
- Location: нэподалеку от Ireland
Re: программировать шелесяки
оба спорщика правы ^^
прежде всего железячник должен уметь ... мух от котлет :-)
Например какое-либо пром оборудование, стоит себе "в шкафу", жри хоть мегаваты, плюс вентиляторы тебя обдувают, кому какое дело, лабай хоть на вижбэйсике.
И совсем другое дело когда у тебя небольшое портативное устройство и батареи хватает всего на ...
ЗЫ у меня самые занимательные проекты были при разработке ... чипов для смарт карт. Вот где голова должна была работать на все 300 %
прежде всего железячник должен уметь ... мух от котлет :-)
Например какое-либо пром оборудование, стоит себе "в шкафу", жри хоть мегаваты, плюс вентиляторы тебя обдувают, кому какое дело, лабай хоть на вижбэйсике.
И совсем другое дело когда у тебя небольшое портативное устройство и батареи хватает всего на ...
ЗЫ у меня самые занимательные проекты были при разработке ... чипов для смарт карт. Вот где голова должна была работать на все 300 %
-
- Уже с Приветом
- Posts: 4435
- Joined: 13 Feb 2002 10:01
- Location: Bay Area
Re: программировать шелесяки
Кстати, это странно. Если мы говорим про те же смарт карт, то там бежит JavaCard OS и код пишется просто на Java. Или вы саму OS портировали под свой чип?
-
- Уже с Приветом
- Posts: 5834
- Joined: 12 Apr 2001 09:01
- Location: нэподалеку от Ireland
Re: программировать шелесяки
смарткарты есть ... разные
я про те которые "живут" не более 450-500 милисекунд. Разумеется все кастомайзед (по раным причинам), никаких джавоэс
я про те которые "живут" не более 450-500 милисекунд. Разумеется все кастомайзед (по раным причинам), никаких джавоэс
-
- Уже с Приветом
- Posts: 5199
- Joined: 08 Jul 2002 09:36
- Location: В глухой провинции, у моря...
Re: программировать шелесяки
я думал что VB6 давно издох, оказывается его держат на плаву
Cheers,
Amirko
Amirko