新大陆控制4150继电器的两种方式

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();

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VarYa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值