云平台的数据上报

导入云平台jar包

1.将jar包放入libs文件夹
路径如图:

image.png

2.打开build.gradle文件,加入下面一句

implementation files('libs\\nlecloudII.jar')

image.png

先开网络权限

AndroidManifest.xml里加一句

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

数据获取界面类

public class MonitoringActivity extends AppCompatActivity {
    NetWorkBusiness netWorkBusiness;
    String baseUrl = "http://api.nlecloud.com:80/";
    Handler handler = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_monitoring);
        initNle();
    }

    private void initNle() {
        netWorkBusiness = new NetWorkBusiness("", baseUrl);
        netWorkBusiness.signIn(new SignIn("你的账号", "你的密码"), new NCallBack<BaseResponseEntity<User>>(this) {
            @Override
            protected void onResponse(BaseResponseEntity<User> response) {
                if (response.getStatus() == 0) {
                    String token = response.getResultObj().getAccessToken();
                    Log.e("token", token);
                    netWorkBusiness = new NetWorkBusiness(token, baseUrl);
                    startDataFetching();
                } else {
                    Log.e("Login Failed", response.getMsg());
                }
            }
        });
    }

    private void startDataFetching() {
        handler.post(runnable);
    }

    Runnable runnable = new Runnable() {
        @Override
        public void run() {
            handler.postDelayed(this, 3000);
            // 获取温度传感器数据
            netWorkBusiness.getSensor("你的设备id", "tem", new NCallBack<BaseResponseEntity<SensorInfo>>(MonitoringActivity.this) {
                @Override
                protected void onResponse(BaseResponseEntity<SensorInfo> response) {
                    if (response != null && response.getStatus() == 0) {
                        String tem = response.getResultObj().getValue();
                        Log.e("tem", tem);
                    } else {
                        Log.e("API Error", response != null ? response.getMsg() : "未知错误");
                    }
                }
            });
        }
    };
}

添加可信CA

在xml里创建network_security_config.xml文件并写入以下内容

image.png

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">api.nlecloud.com</domain>
    </domain-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

在AndroidManifest.xml加入android:networkSecurityConfig="@xml/network_security_config"即可

愉快的使用

完整代码

package com.yt.reliccraft;

import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import cn.com.newland.nle_sdk.requestEntity.SignIn;
import cn.com.newland.nle_sdk.responseEntity.SensorInfo;
import cn.com.newland.nle_sdk.responseEntity.User;
import cn.com.newland.nle_sdk.responseEntity.base.BaseResponseEntity;
import cn.com.newland.nle_sdk.util.NCallBack;
import cn.com.newland.nle_sdk.util.NetWorkBusiness;

public class MonitoringActivity extends AppCompatActivity {
    private TextView tvTem,tvHum,tvLight,tvCo2,tvFire;
    NetWorkBusiness netWorkBusiness;
    String baseUrl = "http://api.nlecloud.com:80/";
    Handler handler = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_monitoring);
        tvTem = findViewById(R.id.tv_temperature);
        tvHum = findViewById(R.id.tv_humidity);
        tvLight = findViewById(R.id.tv_light);
        tvCo2 = findViewById(R.id.tv_co2);
        tvFire = findViewById(R.id.et_monitor_fire);
        initNle();
    }

    private void initNle() {
        netWorkBusiness = new NetWorkBusiness("", baseUrl);
        netWorkBusiness.signIn(new SignIn("17662862963", "你的密码"), new NCallBack<BaseResponseEntity<User>>(this) {
            @Override
            protected void onResponse(BaseResponseEntity<User> response) {
                if (response.getStatus() == 0) {
                    String token = response.getResultObj().getAccessToken();
                    Log.e("token", token);
                    netWorkBusiness = new NetWorkBusiness(token, baseUrl);
                    startDataFetching();
                } else {
                    Log.e("Login Failed", response.getMsg());
                }
            }
        });
    }

    private void startDataFetching() {
        handler.post(runnable);
    }

    Runnable runnable = new Runnable() {
        @Override
        public void run() {
            handler.postDelayed(this, 3000);
            // 获取温度传感器数据
            netWorkBusiness.getSensor("1035473", "tem", new NCallBack<BaseResponseEntity<SensorInfo>>(MonitoringActivity.this) {
                @Override
                protected void onResponse(BaseResponseEntity<SensorInfo> response) {
                    if (response != null && response.getStatus() == 0) {
                        String tem = response.getResultObj().getValue();
                        Log.e("tem", tem);
                        tvTem.setText(tem.trim() + " ℃");
                    } else {
                        Log.e("API Error", response != null ? response.getMsg() : "未知错误");
                    }
                }
            });
            // 获取湿度传感器数据
            netWorkBusiness.getSensor("1035473", "m_humidity", new NCallBack<BaseResponseEntity<SensorInfo>>(MonitoringActivity.this) {
                @Override
                protected void onResponse(BaseResponseEntity<SensorInfo> response) {
                    if (response != null && response.getStatus() == 0) {
                        String hum = response.getResultObj().getValue();
                        Log.e("hum", hum);
                        tvHum.setText(hum.trim() + " %RH");
                    } else {
                        Log.e("API Error", response != null ? response.getMsg() : "未知错误");
                    }
                }
            });
            // 获取光照传感器数据
            netWorkBusiness.getSensor("1035473", "m_light", new NCallBack<BaseResponseEntity<SensorInfo>>(MonitoringActivity.this) {
                @Override
                protected void onResponse(BaseResponseEntity<SensorInfo> response) {
                    if (response != null && response.getStatus() == 0) {
                        String light = response.getResultObj().getValue();
                        Log.e("light", light);
                        tvLight.setText(light.trim() + " lx");
                    } else {
                        Log.e("API Error", response != null ? response.getMsg() : "未知错误");
                    }
                }
            });
            // 获取二氧化碳传感器数据
            netWorkBusiness.getSensor("1035473", "m_co2", new NCallBack<BaseResponseEntity<SensorInfo>>(MonitoringActivity.this) {
                @Override
                protected void onResponse(BaseResponseEntity<SensorInfo> response) {
                    if (response != null && response.getStatus() == 0) {
                        String co2 = response.getResultObj().getValue();
                        Log.e("co2", co2);
                        tvCo2.setText(co2.trim() + " ppm");
                    } else {
                        Log.e("API Error", response != null ? response.getMsg() : "未知错误");
                    }
                }
            });
            // 获取火焰传感器数据
            netWorkBusiness.getSensor("1035473", "m_fire", new NCallBack<BaseResponseEntity<SensorInfo>>(MonitoringActivity.this) {
                @Override
                protected void onResponse(BaseResponseEntity<SensorInfo> response) {
                    if (response != null && response.getStatus() == 0) {
                        String fire = response.getResultObj().getValue();
                        Log.e("fire", fire);
                        if (fire.equals("1")){
                            tvFire.setText("着火了 \uD83D\uDEA8");
                        }
                        else {
                            tvFire.setText("正常 😆");
                        }
                    } else {
                        Log.e("API Error", response != null ? response.getMsg() : "未知错误");
                    }
                }
            });
        }
    };
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
';