不會android也能玩轉(zhuǎn)SensorTile上位機(jī)開發(fā)(android 上位機(jī))
寫了一個(gè)配合SensorTile調(diào)試的android程序
可以實(shí)現(xiàn)接收SensorTile加速度傳感器發(fā)來的數(shù)據(jù)并通過曲線顯示
考慮到參加SensorTile大賽的網(wǎng)友有不會android開發(fā)的
可以拿這個(gè)app實(shí)現(xiàn)一些簡單的功能
使用這個(gè)app不需要安裝android開發(fā)環(huán)境
只需要安裝編譯好的apk到手機(jī)
jsble.apk (2.3 MB, 下載次數(shù): 0)
然后把寫好的html文件放到sd卡的int8目錄下即可
例如讀取SensorTile廣播的mac地址,rssi和scan data并通過文本框顯示
在手機(jī)sd卡目錄下創(chuàng)建一個(gè)int8的文件夾
使用記事本創(chuàng)建一個(gè)html文件
復(fù)制下邊的html代碼到記事本
保存后將html文件放到sd卡的int8文件夾
<html>
<head>
<title>JsBLUE APP</title>
<scripttype=“text/javascript”>
function jsCallback(jsonStr){
if(jsonStr.cmd == ‘ON_LE_SCAN’)
{
var json = JSON.parse(jsonStr.prm);
document.getElementById(‘textarea’).value=‘mac:’ json.mac ‘rnrssi:’ json.rssi ‘rnscan data:’ json.scanData;
}
}
</script>
</head>
<body>
<p>JsBLUE 接收BLE設(shè)備廣播數(shù)據(jù)</p>
<textareaid=“textarea”rows=“10”cols=“50”></textarea>
</body>
<html>
運(yùn)行app就會看到下邊的效果
為了更好的利用SensorTile的廣播數(shù)據(jù)
收到的scan data使用了16進(jìn)制字符顯示
例如想顯示SensorTile加速度的x,y,z軸數(shù)據(jù)
可以在SensorTile例程里把讀取到的x,y,z軸數(shù)據(jù)添加到廣播數(shù)據(jù)
buf[0]= acceleration.AXIS_X >>8;
buf[1]= acceleration.AXIS_X &0xff;
buf[2]= acceleration.AXIS_Y >>8;
buf[3]= acceleration.AXIS_Y &0xff;
buf[4]= acceleration.AXIS_Z >>8;
buf[5]= acceleration.AXIS_Z &0xff;
UpdateAdvStr(buf);
SensorTile 三軸加速度的發(fā)送程序
Project.bin (21.08 KB, 下載次數(shù): 0)
手機(jī)收到數(shù)據(jù)后會將數(shù)據(jù)轉(zhuǎn)換成16進(jìn)制字符并調(diào)用html文件里的jsCallback函數(shù)
在jsCallback里處理數(shù)據(jù)并顯示
function jsCallback(jsonStr){
if(jsonStr.cmd ==‘ON_LE_SCAN’)
{
var json = JSON.parse(jsonStr.prm);
if(json.mac !=‘FF:FF:FF:FF:FF:FF’)
{
return;
}
var x = json.scanData.substr(4,4);
var y = json.scanData.substr(8,4);
var z = json.scanData.substr(12,4);
x = hex2signedDec(x);
y = hex2signedDec(y);
z = hex2signedDec(z);
$(“#info_label”).text(‘x:’ x ‘ y:’ y ‘ z:’ z);
addData([x,y,z],100);
}
}
解壓文件到sd卡下的int8文件夾測試效果
html.rar (698.26 KB, 下載次數(shù): 0)
目前App只實(shí)現(xiàn)了接收BLE的廣播功能
所以和SensorTile的通信只能是單向的
SensorTile發(fā)送數(shù)據(jù),android 手機(jī)接收數(shù)據(jù)
完整的項(xiàng)目源碼可以到https://github.com/int8cn/jsble下載
以上圖文內(nèi)容均是EEWORLD論壇網(wǎng)友:littleshrimp 原創(chuàng),在此感謝。
歡迎微博@EEWORLD
如果你也寫過此類原創(chuàng)干貨請關(guān)注微信公眾號:EEWORLD(電子工程世界)回復(fù)“投稿”,也可將你的原創(chuàng)發(fā)至:bbs_service@eeworld.com.cn,一經(jīng)入選,我們將幫你登上頭條!
與更多行業(yè)內(nèi)網(wǎng)友進(jìn)行交流請登陸EEWORLD論壇。