我的Python程序是,
from xbee import ZigBee
import serial
import sys
sPort = serial.Serial("/dev/ttyAMA0", 9600)
xbee = ZigBee(sPort)
targStr = sys.argv[1]
data = str(targStr)
print (data)
destAdd = "\x00\x13\xa2\x00\x40\xa9\xcc\xad"
xbee.send("tx",dest_addr_long=destAdd,dest_addr="\xff\fe",data=data)
print ("Sent!")
当我在linux shell上执行这个python程序时,它的效果非常好!如何从HTML页面(使用Javascript,AJAX或PHP)在某些事件上执行此程序?
答案 0 :(得分:1)
您需要将此代码嵌入到某个Python Web服务器中 - 例如Flask。
请参阅示例bellow - xbee_test.py(非常原始,不要在生产环境中使用它):
from flask import Flask
app = Flask(__name__)
from xbee import ZigBee
import serial
sPort = serial.Serial("/dev/ttyAMA0", 9600)
xbee = ZigBee(sPort)
@app.route("/<data>")
def index(data):
destAdd = "\x00\x13\xa2\x00\x40\xa9\xcc\xad"
xbee.send("tx",dest_addr_long=destAdd,dest_addr="\xff\fe",data=data)
return "Sent!"
if __name__ == "__main__":
app.run()
现在,当你在Python中运行它并点击http // localhost:5000 / test_data时,你会得到你的代码。
将其嵌入到HTML页面中,例如从这一点开始,AJAX调用就不复杂了。
以下是如何获取Flask安装并运行:
$ pip install Flask
$ python xbee_test.py
* Running on http://localhost:5000/