Программирование на оборудовании в python
Я начинаю немного скучать по программированию маленьких игрушек, которые я делал недавно, и я хотел бы начать программирование и взаимодействие с оборудованием.
Единственная проблема в том, что я в основном парень-питон, который еще не изучил или не использовал какой-либо другой язык. Могу ли я по-прежнему взаимодействовать с оборудованием с помощью python?
Кроме того, с каким оборудованием я могу взаимодействовать? У меня на самом деле нет вещей, лежащих вокруг, которые я могу использовать, поэтому мне придется купить комплект или что-то еще. Каковы некоторые дешевые варианты для этого?
Ответы
Ответ 1
Взаимодействие с последовательным портом на ПК довольно тривиально и существует Python Serial library. Робот roomba управляется через последовательный порт. Есть, вероятно, другие роботы, но это может быть простой, маленький шаг, чтобы вы пошли.
Лично я многому научился, купив программист PIC и сделав несколько простых для мигания светодиодов. Я перешел к управлению этими ПОС через последовательный порт, а затем с помощью USB (через libusb). Там есть более широкая кривая обучения, так как вам придется программировать ПОС на C или ассемблере, но вы можете достичь некоторых невероятных результатов, как только вы подберете основы. Я предупреждаю вас, хотя это скользкий наклон, как только вы осознаете, сколько прохладных маленьких гаджетов вы можете построить: -)
Ответ 2
Определенно посмотрите Arduino.
- Аппаратный дизайн с открытым исходным кодом, поэтому вы можете даже собрать свои собственные, если хотите.
- Плата включает в себя цифровые и аналоговые входы и выходы, поэтому легко получить некоторые светодиоды, быстро мигающие.
- Вы программируете его на "языке", называемом Wiring, который скрывает множество сложностей C, которые обычно используются для PIC
На стороне ПК вы можете использовать pySerial для связи с доской через USB, как указано выше.
Ответ 3
Новые устройства Raspberry Pi имеют хороший диапазон ввода-вывода, и Python, по-видимому, является наиболее часто используемым языком для них.
Ответ 4
попробуйте BugLab или OpenMoko
Ответ 5
Вы можете использовать ctypes для взаимодействия с оборудованием. Это позволит вам звонить в родные библиотеки, поэтому вы можете использовать его для выполнения всего, что может сделать C. Это, конечно, предполагает, что вы хотите взаимодействовать с оборудованием через хост-компьютер с Python.
Я использовал ctypes для нескольких проектов:
Я нашел его в целом довольно простым в использовании, но это помогло мне уже знать C/С++.
Ответ 6
Купите комплект Lego Mindstorm. С языком программирования легко жить - это не Python, но он достаточно близко. И они настоящие роботы с реальными приводами и датчиками.
Ответ 7
У многих компьютеров все еще есть порты parellel, и существует модуль python для взаимодействующий с параллельным портом, хотя я его не использовал.
Параллельный порт может быть самым простым способом начать управление оборудованием, так как вы можете подключить к нему самую простую электронику. Только ведомый сразу получит вам что-то видимое.
Затем, как упоминает Джон Кейдж, вы можете получить программа-программист Pic
Ответ 8
Беспроводные узлы SNAP на www.synapse-wireless.com запускают подмножество Python под названием SNAPpy. Вы можете использовать встроенные элементы peek() и poke() на языке SNAPpy для непосредственного взаимодействия с оборудованием внутри чипа (например, PWM). SNAPpy также имеет встроенные модули для I2C, SPI и serial, поэтому вы можете управлять внешним оборудованием. Он также имеет встроенные модули для ввода-вывода более низкого уровня, такие как readPin() writePin() и readAdc(). Что-то вроде набора EK2500 может быть полезно для начала. См. Также онлайн-форум пользователей на forums.synapse-wireless.com
Ответ 9
Я не слишком уверен, что кто-то упомянул марку BASIC. Опять же - он очень ограничен, но его СУПЕР просто начать работать. Есть и другие процессоры, которые они делают тоже, но в качестве вводного - я думаю, что это отличное устройство.
Ардуино тоже хороший, и вы, вероятно, можете получить больше ударов для вас с этим устройством.
Как уже упоминалось выше, я получил свое начало на процессорах PIC, которые не являются самыми легкими в работе с первоначально (или действительно когда-либо... ха-ха - его дискуссионными), но я получил большое представление о том, как все работает в мир взаимодействия микроконтроллера/оборудования.
Удачи, и если у вас есть какие-либо вопросы, не стесняйтесь спрашивать!