zigbeelibrary.jar包是用来接收zigbee协调器发来的数据,或者通过协调器控制其网内的继电器
首先将jar包和so文件添加到工程,可参考
https://blog.csdn.net/qq_40733723/article/details/89032484
基本步骤
1、初始化ui
2、初始化zigbee
(1)打开串口
(2)如果串口打开成功则开启数据接收线程
3、初始化回调函数,由于子线程无法更新ui,需要发送消息给ui线程
4、创建Handler用来接收子线程发来的消息
xml代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="人体:"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/tvPerson"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView1"
android:text="-"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="150dp"
android:layout_toRightOf="@id/tvPerson"
android:text="可燃气体:"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/tvFireGas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView2"
android:text="-"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="150dp"
android:layout_toRightOf="@id/tvFireGas"
android:text="空气质量:"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/tvCo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView3"
android:text="-"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView1"
android:layout_marginTop="20dp"
android:text="火焰:"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/tvFire"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView1"
android:layout_marginTop="20dp"
android:layout_toRightOf="@id/textView4"
android:text="-"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView1"
android:layout_marginLeft="150dp"
android:layout_marginTop="20dp"
android:layout_toRightOf="@id/tvFire"
android:text="光照:"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/tvLight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView1"
android:layout_marginTop="20dp"
android:layout_toRightOf="@id/textView5"
android:text="-"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView1"
android:layout_marginLeft="150dp"
android:layout_marginTop="20dp"
android:layout_toRightOf="@id/tvLight"
android:text="温度:"
android:textColor="@android:color/black"
android:textSize="30sp" />
<TextView
android:id="@+id/tvTemp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView1"
android:layou