资讯详情

关于如何用Android studio写一个小程序实现控制4150上的继电器

首先建立一个简单的主界面,以报警灯为例

传输过程为报警灯-继电器-4150-串口服务器

<TextView     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="报警灯"     android:textSize="50sp"     app:layout_constraintBottom_toBottomOf="parent"     app:layout_constraintHorizontal_bias="0.498"     app:layout_constraintLeft_toLeftOf="parent"     app:layout_constraintRight_toRightOf="parent"     app:layout_constraintTop_toTopOf="parent"     app:layout_constraintVertical_bias="0.31" />  <Button     android:id="@ id/up"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="打开"     android:textSize="20sp"     app:layout_constraintBottom_toBottomOf="parent"     app:layout_constraintEnd_toEndOf="parent"     app:layout_constraintHorizontal_bias="0.247"     app:layout_constraintStart_toStartOf="parent"     app:layout_constraintTop_toTopOf="parent"     app:layout_constraintVertical_bias="0.499" />  <Button     android:id="@ id/down"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="关闭"     android:textSize="20sp"     app:layout_constraintBottom_toBottomOf="parent"     app:layout_constraintEnd_toEndOf="parent"     app:layout_constraintHorizontal_bias="0.758"     app:layout_constraintStart_toStartOf="parent"     app:layout_constraintTop_toTopOf="parent"     app:layout_constraintVertical_bias="0.499" />

之后开始在java刚刚设置的按钮在文件中定义

private Button up, down;

引用

 up = findViewById(R.id.up);  down = findViewById(R.id.down);

因为连接是4150,不是安卓带来的,所以要加入jar包

jar包路径为

f9832bf5abb14985b808d233986ebe53.png

然后可以引用4150

如下

private Modbus4150 modbus4150;

引用4150(括号表示串口ip地址和端口号连接在这里com2)

modbus4150  = new Modbus4150(DataBusFactory.newSocketDataBus("172.18.12.15", 6002));

连接ip地址需要一个获得权限的句子

位置和代码如下:

<uses-permission android:name="android.permission.INTERNET"/>

使用设置在主界面上up打开继电器

代码如下

 up.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 try {                     modbus4150.openRelay(0, new MdBus4150RelayListener() {                        @Override                        public void onCtrl(boolean isSuccess) {                            if (isSuccess) {                                Log.d(TAG,"控制成功!打开");                            }else {                                Log.d(TAG,"控制失败!关闭");                            }                        }                    });                 } catch (Exception e) {                     e.printStackTrace();                 }             }          });

第一行为指针表示输入时up执行以下句子

openRelay表示打开继电器

第五行0表示继电器连接4150端口,我在这里连接DO0,所以写0

if句子的作用是方便检查命令是否传输到,也可以省略

关闭继电器指令是另一个指令(我在这里设置的是down)

再把openRelay换成closeRelay即可

将手机连接到串口连接wifi,将程序导入手机,实现区域控制

这是初学者的笔记,目的是方便复习,给像我这样的初学者一些小帮助

如有错误,欢迎大佬提问,我会一一纠正!

标签: 0925d继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司