RStorage - каталог деталей и устройств.

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



Потихоньку в свободное от работы время пишу программку, которая позволила бы следующее в базовом варианте:
а) Полный каталог того, что у меня есть в наличии.
б) Список устройств, которые я собирал/планирую собирать. В списке — детали и их количество, требуемое для сборки. Назначение — я ввожу количество изготавливаемых единиц, мне автоматом формируется список чего нужно докупить, чего есть.
в) Централизация даташитов и прочего. google.com и alldatasheets.com это, конечно, круто и хорошо, но каждый раз туда лезть — бесит. Более того, даже если файл сохранен локально, все равно после поиска по каталогу так или иначе его нужно найти среди кучи сохраненных даташитов. А так, нажал кнопочку — опа, окошко PDF вьювера с даташитом для нужной датальки.
г) Список вообще доступных компонентов от всех производителей. Это дело как-то нужно наполнять, в одиночку это бесполезный труд и трата времени. Поэтому — онлайн-репозиторий модерируемый.
Информация по детали такая:
— Тип детали (резюк, микруха, кондер, чего-то там еще).
— Название детали. Именно то название, которое везде значится в магазинах.
— Количество в наличии.
— Расположение (для кассетниц или прочего — номер ячейки, номер ящичка, или вообще «синий пакетик у бабы Клавы в комоде», лишь бы пользователю было понятно где оно находится).
— Маркировка. Актуально для SMD даталек, чтобы не лезть потом в еще одну прогу и искать «а что это значит?».
— Дополнительная информация (для резистора — сопротивление и точность, для кондера — тип, номинал и так далее).
— Тип корпуса.
— Корпус.
— Данные для закупки в любимом магазине.
— Путь к файлу даташита.

Собственно это то, чего мне не хватает в повседневной жизни. Что сейчас есть? Детальки можно создавать и добавлять в бибилиотеку, саму либу можно сохранять как в XML и править потом ручками, либо в бинарный файл. В ближайших планах перейти полностью на БД (тот же SQLite), так как это быстрее и удобнее, но сохранение в XML и бинарник оставить. Гуёвого интерфейса нету пока (по MVC системе пока только Model и Controller и «вьюха» для тестов, которая никак не юзабельна). Для детальки еще и показывается корпус, а не только пишется, картинки сохраняются вместе с основной информацией. Недели 2 назад нашел свободный встраиваемый вьювер PDFок, потому вот хочу еще прикрутить показ даташита для детальки. Но опять же, все пока сырое донельзя, выкладывать в сообщество ТАКОЕ я пока не буду (ибо даже не альфа).

В будущем до чего хочется развиться:
а) Центральный сервер с полным каталогом всех даталей с полной базой для них. Т.е. футпринты, значки, параметры, даташиты, и так далее. Каталог пополняется самими пользователями по желанию и модерируется, дабы избежать дублирования и заведомо ложной информации.
б) Полностью оффлайн-работа. Т.е. на сервере можно отметить только то, что нужно, скачать, и использовать оффлайн. Не у всех в наше время хороший интернет, да даже и у кого хороший — оффлайн приложение в данной ситуации более хороший вариант.
в) Библиотеку компонентов можно экспортировать в любой формат библиотек CAD систем — для орла, для альтиума того же и т.д… SprintLayout не рассматриваю — для него и так есть библиотеки всех корпусов, а делать в нем что-то сложное без вагона времени, нервов и черного пояса по дзен весьма затруднительно.
г) Красивый интерфейс, в котором даже новичку будет разобраться просто.
д) Печать списка требуемых для закупки материалов в нормальном виде, чтобы прийти в магазин, дать бумажку и ждать заветный пакет. Сейчас пока я это все делаю вручную — записываю чего нет, иду в магазин и там уже по названию подбирают. Сейчас уже, правда, перехожу в сторону онлайн-заказа, но список на бумаге все равно имеется.
Ну или как вариант, экспорт списка с XLS, чтобы по нему уже онлайн-заказ сформировать было.
Ну, плюшки в виде поиска и прочего даже упоминать не буду — без них совсем не то будет.

