我目前正在为家庭自动化制作网络界面。我可以打开和关闭灯,但有两个单独的按钮。我想创建一个打开或关闭的按钮,并从服务器上的文件中获取它的状态。该文件是这样的:
1001 = 0
1002 = 1
1003 = 0
注意:左边的数字是灯光的id,右边的数字是状态
当单击该按钮时,将执行一个shell命令,并且.txt文件(我开始工作)中单击的id的状态会发生变化。现在,我希望看到更改,当然没有重新加载,从所有打开页面的设备。
我能够从文件中获取内容并显示文本,但我没有成功将变量设置为:1001,1002,1003,...为'0'或'1'。
一个简单的.txt文件是正确的选择吗?
或者有没有办法测试每个特定id的状态,如果它是真或假,而不必设置变量?
你可以帮帮我吗? 谢谢。答案 0 :(得分:0)
您无法使用ajax / javascript直接调用shell脚本。在appache
的情况下,使用某些服务器(如appache
)和服务器端脚本语言(如PHP)(我建议安装wamp/xamp/lamp
)。你可以使用php代码使用shell_exec()调用你的shell脚本,或者可以直接使用php文件写入函数来读写文件。可以使用合适的参数通过AJAX轻松调用此PHP文件。
我为我的大学做了一个类似的项目,我使用arduino和gprs模块打开和关闭了一个led,通过互联网向网络服务器发送命令。
如果您对从js执行shell命令感兴趣,则需要非常特定于平台。在Windows Scripting中,您可以执行以下操作:
var shell = WScript.CreateObject("WScript.Shell");
shell.Run("command here");