LINUX.ORG.RU

Есть ли дешёвый GPIO для COM или USB порта?

 , , , ,


2

1

Нужно через реле включать и отключать питание к нескольким устройствам и отслеживать несколько кнопок.

Желателен конечно COM порт ввиду надёжности, но сойдёт и USB.

Естественно устройство должно работать в linux на обычном настольном компьютере и обязательно так что бы функционал можно было использовать в bash сценариях.

☆☆☆

Последнее исправление: rezedent12 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Давай не будем скатываться в оффтопик, а ты сам изучишь интернеты и выберешь наиболее подходящий тебе проект с веб-мордой, благо их там повыше колена.

Да, я там покопался: аж глаза разбегаются... Можно будет что-нибудь более-менее подходящее стащить, подправить под свои нужды и юзать.

И ТС, кстати, тоже мог бы действительно на основе этого чипа свою дрыгалку собрать. При необходимости к нему всегда можно подсоединить «расширитель GPIO» по i2c или SPI.

anonymous
()
Ответ на: комментарий от anonymous

Ну вообще ТСу тоже может понадобиться веб-интерфейс, например чтобы удалённо менять прошивку по мере совершенствования ПО обслуживания кнопок.

При необходимости к нему всегда можно подсоединить «расширитель GPIO» по i2c или SPI.

Лучше подключить другой ESP-8266, а лучше нескоко. Выйдет не намного дороже, зато можно будет реализовать высоконадёжный клавиатурный кластер с горячим резервом и балансировкой нагрузки.

anonymous
()
Ответ на: комментарий от anonymous

и своя единственная и неповторимая библиотека. Никуда не переносимая за пределы этого всего

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

МК часто используют для приложений реального времени, поди посчитай сколько тактов занимает тот или иной кусок написанный на ардуйне. Заодно посчитай сколько ресурсов он ест.

Как gcc выдаст, так и будет. Такой же результат будет, если gcc не из ардуиновой ИДЕ запускается, а кульхацкером из мейкфайла.

Вы эту Ардуино-то вообще видели-пробовали?

mv ★★★★★
()
Ответ на: комментарий от mv

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

Да-да, вот для ESP-8266 есть, как выше обсуждалось. Но вот ты возьми код, который ты написал для ардуйни и попробуй использовать его в нормальном проекте без этой монструозной либы. И обнаружишь, что его проще заново написать.

Кстати, из-за неё нормальных сишных либ фиг найдёшь теперь - весь гугл завален этой ардуйнёй.

Как gcc выдаст, так и будет. Такой же результат будет, если gcc не из ардуиновой ИДЕ запускается, а кульхацкером из мейкфайла.

Ардуйня - это в первую очередь прожорливая библиотека, из чего бы ты её не вкомпилировал.

Вы эту Ардуино-то вообще видели-пробовали?

А ты сам как думаешь?

anonymous
()
Ответ на: комментарий от anonymous

Ардуйня - это в первую очередь прожорливая библиотека, из чего бы ты её не вкомпилировал.

Ардуино - это в первую очередь atmega, а библиотеками и ИДЕ пользоваться никто не заставляет. Любимый редактор+GCC+avrdude и ваши волосы в полном порядке.

nipper
()
Ответ на: комментарий от anonymous

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

Я так и делал, когда платы под рукой не было: скопипастил код в буфер Емакса, написал main(), продолжал ковырять дальше и проверять на ноутбуке.

Ардуйня - это в первую очередь прожорливая библиотека, из чего бы ты её не вкомпилировал.

Отлично. Для меня - неимоверное количество разных шилдов с готовой поддержкой в софте. Экономией байтов 20 лет назад на Z80 наелся.

А ты сам как думаешь?

Да хз.

mv ★★★★★
()
Ответ на: комментарий от anonymous

Средой можно не пользоваться. Полно проектов которые просто на Makefile и пачка .c файлов без зависимости от библиотеки.

slapin ★★★★★
()
Ответ на: комментарий от mv

Я так и делал, когда платы под рукой не было: скопипастил код в буфер Емакса, написал main(), продолжал ковырять дальше и проверять на ноутбуке.

Я написал: «без этой монструозной либы». Не без ГУЯ, а без либы этой.

Отлично. Для меня - неимоверное количество разных шилдов с готовой поддержкой в софте. Экономией байтов 20 лет назад на Z80 наелся.

Если так нужна разнообразная периферия и не хочется экономить байты и не нужен рилтайм - тут наверное уместнее задуматься о приобретении смартфона или планшета. Дешевле выйдет.

anonymous
()
Ответ на: комментарий от slapin

Средой можно не пользоваться. Полно проектов которые просто на Makefile и пачка .c файлов без зависимости от библиотеки.

