💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
* [家庭分布式鼠电站](https://www.h5jun.com/post/hamster-elec.html#toc-d4e) * [同步数据到云端](https://www.h5jun.com/post/hamster-elec.html#toc-86b) * [其他问题](https://www.h5jun.com/post/hamster-elec.html#toc-bf5) * [总结](https://www.h5jun.com/post/hamster-elec.html#toc-25f) ![](https://p.ssl.qhimg.com/t01b0785c1023039d78.jpg) 当今社会,许多人喜欢养宠物陪伴自己和家人。而仓鼠以其可爱的外表、爱干净的习性和温顺可爱的性格成为许多城市家庭养宠物的选择。 在这个物联网时代,共享经济是人类发展的未来。让可爱的小仓鼠不仅仅能作为卖萌讨巧的宠物,还可以发挥其经济价值,为家庭做出贡献,正是新的万维物联网(Web of Things)云平台将要做的事情。 ![](https://p.ssl.qhimg.com/t016687f2fb6c861159.jpg) ## [](https://www.h5jun.com/post/hamster-elec.html#toc-d4e)家庭分布式鼠电站 要安装家庭分布式鼠电站,你需要购买一块[树莓派](http://baike.so.com/doc/6240059-6453436.html)、一个特制的终端仓鼠滚筒(google 搜索 ep hamster roller): ![](https://p.ssl.qhimg.com/t01ce4ffbab2caf636b.jpg) 将仓鼠滚筒的电流输出端接入一个移动电源,比如[这一款](https://item.jd.com/11339988444.html),将信号输出端接入树莓派 GPIO 的 18、29、30 三个引脚,如果你不知道什么是 GPIO,可以参考[这一篇文章](https://www.h5jun.com/post/raspberry-pi.html)。 这样,当你的仓鼠在滚筒里奔跑的时候,你的移动电源的电量就会增加,同时,仓鼠活动产生的电量数据就会通过信号输出端发送到树莓派。 接下来,我们要在树莓派上对应的安装 npm 包(如果你还没在你的树莓派上安装 Node,请先安装 Node.js 到你的树莓派上!): ~~~ $ npm install -g hamster-elec ~~~ 这样你就安装了鼠电模块,接下来,在运行它之前,我们需要配置一下: 先到 APP Store 下载应用“仓鼠电桩”,然后打开仓鼠电桩 APP,将你的仓鼠丢进智能滚筒(注意:一次只能丢一只!),用你的 APP 扫一扫,就会得到你的仓鼠 ID。用你的仓鼠 ID 启动 hamster-elec 服务: ~~~ $ hamster-elec --hid=<你的仓鼠ID> -p <端口> start ~~~ 你会看到如下输出信息: ~~~ hamster & rice launched! at port <端口> ~~~ 然后你在局域网内访问 `http://raspberrypi.local:7777` 就能看到你的仓鼠发电的情况。 如果你打开“仓鼠电桩” APP,你也能实时看到仓鼠发电的情况,当然前提是你的手机连接的网络和你的树莓派是在同一个局域网里。 ### [](https://www.h5jun.com/post/hamster-elec.html#toc-86b)同步数据到云端 经过上面的配置,虽然你在本地可以访问你的 APP 或者树莓派 URL 来查看你的仓鼠发电情况,但是如果你想随时随地查看家里的仓鼠发电情况,我们就需要将它同步到云端。 而这也很容易做到,我们已经实现了一个记录和同步发电数据的 REST API。你只需要: ~~~ curl -X PUT "https://qiwoo.org/hamster/actions/_setStatus" \ -H "Authorization: 仓鼠 ID" \ -H "Content-Type: application/json" \ -d '{ "type": "_setStatus", "elec":"电量值"}' ~~~ 就可以更新数值到云端。 当然,这个我们需要做成自动的,所以,我们需要手动调用 hamster-elec 模块: ~~~ const request = require('request'); const hamsterServer = require('hamster-elec').Server; const hamsterID = '<你的仓鼠ID>'; const cloud = 'https://qiwoo.org/hamster/actions/_setStatus'; hamsterServer.createServer((req, res) => { //... 处理服务 }); hamsterServer.on('electricity generation', (err, power) => { if(err) throw new Error(err); request.put({ url: cloud, headers: { Authorization: hamsterID, Content-Type: "application/json" } }, {"type": "_setStatus", "elec": power}); }); hamsterServer.listen(7777); ~~~ 这样,一旦仓鼠开始发电,电量的变化就会被发送到云端。 ### [](https://www.h5jun.com/post/hamster-elec.html#toc-bf5)其他问题 * Q: 我的仓鼠吃吃睡睡,不去滚筒里跑,发不了电怎么办? * A: 正常的情况,小家伙心情好了自然会去发电了,不能强求。 * Q: 我家仓鼠发了很多电,但是移动电源还是没电是怎么回事? * A: 检查移动电源和滚筒的连接,接触不良会导致电量损耗,另外移动电源自身质量不佳也会导致问题。 * Q: 我家有多只仓鼠,能不能同时发电。 * A: 暂不支持,但该需求已经列入开发计划。将来会支持的。 ### [](https://www.h5jun.com/post/hamster-elec.html#toc-25f)总结 喂饱你的仓鼠,它会给你带来惊喜。 ![](https://p.ssl.qhimg.com/t01c40c36da1cda5c2d.jpg) 本文链接:[https://www.h5jun.com/post/hamster-elec.html](https://www.h5jun.com/post/hamster-elec.html) -- EOF -- 作者 [`admin` ](https://www.h5jun.com/author/admin)发表于 *2017-03-31 17:54:12* ,最后修改于 *2017-04-01 09:49:47*