Собственно, пока не совсем заглубился в это все дело вопросы:
1) Таких программ нет? я искал и не нашел, а что нашел — было, мягко говоря, не удобно. Там писалось под себя, и так как что-то вышло, выложено в интернет. Но интерфейс там такой, что впору приводить в качестве эталона «как можно запутать пользователя в 3х соснах». Знакомые предлагали для таких целей использовать 1С-ку, но что-то мне не хочется изучать эту платформу для этой задачи — слишком трудозатрано выходит. Да и тянуть кучу лишнего + проприетарный софт, который просто так, по идее, не выложить.

2) Каковы будут предложения? Создавать какой-то свой CAD или прочее я не хочу. Их куча готовых, создавать еще-одно-но-с-шахматами-и-поэтессами не хочу. Время жалко :) Просто хочу программу, которая позволила бы упростить жизнь в таких бытовых вещах, и не только при сборке, но и при проектировании. Т.к. поиск по параметрами среди ВСЕХ деталей вещь приятная. Те же транзюки — пока найдешь подходящий в данную фен-шуй ситуацию, так можно возненавидеть каталоги. А единый каталог — это круто. Вбил требования и вот тебе список — лепота :) Ну и, если будет востребовано, — то почему бы не расшарить для людей :) Авось кто и отблагодарит.

P.S. За пунктуационные ошибки и грамматику извиняйте — голова болит, а мысль донести хочется :)

Комментарии (40)

RSS свернуть / развернуть
Ну так а где результат можно увидеть? Интересно ведь!
П.С. Сам для этих целей LibreOffice Calc (aka Excel) использую, чувствую что на долго хватит его.
0
Ну, выше написал, что пока не покажу — сделаю чуть более адекватным и выложу :) Через недельку надеюсь очень черновой вариант выложу, пока просто хотелось бы услышать мнение о планируемом функционале, может чего упустил из виду, или чего лишнее есть. На лишнее не особо-то хочется тратить время. Но на что-то юзабальное не рассчитывайте :)
0
Насчет даташитов. Если они будут централизовано хранится на ВСЕ детали, то это может занять очень много лишнего места. Как вариант можно просто ссылки на них делать.
Список вообще доступных компонентов от всех производителей — я думаю была бы полезна в виде отдельной программы. Но что там смотреть в списке, если очень много деталей купить нереально в магазинах?
Футпринты, прикрепленные к каждой детали — вот чего мне сильно не хватает. И даже в виде обычного чертежа сойдет.
+1
Если будет юзабельно и много настроек интерфейса, то пригодится многим.
0
Тут как раз суть в том, чтобы человек качал именно те библиотеки, которые ему нужны. Например, я использую у себя в 90% случаев SMD кондеры и резисторы (когда по мощности подходят), а так же МКшки от Atmel и STMicroelectronics. Те же Alter'овские я не использую, PIC'и от Microchip аналогично, да и много чего еще :) Так что это изначальная фича — выбрать ровным счетом только то, что нужно.

По поводу даташитов думал, может выйти очень много места, да. Но вот по ссылкам дело такое… Они и отваливаются, и меняются бывает. Хотя идея в общем-то здравая. Можно вообще сделать банально по содержимому стрингового поля — начинается на http:\\ — открывается браузер. Иначе — ищется PDF-ка) если пусто — ничего не ищется. Можно сделать еще лучше — человек сам добавит вручную даташит на нужный ему элемент. Например, ATmega128 я не использовал и не использую — хватает. Ходовые — mega8 и mega16, на них можно запилить, на остальные не нужно. STM32 — F1xx использую, выше нет — потому вот так :)

В общем, я за гибкость. Тем более, что это не так сложно реализуется.

