keiko是keiko chan的python和web api客户端。

keiko的Python项目详细描述


https://badge.fury.io/py/keiko.pnghttps://travis-ci.org/lanius/keiko.pnghttps://coveralls.io/repos/lanius/keiko/badge.png

keiko是用于Keiko-chan的python和web api客户端。

安装

Keiko可以通过PIP或Easy_安装:

$ pip install keiko

或:

$ easy_install keiko

用法

首先,设置keiko chan并分配ip地址。

Python

指定keiko chan的地址并实例化客户端:

>>>importkeiko>>>address='192.168.1.2'# example address of Keiko-chan>>>client=keiko.Client(address)

控制灯:

>>>client.lamps.green.on()# turns on the lamp>>>client.lamps.green.status'on'>>>client.lamps.green.off()# turns off the lamp>>>client.lamps.green.status'off'>>>client.lamps.yellow.blink()# blinks the lamp>>>client.lamps.yellow.status'blink'>>>client.lamps.red.quickblink()# blinks the lamp quickly>>>client.lamps.red.status'quickblink'>>>client.lamps.off()# turns off the all lamps

带延迟和持续时间:

>>>client.lamps.red.on(wait=2,time=4)# wait 2 second, light 4 seconds

控制蜂鸣器:

>>>client.buzzer.on()# turns on the buzzer>>>client.buzzer.status'continuous'>>>client.buzzer.off()# turns off the buzzer>>>client.buzzer.status'off'

控制直接输入和输出:

>>>client.di.status{1:'off',2:'off',3:'off',4:'off'}>>>client.do.status{1:'off',2:'off',3:'off',4:'off'}>>>client.do(2).on()>>>client.do(2).status'on'>>>client.do.status{1:'off',2:'on',3:'off',4:'off'}

控制声音:

>>>client.voices.status'stop'>>>client.voices(1).play()# plays #1 voice>>>client.voices.stop()# stops the voice>>>client.voices(5).play(3)# plays #5 voice 3 times>>>client.voices.stop()>>>client.voices(10).repeat()# plays #10 voice repeatedly>>>client.voices.stop()

网络api

指定keiko chan的地址并运行web api服务器:

$ keiko 192.168.1.2
 * Running on http://127.0.0.1:8080/

将可选参数传递给服务器:

$ keiko 192.168.1.2 --server myhost:5000
 * Running on http://myhost:5000/

控制灯:

$ curl http://127.0.0.1:8080/lamps
{"lamps": {"green": "off",
    "red": "off",
    "yellow": "off"}}

$ curl http://127.0.0.1:8080/lamps/green/on
{"result": "success"}

$ curl http://127.0.0.1:8080/lamps/green
{"lamps": {"green": "on"}}

带延迟和持续时间:

$ curl http://127.0.0.1:8080/lamps/yellow/on?wait=2&time=4{"result": "success"}

控制蜂鸣器:

$ curl http://127.0.0.1:8080/buzzer
{"buzzer": "off"}

$ curl http://127.0.0.1:8080/buzzer/on
{"result": "success"}

控制直接输入和输出:

$ curl http://127.0.0.1:8080/di
{"di": {"1": "off",
    "2": "off",
    "3": "off",
    "4": "off"}}

$ curl http://127.0.0.1:8080/do
{"do": {"1": "off",
    "2": "off",
    "3": "off",
    "4": "off"}}

$ curl http://127.0.0.1:8080/do/2/on
{"result": "success"}

控制声音:

$ curl http://127.0.0.1:8080/voices
{"voices": "stop"}

$ curl http://127.0.0.1:8080/voices/10/play
{"result": "success"}

注意事项

此模块是非官方的,目前仅使用Keiko Chan 4G+(DN-1510GL)进行测试。有关详细信息,请参见the official documentation

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException