做技术启蒙教育的可能都听说过littlebits,一堆小小的工作单元,通过磁力轻松的连接起来,就可以实现一些简单的电路逻辑。比如,把电源-按键-LED串在一起,就能实现一个“按键让灯亮”的小电路,也不用担心电路接错了会烧坏元件啥的。
逗我玩么…
当然,爷会只玩这么白痴的东西么…如果有孩子了的话还是有可能的…转个推
@Tomy 偶然发现一个程序猿的各种 SNS 帐号都在2012年之后停止了更新,博客、微博、Twitter、V2EX 都没有了音讯,就连 Github 2013年后都没再提交代码了!!怀着恐慌的心情 Google 了下 ID,发现了他在2014年海淘了几袋奶粉的晒单……心情的跌宕起伏,是为记
好吧,我承认这是混字数。你走开!我之所以买了一套littlebits呢,就是看中了新推出的cloudbits——一个可以联网控制的元件。
玩IFTTT的同学应该都注意到有一些菜谱里面出现了这个小笑脸,这玩意儿就是cloudbits。
简单的说,Cloudbits就是一个可以联网控制的littlebits组件,而就是这么简单的设计,给littlebits带来了无限的可能性。littlebits官网首页的展示视频里有一个小情景:猫猫按了一下littlebits的按钮,主人手机就蹦出来一个“feed me”,主人点一下feed,猫粮就掉下来了,这个情景的实现就完全倚赖cloudbits的推出。
setup的过程如下:
p.s.悲剧的是我发现我这个单元的reset按键坏了,基本可以判断总是按接通状态。于是…就总是处于reset,reset的循环中…最后就只能把那reset键给拆了…
反正最终的结果就是这样
这个大按钮的作用呢,就是让这个Cloudbit想外发送数据(其实就是提供电压,还可以调节输出电压的数值,当然是从0到100这样的方式)。
具体的玩法就不说啦,里面核心的就是如何将Cloudbit的输入输出与网络服务结合起来。先看 API文档 吧,没想到API已经到v2版本了。
littleBits的API支持标准的OAuth2,DeviceID和Token从后台就能看到。用这两个值就可以完成认证。
---Responds--- OAuth HTTP path Scope Code Payload ◆ Make LB Cloud... ---- ----- ---- --------- ---------------- /devices GET read 200 [<devices>] return a list of the user’s devices /{device_id} GET read 200 <device> return device model PUT admin 200 <device> update device model POST admin 201 <device> activate device, is then associated to the user DELETE admin 200 <device> deactivate device, is then associated to no body /output POST write 200 output some voltage on the given device /subscriptions GET read 200 [<subs>] return device's subscriptions POST read 201 publish given device events to given endpoint DELETE read 200 stop publishing given device events to a given endpoint
赞这个“文档”,极简又足够清楚。先拿一下这设备的信息。
curl -i -XGET -H "Authorization: Bearer e352c8d9f7a9103c59xxxxxxxcdb6c5b28fbd6c2c438936xxx" -H "Accept: application/vnd.littlebits.v2+json" https://api-http.littlebitscloud.cc/devices/00exxxxxxx39
{"label":"office","id":"00exxxxxxx39","user_id":35515,"is_connected":true,"ap":{"ssid":"senz_xiaomi","mac":"8C:BE:BE:28:15:6B","strength":"100","server_id":"7yY9Dniw","socket_id":"7JeMsZ2w"},"subscriptions":[],"subscribers":[],"input_interval_ms":750}
看起来没啥用呢…再回来看Doc,output的部分看起来容易用哈。
curl -i -XPOST -H "Authorization: Bearer e352c8xxxxxxfbd6c2c438936e0b97cebb8b7" -H "Accept: application/vnd.littlebits.v2+json" https://api-http.littlebitscloud.cc/devices/00exxxx39/output -d percent=50 -d duration_ms=1000
结果呢,就是灯亮了1秒钟!宏大吧!>.<