А вот по поводу настроек интерфейса — что имелось ввиду? Скины, перетаскивание кнопок? :)
0
Я имел в виду гибкость интерфейса. Перетаскивание кнопок, добавление/удаление менюшек, инструментов, сортировки разные и так далее…
0
В первой версии пока заморачиваться на это особо не буду, но в принципе нет ничего нереализуемого :) Надеюсь, к следующему воскресенью что-то покажу. Аль в эти выходные даже.
0
По поводу PDF-ок — я бы сделал, чтобы сперва оно искало по имени детальки файл в указанных папках с локальными даташитами, а не найдя — перекидывало в како-нить поисковик (по выбору пользователя). Привязывать вручную даташит к каждой детальке нудное занятие.
+1
Как вариант. Тогда можно и автоматизировать поиск малость — после первого нахождения запомнить файл даташита и потом его показывать сразу. Просто когда файлов много накопится, поиск может занять значительное время, а каждый раз — это начало бы раздражать.
0
Ах да, забыл написать: пишу на шарпе. Просто из-за скорости разработки, и того, что пока в первую очередь под личные нужды делаю. Там это все очень удобно. Но если надо будет — можно будет перейти на C++\Qt. Пока же думаю скорость разработки более приоритетная (да и C# я получше знаю ввиду профессии).
0
У меня простая БД в MS Access. У каждой позиции порядковый номер, полное наименование, количество, состояние (нов или б/у) примечание. И коробки, где валяются пакетик с наклеенными порядковыми номерами. Если какая-то позиция закончилась, то на ее место кладется что-то другое и правится в базе.

В БД есть так же запросы на нужный вид деталей — конденсаторы, резисторы и т.п.

Пока хватает такого. А у вас идея очень даже нужная… Особенно в комплексе с проектами.
+1
А, еще есть поле «Производитель».
0
Поле в процессе добавить вполне можно. Кстати да, стоит внести. Заодно и библиотеки делать по производителям, а не типу детальки. Хотя, и то и то верно (резюки производят многие фирмы, а смысл один. Искать резюк по производителю, на мой взгляд, не удобно :))

О БДшке для себя думал, но решил, что лучше уже программу с расширенным функционалом, хотя это и сложнее (и затратнее по времени гораздо).

На следующее тоже сюда отвечу — экспорт/импорт сторонних баз пока очень отдаленная цель. На сколько знаю, форматы закрыты, а у меня опыта в разборе форматов нет. Да и если это еще не сделал никто, то врядли у меня вот так сходу выйдет :) Но да, хотелось бы. Было бы удобно.
0
Я может чего-то непонимаю, но я подразумевал экспорт в обычную базу данных типа того же MS Access. Это же возможно?
Т.е экспортируется в базу данных *.xls или *.mdb и подключается в Альтиуме. В этой БД каждая строка — компонент с указанием на альтиумовские библиотеки с УГО, посадочным(и) местом(ами) и другой информацией вплоть до ссылки на даташит. Подключив, можно использовать эти компоненты в схемах.
0
Ааа, в XLS можно перегнать вроде. За MDB не могу сказать, надо смотреть. Колонки то уже дело такое :)
0
Ну вот. Если будет возможность добавлять в вашу базу поля (спец поля для Альтиума) и экспортировать хотя бы в XLS, то будет вполне хорошо.
0
Можно сей вопрос будет опробовать. Поставлю Альтиум на выходных.
0
Будут вопросы, пишите — разберемся. И вот статейка: we.easyelectronics.ru/CADSoft/bd-biblioteki-dlya-altium-designer.html
0
Библиотеку компонентов можно экспортировать в любой формат библиотек CAD систем — для орла, для альтиума того же и т.д…

Кстати, неплохо было бы связать базу данных делатей для AD и вашу базу.
Получилась бы библиотека только имеющихся деталей.
+1
Парочка вопосов по коду.
1) Какой компонент PDF-вьювера используется?
2) Планируется ли опенсорс?
0
  • avatar
  • Vga
  • 23 мая 2014, 01:31