Не верю! Не, я просто не верю в это! Там же даже ножки дёргаются через специальные библиотечные методы!

anonymous
()
Ответ на: комментарий от nipper

Судя по стонам про страшную и мерзкую библиотеку если и знали то забыли.

Да нет, ты просто не в курсе темы обсуждения. Выше постулат такой был выдвинут - что мол надо сначала ардуйнёй пострадать, а потом уже МК начинать изучать. Вот в чём дело, понимаешь. Я даже частично согласен, что изучение ардуни не имеет отношения к изучению программирования МК. Но мы никак не можем определить, а какой же вообще, значится, смысл ардуйню-то это бешеную изучать? Не лучше ли изучать нормальные ЯП с нормальными либами - може потом пригодится для чего. А ардуйня - она же точно ни для чего не пригодится, ей же только бакалаврам мозги засирать чтобы они думали что они умеют программировать микроконтроллеры.

anonymous
()
Ответ на: комментарий от anonymous

Да нет, ты просто не в курсе темы обсуждения.

Тогда извини, это значит я после работы торможу. Так то я согласен полностью, но сами модули вещь удобная когда плату лень раводить, а всякие микро и нано еще и в паельку дип40 отлично входят.

Ну, кроме бакалавров есть еще всякие дизайнеры, они тоже хотят себя умными чувствовать.

nipper
()
Ответ на: комментарий от anonymous

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

Это обычный C++ с ещё одним своим мелким рантаймом. Тыщи их. Но язык - C++. Можно, на С писать.

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

mv ★★★★★
()
Ответ на: комментарий от nipper

панельку дип40

Да сдохнут дипопоклонники!!! 0.5мм LQFP элементарно паяется мини-волной! Хоть 100 ног, хоть 200!

anonymous
()
Ответ на: комментарий от mv

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

Только если они используют это как мы васик в свое время пользовали. А если останутся на этой ардуйне, то лучше этих деток в расход пустить...

anonymous
()
Ответ на: комментарий от anonymous

Да сдохнут дипопоклонники!!! 0.5мм LQFP элементарно паяется мини-волной! Хоть 100 ног, хоть 200!

Это если плату разводить и травить (заказывать) не лень, тогда паяется, а всякую фигню проще и быстрее на макетке спаять.

nipper
()
Ответ на: комментарий от anonymous

Пиши на C, прямо в среде можно даже. И библиотека без надобности. Посмотри хоть как народ фирмвари для 3D-принтеров пишет.

slapin ★★★★★
()
Ответ на: комментарий от slapin

Пиши на C, прямо в среде можно даже. И библиотека без надобности.

Но ардуйня-то зачем нужна в таком случае?

Посмотри хоть как народ фирмвари для 3D-принтеров пишет.

А что, он как-то по-особенному их пишет? Не как все остальные?

anonymous
()
Ответ на: комментарий от slapin

Я так и делаю в большинстве случаев, ибо все равно даташит читать надо по каждому вопросу...

anonymous
()
Ответ на: комментарий от slapin

Посмотри хоть как народ фирмвари для 3D-принтеров пишет.

Так писать нельзя. Ты еще китаезов вспомни с их жесточайшим кодом... Особенно прикольно, когда они делают разводку ПП по принципу «покороче бы соединить, да попроще», что в итоге приводит к тому, что тот же I2C, который и есть на борту, приходится эмулировать ногодрыгом. Идиоты, блин.

Вот тебе и разница между нормальным подходом и подходом абдуринщиков.

anonymous
()
Ответ на: комментарий от anonymous

Посмотри хоть как народ фирмвари для 3D-принтеров пишет.

Так писать нельзя.

Вы прямо заинтриговали. Что они такое там пишут?

Вообще на фоне стоимости и потребления 3D-принтера там наверное уже нет особенного смысла заморачиваться с микроконтроллером, не проще ли Pi использовать для таких приложений?

anonymous
()
Ответ на: комментарий от anonymous

Arduino это не только среда, но и дешевая платка с мелкоконтроллером. Хочешь - используешь ардуино-библиотеку, хочешь - обращаешься как с обычной отладкой на микроконтроллере. От тебя ничего не прячут. Arduino mega2560 делают все кому не лень, стоит оно $1-$5, если нужно что-то мелкое сделать, проще всего свою разработку делать в виде шилда к этой штуке, сильно ускоряет такие вещи. Софт можно писать как угодно. Писателей 3D-принтерных фирмварей не устраивает родная библиотека, и чаще всего они работают с регистрами напрямую или пишут свою обвязку, более оптимальную для таких методов работы. Самые популярные платформы для 3D-принтеров reprap (да и коммерческих часто тоже) - Arduino mega2560 и Beaglebone black. Первый в десятки раз дешевле.

slapin ★★★★★
()
Ответ на: комментарий от anonymous

