我制作了一个Android应用程序,使用Mqtt协议向Cloudmqtt(由AWS提供支持)发布主题。我的raspberrypi有一个本地的Mosquitto代理,它与远程Cloudmqtt桥接。因此,只要我通过我的Android应用程序发布主题,就会在raspberrypi控制台上收到它。 这就是问题所在。一旦我在raspberrypi控制台上收到消息,就应该执行一个python文件。怎么办呢?
我编写以下命令来接收主题
mosquitto_sub -h host_name -p port_no -u remote_user_name -P remote_password -t hello/today/world
现在,只要我通过主题hello/today/world
收到一个消息,我就必须运行一个python文件,根据从主题收到的消息做出决定(如果收到的消息是on
, led开启)
但主要的问题是我们如何读取msg并相应地执行文件?
今天早上我看到有人发布了一个类似的问题,我接受了挑战,找出了解决办法,但我没有办法解决这个问题。
我试着在shell中编写,但它无法正常工作
c=mosquitto_sub -h host_name -p port_no -u remote_user_name -P remote_password -t hello/today/world
if ( c == "rushabh welcome to garden assistant" )
then
GPIO mode 12 out
GPIO mode 12 1
GPIO mode 12 0
else
echo "not matched"
fi
因为我想从蚊子经纪人那里收到rushabh welcome to garden assistant
后立即打开gpio 12的领导
我们可以使用$SYS/broker/messages/stored