1) Пока что-то определенное сказать не могу. Список, в принципе, в этой статье — надо смотреть и пробовать. Но там по созданию PDF, а у меня — просто показ. Попробую и сообщу.
2) Да, планируется. Начальные стадии, как сейчас, пока относительно закрыты, но в будущем — мне не жалко, будут исходники открыты.
0
Ты же скахал «Недели 2 назад нашел свободный встраиваемый вьювер PDFок». Какой именно?
0
Да вот конкретно его посеял в дебрях винта. Искал вчера — не нашел. Кинул ссылку на «одни из вариантов». Если найду — сообщу :)
0
Сделал нечто подобное только на linux+apache+mysql+php. Тоже что и у вас только без даташитов (идея отличная, надо будет прикрутить). Работает понятно через браузер.
Проблема в том, что лениво каждый приход забивать (притом что есть импорт из csv). Да и вообще лениво.
0
Лениво то да, но это автоматизировать простыми путями не удастся. Еще более лениво вести все это на бумаге. Тем более бумага такая штука, что имеет свойство заканчиваться быстро, теряться, мяться и прочее. Ну и ворох бумаг — это неудобно. Там заметки, там схемки, там расчеты, там вон список, там еще что-то… :)

Я веб-тип в качестве основы откинул сразу, так как обособленное приложение гораздо удобнее: поставил его одно и все. И настроек дополнительных не нужно никаких.
0
Такая конфигурация обусловлена конфигурацией вычислительных средств дома. Тем более если все равно на компе уже есть все и нужно только дописать пару-тройку страниц на пыхе. Не теряю надежды выставить свой сервер наружу и тогда можно поддерживать актуальность базы например с работы.
Я во главу угла поставил в первую очередь клиент-серверную архитектуру, чтобы можно было иметь доступ с разных компов. А лучший клиент это браузер.
0
В этом плане да, согласен с Вами.
0
Идея отличная!
Было бы здорово сделать хотя бы хранилище футпринтов, УГО (всяких моделек) для разных CAD'ов, чтобы заново ничего не рисовать, а брать готовое и добавлять своё. Даташиты можно хранить при помощи торрентов, т.к. программа клиент запущена постоянно (можно файлы даташитов убрать подальше от пользователя, чтобы не удалял). У всех пользователей системы должно быть право на изменения любого даташита, чтобы удалять неактуальные версии и тп. Причем клиент должен отследить этот момент и если у пользователя есть старая версия даташита — скачать через торрент новую и заменить. Ко всяким моделькам для CAD'ов можно добавить рейтинг и комментарии. Изменять модельки могут только те, кто их загрузил. Дубликаты удалять не нужно, просто сортируем по рейтингу, а система сама их удалит, если рейтинг опустится ниже порога. Имеет смысл оповещать пользователя о том, что модельки, которые он юзает обновились и предложить скачать новые.
Как-то так.
+1
Я считаю, что рейтинговую систему стоит делать только на сайте, а локально иметь только один файл определенной версии. Много разных версий файлов зачем?) А вот с p2p сестью это годно!
0
Ага, в хранилище дофига одинаковых компонентов от разных людей, а локально сохраняешь себе тот, который понравится. Пока не поздно имеет смысл на Java переписать, к счастью она похожа на C#, бородатых линуксоидов нельзя стороной обходить, а моно бяка та еще.
0
За Mono — вообще не знаю зачем оно существует. А Java… у нас с ней не сложилось :) Раза 4 брался изучать, и все 4 раза плюясь от ее бросал. Ну не нравится она мне никак, хотя и сходна по смыслу с C#, да и по синтаксису тоже. Продукты на Java, что использовал, мне очень не нравятся. Сразу заметно, что «сие написано на Java». Так что если и Linux, то, C++\Qt.

Вообще тема языка такая… Можно было бы и на том же питоне + интерпретатор, собрать под разные платформы и жить в добре. Так вроде Sublime Text сделан. И он классный! Вот это мне больше по душе. Тем более питон все никак не возьмусь изучать.
0
Сразу заметно, что «сие написано на Java».
Вообще-то, все сильно зависит от конкретного продукта. И да, есть миллионы сайтов на жабе и, что характерно, зачастую сказать, что они писаны именно на ней сложно.

А Java… у нас с ней не сложилось :) Раза 4 брался изучать, и все 4 раза плюясь от ее бросал.
«Вам не нравится Java? Вы просто не умеете ее готовить.»

