# iotcore-sdk-java
**Repository Path**: baidu/iotcore-sdk-java
## Basic Information
- **Project Name**: iotcore-sdk-java
- **Description**: Java SDK for baidu IoT Core service
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 4
- **Forks**: 1
- **Created**: 2021-02-20
- **Last Updated**: 2023-12-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# IoTCore sdk
IoT Core java sdk,包含:
- 影子设备侧和控制侧sdk:隐藏了mqtt协议以及网络细节,方便用户使用物联网核心套件影子相关功能,支持多种认证方式(包含签名,ssl等),并提供上报信息,下发指令以及监听指令变化等功能。
## 帮助文档
* 详细使用文档参见wiki [SDK使用指南](https://github.com/baidu/iotcore-sdk-java/wiki)
* 支持的java版本:1.8及以上
## 快速开始
| 其他场景参考 [示例代码](https://github.com/baidu/iotcore-sdk-java/tree/main/iot-device-sdk-avatar-samples/src/main/java/com/baidu/iot/device/sdk/avatar/samples)
### 添加maven依赖
```$xslt
com.baidu.iot
iot-device-sdk-avatar-deviceside
1.0.2
```
### 初始化
```$xslt
String iotCoreId = "yourIoTCoreId";
String deviceName = "yourDeviceKey";
String username = "yourIoTCoreId/yourDeviceKey";
char[] password = "yourDeviceSecret".toCharArray();
IoTDeviceFactory factory = new IoTDeviceFactory(IoTDeviceFactory.Config.builder()
.iotCoreId(iotCoreId)
.build());
Device device = factory.getDevice(deviceName,
MqttConfigFactory.genPlainMqttConfig(iotCoreId, username, password))
.blockingGet();
```
### 上报属性
```$xslt
Map properties = new HashMap<>();
properties.put(new PropertyKey("test"), new PropertyValue("\"test value\""));
device.updateReported(properties).blockingSubscribe(new DisposableSingleObserver() {
@Override
public void onSuccess(@NonNull Status status) {
System.out.println("Update reported success, status:" + status);
}
@Override
public void onError(@NonNull Throwable e) {
System.out.println("Update reported failure");
e.printStackTrace();
}
});
```
## 测试
参考 [创建设备](https://cloud.baidu.com/doc/IoTCore/s/rk7omsf4h) 创建可以连接到iotCore的设备,再通过示例代码验证