|
@@ -1,7 +1,9 @@
|
|
package com.zzliaoyuan.power_sensor.fragment;
|
|
package com.zzliaoyuan.power_sensor.fragment;
|
|
|
|
|
|
import android.os.Bundle;
|
|
import android.os.Bundle;
|
|
|
|
+import android.os.Environment;
|
|
import android.util.Log;
|
|
import android.util.Log;
|
|
|
|
+
|
|
import com.zzliaoyuan.power_sensor.MainApplication;
|
|
import com.zzliaoyuan.power_sensor.MainApplication;
|
|
import com.zzliaoyuan.power_sensor.activity.MainActivity;
|
|
import com.zzliaoyuan.power_sensor.activity.MainActivity;
|
|
import com.zzliaoyuan.power_sensor.tools.UIHelper;
|
|
import com.zzliaoyuan.power_sensor.tools.UIHelper;
|
|
@@ -9,6 +11,13 @@ import com.rscja.deviceapi.entity.UHFTAGInfo;
|
|
import com.zzliaoyuan.rifdmastercore.LibCore;
|
|
import com.zzliaoyuan.rifdmastercore.LibCore;
|
|
import com.zzliaoyuan.rifdmastercore.ProductInfo;
|
|
import com.zzliaoyuan.rifdmastercore.ProductInfo;
|
|
|
|
|
|
|
|
+import java.io.BufferedReader;
|
|
|
|
+import java.io.File;
|
|
|
|
+import java.io.FileInputStream;
|
|
|
|
+import java.io.IOException;
|
|
|
|
+import java.io.InputStreamReader;
|
|
|
|
+import java.io.RandomAccessFile;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Timer;
|
|
import java.util.Timer;
|
|
import java.util.TimerTask;
|
|
import java.util.TimerTask;
|
|
|
|
|
|
@@ -22,6 +31,7 @@ public class UHFReadTagFragment {
|
|
private static int delayTime = 100; //ms
|
|
private static int delayTime = 100; //ms
|
|
private static int periodTime = 600; //ms
|
|
private static int periodTime = 600; //ms
|
|
private boolean isStop = true;
|
|
private boolean isStop = true;
|
|
|
|
+ private ArrayList<String> assetsList = new ArrayList<String>();
|
|
|
|
|
|
public static UHFReadTagFragment getInstance() {
|
|
public static UHFReadTagFragment getInstance() {
|
|
if (mInstance == null) {
|
|
if (mInstance == null) {
|
|
@@ -44,6 +54,7 @@ public class UHFReadTagFragment {
|
|
public void onCheckedChanged(int checkedId) {
|
|
public void onCheckedChanged(int checkedId) {
|
|
// 设置循环盘点同时读取 EPC、TID、USER 模式
|
|
// 设置循环盘点同时读取 EPC、TID、USER 模式
|
|
mContext.mReader.setEPCAndTIDUserMode(0, 24);
|
|
mContext.mReader.setEPCAndTIDUserMode(0, 24);
|
|
|
|
+ readAssets();
|
|
}
|
|
}
|
|
|
|
|
|
private void readTag() {
|
|
private void readTag() {
|
|
@@ -79,7 +90,7 @@ public class UHFReadTagFragment {
|
|
Data += ",\"voltageFactor\":\"" + product.voltageFactor + "\""; // 电压因数
|
|
Data += ",\"voltageFactor\":\"" + product.voltageFactor + "\""; // 电压因数
|
|
Data += ",\"version\":\"" + product.version + "\""; // 版本
|
|
Data += ",\"version\":\"" + product.version + "\""; // 版本
|
|
Data += ",\"powerFactor\":\"" + product.powerFactor + "\""; // 功率因数
|
|
Data += ",\"powerFactor\":\"" + product.powerFactor + "\""; // 功率因数
|
|
-
|
|
|
|
|
|
+ writeAssets(product.assetID);
|
|
// wsdd 添加读取的数据,此处应该返回数据strEPC到RN
|
|
// wsdd 添加读取的数据,此处应该返回数据strEPC到RN
|
|
// 返回给RN的数据格式 {"userData":"6a173f0fd2a140cf20204fbaa6d1c0158518031da248f306535dc6d10026a7c985671ae611afb4c151feb5712eba3d52","assetID":"4330012800000002178203 ","model":"002型","manufacturer":"北京***公司","kind":"电压互感器"}
|
|
// 返回给RN的数据格式 {"userData":"6a173f0fd2a140cf20204fbaa6d1c0158518031da248f306535dc6d10026a7c985671ae611afb4c151feb5712eba3d52","assetID":"4330012800000002178203 ","model":"002型","manufacturer":"北京***公司","kind":"电压互感器"}
|
|
} else {
|
|
} else {
|
|
@@ -107,6 +118,7 @@ public class UHFReadTagFragment {
|
|
UIHelper.ToastMessage(mContext, "设置功率失败");
|
|
UIHelper.ToastMessage(mContext, "设置功率失败");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
public int getPower() {
|
|
public int getPower() {
|
|
return mContext.mReader.getPower();
|
|
return mContext.mReader.getPower();
|
|
}
|
|
}
|
|
@@ -135,7 +147,8 @@ public class UHFReadTagFragment {
|
|
try {
|
|
try {
|
|
readTag();
|
|
readTag();
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
- UIHelper.ToastMessage(mContext, "识别失败");
|
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+// UIHelper.ToastMessage(mContext, "识别失败");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
@@ -157,4 +170,75 @@ public class UHFReadTagFragment {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void readAssets() {
|
|
|
|
+ try {
|
|
|
|
+ // 存放的文件路径
|
|
|
|
+ File assetsFile = new File(
|
|
|
|
+ Environment.getExternalStorageDirectory().getCanonicalPath() + "/assetsLog"
|
|
|
|
+ );
|
|
|
|
+ if (!assetsFile.exists()) {
|
|
|
|
+ try {
|
|
|
|
+ assetsFile.mkdirs();
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ UIHelper.ToastMessage(mContext, "创建资产编号日志文件夹失败" + "-" + e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ String strFilePath = "assets.txt";
|
|
|
|
+ File file = new File(assetsFile, strFilePath);
|
|
|
|
+ if (!file.exists()) {
|
|
|
|
+ file.createNewFile();
|
|
|
|
+ }
|
|
|
|
+ // 读取文件内容
|
|
|
|
+ FileInputStream instream = new FileInputStream(file);
|
|
|
|
+ if (instream != null) {
|
|
|
|
+ InputStreamReader inputreader = new InputStreamReader(instream);
|
|
|
|
+ BufferedReader buffreader = new BufferedReader(inputreader);
|
|
|
|
+ String line;
|
|
|
|
+ //分行读取
|
|
|
|
+ while ((line = buffreader.readLine()) != null) {
|
|
|
|
+ assetsList.add(line);
|
|
|
|
+ }
|
|
|
|
+ instream.close();
|
|
|
|
+ }
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ UIHelper.ToastMessage(mContext, "读取资产编号日志文件失败" + "-" + e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void writeAssets(String asset) {
|
|
|
|
+ // 先判断assetsList中是否存在新读取的asset,不存在,则写入
|
|
|
|
+ if (!assetsList.contains(asset)) {
|
|
|
|
+ try {
|
|
|
|
+ // 存放的文件路径
|
|
|
|
+ File assetsFile = new File(
|
|
|
|
+ Environment.getExternalStorageDirectory().getCanonicalPath() + "/assetsLog"
|
|
|
|
+ );
|
|
|
|
+ if (!assetsFile.exists()) {
|
|
|
|
+ try {
|
|
|
|
+ assetsFile.mkdirs();
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ UIHelper.ToastMessage(mContext, "创建资产编号日志文件夹失败" + "-" + e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ String strFilePath = "assets.txt";
|
|
|
|
+ String strContent = asset + "\r\n";
|
|
|
|
+ File file = new File(assetsFile, strFilePath);
|
|
|
|
+ if (!file.exists()) {
|
|
|
|
+ file.createNewFile();
|
|
|
|
+ }
|
|
|
|
+ assetsList.add(asset);
|
|
|
|
+ RandomAccessFile raf = new RandomAccessFile(file, "rwd");
|
|
|
|
+ raf.seek(file.length());
|
|
|
|
+ raf.write(strContent.getBytes());
|
|
|
|
+ raf.close();
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ UIHelper.ToastMessage(mContext, "写入资产编号日志文件失败" + "-" + e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|