Hola estoy empezando un proyecto con IoT Central, no se si alguien me pueda recomendar algunos sitios donde pueda ver ejemplos de como enviar telemetría, ya consulte la documentación de microsoft y no lo encontre.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
@PostMapping("/dispositivos")
@ResponseStatus(code = HttpStatus.CREATED)
public ResponseEntity<?> crear(@Valid @RequestBody Dispositivo dispositivo, BindingResult result) throws Exception {
Dispositivo dispositivonew = null;
Map<String, Object> response = new HashMap<>();
if (result.hasErrors()) {
List<String> errors = result.getFieldErrors().stream()
.map(err -> "El campo '" + err.getField() + "' " + err.getDefaultMessage())
.collect(Collectors.toList());
response.put("errors", errors);
return new ResponseEntity<Map<String, Object>>(response, HttpStatus.BAD_REQUEST);
}
try {
peticionHttpPut(dispositivo);
dispositivonew = dispositivoService.save(dispositivo);
} catch (DataAccessException e) {
response.put("mensaje", "Error realizar al insertar en la base de datos!");
response.put("error", e.getMessage().concat(": ").concat(e.getMostSpecificCause().getMessage()));
return new ResponseEntity<Map<String, Object>>(response, HttpStatus.INTERNAL_SERVER_ERROR);
}
response.put("mensaje", "El Dispositivo ha sido creado con éxito!");
response.put("dispositivo", dispositivonew);
return new ResponseEntity<Map<String, Object>>(response, HttpStatus.CREATED);
}
public void peticionHttpPut(Dispositivo dispositivo) throws Exception {
URL url = new URL("https://hu3-gp9yw4dci7.azureiotcentral.com/api/preview/devices/"
+ dispositivo.getIdentificadorDispositivo());
HttpURLConnection conexion = (HttpURLConnection) url.openConnection();
conexion.setRequestMethod("PUT");
conexion.setDoOutput(true);
conexion.addRequestProperty("Authorization",
"SharedAccessSignature sr=a8b19977-9c37-4e01-bc86-f5990544bcb8&sig=gaSLKfM9MUo6Fsx9XVjY%3D&skn=admin&se=1650104456226");
conexion.setRequestProperty("Content-Type", "application/json");
String nombre = dispositivo.getNombre();
String instanceOf = "dtmi:modelDefinition:a2zj2t:b6dfy";
Map<String, Object> map = new HashMap<>();
map.put("displayName", nombre);
map.put("instanceOf", instanceOf);
map.put("simulated", false);
map.put("approved", true);
JSONObject json = new JSONObject(map);
String jsonInputString = json.toString();
try (OutputStream os = conexion.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);
}
}
public void altaFactura(Abonado nueva) {
try {
File f = new File("facturas_telf.dat");
FileWriter fw;
BufferedWriter bw;
if (f.exists()) {
fw = new FileWriter(f, true);
bw = new BufferedWriter(fw);
bw.newLine();
bw.write(nueva.numeroAbonado + "%" + nueva.nombre + "%" + nueva.factura);
} else {
fw = new FileWriter(f);
bw = new BufferedWriter(fw);
bw.write(nueva.numeroAbonado + "%" + nueva.nombre + "%" + nueva.factura);
}
bw.close();
fw.close();
} catch (Exception e) {
System.out.println(e);
}
}