System.out.println(Utils.prettyPrint(response)); //报⽂内容
}
}
@Scheduled(fixedRate = 4000)
public void sendJson() throws URISyntaxException {
404页面网站源码//创建请求资源,201904151718 设备唯⼀编码,模拟imie
URI uri = new URI("coap://localhost:5683/iot-json?2019041717"); CoapClient client = new CoapClient(uri);
//温度
int temperature = ra.nextInt(999)%(999-100+1)+100;
//湿度
String humidity = String.valueOf(new Double()) .setScale(2,
BigDecimal.ROUND_HALF_UP));
Map map = new HashMap();
map.put("T",String.valueOf(temperature));
map.put("H",humidity);
String json = JSONString(map);
client.post(json,MediaTypeRegistry.APPLICATION_JSON);
}
Copa发送数据的客户端已经写好了,就下了开始server的撸码californium-core client Server
⾸先还是构建iot-coap-server模块,加⼊californium-core依赖
创建服务器启动,ServerStart类
[@Component](my.oschina/u/3907912)
public class ServerStart {
@Value("${coap.port}")
private int port;
@Autowired
private IotByteHandler iotHandler;
@Autowired
private IotJsonHandler iotJsonHandler;
public void start(){
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
CoapServer server = new CoapServer(port);
server.add(iotHandler);
server.add(iotJsonHandler);
server.start();
}
});
thread.start();
}
}
因为我这⾥使⽤的是spring boot 的核⼼组件,spring boot启动完成后由于没有应⽤线程运⾏,所以项⽬jvm会⾃动退出,因为这⾥使⽤Thread线程来启动CoapServer,CoapServer会⼀直监听消息接受,jvm守护进程就不会退出。
接下来编写IotByteHandler和IotJsonHandler,这种Handler的实现⽅式和netty有点类似。
@Component
public class IotByteHandler extends CoapResource {
public IotByteHandler(@Value("${coap.iot.byte}") String name) {
super(name);
}
@Override
public void handlePOST(CoapExchange exchange) {
//状态码
System.out.println("code---"+RequestCode());
//选项参数
System.out.println("Options---"+RequestOptions());
//⽂本内容
System.out.println("text"+RequestText());
System.out.RequestOptions());
}
}
@Component
public class IotJsonHandler extends CoapResource {
public IotJsonHandler(@Value("${coap.iot.json}") String name) {
super(name);
ok,数据以及发到服务器了,安装我们的架构设备,CoApServer需要把数据整理并发送到kafka的,因此kafka很多地⽅都需要使⽤,所
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论