CoAP与物联网系统之返回JSON

在给IoT CoAP添加了JSON支持之后,变得非常有意思,至少我们可以获得我们想要的结果。在上一篇中我们介绍了一些常用的工具——CoAP 命令行工具集

CoAP客户端代码示例

开始之前我们需要有一个客户端代码,以便我们的服务端可以返回正确的数据并解析

var coap = require(‘coap‘);
var requestURI = ‘coap://localhost/‘;
var url = require(‘url‘).parse(requestURI + ‘id/1/‘);
console.log("Request URL: " + url.href);
var req = coap.request(url);
var bl = require(‘bl‘);

req.setHeader("Accept", "application/json");
req.on(‘response‘, function(res) {
    res.pipe(bl(function(err, data) {
        var json = JSON.parse(data);
        console.log(json);
    }));

});

req.end();

代码有点长内容也有点多,但是核心是这句话:

req.setHeader("Accept", "application/json");

这样的话,我们只需要在我们的服务端一判断,

if(req.headers[‘Accept‘] == ‘application/json‘) {
     //do something
 };

这样就可以返回数据了。(转载保留:CoAP与物联网系统之返回JSON)

CoAP Server端代码

Server端的代码比较简单,判断一下

if (req.headers[‘Accept‘] == ‘application/json‘) {
        parse_url(req.url, function(result){
            res.end(result);
        });
        res.code = ‘2.05‘;
    }

请求的是否是JSON格式,再返回一个205,也就是Content,只是这时设计是请求一个URL返回对应的数据。如

 coap://localhost/id/1/

这时应该请求的是ID为1的数据,即

[ { id: 1, value: ‘is id 1‘, sensors1: 19, sensors2: 20 }]

而parse_url只是从数据库从读取相应的数据。

function parse_url(url ,callback) {
    var db = new sqlite3.Database(config["db_name"]);

    var result = [];
    db.all("SELECT * FROM basic;", function(err, rows) {
        callback(JSON.stringify(rows));
    })
}

并且全部都显示出来,设计得真是有点不行,不过现在已经差不多了。

CoAP与物联网系统之返回JSON,布布扣,bubuko.com

时间: 2024-12-21 16:17:51

CoAP与物联网系统之返回JSON的相关文章

CoAP与物联网系统

引自维基百科上的介绍,用的是谷歌翻译... 受 约束的应用协议(COAP)是一种软件协议旨在以非常简单的电子设备,使他们能够在互联网上进行交互式通信中使用.它特别针对小型低功率传感器,开关,阀 门和需要被控制或监督远程,通过标准的Internet网络类似的组件. COAP是一个应用层协议,该协议是用于在资源受限的网络连接设备,例如无线传感器网络节点使用. COAP被设计为容易地转换为HTTP与Web简化集成,同时也能满足特殊的要求,例如多播支持,非常低的开销,和简单性.多播,低开销,以及简单性是

CoAP学习笔记——nodeJS node-coap返回JSON数据包

0 前言 本文说明如何使用node-coap返回JSON数据包.CoAP是专门为物联网系统开发的面向网络的应用层协议栈,CoAP建立在UDP协议之上尽可能减少网络开销,又具有HTTP Restful类型的特性.node-coap使用nodejs实现了coap的客户端和服务器端. [测试环境]--ubuntu/Linux [相关博文] [CoAP协议文档--The Constrained Application Protocol (CoAP)] [CoAP协议学习--CoAP基础] [CoAP学习

物联网系统与CoAP之Hello,World

物联网系统与CoAP Hello,World 关于CoAP与物联网系统我们在上一篇中(ps:CoAP与物联网系统)中做一个简单的介绍,接着我们便開始试试CoAP协议的应用 CoAP应用 開始之前我们须要能訪问coap://localhost/,于是我们便须要安装一个Firefox的插件Copper. Firefox Copper 下载地址: https://addons.mozilla.org/en-US/firefox/addon/copper-270430/ 作为測试我们能够訪问 coap:

Web Api 中返回JSON的正确做法

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 在使用Web Api的时候,有时候只想返回JSON:实现这一功能有多种方法,本文提供两种方式,一种传统的,一种作者认为是正确的方法. JSON in Web API – the formatter based approach 只支持JSON最

[转]jQuery调用ASPX返回json

本文转自:http://www.cnblogs.com/fire-phoenix/archive/2009/11/13/1614146.html 本文介绍如何在ASP.NET(ASP.NET/AJAX)里使用基于JQuery的AJAX技术.(源代码下载见最后) 在使用JQuery前,请到www.jquery.com下载最新版本的js代码,然后再代码里使用 <script src="_scripts/jQuery-1.3.2.js" type="text/javascri

基于 Arduino 和 IoT 云平台搭建物联网系统

在这篇文章中,我们将介绍如何搭建一款监测土壤水分的物联网系统,用于在土壤干燥时发出警报,提醒用户.本项目使用了IoT 云平台来管理警报系统,同时存储来自传感器的数据.众所周知,物联网是当今热门话题之一,它将改变我们的未来及生活方式.如今我们可以自己动手搭建物联网系统,因为市场上已有一些原型板,这使得我们不用花费太多金钱及精力就可以着手物联网项目. 搭建 IoT 系统项目 构建这个项目,我们需要: Arduino MKR1000: 湿度传感器: IoT 云平台 Carriots 的免费账户(点击这

Web Api 中返回JSON的正确做法(转)

出处:http://www.cnblogs.com/acles/archive/2013/06/21/3147667.html 在使用Web Api的时候,有时候只想返回JSON:实现这一功能有多种方法,本文提供两种方式,一种传统的,一种作者认为是正确的方法. JSON in Web API – the formatter based approach 只支持JSON最普遍的做法是:首先清除其他所有的formatters,然后只保留JsonMediaTypeFormatter. 有了HttpCo

springMVC 返回json数据

虽然工作中经常使用异步请求加载数据,但是大部分这些系统的架构都是由其他同事完成的,这几天尝试着自己搭建springMVC项目中途遇到了不少的问题, 我们经常会需要向后台请求数据,后台往往返回json格式的数据作为返回结果,springMVC框架中有@ResponseBody 但是需要配置文件一通配置 controller层代码 @ResponseBody @RequestMapping("/testJson") public Collection<Employee> tes

Struts2+Jquery实现ajax并返回json类型数据

主要实现步骤如下: 1.JSP页面使用脚本代码执行ajax请求 2.Action中查询出需要返回的数据,并转换为json类型模式数据 3.配置struts.xml文件 4.页面脚本接受并处理数据 网上看到很多关于Struts2+ajax+jquery+json的例子,但是很多都不完整,也看不明白,主要原因是返回jsno类型数据和原来的返回字符串类型数据不一样,并且网友们实现步骤没有说清楚,让初学的朋友捉摸不透到底该怎么做. 我做了个简单的demo,供网友们学习,最后我会附上链接,可以下载整个de