如何使用python读取我的Windows平板电脑中的加速度计?

时间:2014-08-11 11:16:36

标签: python windows accelerometer

我的平板电脑中有一个加速计,我可以在javascript中读取。

如何在python中访问此数据?我可以使用一些ctypes技巧来调用Windows 8传感器API函数吗?

1 个答案:

答案 0 :(得分:0)

可怕的黑客 - 在server.py中启动网络服务器:

import bottle
from threading import Thread

on_data = lambda alpha, beta, gamma: None

@bottle.route('/')
def handler():
    return bottle.static_file('index.html', '.')

@bottle.post('/data')
def handler():
    on_data(**bottle.request.json)

def data_handler(f):
    global on_data
    on_data = f
    return f

def go():
    t = Thread(target=lambda: bottle.run(quiet=True))
    t.start()

使用此index.html

<script>
  window.addEventListener('deviceorientation', function(eventData) {
    var d = {};
    ['alpha', 'beta', 'gamma'].forEach(function(prop) {
      d[prop] = eventData[prop];
    })
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://localhost:8080/data");
    xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
    xhr.send(JSON.stringify(d));
  }, false);
</script>

并将其用作:

import server

@server.data_hander
def on_acc_data(alpha, beta, gamma):
    print alpha, beta, gamma

server.go()

在浏览器中打开localhost:8080/