不會android也能玩轉(zhuǎn)SensorTile上位機(jī)開發(fā)(android 上位機(jī))

寫了一個(gè)配合SensorTile調(diào)試的android程序

可以實(shí)現(xiàn)接收SensorTile加速度傳感器發(fā)來的數(shù)據(jù)并通過曲線顯示

不會android也能玩轉(zhuǎn)SensorTile上位機(jī)開發(fā)(android 上位機(jī))

考慮到參加SensorTile大賽的網(wǎng)友有不會android開發(fā)的

可以拿這個(gè)app實(shí)現(xiàn)一些簡單的功能

使用這個(gè)app不需要安裝android開發(fā)環(huán)境

只需要安裝編譯好的apk到手機(jī)

不會android也能玩轉(zhuǎn)SensorTile上位機(jī)開發(fā)(android 上位機(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就會看到下邊的效果

不會android也能玩轉(zhuǎn)SensorTile上位機(jī)開發(fā)(android 上位機(jī))

為了更好的利用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ā)送程序

不會android也能玩轉(zhuǎn)SensorTile上位機(jī)開發(fā)(android 上位機(jī))

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文件夾測試效果

不會android也能玩轉(zhuǎn)SensorTile上位機(jī)開發(fā)(android 上位機(jī))

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論壇。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部