2017年3月25日 星期六

wot gateway

目前,我的工作是智慧家庭的sensor device及gateway整合.

之前,只是依他們先前的做法實作sensor device(zigbee). 也有在接保全業者的專案.

 

而我則是主要是朝者gateway方向進行中,就目前只是由vendor提供的sdk去修改.

但是不同的sdk有著不同的gateway stack. 因此相容性一直是問題之一.

以下,是整理

硬體.軟體.物聯網 - (IV) 物聯網閘道器 的內容.

分為二類.IoT Gateway

A.本地端.

“負責管理內網(本地端) 的機器節點”

“本地端的閘道器上可以實作一些自家產品特別的服務或應用程式。”

“拿 MQTT 當例子好了,你可以在 RaspPi 上安裝 Broker (例如使用 Mosquitto 或 Mosca),區網內的機器 (使用 Paho 或 mqtt.js) 透過本地 Broker 來互動”

 

自家的雲平台,訊息數據的聚合 (aggregation),提供 RESTful APIs 讓開發者

ubiworx

https://ubiworx.com/

 

B.雲端伺服器上,Microsoft (Azure)、Oracle 或 VMWare

"

這有一點像是把雲端服務變成 API Gateway 的味道,但又多了資料儲存與裝置資料模型的定義。其實這樣的方案,最陽春的作法就是在雲端來個 MQTT Broker,機器端則做為 MQTT Client 接入雲端。那麼 topic (或資源存取點) 與資料模型,就隨人自己定義了。因為機器節點可以直接上 Cloud,所以當然就是跑 IP-based 的協定

"

“  這種雲閘道有個問題,那就是未來物聯網裝置真的開始大爆發時,會相當吃資源,而且網路壅塞也將是個大問題 (對於佈建基礎設施的電信商也許是好消息吧?),再來就是裝置控制與訊息傳遞即時性也會是個問題。再者,要求所有裝置都走 IP-based 的協定也有點為難大家啊 (跑其他協定的裝置,可以透過一台本地端的閘道器來克服此問題,例如 SIG 官方就有推出 BLE 的閘道器,可以讓 BLE 裝置上雲端)。”

 

IP-based 的協定,即時性,網路壅塞

 

遵循標準的 本地跨協定 IoT Gateway 開發框架

統一管理或存取介面Open Mobile Alliance 的 LWM2M (Lightweight Machine-to-Machine)

“LWM2M 定義了一種裝置管理與存取的標準介面,它將自己定義成一種機器網路管理的「應用層」協定。它背後採用了 IP-base 智慧物件 (IP-based Smart Object, IPSO) 作為裝置資料模型,目標是為了讓大家可以將裝置資料抽象成統一的結構,以達到相容的目的”

kura

http://www.eclipse.org/kura/

 

