Hallo Zusammen,
vorweg möchte ich euch mitteilen, dass ich KEIN JS Programmierer bin, nicht einmal die Grundlagen von JS beherrsche und mein eigentliches Tätigkeitsfeld in einem anderen Bereich der IT liegt.
Ich wurde damit beauftragt, ein Skript aus zwei bereits existierenden Skripts zu erstellen welches Daten an ein Eventhub streamed. Der Ausgangspunkt ist die Übergabe der X,Y,Z Werte an den Eventhub von dieser Seite, welche mit dem Smartphone angesteuert werden kann:
Das Skript zum Streaming findet sich auf Github:
Ich muss lediglich die Werte an die Variable im Skript übergeben.
Ich habe den Vormittag damit verbracht einigermaßen etwas hinzubekommen, das ist das Ergebnis. Würde es so funktionieren ?
Vielen Dank für Eure Hilfe.
vorweg möchte ich euch mitteilen, dass ich KEIN JS Programmierer bin, nicht einmal die Grundlagen von JS beherrsche und mein eigentliches Tätigkeitsfeld in einem anderen Bereich der IT liegt.
Ich wurde damit beauftragt, ein Skript aus zwei bereits existierenden Skripts zu erstellen welches Daten an ein Eventhub streamed. Der Ausgangspunkt ist die Übergabe der X,Y,Z Werte an den Eventhub von dieser Seite, welche mit dem Smartphone angesteuert werden kann:
Code:
http://www.omiod.com/iphone/acceleration-demo.php
Das Skript zum Streaming findet sich auf Github:
Code:
https://github.com/ytechie/eventhubs-js
Ich muss lediglich die Werte an die Variable im Skript übergeben.
Ich habe den Vormittag damit verbracht einigermaßen etwas hinzubekommen, das ist das Ergebnis. Würde es so funktionieren ?
Code:
<script src="http://www.github...../eventhub.js" type="text/javascript">
<script>
eventHubs.init({
hubNamespace: eventHubsNamespace,
hubName: eventHubsHubName,
keyName: eventHubsKeyName,
key: eventHubsKey
});
function pad(str, len, pad) {
str = String(str);
if (typeof(len) == "undefined") { var len = 0; }
if (typeof(pad) == "undefined") { var pad = '0'; }
if (len + 1 >= str.length) str = Array(len + 1 - str.length).join(pad) + str;
return str;
}
// Rolls
var ax = 0;
var ay = 0;
var az = 0;
var rot = 0;
var nax = 0;
var nay = 0;
var naz = 0;
var nrot = 0;
var delay = 10;
if (window.DeviceMotionEvent != undefined) {
window.ondevicemotion = function(event) {
ax = Math.floor(Math.abs(event.accelerationIncludingGravity.x)/10*255);
ay = Math.floor(Math.abs(event.accelerationIncludingGravity.y)/10*255);
az = Math.floor(Math.abs(event.accelerationIncludingGravity.z)/10*255);
rot = -event.accelerationIncludingGravity.x*10;
}
setInterval(function() {
nax = nax + (ax - nax)/15;
nay = nay + (ay - nay)/15;
naz = naz + (az - naz)/15;
nrot = nrot + (rot - nrot)/20;
var r = Math.floor(nax);
var g = Math.floor(nay);
var b = Math.floor(naz);
var deviceMessage = {
hubr = r;
hubg = g;
hubb = b;
}
eventHubs.sendMessage();
var out = document.getElementById("out");
out.innerHTML = "x : "+pad(r,3)+"<br>y : "+pad(g,3)+"<br>z : "+pad(b,3);
out.style.webkitTransform = "rotate(" + nrot + "deg)";
var scr = document.getElementById("screen");
scr.style.backgroundColor = 'rgba('+r+','+g+','+b+',1)';
}, delay);
eventHubs.sendMessage({
message: deviceMessage,
deviceId: 1,
});
}
</script>
Vielen Dank für Eure Hilfe.