P.S. сколько-нибудь сложный enterprise софт пишется почти исключительно на жабе. и на то есть свои причины.
0
Именно, ее нужно правильно готовить. А для этого нужен опыт. Откель я ж его возьму, если мне ее, жабу, надо сначала изучить? :) Да и я говорил не сколько за сайты, сколько за программы. Хотя сайты тоже нередко замечаю, чего уж там. Обычный софт — тот же Eclipse мне никак не нравится. И пользуюсь его сборкой для ARM, скрипя душой, но готовлюсь перейти на IAR. Ну вот не нравится оно мне, вообще никак :)

Entrprise софт пишется на яве часто, да. Те же банки ее только и используют (по крайней мере у нас, в Украине).

Я не хочу сказать, что Ява плохая, не пишите на ней и так далее. Просто у меня с ней антипатия, как и с Паскалем/Делфи. И использовать ее по этой причине не хочу — я не мазохист же :)
+1
AD + его библиотека на основе БД. Можно забить свои поля под наличие, расположение, параметры и лазить в табличку как в самом AD, так и аксессом. Плюс, можно прям во время рисования схемы видеть наличие и в процессе корректировать номиналы/компоненты. Прицепление даташитов, линка на описание — штатная функция, каталоги тоже встроены — диджикей, маусер. Есть плагин к октопарту.
Вот чего не хватает — резервирование компонентов под определенный проект. Приходится заводить фейковый «склад» и перекидывать туда чтобы было видно именно свободное наличие. Но у этого есть огромный минус — если в работе несколько проектов, все валится в кучу, что бардак. Заводить по новому «складу» под каждый проект — тоже не очень.
+1
AD я не знаю практически полностью — пользуюсь орлом постоянно. Пробовал перейти, но решил, что лучше оставить время потом, чтобы основательно в нем все везде рассмотреть. Поэтому таких подробностей не знал. Интересно, однако.
0
А быть может, есть смысл поизучать возможности библиотечных программ? то есть программ для бумажных и электронных библиотек? Там есть функционал учёта хранения и выдачи, заказа и резервирования, оплаты, каталогизации, поиска, сортировки, возможно непосредственное отображение электронных документов. Справочные данные компонентов можно отображать на экране, с самими компонентами можно обращаться как с бумажными книгами, т. е. как с материальными предметами хранения.
Есть программы с открытым кодом, на разных языках. Можно переписывать, добавлять функциональность.
Это пока только идея из разряда «ну а если?».

en.wikipedia.org/wiki/Library_catalog
en.wikipedia.org/wiki/List_of_next-generation_library_catalogs
en.wikipedia.org/wiki/Digital_library
en.wikipedia.org/wiki/Library_computer_system
en.wikipedia.org/wiki/Integrated_library_system
en.wikipedia.org/wiki/List_of_digital_library_projects
0
Смотрел в сторону их, как попал, но что-то не захотелось с ними возиться. Пару проектов посмотрел, и решил, что быстрее будет написать свое на шарпе. Я уже отписался ниже, пока самое большое совпадение — проект EleLa, его и гляну. Если полностью подходит — может вольюсь в их команду и помогу, чем смогу :) Хотя бы локализацией на русский (сам я учил и немецкий и английский языки) :)
0
EleLa не находил. Возможно ее стоит локализовать и дело в шляпе. Надо попробовать. Спасибо! Искал несколько иначе, поэтому на нее и не попал видимо. Попадались нашенские поделки, которые врядли юзабельными можно назвать.
0
Использую для этих целей MediaWiki. Одна страница с компонентами, записи вида

* 10x STM32F100C8T6B DS HW RM0041
* 30x NCP1402SN33T1G Step-Up 3.3V 200mA SOT23-5 DAGRSX DS

Т.е. информация в произвольном виде, например: количество, наименование, основные характеристики (обычно это урезанная первая строчка из даташита), маркировка (болдом), линки на ресурсы. Планирую сделать кучу пронумерованных ящичков и тут же записывать, где данная позиция хранится. Поиск делается просто браузером по странице.

Есть подобная страница с оборудованием. Если у устройства есть что дополнительно описать, то для него отдельная страница, слинкованая на общую. По странице для каждого проекта — с мыслями о реализации и линками на даташиты, форумы, етц.
0
  • avatar
  • dev
  • 25 мая 2014, 16:33
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.