WIFI菠萝Nano和RPi GPIO

时间:2018-11-29 21:31:47

标签: python raspberry-pi wifi

我刚有了一个wifi菠萝nano,并且一直是树莓派爱好者,所以我非常激动,开始加入两者。我已经将它连接到我的Pi,并在设置上进行了一些尝试。我现在的特殊好奇心是,是否可以根据菠萝广播的无线局域网上发生的事件编写一个程序来在树莓派上执行GPIO任务。一个示例是如果检测到特定的MAC地址并且所述客户端处于某个功率阈值之内,则打开LED。在这个阶段,我缺乏知识是菠萝如何与pi(或与此相关的任何其他“主机”)相适应。

具体来说,我是否要编写程序(可能是python,然后再通过flask提供一些html和JavaScript)并将其托管在pi上?如果是这样,它如何与菠萝交互以获取MAC地址和连接功率dB?如果没有,我可以将它托管在菠萝上吗?如果是这样,程序如何与pi交互以利用其GPIO引脚?我将如何编译我的代码,以便菠萝可以使用它?是否已经有可用的模块可以帮助我实现目标呢?

1 个答案:

答案 0 :(得分:0)

我不太了解Pineapple Nano,但我发现有一个带有模块Tracking的API。 API您应该能够设置在具有特定MAC地址的客户端连接到AP时运行的脚本。在脚本中,您可以在Pi上调用一些方法API / Flask。

下一个解决方案可以是gpiozero库,该库具有模块pingserver doc, 您可以在其中检查某些URL是否在线。如果您在AP上设置了要跟踪的客户端的静态IP地址,则可以使用此模块确定是联机(连接)还是脱机(断开) 例如:

from gpiozero import PingServer, LED
from signal import pause

client= PingServer('192.168.0.155')
led = LED(4)

led.source_delay = 60  # check once per minute
led.source = client.values

pause()

在此示例中,当IP地址为192.168.0.155的客户端上线时,LED会亮起。

也许会对您有所帮助。

和平