我正在开发Sublime Text插件以使用IoT设备。其中一些硬件可以通过OTA(无线)上传代码,我需要能够通过mDNS发现设备。
我尝试使用 zeroconf 并且效果非常好,我只需要像这样设置浏览器:
browser = ServiceBrowser(zeroconf, "_arduino._tcp.local.", listener)
那么,问题是什么?
Sublime Text运行其自身简化版本的插件,因此运行外部包的唯一方法是下载并将其集成到插件代码中。一切都很好,我已经完成其他包没有问题。
zeroconf具有以下依赖项:enum-compat, netifaces, six
,其中一些依赖项具有自己的依赖项。
我尝试下载每个依赖项(似乎只有很多代码才能浏览),但主要问题是netifaces是用C
编写的。我测试了一些东西,试图让它工作,但我没有成功。
我还尝试使用此存储库zeroconf以及上面的zeroconf的旧版本,并且不需要netifaces依赖。在这两种情况下,浏览的代码都是相同的,但在这个旧版本中,它没有得到任何arduino设备。
那我需要什么?
我想获得有关浏览/发现arduino设备的代码的帮助,正如我之前描述的那样,主要目标是获得此任务的最小代码并在没有安装的情况下运行任何依赖。我的意思是在需要时下载依赖项并在本地执行。
我不希望别人给我写代码,但有人可能会指出我在哪里可以开始。
我一直在查看zeroconf代码,似乎没有netifaces就无法工作,这就是旧存储库找不到设备的原因。
我也尝试过: