Procházet zdrojové kódy

亿莱顿10寸接入紧急按钮功能

weizhengliang před 2 roky
rodič
revize
c9d610bf85

+ 6 - 3
android_bed/src/main/h10_w_yld/java/com/wdkl/app/ncs/callingbed/activity/CallingbedActivity.kt

@@ -167,6 +167,9 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, Callingbed2M
         //开始ping网络,30秒ping一次
         //NetHelper.startNetCheck()
 
+        //打开串口设备
+        SerialPortUtil.getInstance().openSerialPortYld()
+
         //获取mac地址
         if ("rk3128".equals(Build.MODEL)) {
             Constant.LOCAL_MAC = NetHelper.getInstance().macAddress
@@ -184,7 +187,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, Callingbed2M
 
         EventBus.getDefault().register(this)
 
-        if (Build.MODEL.equals("rk3128")) {
+        //if (Build.MODEL.equals("rk3128")) {
             //串口监听
             setSerialListener()
 
@@ -198,7 +201,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, Callingbed2M
             //设置默认时区为中国标准时间
             //val alarmManager = getSystemService(ALARM_SERVICE) as AlarmManager
             //alarmManager.setTimeZone("Asia/Shanghai")
-        }
+        //}
 
         //更新状态图标
         updateNetState()
@@ -527,7 +530,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, Callingbed2M
         SerialPortUtil.getInstance().setOnDataReceiveListener(this)
         SerialPortUtil.getInstance().setOnDataReceiveStringListener(this)
         //开启串口心跳
-        SerialPortUtil.getInstance().startHeartBeat()
+        //SerialPortUtil.getInstance().startHeartBeat()
     }
 
     private fun initNurseConfig() {

+ 17 - 1
android_bed/src/main/h10_w_yld/java/com/wdkl/app/ncs/callingbed/helper/SerialPortHelper.java

@@ -33,9 +33,25 @@ public class SerialPortHelper {
      * 设置卫生间紧急按钮灯状态: 0关闭1打开2闪烁
      */
     public static void setSosLight(String state) {
-        if (Build.MODEL.equals("rk3128")) {
+        //if (Build.MODEL.equals("rk3128")) {
             SerialPortUtil.getInstance().sendCommand(SerialPortUtil.ULED, state, "F");
+        //}
+    }
+
+    /**
+     * 门灯控制开关
+     *
+     * @param data  0  表示灯灭   1  表示灯亮
+     * @param color 0 表示灯灭  非0表示灯的颜色
+     */
+    public static void setDoorLight(int data, String color) {
+        String command;
+        if (data == 0 || color == null) {
+            command = "000";
+        } else {
+            command = color;
         }
+        SerialPortUtil.getInstance().sendCommand(SerialPortUtil.DOORLIGHT, command, "F");
     }
 
     //重置设备

+ 1 - 1
app/src/main/code/com/wdkl/app/ncs/application/Application.kt

@@ -82,7 +82,7 @@ class Application : BaseApplication() {
 
         //open serial port
         if (Build.MODEL.equals("rk3128")) {
-            SerialPortUtil.getInstance().openSerialPort();
+            SerialPortUtil.getInstance().openSerialPort()
         }
 
 

+ 4 - 0
bedlib/build.gradle

@@ -4,6 +4,10 @@ android {
     compileSdkVersion target_sdk_version
     buildToolsVersion build_tools_version
 
+    defaultConfig {
+        minSdkVersion min_sdk_version
+        targetSdkVersion target_sdk_version
+    }
 
     buildTypes {
         sourceSets {

+ 16 - 1
bedlib/src/main/java/serialporttest/utils/SerialPortUtil.java

@@ -70,6 +70,21 @@ public class SerialPortUtil {
         }
     }
 
+    //亿莱顿可视分机串口
+    public void openSerialPortYld() {
+        Log.i(TAG, "打开串口 yld rk3288");
+        try {
+            serialPort = new SerialPort(new File("/dev/ttyS1"), 115200, 0);
+            //获取打开的串口中的输入输出流,以便于串口数据的收发
+            inputStream = serialPort.getInputStream();
+            outputStream = serialPort.getOutputStream();
+            isOpenSerialPortUtil = true;
+            receiveSerialPort();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 接收串口数据的方法
      */
@@ -181,7 +196,7 @@ public class SerialPortUtil {
     }
 
     public void sendData(String data) {
-        //Log.d("bbbb", "data==" + data);
+        Log.d("bbbb", "data==" + data);
         if (!StringUtils.notEmpty(data)) return;
         if (isOpenSerialPortUtil) {
             //reset data