1 Star 0 Fork 0

wujehy / SimpleIoT

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 5.56 KB
一键复制 编辑 原始数据 按行查看 历史
wujehy 提交于 2019-04-28 07:45 . 更新 安卓 视力

安卓 实例 支持

现有app

现有的app 是一个例子 可以直接使用 使用方式是 准备zigbee(cc2530) 模块至少2 个 按照最开始的例子连接好

然后启动桥接层 配置好 json 信息为如下 :其中 panid 是我们 api 回调的默认值

可以通过重写 抽象方法 GeeJoansCallBack 返回 String controlPanid() 方法修改要控制的目标

{"mqttHost": "iotgeek.top", "Host": "http://iotgeek.top:8088", "port": "/dev/ttyUSB1", "baudrate": 115200,"panid":"6a49c5bf6a1ba8a72e79ffcc5e718367"}

*注意其他串口信息 Host NoAPI 的是 http://iotgeek.top:8088 ,另一和是 http://iotgeek.top:8080/API 

然后 运行 桥接层, 打开app 就可以进行 简单的操作了

可以实时获取数据,前提是 有数据的情况下,可以控制 zigbee 的 len1

数据我只举了3个例子 分别是 1235 的 1,2,3 的 id 分别是 温度湿度 烟雾

联动实例

 修改java 版的 GeeJoans

 目前 存在 两个版本的 桥接层 ,Bridge 和 BridgeNoAPI    这个是 因为 平台有两个 一个是SimpleIoT(NoAPI) 一个 是GeeJoans (有API)

 仅仅是接口功能不同而已,所以这里只用 NoAPI 测试

 目录结构:  com.wujehy.GeeJoans.* 是 GeeJoans 的工具包。

 com.wujehy.geejoanstest.* 是该软件的项目主体 所以只要看这一部分

 其他界面的不用 更具自己的情况编写,这里使用简单的模板制作,所以不是很完美

 主要工作:

 1. 创建 GeeJoans 实例  位于GeeJoansDemo


    //配置信息
    private String objPanid="d70ca2696f21db8b301caf311a8e8f5a";
    private String panid = "578aea14857ee64bba27e823e9d93dac";
    private String host = "http://iotgeek.top:8088";
    private String mqttHost = "iotgeek.top";
    private int mqttProt = 1883;
    
    
    // 这里 类型可以是 BridgeNoAPI 和 Bridge 
    //更具自己的情况选择 Bridge 有配套后台但无源码 
    // BridgeNoAPI 有源码 但没有后台
    private static BridgeNoAPI bridge;

  //api 是配置  类似 java 的 回调用 具体配置在 主类
    public void setApi(GeeJoansCallBack api){
        bridge.setAPI(api);
    }

    public String getPanid() {
        return panid;
    }

    public String getObjPanid() {
        return objPanid;
    }

    public GeeJoansDemo() {
        if (bridge == null) {
            this.bridge = new BridgeNoAPI();
            bridge.init(panid, host, mqttHost, mqttProt);
            bridge.setAPI(new GeeJoansCallBack() {
                @Override
                public String controlPanid() {
                    return super.controlPanid();
                }
            });
        }
      }

 2. 主要的是 MainActivity 里面的配置

    具体代码 看源码即可,主要思路 bridge 有 GeeJoansDemo 创建       MainActivity 只是 应用GeeJoansDemo 的 而已 配置都在 GeeJoansDemo 进行

  执行动作使用 bridge 的 公共方法 调用,其中主要有 控制 上传 数据信息 等 具体可以看源码

 3. 然后主要是 设置监听 和 api 的使用

 设置 监听是 动作执行后 回调的方法


 /**
     * 这里可以 修改抽象类的 动作
     */
    private void setApi() {
        geeJoansDemo.setApi(new GeeJoansCallBack() {
        // 凡是请求 后都会进入这里 RESPONSE_TYPE_GETDATA 是 获取信息的请求
        // 当谈 还有其他请求 输入 RESPONSE_TYPExx 就会提示
        // type 是请求的类型 data 是请求后的 json 数据
        // 确定请求后可以 进行对于的解析
        // 我这里的是 更新数据
            @Override
            public void ResponseData(String type, String data) {
                super.ResponseData(type, data);
//                如果 请求是 getDate 则 将他的数据 用弹窗 战士出来
                if (type.equals(RESPONSE_TYPE_GETDATA)) {
//                    同时 将数据村到 全局表 给 第二个界面显示
                    Toast.makeText(MainActivity.this, data, Toast.LENGTH_SHORT).show();
                    JsonObject returnData = new JsonParser().parse(data).getAsJsonObject();
                    String data1;
                    SensorData = data;
                    try {
                        data1 = returnData.getAsJsonObject("data").getAsJsonObject("id_0x1235:1").get("value").getAsString();
                        sensor1.setValue(data1);

                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    try {
                        data1 = returnData.getAsJsonObject("data").getAsJsonObject("id_0x1235:2").get("value").getAsString();
                        sensor2.setValue(data1);

                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    try {
                        data1 = returnData.getAsJsonObject("data").getAsJsonObject("id_0x1235:3").get("value").getAsString();
                        sensor3.setValue(data1);

                    } catch (Exception e) {
                        e.printStackTrace();
                    }

                    sensorDataAdapter.notifyDataSetChanged();

                }
            }
        });
    }

 

Python
1
https://gitee.com/wujehy/SimpleIoT.git
git@gitee.com:wujehy/SimpleIoT.git
wujehy
SimpleIoT
SimpleIoT
dev

搜索帮助