下一页 上一页 目录

4. 软件

4.1 编程

您将需要构建一个可执行程序,该程序将执行以下步骤

将 BASE 更改为 /dev/lp0 的 0x3bc,/dev/lp1 的 0x378,以及 /dev/lp2 的 0x278; range=8。

如果你的程序设置了 setuid,那就太好了,这样每个人都可以喝咖啡了!你这个 BOFH!

4.2 设备驱动程序

只需阅读 内核黑客指南,以实现设备驱动程序;您也可以在用户空间中执行此操作。请将其编译为模块,这样我们就不需要在每次更新中都进行内核编译。然后编写

echo cappuccino >/dev/coffee

您将在几分钟内喝到一杯热咖啡!请记住为 /dev/coffee 设置正确的权限,具体取决于您是否只希望 root 用户制作咖啡。

此方法的优点是它支持来自咖啡机的反馈,通过使用并行端口的 ACK 等,以便智能咖啡机可以在准备就绪时产生中断。

在阅读了 Alessandro Rubini 和 Jonathan Corbet 的优秀书籍 Linux 设备驱动程序 并研究了 Cross Reference Linux 源代码仓库之后,自己完成它。

4.3 连接互联网

如果您已经在 C 语言中实现了控制程序(见上文),您只需要编写一个 CGI 脚本来打开和关闭咖啡机或传递更复杂的指令。您应该编写一些漂亮的网页,解释如何制作咖啡,并将它们放在 apache 网络服务器上...

...LAMP 技术(Linux、Apache、MySQL、[Perl|Python|PHP])将帮助您构建一个完美的用户可定制的咖啡系统!

在未来应用程序变得相当复杂的时候,您可能希望在基于流程的编程的基础上进行扩展:http://www.jpaulmorrison.com/fbp/。这与一台伟大的咖啡机是多么完美的匹配啊!


下一页 上一页 目录