CoAP與物聯網系統之返回JSON,coap連網返回json

來源:互聯網
上載者:User

CoAP與物聯網系統之返回JSON,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));    })}

並且全部都顯示出來,設計得真是有點不行,不過現在已經差不多了。


物聯網工程學習路線

1. 編程方面:C、彙編
2. 嵌入式系統基礎
3.硬體器件與平台:節點器件(T-Mote Sky、TI MSP430等);平台(Arduino,樹莓派等)
3.無線感應器網路:基礎知識、協議棧(ZigBee,IETF 6LowPan, CoAP 等)
4.無線感應器網路作業系統(TinyOS, Contiki等)
5.在網上找典型應用案例,學術性綜述等,這一工作實際上不是在最後進行,而是貫穿在前面4步中
 
我是大一的, 學物聯網應用專業的, 現在想學些東西,應該學什, 要考什證

建議學學contiki系統,一會ipv6是主流,contiki作業系統是專門為物聯網設計的,包括最新的ipv6協議、rpl協議和coap協議。自己去查資料,基本上都是英文的。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.