読者です 読者をやめる 読者になる 読者になる

mbed Device Connectorへデータを送ってみる

mbed FRDM-K64Fを使ってmbed Device Connectorを試しました。

f:id:mia_0032:20170221111232p:plain

今回は公式で公開されているサンプルを動かしてみました。

github.com

ビルド手順

1. import します。

$ mbed import mbed-os-example-client
$ cd mbed-os-example-client

2. Ethernetをつかってネットワークに接続するように設定します。

$ cat << EOS > configs/mbed_app.json
"network-interface": {
    "help": "options are ETHERNET,WIFI,MESH_LOWPAN_ND,MESH_THREAD.",
    "value": "ETHERNET"
}
EOS

3. 認証情報の設定

https://connector.mbed.com/#credentials から取得した認証情報で security.h を上書きします。

4. mbedへ書き込み

$ mbed compile --toolchain GCC_ARM --target K64F
$ cp .build/K64F/GCC_ARM/mbed-os-example-client.bin /Volumes/MBED

書き込みが終わったらresetボタンを押して、プログラムを実行します。

動作の確認

バイスが認識されているかの確認

https://connector.mbed.com/#homeで確認すると、デバイスが1つぶら下がっていることとデータが送られていることがわかります。

f:id:mia_0032:20170221105728p:plain

https://connector.mbed.com/#endpointsからはデバイスのendpointに使われる名前(secure.hに記載されているMBED_ENDPOINT_NAMEの値)を確認することができます。

f:id:mia_0032:20170221105350p:plain

データの確認

https://connector.mbed.com/#consoleから送られているデータのサンプルを見ることができます。

SW2を押した回数が3200/0/5501へ送られているようなので以下のように設定します。

f:id:mia_0032:20170221111944p:plain

TEST API ボタンを押すと以下のような結果が返ってきます。

f:id:mia_0032:20170221112238p:plain

payloadというキーに送信されたデータがBase64エンコードされた状態で入っています。 その下にBase64 decoded payloadというのが表示されており、これがデコードされた結果です。 ここでは35という値がスイッチを押した回数になります。

『科学の経済学』『レッドチーム思考』を読んだ

科学の経済学

科学の経済学

科学の経済学

科学者の知識は、論文という形で誰もが利用できる公共財として提供されます。 競争市場においては、そのような公共財を生産するインセンティブは乏しい、というのが一般的な考え方です。 この矛盾を説明するために本書で挙げられているインセンティブは「先取権の存在(最初に見つけた人がすべてを得る)」「金銭的報酬」「謎解きへの悦び」の3つとしています。

他には

  • 研究のチーム体制が変わってきていること
    • 明らかな共著者数の増加
  • 加齢が研究業績に与える影響
    • あまり見られない。
    • 新しい知識を学んでいる若い世代のほうが生産性が高いとは言えない。
  • 大学による新技術の開発研究の「社会的」収益率は28%という推定値がある。

といったことが印象に残っています。

レッドチーム思考

レッドチーム思考 組織の中に「最後の反対者」を飼う

レッドチーム思考 組織の中に「最後の反対者」を飼う

組織の中で反対意見を述べる専門のチーム「レッドチーム」について具体的な事例を用いて説明している本です。 全体的には事例が多く、その代わりに理論的な裏付けが乏しいように感じました。

レッドチームを組織で取り入れる際のベストプラクティスとして挙げられているのは以下の6つのことです。

  • 上司の賛同を得る
    • 組織のトップが反対意見を支援・承認しなければ意味がない。
  • 外側から客観的に評価し、内側から気遣いを持って実施する
    • 適切な評価はもちろん必要だが、レッドチーム自体も実施や結果を伝える際に気遣いが要求される。
  • 健全で大胆かな懐疑心を持つ
    • 人と違うように考え行動できるメンバーを集める。
  • 隠し玉を備えておく
    • 何度も同じ手法を使わない。
  • 悪い知らせを快く聞き入れ、行動する
    • レッドチームの発見を取り入れる。
  • ほどよい頻度で行う
    • 多すぎると組織の士気が下がるが、少なすぎるとレッドチームは衰退してしまう。

本書には、それぞれについて、欠けていたためにレッドチームが機能していなかった失敗事例が書かれています。

『HBR 2016/12 「チームの力」』『リーダブルコード』を読んだ

Harvard Business Review 2016年12月号 「チームの力」

『チームワークは4つの要素で決まる』『多様なメンバーの「違い」に気づく技術』『メンバーを変えずにチームで変革を進める法』が良い章でした。 特に『多様なメンバーの「違い」に気づく技術』は実践的な内容となっており、チーム内の信頼・理解の基礎を築く上でメンバーについて知っておくべき5つのことを挙げている。

  • 人物の見方 - 見た目などの違いに囚われる
    • 人間はごく短期間の接触で仲間の性格や能力、地位を即座に判断する(とくにネガティブな面)。
      • 見た目や動き、服装、声のトーン、発言内容などを元に判断している。
    • また人によって、重視する要素は異なり、経験など仕事に直接関わる特徴を重視する人もいれば、年齢・性別・学歴などの属性を重視する人もいる。
  • 行動の仕方 - 言動を誤解する
    • 他人に対して許容する物理的な距離や境界線、時間に対する考え方、仕事に対する自己主張の強さ、個人で仕事を行うか助け会って行うか、といった面がある。
  • 話し方 - 言葉で行き違いが生じる
    • 自己表現のために選ぶ言葉、率直な物言いやユーモア、話の中断、横槍に対する許容度など、数多くの側面がある。
  • 考え方 - 異なる思考法に支配される
    • 個性や経験が異なるために、問題解決や意思決定に対するアプローチが異なる。
      • 特に行動してから考えるタイプの人と分析を重視する人の間に対立が生じやすい。
  • 感じ方 - 感情表現の仕方が異なる
    • 気持ちの強さや熱意の伝え方、意見が対立した時の感情のコントロールの仕方が大きく異ることがある。

各それぞれの項目に対して具体的な質問例も載っており、チームをまとめるとなった際にはすぐに活用できる内容でした。

リーダブルコード

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

名著と言われるだけのことはあって非常に役立つ本でした。

理解しやすいコードについて、変数名からコメント、制御フロー、全体の構造まで、一通り網羅して解説しています。 1つ1つサンプルコードを提示してくれているので、理解しやすい本でした。

コードレビューをしていると、名前と実行内容が異なっていたり、変数名が何を表しているのかわからず、レビューに時間がかかってしまうことがあります。 自分がそういったPRを出してしまわないためにも読んでおくべき本と感じます。