diff --git a/apps.json b/apps.json index a8390b927..8a46e4fd3 100644 --- a/apps.json +++ b/apps.json @@ -1158,5 +1158,18 @@ {"name":"batchart.app.js","url":"app.js"}, {"name":"batchart.img","url":"app-icon.js","evaluate":true} ] + }, + { "id": "bledetect", + "name": "BLE Detector", + "shortName":"BLE Detector", + "icon": "bledetect.png", + "version":"0.02", + "description": "Detect BLE devices and show some informations.", + "tags": "app,bluetooth,tool", + "readme": "README.md", + "storage": [ + {"name":"bledetect.app.js","url":"bledetect.js"}, + {"name":"bledetect.img","url":"bledetect-icon.js","evaluate":true} + ] } ] diff --git a/apps/bledetect/ChangeLog b/apps/bledetect/ChangeLog new file mode 100644 index 000000000..520ccfa2f --- /dev/null +++ b/apps/bledetect/ChangeLog @@ -0,0 +1,2 @@ +0.01: New App! +0.02: Fixed issue with wrong device informations \ No newline at end of file diff --git a/apps/bledetect/README.md b/apps/bledetect/README.md new file mode 100644 index 000000000..1f0c0a7a4 --- /dev/null +++ b/apps/bledetect/README.md @@ -0,0 +1,14 @@ +# BLE Detector + +BLE Detector it's an app born for testing purpose that aim to show as informations as possible about near BLE devices. + +## Features + +BLE Detector shows: + +- Device name (if available) +- Received Signal Strength Indication (RSSI) +- Manufacturer +- MAC Address + +More informations will coming with future versions. diff --git a/apps/bledetect/bledetect-icon.js b/apps/bledetect/bledetect-icon.js new file mode 100644 index 000000000..2e49b3d0a --- /dev/null +++ b/apps/bledetect/bledetect-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwgJGhGAEKuIxAXXGCoXBGCoXCDCgXDJKYXDGCYUBhAwUFgQwPEogTCGBwNFFYYYNHwoEGJJQlFCIgKCdR4XHJBQNEI6IOFO6IPEDQYGDahoYEa6BJFxBFPJJIuQGAouRGAoWSGAgXTSIoAEgUgL6cCkQACDJCOFGAYWDAAJFLX4gWFGA4sFC40gJQYuHwBEDAQISCMYowEFgoJDCAwYBAwZYEC45AEgIHERAgXMA4i4FC6bPDC4hXFC5B7FC57CHI54XIawgXRVwS/JC5SuDC4wGGC45HBFAQRCAooXIVwYRBAAoXLLIwAFC5IuDGCIuFDAyQLABphKABgwaC6owB")) \ No newline at end of file diff --git a/apps/bledetect/bledetect.js b/apps/bledetect/bledetect.js new file mode 100644 index 000000000..6f5f5fa30 --- /dev/null +++ b/apps/bledetect/bledetect.js @@ -0,0 +1,59 @@ +let menu = { + "": { "title": "BLE Detector" }, + "RE-SCAN": () => scan() +}; + +function showMainMenu() { + menu["< Back"] = () => load(); + return E.showMenu(menu); +} + +function showDeviceInfo(device){ + const deviceMenu = { + "": { "title": "Device Info" }, + "name": { + value: device.name + }, + "rssi": { + value: device.rssi + }, + "manufacturer": { + value: device.manufacturer + } + }; + + deviceMenu[device.id] = () => {}; + deviceMenu["< Back"] = () => showMainMenu(); + + return E.showMenu(deviceMenu); +} + +function scan() { + menu = { + "": { "title": "BLE Detector" }, + "RE-SCAN": () => scan() + }; + + waitMessage(); + + NRF.findDevices(devices => { + devices.forEach(device =>{ + let deviceName = device.id.substring(0,17); + + if (device.name) { + deviceName = device.name; + } + + menu[deviceName] = () => showDeviceInfo(device); + }); + showMainMenu(menu); + }, { active: true }); +} + +function waitMessage() { + E.showMenu(); + E.showMessage("scanning"); +} + +scan(); +waitMessage(); \ No newline at end of file diff --git a/apps/bledetect/bledetect.png b/apps/bledetect/bledetect.png new file mode 100644 index 000000000..59d6a26ce Binary files /dev/null and b/apps/bledetect/bledetect.png differ