Kano x Spotify –运动控制音乐

在过去的五年中,Kano已成为“学习编码”领域中最知名的名称之一。 他们现在拥有一系列产品,从计算机和光板到哈利波特编码套件。

他们最鲜为人知的产品之一是运动传感器套件-29美元的USB外设,可以检测自身与其他物体之间的距离。

这让我开始思考,运动传感器还能做什么?

在过去的几周里,伦敦的天气一直很灿烂,所以现在是休息烧烤,倒酒,听音乐的最佳时机!

唯一的问题是,我不想每次更改歌曲时都在笔记本电脑上留下油腻的痕迹。 因此,一个想法诞生了! 我将向您展示如何在Python中创建一个小的脚本,该脚本会从Motion Sensor Kit中读取数据,并在您挥手足够近时跳到Spotify上的下一条轨道。

设定

我将在Windows 10上开发我的应用程序,但是该项目将在MacOS或Linux上完美运行。

首先,请确保您拥有Python副本 已安装。 然后,您可以安装PIP ,这是一个很棒的工具,可让您轻松安装其他有用的软件包。 有关设置方面的更多帮助,Matthew Horne提供了出色的指南。

查找传感器

运动传感器使用串行连接与计算机通信,从而轻松读取数据。 打开命令行并运行mode命令。 您会看到当前正在使用串行端口的所有设备。

连接运动传感器,然后再次运行命令。 这次,您会看到一个额外的设备及其连接的端口(在我的情况下是COM7 )。 记下下一步。

安装套件

我们需要两个软件包来将运动传感器套件和Spotify链接在一起。 Pyserial将读取来自传感器的数据,而pyautogui将模拟键盘上按下的“下一个曲目”按钮。

在命令行中,输入pip install pyserial pyautogui ,然后按Enter 。 几分钟后,您就可以继续了!

写一些Python

进口货

我们将使用四个程序包:用于与运动传感器通信的serial ,以及用于读取数据的json ,然后是pyautogui按媒体键的time ,以及控制我们抓取数据速度的time

打开文本编辑器,然后复制以下内容:

开放式交流

获取运动传感器生成的数据再简单不过了。 复制下面的行,但将“ COM7 ”替换为您先前记下的端口名称。

当我们在这里时(不要双关语!),我们将添加一个while循环以使脚本无限期地运行:

清理数据

运动传感器创建的数据具有一些本项目不需要的额外细节:

{u’type’:u’event’,u’name’:u’proximity-data’,u’detail’:{u’proximity’:32}}

好消息是,数据采用JSON格式,因此可以轻松获取所需的信息。 接近度 。 添加以下行以获取传感器的读数并将其转换为JSON对象:

不,我们可以使用以下代码隔离邻近信息:

控制距离

使用0到255之间的比例来测量对象的接近程度。为防止意外触发传感器,我们将设置一个较高的值。 使用下面显示的if语句(我添加了一些文本,将显示该文本触发了代码):

控制Spotify

我们正在使用一个巧妙的技巧来触发Spotify更改曲目。 pyautogui包可以模拟一个人在键盘上打字,我们将使用它来“按下” 下一个音轨按钮。 在下面添加代码:

您会注意到我还增加了1秒的睡眠时间。 这样可以给您足够的时间将手从传感器上移开,而不会意外触发换轨。

冲洗完成

我们使用的串行软件包可以创建一个缓冲区,这样,即使脚本被暂停,您也不会丢失任何信息。 在我们的情况下,我们不希望发生这种情况,因为它会触发数百个音轨变化! flushInput命令可以防止这种情况的发生:

试试看!

在主文件夹中将文件另存为spotify.py 。 确保Spotify已打开,然后返回命令行,键入python spotify.py并按Enter

现在,将手放在运动传感器上! 如果您打开随机播放,Spotify将播放播放列表中的下一首歌曲或随机播放一首歌曲。

下一步

该项目的目的是为您提供使用Python与Motion Sensor Kit进行交互的初学者指南。 现在,您可以使用相同的基本代码来读取所有其他项目中的串行数据!

等不及要看你的作品了……