- 前言
- 源码
- 说明
- 硬件
- 软件
- 使用
设计物联网系统是件有意思的事情,它需要考虑到软件、硬件、通讯等多个不同方面。通过探索不同的语言,不同的框架,从而形成不同的解决方案。
源码GitHub:直达
说明根据不同的R、G、B组合,可以实时的在RGB灯条上展示不同的颜色,每个颜色阀值0~255。在进行颜色控制之后,页面会根据设备列表中进行获取温度(z_temp)、湿度数据(z_hum)。
硬件-
物联网网关
-
串口服务器
-
RGB灯带,支持458协议
- Java
使用Java8版本已经足以,当然也可以选择高一些的版本。
⚠️注意:别使用低于Java8,因为有些地方使用了lambda表达式,在Java8之前是不支持的。 - Android studio
选择这个IDE就不用多说了,懂得都懂。 - 新大陆Android-SDK项目包
把新大陆提供的android-sdk包下载到本地:点我下载
拿到SDK,解压。倒入到自己的项目当中。导入、导入、导入
重要的事情说三遍,复制进去没用。不行你可以试试。
- 登陆
自定义一个登陆界面,没登陆过的用户,没有accessToken,自然获取不懂数据。然后也可以通过第三方的工具登陆拿到accessToken在进行登陆。不过没必要。
NetWorkBusiness netWorkBusiness = new NetWorkBusiness("","云平台IP");
SignIn signIn = new SignIn(username,password);
netWorkBusiness.signIn(signIn, new NCallBack<BaseResponseEntity<User>>(getApplicationContext()) {
@Override
protected void onResponse(BaseResponseEntity<User> response) {
User user = (User) response.getResultObj();
if (user == null){
Toast.makeText(MainActivity.this, "请检查用户名密码是否正确......", Toast.LENGTH_SHORT).show();
return;
}
Intent deviceActivity = new Intent(MainActivity.this,DeviceActivity.class);
deviceActivity.putExtra("accessToken",user.getAccessToken());
startActivity(deviceActivity);
}
});
- 用户名和密码
这个用户名和密码是根据自己连接的云平台来决定,当云平台认真通过。会返回一个accessToken,之后想 *** 作数据。都是需要携带写个accessToken一个发送到平台,才可以进行 *** 作。
⚠️前提条件:accessToken没有被修改过,修改过的accessToken也是不能进行 *** 作的。 - 数据
修改代码中的标识码与云平台的一致便可以拿到云中数据。
/**
* @deviceId:设备ID
* @apiTag:设备标识码
* @Author macmini-OldThank
*/
netWorkBusiness.getSensor("", "", new NCallBack<BaseResponseEntity<SensorInfo>>(getApplicationContext()) {
@Override
protected void onResponse(BaseResponseEntity<SensorInfo> response) {
SensorInfo resultObj = response.getResultObj();
String value = resultObj.getValue();
show_Hum.setText(value);
}
});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)