1 使用串口服务器
package com.whltaoin.a0523_1;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.nle.mylibrary.forUse.mdbus4150.MdBus4150RelayListener;
import com.nle.mylibrary.forUse.mdbus4150.Modbus4150;
import com.nle.mylibrary.transfer.ConnectResultListener;
import com.nle.mylibrary.transfer.DataBusFactory;
public class MainActivity extends AppCompatActivity {
private TextView yellow_tv,green_tv,red_tv;
private Modbus4150 modbus4150 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
new Thread(new Runnable() {
@Override
public void run() {
while(true){
try {
Thread.sleep(10000);
modbus4150.ctrlRelay(0,false,null);
modbus4150.ctrlRelay(2,true,null);
runOnUiThread(new Runnable() {
@Override
public void run() {
yellow_tv.setBackgroundResource(R.color.yellow);
green_tv.setBackgroundResource(R.color.white);
red_tv.setBackgroundResource(R.color.white);
}
});
Thread.sleep(10000);
modbus4150.ctrlRelay(2,false,null);
modbus4150.ctrlRelay(1,true,null);
runOnUiThread(new Runnable() {
@Override
public void run() {
yellow_tv.setBackgroundResource(R.color.white);
green_tv.setBackgroundResource(R.color.green);
red_tv.setBackgroundResource(R.color.white);
}
});
Thread.sleep(10000);
modbus4150.ctrlRelay(1,false,null);
modbus4150.ctrlRelay(0,true,null);
runOnUiThread(new Runnable() {
@Override
public void run() {
yellow_tv.setBackgroundResource(R.color.white);
green_tv.setBackgroundResource(R.color.white);
red_tv.setBackgroundResource(R.color.red);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
private void initView() {
yellow_tv =findViewById(R.id.yellow);
green_tv=findViewById(R.id.green);
red_tv=findViewById(R.id.red);
modbus4150 = new Modbus4150(DataBusFactory.newSocketDataBus("192.168.1.85", 6002), new ConnectResultListener() {
@Override
public void onConnectResult(boolean b) {
System.out.println("连接》》》》"+ b);
if(true){
try {
modbus4150.ctrlRelay(2,false,null);
modbus4150.ctrlRelay(1,false,null);
modbus4150.ctrlRelay(0,false,null);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
yellow_tv.setBackgroundResource(R.color.white);
green_tv.setBackgroundResource(R.color.white);
red_tv.setBackgroundResource(R.color.white);
}
}
2 使用新大陆云平台
package com.whltaoin.a0523_1;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.nle.mylibrary.forUse.mdbus4150.MdBus4150RelayListener;
import com.nle.mylibrary.forUse.mdbus4150.Modbus4150;
import com.nle.mylibrary.transfer.ConnectResultListener;
import com.nle.mylibrary.transfer.DataBusFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
private TextView yellow_tv,green_tv,red_tv;
public static final String TOKEN="341C37EF18C2D262A08D78B58DB0EADC3A75FBEFD509158FDC0755170FD12935E765198A872606595259F0D87737E0A6AEF4A4133D8C262122C24957C5CEDF403378E0A11FE7ED9CDCD3EA010CDC57D222A732923EC7B6F4AD11912D189548E00DBB69EE9E87D9B84CEB13A87AC4BA21A6167F2E8767D6C9B973693A84F320CC7A8F703B15444ECF201985FAFD2F9A368894E9A8C4B63318A4C42CB004FA884ABAC8634028CB7E4CD3C76835615534B387E14EA84B6D8580ED09CC908771541B574BB1F4F96823660688E76E6FA04364678D0432DFB0DCB8BD79BFA501E0BDE6";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
new Thread(new Runnable() {
@Override
public void run() {
while(true){
try {
Thread.sleep(10000);
controllerPost("m_red_lamp",2);
controllerPost("m_yellow_lamp",1);
runOnUiThread(new Runnable() {
@Override
public void run() {
yellow_tv.setBackgroundResource(R.color.yellow);
green_tv.setBackgroundResource(R.color.white);
red_tv.setBackgroundResource(R.color.white);
}
});
Thread.sleep(10000);
controllerPost("m_yellow_lamp",2);
controllerPost("m_green_lamp",1);
runOnUiThread(new Runnable() {
@Override
public void run() {
yellow_tv.setBackgroundResource(R.color.white);
green_tv.setBackgroundResource(R.color.green);
red_tv.setBackgroundResource(R.color.white);
}
});
Thread.sleep(10000);
controllerPost("m_green_lamp",2);
controllerPost("m_red_lamp",1);
runOnUiThread(new Runnable() {
@Override
public void run() {
yellow_tv.setBackgroundResource(R.color.white);
green_tv.setBackgroundResource(R.color.white);
red_tv.setBackgroundResource(R.color.red);
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
System.out.println("执行完成");
}
private void initView() {
yellow_tv =findViewById(R.id.yellow);
green_tv=findViewById(R.id.green);
red_tv=findViewById(R.id.red);
yellow_tv.setBackgroundResource(R.color.white);
green_tv.setBackgroundResource(R.color.white);
red_tv.setBackgroundResource(R.color.white);
controllerPost("m_yellow_lamp",2);
controllerPost("m_green_lamp",2);
controllerPost("m_red_lamp",2);
}
public void controllerPost(String apiTag,Integer command){
new Thread(new Runnable() {
@Override
public void run() {
try {
HttpURLConnection httpURLConnection = (HttpURLConnection) new URL("http://api.nlecloud.com/Cmds?deviceId=489733&apiTag="+apiTag).openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setRequestProperty("AccessToken",TOKEN);
httpURLConnection.addRequestProperty("Content-Type","application/json");
PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());
printWriter.print(command);
printWriter.close();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}