TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Raspberry Pi, Arduino and Home Automation

1 点作者 codingninja超过 12 年前
I have been working on a prototype home automation system which will run on a raspberry pi and be fed commands from Arduino sensors. I have started working on a new design and need feed back and ideas. Conceptually its very simple and made to be quite distributed and although I currently only plan to implement this as a C application I eventually want to provide language bindings to make configuration a breeze.<p>There will be 4 main components, Triggers, a listener and marshallers. The triggers are things like temperature sensors, bluetooth scanners, etc. A Listener converts Triggers into Actions. A Marshaller tells the right device to preform an Action.<p>A typical use case would be a single RPi running a Listener Server with configured Marshallers, a bluetooth scanner on an Arduino board and a motor attached to the Paspborry Pi GPIO. A plugin which is capable of controlling the motor would register its type and UUID with the Marshaller on load and the commands it can receive (up, down).<p>The bluetooth scanner would tell all listeners on the network when it encounters a device which it has been paired by triggering a "bluetooth.device_found" event. This would then be converted into a "door.unlock" action by the listener and added to a queue (Redis or Darner seem like a good option). The marshaller would would then issue an "up" action to the plugin.<p>If you are keen on helping out let me know, all feedback is welcome as well!<p>I plan on using: www.c-pluff.org libev.schmorp.de http://code.google.com/p/protobuf-c/ https://github.com/wavii/darner

1 comment

jorgenarciso超过 12 年前
I was thinking in buil a similar system... the rpi working as web server and "talking" with the arduino via USB connection. But i'm in trouble with the Rpi script/programation... the arduino side is quite easier for me. could you help me with your project and code?? (jorgefnarciso [at] hotmail.com)<p>Thanks