20160111_jeffrey - silenceuncrio/diary GitHub Wiki

Index

  • 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 - 任務

1000

IoV 夥伴公司情報

IoV(Internet of Vehicle) 的人來了
年紀看來跟我相當

Winston 透漏給我一些情報

  • 該公司老闆是 Jim 認識的
  • 該公司成立前想借我們的場地讓該公司同仁使用
  • Jim 希望我們多去挖一些車用領域相關的情報
  • Winston 覺得該老闆不怎麼樣

1120

Engineering Notebook

在 Engineering Notebook 上整理了上禮拜的進度交了出去

1125

IoT Platform - Thing Module - Event Handler

這禮拜要完成的部分是 Thing Module - Event Handler

image

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

image

1310

Apple developers Program 續約

正在與 Apple 對談 您好, 歡迎光臨Apple, 請問今天有什麼可以協助您? 我需要開公司統一編號 現在為您轉接 Apple 對話專家, 請稍候。 正在與 Sammi 對談 您好, 歡迎您聯絡Apple , 我是Sammi, 看到您的疑問 為了更好的提供給您解決方案 請問統編的部分,是需要訂購商品或者是Apple developers Program 續約 關於 Apple developers Program 續約 嗯嗯, 為您說明, 這一部分, 您可以直接完成目前的訂單, 完成訂單後,聯絡我們的訂單專員為您更換發票 目前開發者續約的統編發票開具是這樣的安排流程 :) 好 訂單專員怎麼聯絡呢 嗯嗯,辛苦您,為您準備訂單聯絡方式: 0800 020 021 選項四 謝謝 不客氣的,請放心,目前訂單專員都是正常上班的 工作時間到晚上9點。 要多謝您對Apple的支持,工作辛苦了~

1325

IoT Platform - Message Tx Handler - review

  • 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

1425

IoT Platform - Node.js - Express

熟悉一下好久不見的 Express

1505

IoT Platform - Message Tx Handler - 進度快照

紀錄一下目前可運作的環境

  • 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, 右側是 公司電腦

image

1525

IoT Platform - Message Tx Handler - 任務

跟 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 扎實地往前邁進了一步

⚠️ **GitHub.com Fallback** ⚠️