将上面的内容保存到名为 online_analysis.py 的文件 。Python 代码不需要编译,你可以直接运行它 。
运行输出如下:
$ ./online_analysis.pyReading messages with topic: b'fancyhw_data'Message 0: topic: 'fancyhw_data' packet size: 16 data: (20946, -23616, 9865, 31416, -15911, -10845, -5332, 25662, 10955, -32501, -18717, -24490, -16511, -28861, 24205, 26568)Message 1: topic: 'fancyhw_data' packet size: 16 data: (12505, 31355, 14083, -19654, -9141, 14532, -25591, 31203, 10428, -25564, -732, -7979, 9529, -27982, 29610, 30475)......小结本教程介绍了一种新方式,实现从基于 C 的硬件接口收集数据,并分发到基于 Python 的基础设施的功能 。借此可以获取数据供后续分析,或者转送到任意数量的接收端去 。它采用了一个消息库实现数据在发送者和处理者之间的传送,来取代同样功能规模庞大的软件 。
本教程还引出了我称之为“软件粒度”的概念,换言之,就是将软件细分为更小的部分 。这种做法的优点之一就是,使得同时采用不同的编程语言实现最简接口作为不同部分之间沟通的组件成为可能 。
实践中,这种设计使得软件工程师能以更独立、合作更高效的方式做事 。不同的团队可以专注于数据分析的不同方面,可以选择自己中意的实现工具 。这种做法的另一个优点是实现了零代价的并行,因为所有的进程都可以并行运行 。ZeroMQ 消息库 是个令人赞叹的软件,使用它可以让工作大大简化 。
推荐阅读
- 6个顶级可视化Python库
- 你平时是怎么管理 Docker 容器的?还在使用一大堆的窗口和命令吗
- |还在流通使用的5角纸币,单张价值22000元,你有吗?
- 龙利鱼|夏季能不能使用面霜?只要用对,效果就会翻倍
- 使用 PowerDNS 轻松配置 DNS 名称服务器
- 如何消息队列的数据积压问题
- 什么是Java可变参数列表?怎么和重载机制配合使用?
- 小米|小米Civi 1S用上骁龙778G Plus!美女产品经理:日常使用非常省心
- 喝茶黑色时段,宋代饮茶为什么流行使用黑色的建盏
- 第一颗使用望远镜发现的行星 一艘飞船飞向黑洞,远方观测者