而最後,其WOT gateway

  • Node.js 生態系的介紹。
  • Node.js 的非同步編程與事件驅動模型。
  • Node.js 的慣例、錯誤處理、Debug 與 Logging 等等。
  • 傳統與現今的前端開發,有什麼不同。可能會順便聊點 React.js (吧?)。
  • 熱門的通訊協定介紹:主要區分 IP-suite 與 Non-IP-suite 兩類協定。應該會談到各自以 TCP 與 UDP 作為基礎的 MQTT 和 CoAP,還有屬於 PAN 系統的 ZigBee、BLE、Thread,以及 LPWAN 的 LoRa 或 SigFox。
  • 以閘道器模式來將 Non-IP-suite 協定與 Web 接軌
  • Eclipse 基金會的 IoT Working Group 在提倡什麼。
  • 為什麼走 IP-suite 協定也可能需要閘道器。
  • Apple HomeKit、Google Brillo (Android Things) 和 Weave 協定想做什麼。
  • Google 的 Physical Web 在做什麼。
  • Lightweight Machine-to-Machine (LWM2M) 這個協定又在做什麼。
  • 相容性的問題:應用層資料模型。包含 IPSO 聯盟、OCF 基金會與 Google Weave 的 Schema 在做的事,它們各是由誰主導。
  • 想做周邊裝置設計、想做閘道器或機器網路伺服器,在軟硬體上有什麼樣的選擇。

     

    https://speakerdeck.com/hedywings/full-stack-iot-development-yi-ble-zha-dao-qi-dai-lai-de-quan-xin-kai-fa-mo-shi-wei-li

  • my iot development roadmap

    前言:

    最近,因想要去參加Full-Stack IoT Development 探索之旅 - 高雄場會議.

    進而看到SIG 官方拋出 gateway solution ,就這一年多時間我都做了什麼及若依其目前的方向其未來的roadmap為何及思考自我優勢.

     

    這不論是採用任一現行的介面(wifi,ble,zigbee and sub1g) .以其應用情境來說(個人,家庭及build/city)

    可分為:

    A.嵌入式

    B.PC/phone

    C.gateway

    而其中,最大的問題在於 相容性及是否有適當的平台.

    尤其在目前我所從事的工作內容.

     

    IPSO

    https://www.google.com.tw/search?q=IPSO&ie=utf-8&oe=utf-8&gws_rd=cr&ei=yzrWWPCrF8W60gTb2o7gAQ

    SIG gateway(Secure Gateway Kit)

    https://www.bluetooth.com/develop-with-bluetooth/developer-resources-tools/secure-gateway-kit

    full-stack 工程師

    https://www.mokoversity.com/post/Full%20Stack%20Development%EF%BC%9A%E9%82%81%E5%90%91%E5%85%A8%E7%AB%AF%E9%96%8B%E7%99%BC

    ble development

    https://simeneer.blogspot.tw/2016/10/smart-phone-ble.html

    2016年6月19日 星期日

    VMWare 擴張空間( LVM

    LVM,邏輯卷.(logic volume manager)
    Q.要如何擴充空間.
       1.新增硬碟並分割.
          a.fdisk /dev/sdb(n,p,t and w)
          b.copy 原本的分割區(/home,sda*)內容到新的(sdb*,)(dd if=/home of=/mnt/sdb*)
          c.edit /etc/fstab,(change /home to /mntsdb*)
       2.LVM
          (pre action, apt-get install lvm2)
          *. PV,VG,PE and LV)
          a.
          b.to use fdisk to new 分割區(我這邊因不知為何需要去刪去除了boot ,root)再去新增才能看到)
             (fdisk /dev/sda, d,del partion; n , create partion and t , change to LVM)
          c.create 實体PV, pvcreate /dev/sda*)
          d,create VG, (vgcreate,vgscan,vgdisplay,vgextern,vgreduce,vgchange and vgremove)
             vgcreate NewVol /dev/sda*
          d.create LV
             #lvcreate -l **** -n lv_data NewVol (-l ,assign PE number, that see by vgdisplay, -n ,assign name)
          e.format and mount
             #mkfs.ext4 /dev/mapper/New****
             #mkdir /mnt/data
             #mount /dev/mapper/New**** /mnt/data
          *add new PE,
            #vgextend NewVol /dev/hdd*
            #lvresiaze -l +***** /dev/mapper/New****
            #resize2fs /dev/mapper/New****
         
           *del PE
            check remove PE size
            #pvdisplay /dev/had*
            #umount /mnt/data
            #e2fsck -f /dev/mapper/New*****
            #resize2fs /dev/mapper/New***** ****M(change real size)
            #mount /dev/mapper/New**** /mnt/data
            #lvresize -l -xxxx /dev/mapper/New****     (xxxx,the sub PE size)
            to check PE allocation in /dev/sda*
           ( the free PE may be in /dev/da*,as 1274 at /dev/sda3 and 8 at /dev/sda4)
           #pvmove /dev/sda*:0-1273 /dev/sda3:0-1273
           #pvmove /dev/sda*:1273-1281 /dev/sda4:1272-1279
           #vgreduce NewVol /dev/hda*


    http://www.itkee.com/os/detail-eaf.html

     http://aimwang.blogspot.tw/2013/10/vmware-lvm.html
    http://blog.miniasp.com/post/2008/04/24/Create-Folder-ShortCut-under-Linux-environment.aspx 

    2016年5月29日 星期日

    ubertooth one

    about ubertooth one :

    Project Ubertooth is an open source wireless development platform suitable for Bluetooth experimentation. Ubertooth ships with a capable BLE (Bluetooth Smart) sniffer and can sniff some data from Basic Rate (BR) Bluetooth Classic connections.























    ref :

     Ubuntu 12.04安装嗅探蓝牙数据包的Kismet和Wireshark
    http://www.freebuf.com/sectool/95426.html

    git:
    https://github.com/greatscottgadgets/ubertooth

    youtube demo:
    https://www.youtube.com/watch?v=tk_wC434ft4

    kickstarter:
    https://www.kickstarter.com/projects/mossmann/ubertooth-one-an-open-source-bluetooth-test-tool/description

    2016年2月26日 星期五

    圖解解聯網-感測器的架構與運用

    瞭解目的與條件


    挑選感測器的方法

    1.想用這個裝置達成什麼目標?
    2.若想實現該目標,需要偵測何種物理量?
    3.該裝置會在何種環境下使用?

    找目標使用者/顧客 方法

    1.建立使用者分類與假說
       A。收雙各種資料並進行分析
       B。篩選出與使用者行為及想法有關的屬性
       C。分類使用者

    2.利用訪談建立架構圖
       A。依1 的評估結果,進行使用者訪談
       B。建立當作骨架的使用者屬性清單「架構圖」

    3.讓使用者具體化及建立流程
       A。根據架構圖來假設虛擬人格
       B。根據個人及環境條件,將設想的行動及裝置運用情境具体化。



    瞭解方法


    感測器效態指標的比較/評估

    • 解析度- 細微程度
    • 零度-輸出0 V時的對象
    • 偏移-偵測對象為 0 時輸出結果
    • 感度-感測器對對象的敏感度
    • 偵測範圍-反覆偵測相同變化時,產生的差異
    • 執行環境-保證感測器運作的環境的環境條件(溫度/濕度/電壓)
    • 環境的依存性-受到溫度等外部變動影響程度。


    物聯網服務的系統開發
    建立"永續性"結構,並運用感測器的各種裝置建立持續解決問題的結構(資料,監控,分析並進而發現,預測等新資料)。

    系統開發-
     可分成使用者及系統開發者。

    對使用者而言,最大的難題是在無法事先精準預測導入服務後的效能及成本回饋。
    而對開發者則是,它在開發技術範圍廣泛。
    A。 硬体:
     選擇感測器,成本效能。
     訊號距離,設置方法。
     排除故障,電源方式。

    B。網路:
      通訊成本
      偵測故障方法
      遠端管理裝置

    C。感測資料
      server 架構(scale-out)
      搜尋方法
      big data.

    物聯網系統開發的特色

    •  能輕易增加/管理裝置(end ) 或據點(coord/router)數量 
    • 設置在人無法接觸位置(因此在設置後,不容易進行管理/更新)
    • 無線通訊-環境及穩定 
     開發流程
     小規模的事前驗証。

    驗證假設(假設/開發原型及驗𧬋假設)
      最重要的是針對裝置進行事前驗證, 因若該裝置是來感測及回饋,若無法達成目標,則該系統自然不成立。

     選擇裝置,

    1.  裝置條件
    2. 調查裝置'採購'試作'動作驗證
    3. 設計裝置的設置位置
    4. 維護裝置/管理設計

     服務原型開發及運用

    1.   網路服務
    2. gateway/server prototype
    3. 從裝置,系統測試運作中找出問題

    驗證導入效果

    1. 驗證感測器'架構的導入效果

    系統開發 及 運作及維護
      進行裝置與gateway設備的運作管理。
    裝置的運作管理不光只是偵測/修復異常狀態,還有配合運作狀況。調整裝置的參數設定'維護/更換,增加裝置等。

    1. 監控裝置的狀態'變更設定'修理/更換
    2. 支援新增裝置
    3. 監控系統狀態
    4. 運用儲存資料
    5. 收集/活用資料。
    物聯網服務的開發重點
     裝置-
        在物聯網服務中,選擇裝置是非常重要的。根據裝置的特性,有可行不可行的限制,因此要先確定目的,並且選擇可以達成目的的裝置。

    由目標及感測器的特性選擇(偵測:速度' 精確度/環境特性:是否封閉 ,有無門,室內大小,發生的可能性/成本:耗電量,價格)

    設置裝置*配置設計'設置場所(放置位置)及設置環境(考量感測器)

    配置設計:
       導入成本及運用程序的繁簡受到裝置及gateway的配置設計影響。
    因gateway通常包含有網路通訊等功能,因此價格高。且若多個gateway也造成系統連接到伺服器的管理增加。 因此,最利利用 感測器自身來建立感測網路,並形成分割網路。 另外,在進行配置設計時,一定要整理出樓層及裝置位置。

    參數設計:
      感測間隔' 網路設定(ID)

    設計處理方式:
        物聯網系統維護處理。



    1. 因應連接多種裝置的需求
      1. 需要連接各種裝置,來從其它角度來分析資料。為了支援各種形式的裝置,處理的方式的重點在於「資料處理的階層化」以及「與裝置有關的處理要在裝置附近完成」。 
    2.  
    3. 因應處理負荷'容量增加
    4.  
    5. 分散功散
    6.  
    7. 提高系統組成元素的穩定
    8.  


    2016年1月1日 星期五

    突破藍海'引領物聯(ATMEL 研討會)-2


    Iot Networking CommunicationSystem
    ref link:
    https://drive.google.com/folderview?id=0B2uYQcUgyMUJTzVoWHREbm5vVVk&usp=sharing

    What is needed for a “real” IoT Network Comm System
    1.Small Footprint
       communication agent density to accommodate very small soc
    2.Ability to monitor end-to-end
       devices across heterogeneous networks,include multi hop
    3.IP based
      communication protocols
    4.Scalability
      resource constrained devices across communication networks.
    5.Control & configure
     resource constrained devices across communication network.
    6.Aggregate data & intermediate storage
     across devices for diagnostics
    7.Adaptive OTA
     rollout for device regardless of bandwidth and battery operation
    8.Flexible API
     for both Cloud-enabled,and smaller customers needing full support
    9.Self provisioning
       Apple home kit,mbed

    overview,iot system Architecture
    1.
    2. iot detail view
     3.sample
     

    Iot on different communication method(wifi/zigbee and ble)

    about the  "Security"