diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c07c249..07608db 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -27,7 +27,7 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/Theme.BeaconDemo" + android:theme="@style/Theme.AppCompat.Light" tools:targetApi="31"> advFrames; + TextView txt_name,txt_mac,txt_battery,txt_rssi,txt_device,txt_xaxis,txt_yaxis,txt_zaxis; + String mac,name; + int battery,rssi; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -130,93 +138,165 @@ public class MainActivity extends AppCompatActivity { mMtCentralManager.setMTCentralManagerListener(new MTCentralManagerListener() { @Override public void onScanedPeripheral(final List peripherals) { + Log.e("Peripherals : ", String.valueOf(peripherals.size())); for (MTPeripheral mtPeripheral : peripherals) { // get FrameHandler of a device. MTFrameHandler mtFrameHandler = mtPeripheral.mMTFrameHandler; - String mac = mtFrameHandler.getMac(); //mac address of device - String name = mtFrameHandler.getName(); // name of device - int battery = mtFrameHandler.getBattery(); //battery - int rssi = mtFrameHandler.getRssi(); //rssi + mac = mtFrameHandler.getMac(); //mac address of device + name = mtFrameHandler.getName(); // name of device + battery = mtFrameHandler.getBattery(); //battery + rssi = mtFrameHandler.getRssi(); //rssi + txt_device.setText("Device in range. "); + + + txt_mac.setText("Mac Address : "+mac); + txt_name.setText("Device Name : "+name); + txt_battery.setText("Battery Status : "+battery); + txt_rssi.setText(" Rssi : "+rssi); + + // all data frames of device(such as:iBeacon,UID,URL...) advFrames = mtFrameHandler.getAdvFrames(); - /*for (MinewFrame minewFrame : advFrames) { + Log.v("Device Log : ", advFrames.toString()); + for (MinewFrame minewFrame : advFrames) { FrameType frameType = minewFrame.getFrameType(); switch (frameType) { case FrameiBeacon://iBeacon IBeaconFrame iBeaconFrame = (IBeaconFrame) minewFrame; - Log.v("beaconplus", iBeaconFrame.getUuid() + iBeaconFrame.getMajor() + iBeaconFrame.getMinor()); + Log.v("beaconplus1", iBeaconFrame.getUuid() + iBeaconFrame.getMajor() + iBeaconFrame.getMinor()); break; case FrameUID://uid UidFrame uidFrame = (UidFrame) minewFrame; - Log.v("beaconplus", uidFrame.getNamespaceId() + uidFrame.getInstanceId()); + Log.v("beaconplus2", uidFrame.getNamespaceId() + uidFrame.getInstanceId()); break; case FrameAccSensor: AccFrame accFrame = (AccFrame) minewFrame;//acc - Log.v("beaconplus", String.valueOf(accFrame.getXAxis() + accFrame.getYAxis() + accFrame.getZAxis())); + txt_xaxis.setText("X axis: " + accFrame.getXAxis()); + txt_yaxis.setText("Y axis: " + accFrame.getYAxis()); + txt_zaxis.setText("Z axis: " + accFrame.getZAxis()); + Log.v("beaconplus3", String.valueOf(accFrame.getXAxis() + " "+ accFrame.getYAxis() +" "+ accFrame.getZAxis())); break; case FrameHTSensor: HTFrame htFrame = (HTFrame) minewFrame;//ht - Log.v("beaconplus", String.valueOf(htFrame.getTemperature() + htFrame.getHumidity())); + Log.v("beaconplus4", String.valueOf(htFrame.getTemperature() + htFrame.getHumidity())); break; case FrameTLM: TlmFrame tlmFrame = (TlmFrame) minewFrame;//tlm - Log.v("beaconplus", String.valueOf(tlmFrame.getTemperature() + tlmFrame.getBatteryVol() + tlmFrame.getSecCount() + tlmFrame.getAdvCount())); + Log.v("beaconplus5", String.valueOf(tlmFrame.getTemperature() + tlmFrame.getBatteryVol() + tlmFrame.getSecCount() + tlmFrame.getAdvCount())); break; case FrameURL: UrlFrame urlFrame = (UrlFrame) minewFrame;//url - Log.v("beaconplus", "Link:" + urlFrame.getUrlString() + "Rssi @ 0m:" + urlFrame.getTxPower()); + Log.v("beaconplus6", "Link:" + urlFrame.getUrlString() + "Rssi @ 0m:" + urlFrame.getTxPower()); break; case FrameLightSensor: LightFrame lightFrame = (LightFrame) minewFrame;//light - Log.v("beaconplus", "battery:" + lightFrame.getBattery() + "%" + lightFrame.getLuxValue()); + Log.v("beaconplus7", "battery:" + lightFrame.getBattery() + "%" + lightFrame.getLuxValue()); break; case FrameForceSensor: ForceFrame forceFrame = ((ForceFrame) minewFrame);//force - Log.v("beaconplus", "battery:" + forceFrame.getBattery() + "%" + "force:" + forceFrame.getForce() + "gram"); + Log.v("beaconplus8", "battery:" + forceFrame.getBattery() + "%" + "force:" + forceFrame.getForce() + "gram"); break; case FramePIRSensor: PIRFrame pirFrame = ((PIRFrame) minewFrame);//pir - Log.v("beaconplus", "battery:" + pirFrame.getBattery() + "%" + "PIR:", pirFrame.getValue()); + Log.v("beaconplus9", "battery:" + pirFrame.getBattery() + "%" + "PIR:"+ pirFrame.getPirData()); break; case FrameTempSensor://temp TemperatureFrame temperatureFrame = (TemperatureFrame) minewFrame; - Log.v("beaconplus", "battery:" + temperatureFrame.getBattery() + "%,temperature:" + String.format("%.2f", temperatureFrame.getValue()) + "°C"); + Log.v("beaconplus10", "battery:" + temperatureFrame.getBattery() + "%,temperature:" + String.format("%.2f", temperatureFrame.getValue()) + "°C"); break; case FrameTVOCSensor://tvoc TvocFrame tvocFrame = (TvocFrame) minewFrame; - Log.v("beaconplus", "battery:" + tvocFrame.getBattery() + ",TVOC:"+ tvocFrame.getValue() + "ppb," + "battery:" +tvocFrame.getBattery() + "mV"); + Log.v("beaconplus11", "battery:" + tvocFrame.getBattery() + ",TVOC:"+ tvocFrame.getValue() + "ppb," + "battery:" +tvocFrame.getBattery() + "mV"); break; case FrameLineBeacon://FrameLineBeacon - FrameLineBeacon lineBeacon = ((FrameLineBeacon) minewFrame); - Log.v("beaconplus", "Hwid:" + lineBeacon.getHwid() - + ",Rssi@1m:", lineBeacon.getTxPower() - + ",authentication:"lineBeacon.getAuthentication() + LineBeaconFrame lineBeacon = ((LineBeaconFrame) minewFrame); + Log.v("beaconplus12", "Hwid:" + lineBeacon.getHwid() + + ",Rssi@1m:"+ lineBeacon.getTxPower() + + ",authentication:"+lineBeacon.getAuthentication() + ",timesTamp:" + lineBeacon.getTimesTamp()); break; - case TamperProofFrame://TamperProofFrame + case FrameTamperProof://TamperProofFrame TamperProofFrame tamperProofFrame = ((TamperProofFrame) minewFrame);// - Log.v("beaconplus", "battery:" + tamperProofFrame.getBattery()); + Log.v("beaconplus13", "battery:" + tamperProofFrame.getBattery()); break; - case InfoFrame://InfoFrame + case FrameDeviceInfo://InfoFrame InfoFrame infoFrame = ((InfoFrame) minewFrame);// - Log.v("beaconplus", infoFrame.getMajor() + infoFrame.getMinor() + infoFrame.getBatteryVoltage()); + Log.v("beaconplus14", infoFrame.getMajor() + infoFrame.getMinor() + infoFrame.getBatteryVoltage()); break; default: + Log.v("Device range", "Device not found"); + + break; } - }*/ + } + + + + } + + } + + @Override + public boolean equals(@Nullable Object obj) { + Log.e("Equals", "equals"); + return super.equals(obj); + } + + + @Override + protected void finalize() throws Throwable { + Log.e("Finalize", "finalize"); + super.finalize(); + } + + @Override + public int hashCode() { + Log.e("HashCode", "hashCode"); + return super.hashCode(); + } + + @NonNull + @Override + protected Object clone() throws CloneNotSupportedException { + Log.e("Clone", "clone"); + return super.clone(); + } + + @NonNull + @Override + public String toString() { + Log.e("ToString", "toString"); + return super.toString(); } }); + + + + + + } private void initView() { RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this); + txt_battery=findViewById(R.id.txt_battery); + txt_mac=findViewById(R.id.txt_mac); + txt_name=findViewById(R.id.txt_name); + txt_rssi=findViewById(R.id.txt_rssi); + txt_device=findViewById(R.id.txt_device); + txt_xaxis=findViewById(R.id.txt_xaxis); + txt_yaxis=findViewById(R.id.txt_yaxis); + txt_zaxis=findViewById(R.id.txt_zaxis); mRecycle.setLayoutManager(layoutManager); mAdapter = new RecycleAdapter(); mRecycle.setAdapter(mAdapter); /*mRecycle.addItemDecoration(new RecycleViewDivider(this, LinearLayoutManager .HORIZONTAL));*/ + + + } private void initManager() { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index fa17c43..91b9c1a 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,19 +1,91 @@ - + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + + + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 06a8503..ecf724f 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -2,12 +2,12 @@