Satori Live Data Hackathon的Project Noisy

9月,我参加了Satori Live Data Hackathon。 Satori(https://www.satori.com/)是视频游戏公司MachineZone(https://www.mz.com/)的一部分。 他们采用了大型多人游戏中使用的实时数据技术,并将其提供给其他公司使用。 为SmartCities,Games,IM等提供强大支持

我不得不说他们的技术非常棒且易于使用。 您可以在其仪表板中创建一个通道,获取一个AppKey和一个安全的Web Socket端点并立即开始发送包,因此,订阅同一通道的任何客户端都将以非常低的延迟接收包。 他们还提供易于集成的Javascript,Python,Java SDK。

其他功能包括创建StreamBots,这是一种基本的有状态执行客户端,可侦听通道(或查询)并可以处理传入消息,从而使漫游器可以将不同的消息重新发送到该通道。 (遗憾的是,该机器人目前无法使用外部服务,因此尚无任何精美的第三方API集成)。 视图是另一个不错的功能,它允许任何客户端具有可以过滤通道甚至进行消息聚合的查询。

黑客马拉松

因此,有了这项技术,大批开发人员,设计师,产品经理和黑客通常都会继续创建解决方案,以解决他们发现的问题,并可以使用实时数据渠道解决这些问题。

授予价格的三类产品:最佳使用Satori技术,最佳使用Satori技术进行智能城市交通规划,并获得最佳黑客大奖。

嘈杂的项目

一段时间以来,我一直在测试并试图提出有关如何使用低功耗蓝牙的想法。 在这次黑客马拉松中,我看到了将其中一些想法付诸实践的机会。 尤其是其中一项,使用其BLE信号签名来计算附近有多少个蓝牙LE设备,并估算出一个空间中有多少人。

它的工作方式是:

  1. 安装在空间中的Scanner不断检测BLE设备并将该信息发送到Satori通道。
  2. Satori StreamBot正在接收所有BLE设备的检测,并执行为它们加时间戳的逻辑,并维护一个特定设备被发现的次数和相关时间的记录。 由于我们想在公交车站和公交车内部使用此扫描功能。 该机器人还发送了密度近似值的周期性结果。
  3. 定期漫游器从Muni预测API获取信息,然后将信息发送到Satori直播频道。
  4. 移动Web应用程序客户端显示来自渠道的信息。

您可以在Hithub上找到源代码:

  1. 扫描器:https://github.com/ernestofreyreg/noisyscanner
  2. 频道的Muni API:https://github.com/ernestofreyreg/noisymuni
  3. 网络客户端:https://github.com/ernestofreyreg/noisyclient

例子

Satori的SDK可以使用几种流行的语言:JavaScript,Python,Java等。让我展示一个使用JavaScript的示例。

您可以通过以下方式在NodeJS上安装Satori JS SDK:

 $ yarn add satori-rtm-sdk 

您的nodeJs代码就像下面这样简单:

在网上

您还可以在前端使用发布和订阅功能。 幸运的是, satory-rtm-sdk软件包可以“浏览器化”,这意味着可以使用browserify或webpack将其集成到您的构建包中。

我经常使用Nextjs(https://github.com/zeit/next.js),并且将Satori SDK集成起来也非常容易。

同样,您将需要将SDK添加到您的package.json中

  $ yarn add satori-rtm-sdk 

并将其添加到您的页面中,我的首选方法是在挂载和卸载过程中:

使客户端工作之后,一种非常简单的测试方法就是使用Satori CLI客户端。

Satori CLI

这是一个简单的命令行工具,可让您发布或订阅频道。 它是可通过pip安装的Python程序。

安装后,要在频道上发布,只需执行以下操作:

  $ echo'{“ type”:“ dashboard”,“ talk”:“ Hell Mat”}'|  satori-rtm-cli -e YOUR_ENDPOINT -a YOUR_APPKEY发布YOUR_CHANNEL 

您还可以订阅频道中的所有消息:

  $ satori-rtm-cli -e YOUR_ENDPOINT -a YOUR_APPKEY订阅YOUR_CHANNEL 

最好让终端分开聆听您频道中的所有消息。

其它功能

Satori还提供其他智能功能,例如视图,StreamBots,角色。 您可以在其文档页面中检出它们。

这是一次很好的黑客马拉松。 很高兴学习到一种可能会在您的项目中继续使用的新技术(我在参加Techcrunch SF Hackathon 2017时也使用了Satori频道,效果非常好)