距離を測る(複数版)
送信機
var radio_id = 7; var radio_group = 5; var dist_time = 1; function loop() { dist_send(radio_id, radio_group); } function dist_send(id, group){ for(p = 0; p < 32; p++){ // power radioInit(0xDEAD, id, group, p); radioSend(0xFFFF, "power:"+p+",time:"+dist_time); sleep(10); } dist_time++; } function sleep(count){ for(var i = 0; i < count*10; i++){ } } while(true){ loop(); }
受信機
var radio_id = 3; var radio_group = 5; var dist_lastTime = 0; var dist_lastPower = 0; var nodes_num = 10; nodes = new Array(nodes_num); nodes_init(nodes, nodes_num); serialInit(9600); radioInit(0xDEAD, radio_id, radio_group, 31); function loop(){ } function onRadioReceive(seq,id,pan,data,rss) { power = data.split(",")[0].split(":")[1]; time = data.split(",")[1].split(":")[1]; if(nodes[id].lastTime < time){ // 新しいデータの時 nodes[id].power = power; serialSend("id"+id+" power"+power+" time"+time+"\r\n"); } nodes[id].lastTime = time; } function nodes_init(nodes, node_num){ for(i = 1; i < node_num+2; i++){ nodes[i] = new Object(); nodes[i].lastTime = 0; nodes[i].power = 0; } } function sleep(count){ for(var i = 0; i < count*10; i++){ } } while(true){ loop(); }