20160111_jeffrey - silenceuncrio/diary GitHub Wiki
- 1000 - IoV 夥伴公司情報
- 1120 - Engineering Notebook
- 1125 - IoT Platform - Thing Module - Event Handler
- 1310 - Apple developers Program 續約
- 1325 - IoT Platform - Message Tx Handler - review
- 1425 - IoT Platform - Node.js - Express
- 1505 - IoT Platform - Message Tx Handler - 進度快照
- 1525 - IoT Platform - Message Tx Handler - 任務
IoV(Internet of Vehicle) 的人來了
年紀看來跟我相當
Winston 透漏給我一些情報
- 該公司老闆是 Jim 認識的
- 該公司成立前想借我們的場地讓該公司同仁使用
- Jim 希望我們多去挖一些車用領域相關的情報
- Winston 覺得該老闆不怎麼樣
在 Engineering Notebook 上整理了上禮拜的進度交了出去
這禮拜要完成的部分是 Thing Module - Event Handler

不過實際待完成的部分還有 Message Exchange 的部分

正在與 Apple 對談 您好, 歡迎光臨Apple, 請問今天有什麼可以協助您? 我需要開公司統一編號 現在為您轉接 Apple 對話專家, 請稍候。 正在與 Sammi 對談 您好, 歡迎您聯絡Apple , 我是Sammi, 看到您的疑問 為了更好的提供給您解決方案 請問統編的部分,是需要訂購商品或者是Apple developers Program 續約 關於 Apple developers Program 續約 嗯嗯, 為您說明, 這一部分, 您可以直接完成目前的訂單, 完成訂單後,聯絡我們的訂單專員為您更換發票 目前開發者續約的統編發票開具是這樣的安排流程 :) 好 訂單專員怎麼聯絡呢 嗯嗯,辛苦您,為您準備訂單聯絡方式: 0800 020 021 選項四 謝謝 不客氣的,請放心,目前訂單專員都是正常上班的 工作時間到晚上9點。 要多謝您對Apple的支持,工作辛苦了~
- JS9331 - HTTP Client - curl - TX Handler
- 公司電腦 - HTTP Server - Node.js - RX Handler
盤一下環境
-
JS9331 - HTTP Client - curl - TX Handler
- 開發環境 - VMware Workstation 12 Player - Ubuntu 12.04
- WSCP - 上傳 binary 到 JS9331 上
- source code - D:\ubuntu_share\js9331_tx_handler
-
公司電腦 - HTTP Server - Node.js - RX Handler
- source code - C:\Users\JEFFREY\Desktop\nodejs
熟悉一下好久不見的 Express
紀錄一下目前可運作的環境
- JS9331 - HTTP Client - curl - TX Handler
- source code - D:\ubuntu_share\js9331_tx_handler\http-post.c
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.113:8888");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}- 公司電腦 - HTTP Server - Node.js - RX Handler
- source code - C:\Users\JEFFREY\Desktop\nodejs\app.js
var app = require('express')();
var bodyParser = require('body-parser');
var multer = require('multer'); // v1.0.5
var upload = multer(); // for parsing multipart/form-data
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
app.post('/', upload.array(), function (req, res, next) {
console.log(req.body);
res.json(req.body);
});
app.listen(8888, function () {
console.log('Example app listening on port 8888!');
})執行起來的畫面如下
左側是 JS9331, 右側是 公司電腦

跟 box GET /common 取得 感測器清單
先利用 node.js 來充當 box 回應 GET /common
var app = require('express')();
var bodyParser = require('body-parser');
var multer = require('multer');
var upload = multer();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/', upload.array(), function (req, res, next) {
console.log(req.body);
res.json(req.body);
});
app.get('/common', upload.array(), function (req, res, next) {
res.json(common_res_01);
});
app.listen(8888, function () {
console.log('Example app listening on port 8888!');
})
var common_res_01 = {
"name": "ward",
"location": "room",
"config": {
"mode": "on"
},
"thingManifest": {
"doorOpen" : 1,
"lightDetector": 1
}
};TX Handler 的目標是 解析出 response 內的
{
"name": "ward",
"location": "room",
"config": {
"mode": "on"
},
"thingManifest": {
"doorOpen" : 1,
"lightDetector": 1
}
}然後更新 database
這個環節串的起來的話等同整個 IoT Platform 扎實地往前邁進了一步