一种让 Raspberry Pi 等待命令的方法

a way to have a Raspberry Pi wait for a command

我已经四处寻找这个问题的答案,但真的不知道要搜索什么以及在哪里寻找。我主要从事基本的 Web 开发,所以我不熟悉如何让不同计算机上的应用程序相互通信。

我想知道让 raspberry Pi 坐下来等待来自同一本地网络上另一台计算机的命令的最佳和最有效的方法。

我开始了一个小项目,让 Pi 的相机在从同一本地网络上的计算机发送命令时开始和停止录制。我目前有一个小的 python 脚本,它可以在单击两个不同的按钮时开始和停止将视频录制到文件中,但是我想将按钮触发器更改为来自另一台计算机的命令。 Pi 可能一次闲置几天,然后一个命令进来记录。那么实现这一目标的最有效方法是什么。我有几个thoughts/question想知道大家的想法

如您所见,由于我对应用程序交互的了解有限,所以我到处都不知道我的选择是什么。感谢阅读,我期待着答案...

import socket
host="0.0.0.0"
port=43210 #or some high number unused port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind((host,port)) 
s.listen(1)
client,address = s.accept()
#this wont run until after something hits that port

然后在另一台计算机上转到

http://ip.of.raspery.pi:43210

这将尝试打开端口...网页无法加载,但 pi 应该执行该评论下方的任何操作

或者你可以做

from flask import Flask
app = Flask(__name__)
@app.route("/start")
def start():
   return "OK START"
@app.route("/stop")
def stop():
  return "OK STOP!"

if __name__ == "__main__":
   app.run("0.0.0.0",port=8080)

和 运行 它在 pi 上......(或者甚至更好地通过 apache 服务......但那是另一个问题)

然后您可以导航至

http://raspberry.pi.ip:8080/start 
http://raspberry.pi.ip:8080/stop

这次您会看到一条状态消息