implementation 'androidx.appcompat:appcompat:1.4.2' | implementation 'androidx.appcompat:appcompat:1.4.2' | ||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4' | implementation 'androidx.constraintlayout:constraintlayout:2.0.4' | ||||
testImplementation 'junit:junit:4.12' | testImplementation 'junit:junit:4.12' | ||||
implementation 'com.github.elinkthings:AILinkSDKRepositoryAndroid:1.10.9'//蓝牙核心库 | |||||
implementation 'com.github.elinkthings:AILinkSDKRepositoryAndroid:1.13.11'//蓝牙核心库 | |||||
implementation 'com.github.elinkthings:AILinkSDKOtaLibraryAndroid:1.0.3'//OTA库,需要依赖核心库 | implementation 'com.github.elinkthings:AILinkSDKOtaLibraryAndroid:1.0.3'//OTA库,需要依赖核心库 | ||||
implementation 'com.github.elinkthings:AILinkSDKParsingLibraryAndroid:1.8.0'//蓝牙解析库 | |||||
implementation 'com.github.elinkthings:AILinkSDKParsingLibraryAndroid:1.8.4'//蓝牙解析库 | |||||
implementation 'androidx.recyclerview:recyclerview:1.2.1' | implementation 'androidx.recyclerview:recyclerview:1.2.1' | ||||
implementation 'com.jakewharton:butterknife:10.2.0' | implementation 'com.jakewharton:butterknife:10.2.0' | ||||
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0' | annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0' |
import android.widget.RadioGroup; | import android.widget.RadioGroup; | ||||
import android.widget.Toast; | import android.widget.Toast; | ||||
import androidx.annotation.Nullable; | |||||
import androidx.appcompat.widget.AppCompatSpinner; | |||||
import androidx.constraintlayout.widget.ConstraintLayout; | |||||
import androidx.lifecycle.Lifecycle; | |||||
import com.pingwang.bluetoothlib.device.BleDevice; | import com.pingwang.bluetoothlib.device.BleDevice; | ||||
import com.pingwang.bluetoothlib.device.SendDataBean; | import com.pingwang.bluetoothlib.device.SendDataBean; | ||||
import com.pingwang.bluetoothlib.listener.OnBleOtherDataListener; | import com.pingwang.bluetoothlib.listener.OnBleOtherDataListener; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleAppBaseActivity; | import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleAppBaseActivity; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.airdetector_test.AirDetectorActivityTest; | import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.airdetector_test.AirDetectorActivityTest; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.TimeUtils; | import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.TimeUtils; | ||||
import androidx.annotation.Nullable; | |||||
import androidx.appcompat.widget.AppCompatSpinner; | |||||
import androidx.constraintlayout.widget.ConstraintLayout; | |||||
import androidx.lifecycle.Lifecycle; | |||||
import cn.net.aicare.modulelibrary.module.airDetector.AirConst; | import cn.net.aicare.modulelibrary.module.airDetector.AirConst; | ||||
import cn.net.aicare.modulelibrary.module.airDetector.AirDetectorWifeBleData; | import cn.net.aicare.modulelibrary.module.airDetector.AirDetectorWifeBleData; | ||||
import cn.net.aicare.modulelibrary.module.airDetector.AirSendUtil; | import cn.net.aicare.modulelibrary.module.airDetector.AirSendUtil; | ||||
String valueMin = ed_min.getText().toString().trim(); | String valueMin = ed_min.getText().toString().trim(); | ||||
float myValueMax = valueMax.contains("\\.") ? Float.parseFloat(valueMax) : Integer.parseInt(valueMax); | float myValueMax = valueMax.contains("\\.") ? Float.parseFloat(valueMax) : Integer.parseInt(valueMax); | ||||
float myValueMin = valueMin.contains("\\.") ? Float.parseFloat(valueMin) : Integer.parseInt(valueMin); | float myValueMin = valueMin.contains("\\.") ? Float.parseFloat(valueMin) : Integer.parseInt(valueMin); | ||||
sendDataBean = AirSendUtil.setWarmTemp(supportBean.getPoint(), | |||||
supportBean.getUnit(), myValueMax, myValueMin); | |||||
sendDataBean = AirSendUtil.setWarmTemp(supportBean.getPoint(), supportBean.getUnit(), myValueMax, myValueMin,1); | |||||
break; | break; | ||||
case AirConst.AIR_TYPE_HUMIDITY: | case AirConst.AIR_TYPE_HUMIDITY: | ||||
valueMax = ed_max.getText().toString().trim(); | valueMax = ed_max.getText().toString().trim(); | ||||
myValueMax = valueMax.contains("\\.") ? Float.parseFloat(valueMax) : Integer.parseInt(valueMax); | myValueMax = valueMax.contains("\\.") ? Float.parseFloat(valueMax) : Integer.parseInt(valueMax); | ||||
myValueMin = valueMin.contains("\\.") ? Float.parseFloat(valueMin) : Integer.parseInt(valueMin); | myValueMin = valueMin.contains("\\.") ? Float.parseFloat(valueMin) : Integer.parseInt(valueMin); | ||||
sendDataBean = AirSendUtil.setWarmHumidity(supportBean.getPoint(), | sendDataBean = AirSendUtil.setWarmHumidity(supportBean.getPoint(), | ||||
myValueMax, myValueMin); | |||||
myValueMax, myValueMin,1); | |||||
break; | break; | ||||
case AirConst.AIR_SETTING_VOICE: | case AirConst.AIR_SETTING_VOICE: | ||||
warmState = Integer.parseInt(ed_warm_state.getText().toString().trim()); | warmState = Integer.parseInt(ed_warm_state.getText().toString().trim()); |
import android.widget.Button; | import android.widget.Button; | ||||
import android.widget.Toast; | import android.widget.Toast; | ||||
import androidx.lifecycle.Lifecycle; | |||||
import androidx.recyclerview.widget.LinearLayoutManager; | |||||
import androidx.recyclerview.widget.RecyclerView; | |||||
import com.pingwang.bluetoothlib.device.BleDevice; | import com.pingwang.bluetoothlib.device.BleDevice; | ||||
import com.pingwang.bluetoothlib.listener.OnCallbackBle; | import com.pingwang.bluetoothlib.listener.OnCallbackBle; | ||||
import com.pingwang.bluetoothlib.utils.BleLog; | import com.pingwang.bluetoothlib.utils.BleLog; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.R; | import aicare.net.cn.sdk.ailinksdkdemoandroid.R; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleAppBaseActivity; | import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleAppBaseActivity; | ||||
import androidx.lifecycle.Lifecycle; | |||||
import androidx.recyclerview.widget.LinearLayoutManager; | |||||
import androidx.recyclerview.widget.RecyclerView; | |||||
import cn.net.aicare.modulelibrary.module.airDetector.AirConst; | import cn.net.aicare.modulelibrary.module.airDetector.AirConst; | ||||
import cn.net.aicare.modulelibrary.module.airDetector.AirDetectorWifeBleData; | import cn.net.aicare.modulelibrary.module.airDetector.AirDetectorWifeBleData; | ||||
import cn.net.aicare.modulelibrary.module.airDetector.AirSendUtil; | import cn.net.aicare.modulelibrary.module.airDetector.AirSendUtil; | ||||
type = AirConst.AIR_TYPE_TEMP; | type = AirConst.AIR_TYPE_TEMP; | ||||
if (isSupportWarmType(type)) { | if (isSupportWarmType(type)) { | ||||
addTest("设置温度报警"); | addTest("设置温度报警"); | ||||
mAirDetectorWifeBleData.sendData(AirSendUtil.setWarmTemp(0, AirConst.UNIT_C, 30f, 0f)); | |||||
mAirDetectorWifeBleData.sendData(AirSendUtil.setWarmTemp(0, AirConst.UNIT_C, 30f, 0f,1)); | |||||
} | } | ||||
break; | break; | ||||
case STEP_WARM_HUMIDITY: | case STEP_WARM_HUMIDITY: | ||||
type = AirConst.AIR_TYPE_HUMIDITY; | type = AirConst.AIR_TYPE_HUMIDITY; | ||||
if (isSupportWarmType(type)) { | if (isSupportWarmType(type)) { | ||||
addTest("设置湿度报警"); | addTest("设置湿度报警"); | ||||
mAirDetectorWifeBleData.sendData(AirSendUtil.setWarmHumidity(0, 60f, 7f)); | |||||
mAirDetectorWifeBleData.sendData(AirSendUtil.setWarmHumidity(0, 60f, 7f,1)); | |||||
} | } | ||||
break; | break; | ||||
case STEP_WARM_PM2_5: | case STEP_WARM_PM2_5: |
import android.widget.ListView; | import android.widget.ListView; | ||||
import android.widget.RadioButton; | import android.widget.RadioButton; | ||||
import androidx.annotation.Nullable; | |||||
import com.pingwang.bluetoothlib.bean.SupportUnitBean; | |||||
import com.pingwang.bluetoothlib.device.BleDevice; | import com.pingwang.bluetoothlib.device.BleDevice; | ||||
import java.text.SimpleDateFormat; | import java.text.SimpleDateFormat; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.R; | import aicare.net.cn.sdk.ailinksdkdemoandroid.R; | ||||
import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleBaseActivity; | import aicare.net.cn.sdk.ailinksdkdemoandroid.base.BleBaseActivity; | ||||
import androidx.annotation.Nullable; | |||||
import cn.net.aicare.modulelibrary.module.weightscale.WeightScaleDevice; | import cn.net.aicare.modulelibrary.module.weightscale.WeightScaleDevice; | ||||
/** | /** | ||||
private WeightScaleDevice mWeightScaleDevice; | private WeightScaleDevice mWeightScaleDevice; | ||||
private Button btn_weight_battery, btn_weight_sync_time,btn_weight_query_unit; | |||||
private Button btn_weight_battery, btn_weight_sync_time, btn_weight_query_unit; | |||||
private RadioButton kg, jing, stlb, lb; | private RadioButton kg, jing, stlb, lb; | ||||
addText("收到的A7 PayLoad:[" + A7DataStr + "]"); | addText("收到的A7 PayLoad:[" + A7DataStr + "]"); | ||||
} | } | ||||
@Override | |||||
public void onSupportUnit(List<SupportUnitBean> list) { | |||||
} | |||||
@Override | @Override | ||||
public void onMeasureOk() { | public void onMeasureOk() { | ||||
addText("测量完成"); | addText("测量完成"); | ||||
addText("版本号:" + version); | addText("版本号:" + version); | ||||
} | } | ||||
/** | |||||
* 请求同步时间 | |||||
* | |||||
* @param quest 1-请求同步时间 | |||||
*/ | |||||
@Override | |||||
public void onSyncTime(int quest) { | |||||
if (quest == 1) { | |||||
if (mWeightScaleDevice != null) { | |||||
mWeightScaleDevice.appSyncTime(); | |||||
} | |||||
} | |||||
} | |||||
@Override | @Override | ||||
public void onBattery(int status, int battery) { | public void onBattery(int status, int battery) { | ||||
if (mWeightScaleDevice != null) { | if (mWeightScaleDevice != null) { | ||||
mWeightScaleDevice.appSyncTime(); | mWeightScaleDevice.appSyncTime(); | ||||
} | } | ||||
}else if (view.getId()==R.id.btn_weight_query_unit){ | |||||
} else if (view.getId() == R.id.btn_weight_query_unit) { | |||||
if (mWeightScaleDevice != null) { | if (mWeightScaleDevice != null) { | ||||
mWeightScaleDevice.queryUnit(); | mWeightScaleDevice.queryUnit(); | ||||
} | } |