webservice(rest和websocket)访问和控制踏板pi踏板设置配置

PedalPi-WebService的Python项目详细描述


Build StatusCode coverageCode Health

pedal pi-webservice是一个提供 对rest+websocket的踏板pi管理。

webservice还支持自动发现:通过使用zeroconf发布到网络, 它提供了一定程度的位置透明度,允许应用程序连接到 用最少的用户努力实现的web服务。

文档:
http://pedalpi.github.io/WebService/
代码:
https://github.com/PedalPi/WebService
python包索引:
https://pypi.org/project/PedalPi-WebService
许可证:
Apache License 2.0

使用

安装和依赖项

大多数依赖项将通过pip

安装
pip install PedalPi-WebService

为了在网络中发布用于自动发现的webservice,需要安装 第pybonjour-python3页。在基于debian/ubuntu的系统上,运行:

sudo apt-get install libavahi-compat-libdnssd1
pip3 install git+https://github.com/depl0y/pybonjour-python3

配置组件

pedalpi组件支持Pedal Pi - Application的扩展。 通过他们,提供开放服务。组件列表可以在Components repository中找到。

要使用此组件,需要两个步骤:

1.在应用程序中注册webservice

注册必须在应用程序初始化之前进行(application.start

fromapplication.applicationimportApplicationapplication=Application(path_data="data/",address='localhost')fromwebservice.webserviceimportWebServiceapplication.register(WebService(application,port))

2.Web服务器的初始化

应用程序文档建议使用信号。暂停 程序在初始化结束时不终止: signal.pause仅当程序 请求(ctrl+c)。

当我们使用pedalpi webservice时,必须替换使用signal.pause 通过初始化Web服务器。使用以下方法完成此操作 代码行:

application.start()importtornadotry:tornado.ioloop.IOLoop.current().start()exceptKeyboardInterrupt:application.stop()# Not more necessary#from signal import pause#try:#    pause()#except KeyboardInterrupt:#    application.stop()

配置文件

使用webservice组件启动应用程序的代码 如下代码所示:

fromapplication.applicationimportApplicationapplication=Application(path_data="data/",address='localhost')fromwebservice.webserviceimportWebServiceapplication.register(WebService(application,port))application.start()importtornadotornado.ioloop.IOLoop.current().start()

API

休息

api文档可以在http://pedalpi.github.io/WebService/

websocket

通过webservice的通信基本上包括接收更新 关于应用程序的状态。

webservice api文档可以在http://pedalpi.github.io/WebService/#websocket

在客户机中使用

web service处理web服务中的应用程序功能。这些项目使用它进行控制:

  • Apk:用于智能设备和导航器的应用程序控制器。

如果您也在使用,请发送此项目的拉取请求。

维护

文件

# Installing dependencies
npm install -g aglio

# Generate doc
cd docs/
aglio -i documentation.apib --theme-variables streak --theme-template triple -o index.html

# View documentation
firefox index.html

测试

# if number != 0 error
sh -c 'coverage3 run --source=webservice wstest/config.py test';echo$?

coverage3 run --source=webservice wstest/config.py test
coverage3 report
coverage3 html
firefox htmlcov/index.html

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

推荐PyPI第三方库


热门话题
java在Mollweide投影中获取我的世界地图中一个点的经度   java比较二维数组   java JUNG无法显示大型图形?   java jvm是否保证在切换线程后更新处理器缓存?   java为什么在使用FetchType时会出现LazyInitializationException异常。在一组上懒惰,但在另一组上不懒惰?   从json数据创建java模型   java更新复合组件?   java在具有不同长度的第二维度的2D数组中迭代   使用RESTfulWebService将数据从UI存储到数据库   JTextfield中的java转义字符   java如何修复:Lombok builder()方法在IntelliJ中似乎无法识别?   java Spring MVC控制器如何处理多个长http请求?   java JavaFX:TableView onEditCommit处理程序从未被调用