Что они такое там пишут?

То, что явно нельзя в открытый доступ выкладывать, ибо быдлокодище жесточайший!

не проще ли Pi использовать для таких приложений?

Управлять шаговиками непосредственно с «малинки» можно, но геморно. И риалтаймовости точно никакой не будет, т.к. ШИМ есть только на одном-двух выходах, а движков аж четыре + еще ШИМ нужен для подогрева экструдера.

Надежней на мелкоконтроллере. Можно, кстати, в легкую сделать станок, работающий без компутера: воткнул флешку, выбрал в менюшке нужный файл, нажал «поехали» и жди, пока напечатается.

anonymous
()
Ответ на: комментарий от anonymous

используют не Pi а Beaglebone Black (BBB). Но народ как бы стремится экономить, плюс решение на ардуине более обкатанное. BBB выбирают в основном ради скорости. При средней цене принтера в $500 большую часть цены составляет механика и моторы ($300), hotend ($100) и «нагревательный стол» ($50), электроника в случае использования ардуины не превышает $100 в цене вклбчая блоки питания. При использовании BBB оно добавляет еще $200. А ещё время на обкатку всего, которое никто не считал, и занимать оно может длительное время, плюс еще дополнительные затраты на части, попроченные по неопытности :)

slapin ★★★★★
()
Ответ на: комментарий от anonymous

На самом деле решение странное.

1. Почему не отдельные платы для шаговиков? Их легко купить и меньше заморочек. Плюс если сдохнет легко заменить.

2. Почему нет радиаторов на драйверах шаговиков?

3. Почему такие огромные поты? Это вообще работает?

4. Мосфеты слишком близко к процу, радиаторы не предусмотрены, землёй не отпилены от слабых сигналов.

Короче, я бы не купил.

slapin ★★★★★
()
Последнее исправление: slapin (всего исправлений: 1)
Ответ на: комментарий от anonymous

Да там не так много кода чтобы не разобраться. Видели и похуже.

slapin ★★★★★
()
Ответ на: комментарий от slapin

Arduino это не только среда, но и дешевая платка с мелкоконтроллером.

От тебя ничего не прячут. Arduino mega2560 делают все кому не лень, стоит оно $1-$5

Да? Раньше «ардуинность» только удорожала всё, какая-нибудь Atmega 16* могла стоить $5 только за микросхему если прошить ей бутлоадер, а уж ардуинские платы на 2560 и вовсе стоили десятки баксов. Я могу поверить, что все наелись и цены упали, но подозреваю не так чтобы за $1 можно было купить.

anonymous
()
Ответ на: комментарий от slapin

Правильное решение. Делать из блоков — уродство + куча дебильных проводов + низкая надежность. На одной плате в случае если драйвер сгорит, его легко выпаять!

Почему нет радиаторов на драйверах шаговиков?

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

Почему такие огромные поты?

Вопросы к автору, это не мое. Мое у меня в ЖЖшке можешь найти (eddy_em).

Короче, я бы не купил.

Дык, то просто человек для себя сделал. Я бы вообще даже плату не заказывал, чтобы сэкономить, а заЛУТил. Китайская желтая ЛУТобумага позволяет легко разводить дорожки 0.5мм.

anonymous
()
Ответ на: комментарий от anonymous

Управлять шаговиками непосредственно с «малинки» можно, но геморно. И риалтаймовости точно никакой не будет, т.к. ШИМ есть только на одном-двух выходах

Шаговику ШИМ не нужен. Нагревателю, наверное, тоже - прибор инерционный, там относительно изредка надо включать-выключать подогрев при выходе температуры за рамки.

anonymous
()
Ответ на: комментарий от anonymous

Просто очень много их производить стали, OpenSource же.

slapin ★★★★★
()
Ответ на: комментарий от anonymous

Вот — красиво и на нормальном мелкоконтроллере человек сделал, а не на говне от отмеля.

Обсуждение по ссылке заслуживает внимания: как я понял из комментариев, ресурсов Atmel'а недостаточно для нормальной работы 3D-принтера и это является известной проблемой.

anonymous
()
Ответ на: комментарий от anonymous

Что за ЛУТобумага?

При удержании драйверы очень даже греются. Да и моторы тоже (но это отдельный вопрос).

Да и использованая микросема легко представляется чайником и тепло снее сводить через плату непросто, ей необходим радиатор для нормальной работы. Без радиатора нужно использовать QFN-версию и 4-слойную плату драйвера с качественным теплоотводом. Хотя и в этом случае без радиатора я использовать бы не решился.

slapin ★★★★★
()
Ответ на: комментарий от Dark_SavanT

10 км

тут бесспорно, но часто ли такое надо?

