用web去控制硬件

| 分类 日志  | 标签 日志 

用web去控制硬件--wufl项目


学校的二级工程实践,自己定的题目。之所做这个小项目是为了能够把自己之前所学的知识能够串起来,说的再高大上一点就是希望能够将硬件搬到云端。 这个项目目前来讲只能算是一个原型,因为它只实现了一个功能--在web页面上点亮fpga开发板上的LED灯。

项目整体框架

从宏观上看就两个部分,软件和硬件。 硬件部分采用fpga开发板,配置nios软核,可以理解成原来的电路设计吧,配置的是CPU内核fpga引脚与外设。 软件部分包括nios代码和上位机程序,可以理解成原来的单片机程序和上位机程序。 因为并没有期望能够有多复杂的功能,所以设计的能有多简单就多简单。在硬件上只配置了LED和USB,使开发板通过USB与主机通讯。 软件上采用python+django作为服务端,同时写了一个简单的测试前端。 服务端主要用来处理前端发送的控制请求,然后通过USB端口将请求发送给fpga,比较关键的地方是需要用ctypes去调用USB驱动程序。 最后测试顺利通过。

项目体会

以前觉得这种软硬结合的项目很难搞定,之所以有这种观念是因为跨度大,需要了解各种知识,需要玩转各种IDE。 最终的效果虽然简单,但实现的过程却不简单,中间任何一步如果存在知识上的障碍就很难搞定。

项目思路扩展

其实所谓的扩展就是迭代的过程了。迭代到一定程度就变成一个庞大复杂的系统。 原谅我思路的跳跃性吧,说道复杂系统我想起了蝴蝶效应和宿命论,本质上这两个思想其实都是描述的复杂系统。 人们在研究复杂系统的时候会发现有时候一个微小的变化会引起结果的巨大反差,这就是所谓的蝴蝶效应。 而另一些人却发现无论怎么变化,最终的结局都一个样,这就是作为的宿命论。 这构成了复杂系统的阴阳属性,或者称为复杂系统的0和1 。 哈哈,现在明白为什么计算机世界中0和1可以构成这么复杂的系统了吗?


上一篇     下一篇