Changeset 5ab4cdf in lab.git for Commentary


Ignore:
Timestamp:
Apr 13, 2013 2:32:15 PM (12 years ago)
Author:
mitty <mitty@…>
Branches:
master, trunk
Children:
04eb6d7
Parents:
4181361
Message:
  • memo for 8th Kernel/VM expedition
  • add about ZigBee

git-svn-id: https://lab.mitty.jp/svn/lab/trunk@206 7d2118f6-f56c-43e7-95a2-4bb3031d96e7

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Commentary/kernelvm/20130413.log

    r4181361 r5ab4cdf  
    138138        記録する際にロックを取るなどによりメモリ帯域を食ってしまうことはないか 
    139139            基本的にCPU間でロックを取ることはない(ロックレス) 
     140 
     141 
     142@Fantom_JAC 
     143いまさら聞けないZigBee 
     144    ZigBeeは日本では名前しか知られてない 
     145    というか、まともな日本語の本も出ていない 
    140146     
     147    ZigBeeの特徴 
     148        日本で流行っていない 
     149        802.15.4と混同される 
     150        BluetoothやWiFiに押され気味 
     151        年会費高い 
     152        etc... 
     153    ZigBeeの歴史 
     154        ZigBee 2004とZigBee 2006は互換性がない 
     155        今年 ZigBee IPが出た 
     156    ZigBee三大要素 
     157        IEEEで決まっているのはPHYとMACで決まっている (802シリーズ) 
     158        それより上はアライアンスで決めた 
     159        NWK 
     160            この層がZigBeeとしてもっともよく知られた層 
     161        APL 
     162            この層が全然理解されていない (後方互換性が無いのはここ) 
     163            APS, ZDO, ZCL 
     164    802.15.4とは 
     165        IEEEが策定したPAN標準 
     166        802.15.1 -> Bluetooth 
     167        802.15ワーキンググループ (WPAN) 
     168        別名Low Rate WPAN 
     169            速度を犠牲にして消費電力を減らす 
     170        2.4GHz 
     171    NWK Layer 
     172        メッシュを実現している層 
     173        ルーティング・ネットワークの管理 
     174        どのようなネットワークトポロジーになっているかはあまり重要ではない 
     175        世の中に出回っているのはほとんどZigBee Pro 
     176            毎回ルーティングを探す 
     177        NLDE 
     178            ふつうのData Entity 
     179            フレーム作ってセキュリティ掛けたり 
     180        NLME 
     181            ネットワークの開始・参加・離脱 
     182            PAN IDの管理 
     183            ルート探索 
     184            ルーティング 
     185    ZigBee Network 
     186        Coordinator 
     187        Router 
     188        EndDevice -> 電気を食わない 
     189    Coordinator 
     190        ネットワークに常に一台しか居ない 
     191        802.11におけるAPのようなもの 
     192        常にOn -> スリープ出来ない 
     193        基本的にPCだったりして、ゲートウェイ的働きをする 
     194    Router 
     195        ネットワークを作成出来ない他はCoordinatorと同じ 
     196    EndDevice 
     197        ネットワークを作成出来ない 
     198        子ノードを持つことが出来ない 
     199        ルーティング出来ない 
     200        通常はスリープ状態 
     201        普段はメッセージを受信することが出来ない 
     202    Coordinator/RouterからEndDeviceにメッセージを投げると、直接届いているように見える 
     203        実はメッセージは親を経由する 
     204        EndDeviceはスリープから復帰した時、自分で取りに行く 
     205            メールチェックのような仕組み 
     206    宛先のEndDeviceが取りに来なかったら、無慈悲に削除される 
     207    デフォルトタイムアウトは7680ms 
     208    何とかしてすぐに送りたい 
     209        たぶんWakeupボタンみたいなのがあるはず 
     210        Wakeupボタンを押すと… 
     211            DoSのように何度も読みに行くだけ 
     212    FAQ 
     213        消費電力について 
     214            Coordinator/Routerは常にRXはON 
     215            電池がどんどん減る 
     216            極力スリープ状態を長くすることでしか解決出来ない 
     217            Wakeupを5分毎くらいにすると、半年くらいは電池が持つようになる 
     218        PANIDが2つ(?) 
     219            16-bit PANID 
     220            MACアドレスで使われるネットワーク識別ID 
     221        アドレスが二つ? 
     222            IEEE adressとNetwork address 
     223            IEEE -> いわゆるMAC adress (64bit) 
     224            Network adress IPスタックにおけるIPアドレスのようなもの 
     225    APL Layer 
     226        アプリケーション層 
     227        ZigBee最大の特徴 
     228        APS、Application Framework (ZDO/ZCL)の二つに分かれている 
     229        アプリケーションフレームワークがプロトコルレベルで決まっている 
     230            ZigBeeは単なる「通信方式の一つ」ではない 
     231        ビジネスに直結する仕様が策定されている 
     232            アライアンスの存在意義 
     233        モダンな設計 
     234            オブジェクト指向の概念がふんだんに取り入れられている 
     235    APS Layer 
     236        上位のフレームワーク層と直接やりとりする層 
     237        Binding, Group Management, etc... 
     238        Endpoint毎にユーザのアプリケーションが格納される 
     239        Binding 
     240            あるApplication Objectと別のそれをリンクする 
     241            単一方向 
     242            多重バインディング 
     243        Binding Table 
     244    Group Addressing 
     245        複数のApplication Objectに対して一括送信したい 
     246        基本的にブロードキャスト、受信側が責任を持ってフィルタする 
     247        Group Table 
     248    APS ACK 
     249        信頼性を高める 
     250        ACKタイムアウト時に再送 
     251    Fragmentation 
     252        名の通りデータのフラグメント化 
     253        実装されていないこともある 
     254        ウィンドウサイズがあったりと、TCPに似ている 
     255    Security 
     256        これだけで仕様書別になっているので、今回は省略 
     257    Application Framework 
     258        Cluster 
     259            「機能」を指し示すような概念 
     260            Application Objectが外部にどのような機能を提供するか 
     261            Application Objectには必ずClusterが一つ以上ある 
     262            ZCLにおいては「クラス」に近い概念 
     263        Profile 
     264            Clusterの集まりを定義 
     265            クラスに対するパッケージに近い概念 
     266            APSメッセージはCluster IDとProfile IDを指定する必要がある 
     267    ZigBee Device Object 
     268        USBのEndpoint0と似ている 
     269        Application Objectの実装 
     270        ZDOとZDPは違う概念 
     271        ユーザが作成するApplication Objectは通常APSDE以外触れることが出来ない 
     272            サンドボックスの様な仕組み 
     273            別途ZDOを経由する 
     274    ZigBee Cluster Library 
     275        ユーザが作成するApplication Objectの実質的な仕様、枠組み 
     276        必ずサーバとクライアントが対になって通信しなければいけない 
     277        Profile固有のClusterと共通のClusterが存在する 
     278    ZigBee IP 
     279        つまらないので省略 
     280    Pure Java ZigBee Application Framework: Bekko (LGPL) 
     281    アライアンス入会とは? 
     282        ZigBeeを名乗るプロダクトを開発する権利 
     283        HAやSE等PAPプロダクトを開発する権利 
     284        ただし、非営利目的であれば入会不要 
     285        営利目的であっても既に認定を受けたプロダクトを利用するだけなら入会不要 
     286            XBeeは入会不要 
     287    Q/A 
     288        有名なプロダクト例 
     289            日本で市販はされていない 
     290            BluetoothやWiFiとは違い、P2Pが目的なので、コンシューマ向けではない 
     291            アメリカにおいては、Control4Cが、「一戸建て建てる時にZigBee組み込みませんか」みたいなキャンペーンはしている 
     292            蛍光管をLEDに代える際に、ZigBee組込みで、配線無しでOn/Off出来る製品とか 
     293            日本ではMAKEというイベントに行けば見れるかも 
     294 
     295 
Note: See TracChangeset for help on using the changeset viewer.