Я говорю просто о том, что для задач, где RS232 справляется, он вне конкуренции, так как прост и для погромиста и для железячника, и дёшев до безобразия. Городить что-то другое «потому что RS232 устарел» - глупость.

slapin ★★★★★
()
Последнее исправление: slapin (всего исправлений: 1)

Если тебе нужно дрыгать с частотой не больше десятков килогерц, можно взять FT2232h и несложными телодвижениями получить 16/32 GPIO с чипа. Это если дискретные входы/выходы.

Если нужно либо быстро либо аналоговые входы - возьми stm32 с usb на отладке и запили как душе угодно.

Dark_SavanT ★★★★★
()
Последнее исправление: Dark_SavanT (всего исправлений: 1)
Ответ на: комментарий от slapin

дык у 232 основная проблема это дальность. Больше десятка метров на скорости отличной от 9600 у тебя не будет. на 485 вроде до километра.

А расстояния в километры в каких-нибудь цехах заводских вполне реальность и наводок там дофига.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от slapin

CAN настолько же прост, когда реализован аппаратно. Зато надежность значительно выше.

По затратам насрать: что преобразователь уровней для RS-232, что для RS-485, что для CAN стоят примерно одинаково — 20-30 центов за мелкосхемку.

anonymous
()
Ответ на: комментарий от slapin

У BBB в проце есть PRU - два простых risc ядра по 200 МГц на брата которые могут ходить в общую память и периферию. Козырная вещь для реалтайма.

Dark_SavanT ★★★★★
()
Последнее исправление: Dark_SavanT (всего исправлений: 1)
Ответ на: комментарий от Dark_SavanT

Я RS232 использую не для передачи на дальние расстояния, а для управления оборудованием и сбором данных, на расстояние идёт ethernet по STP. На большое расстояние - толстый ethernet (!) и оптика. Если нужно далеко прокинуть R232/RS485 используются девайсы для преобразования в IP и гонится по ethernet.

slapin ★★★★★
()
Ответ на: комментарий от Dark_SavanT

дык у 232 основная проблема это дальность. Больше десятка метров на скорости отличной от 9600 у тебя не будет. на 485 вроде до километра.

Вообще то у него есть режим 300 бод, на котором с хорошим кабелем возможны десятки метров.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от Dark_SavanT

Ага, пожтому её и используют для 3D принтеров и станочков, LinuxCNC там хорошо прижилось.

slapin ★★★★★
()
Ответ на: комментарий от rezedent12

да и на 9600 есть кабель 25м, правда это страшная конструкция, но работающая.

slapin ★★★★★
()
Ответ на: комментарий от anonymous

Не, по сложности CAN таки сильно-сильно круче RS232. Проц с CAN стоит значительно дороже проца без оного, плюс внешние микросхемы CAN сильно удорожают изделие, так как ниша специфичная (машинки, никто с ценами не морочится). RS232-TTL стоит 5 центов, не требует растяжек по питанию, разведёт любоё школьник. RS485 почти в той же ценовой категории что и RS232, но там свои заморочки есть, если надо использовать в промышленной сети (нужна «растяжка») иначе будет забиваться помехами даже на 9600. Если просто точка-точка, в нём нет смысла, можно пользовать RS232, если шина - тут уж нужны UART'ы с поддеркой, или передача не будет эффективной (RTS на каждый чих дёргать, если он заведён на RD/WR так как полудуплекс). Реальных преимуществ у RS485 перед RS232 в топологии точка-точка нет. Только если используется в купе с другими технологиями (медиаконверторы). Я к тому, что там, где хватает RS232 не надо тащить CAN и RS485 - это неоправданные понты.

slapin ★★★★★
()
Ответ на: комментарий от slapin

Не, по сложности CAN таки сильно-сильно круче RS232

Прием-отправка практически ничем не отличаются. Разве что инициализация малость жирней будет: вместо семи условных регистров надо двадцати регистрам значение менять.

Проц с CAN стоит значительно дороже проца без оного

Отнюдь. Облегченный вариант CAN есть даже на копеечных STM8S! У STM32F1xx CAN почти у всех есть (разве что там через жопу сделали: тактируется CAN тем же таймером, что и USB, поэтому использовать его можно лишь без USB, что крайне неудобно).

RTS на каждый чих дёргать

Не обязательно. Я делал простой девятибитный протокол, в результате чего хоть 32 устройства (реально работал с семью) мог на одну шину RS-232 воткнуть. Единственный недостаток — синхронность, т.е. мелкоконтроллеры ничего сами сказать не могут, пока мастер не попросит.

Я к тому, что там, где хватает RS232 не надо тащить CAN и RS485 - это неоправданные понты.

Согласен. Но проще и удобней всего — USB. Тем паче, если нет особых помех и расстояние до компа небольшое.

Кстати, есть еще набирающий популярность modbus, а также ethernet ☺

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.