Программирование на оборудовании в python

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

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

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

Ответы

Ответ 1

Взаимодействие с последовательным портом на ПК довольно тривиально и существует Python Serial library. Робот roomba управляется через последовательный порт. Есть, вероятно, другие роботы, но это может быть простой, маленький шаг, чтобы вы пошли.

Лично я многому научился, купив программист PIC и сделав несколько простых для мигания светодиодов. Я перешел к управлению этими ПОС через последовательный порт, а затем с помощью USB (через libusb). Там есть более широкая кривая обучения, так как вам придется программировать ПОС на C или ассемблере, но вы можете достичь некоторых невероятных результатов, как только вы подберете основы. Я предупреждаю вас, хотя это скользкий наклон, как только вы осознаете, сколько прохладных маленьких гаджетов вы можете построить: -)

Ответ 2

Определенно посмотрите Arduino.

  • Аппаратный дизайн с открытым исходным кодом, поэтому вы можете даже собрать свои собственные, если хотите.
  • Плата включает в себя цифровые и аналоговые входы и выходы, поэтому легко получить некоторые светодиоды, быстро мигающие.
  • Вы программируете его на "языке", называемом Wiring, который скрывает множество сложностей C, которые обычно используются для PIC

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

Ответ 3

Новые устройства Raspberry Pi имеют хороший диапазон ввода-вывода, и Python, по-видимому, является наиболее часто используемым языком для них.

Ответ 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, которые не являются самыми легкими в работе с первоначально (или действительно когда-либо... ха-ха - его дискуссионными), но я получил большое представление о том, как все работает в мир взаимодействия микроконтроллера/оборудования.

Удачи, и если у вас есть какие-либо вопросы, не стесняйтесь спрашивать!