在python中使用硬件编程

时间:2009-05-28 08:52:08

标签: python hardware

我开始对我最近制作的小玩具编程感到有点厌烦,我很乐意开始编程并与硬件进行交互。

唯一的问题是我主要是一个没有真正学习或使用过任何其他语言的蟒蛇人。我还可以用python与硬件进行交互吗?

此外,我可以与哪些硬件进行互动?我真的没有可以使用的东西,所以我必须买一个套件或其他东西。有什么便宜的选择吗?

9 个答案:

答案 0 :(得分:13)

与PC上的串口交互相当简单,并且Python Serial library可用。 The roomba robot is controllable via a serial port。可能还有其他的机器人,但这可能只是一个简单的小步骤。

就个人而言,我通过购买a PIC programmer并制作一些简单的circuits to flash LEDs来学到很多东西。我继续通过串口控制这些PIC,然后使用USB(通过libusb)。那里有一个更大的学习曲线,因为你必须用C或汇编程序对PIC进行编程,但是一旦你掌握了基础知识,你就可以获得一些非常不可思议的结果。我警告你,一旦你意识到你可以建造多少很酷的小工具,这是一个滑坡: - )

答案 1 :(得分:11)

绝对看Arduino

  • 硬件设计是开源的,所以你甚至可以自己组装
  • 电路板包括数字和模拟输入和输出,因此很容易让一些LED快速闪烁
  • 您使用名为Wiring的'语言'对其进行编程,该语言隐藏了通常在PIC上使用的C的许多复杂性

在PC端,您可以使用pySerial通过USB与电路板通信,如上所述

答案 2 :(得分:4)

新的Raspberry Pi设备具有良好的I / O范围,Python似乎是最常用的语言。

答案 3 :(得分:3)

尝试BugLabOpenMoko

答案 4 :(得分:3)

您可以使用ctypes与硬件进行交互。它会让你调用本机库,所以你基本上可以使用它来做C可以做的任何事情。这当然是假设您希望通过运行Python的主机与硬件进行交互。

我在几个项目中使用了ctypes:

我发现它通常很容易使用,但它帮助我已经知道C / C ++。

答案 5 :(得分:2)

购买乐高Mindstorm套件。编程语言很容易使用 - 它不是Python - 但它足够接近。它们是真正的机器人,带有真正的执行器和传感器。

答案 6 :(得分:2)

许多PC仍有parellel端口,interacting with the parallel port存在python模块,但我还没有使用它。

并行端口可能是开始控制硬件的最简单方法,因为您可以将最简单的电子设备连接到它。只是一个领导会立即让你看到一些东西。

然后,正如Jon Cage所提到的那样,你可以获得Pic programmer

答案 7 :(得分:1)

www.synapse-wireless.com上的SNAP无线节点运行一个名为SNAPpy的Python子集。您可以使用SNAPpy语言中的peek()和poke()内置函数直接与芯片内部的硬件进行交互(例如PWM)。 SNAPpy还具有I2C,SPI和串行内置插件,因此您可以控制外部硬件。它也有低级I / O的内置函数,如readPin()writePin()和readAdc()。像EK2500套件这样的东西可能会很好。另请参阅forums.synapse-wireless.com上的在线用户论坛

答案 8 :(得分:0)

我不太确定有人提到过BASIC邮票。再次 - 它非常有限,但它的SUPER很容易开始使用。他们也有一些其他处理器,但作为介绍 - 我认为它是一个伟大的设备。

Arduino也是一个不错的选择,你可以用这个设备获得更多的好处。

如上所述,我开始使用PIC处理器 - 这不是最初使用的最简单的东西(或者真的......哈哈 - 它有争议),但是我对如何工作有了很好的理解。微控制器/硬件交互的世界。

祝你好运&如果您有任何疑问,请随时提出要求!