• 検索結果がありません。

物理からkintoneへの道

N/A
N/A
Protected

Academic year: 2021

シェア "物理からkintoneへの道"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)

物理から

kintone

への道

西尾 泰和

1,a) 概要:自席から離れたところにウォーターサーバーがあると、マグカップにインスタント コーヒーの粉を入れてからウォーターサーバーに行き、そこで初めて水が切れていることに 気付いて悲しい思いをすることがある。これを技術的に解決したい。サイボウズ社の提供し ているグループウェア「kintone」では、APIでデータを入力する機能とそのデータをグラフ 表示する機能が備わっている。そこで、ウォーターサーバーの水残量を圧力センサで計測し、 Raspberry PiからAPIを叩いてkintoneにデータを送り、水残量のグラフとして可視化す ることで、社員のだれもが席に居ながら水の残量を知ることができるようにすることを考え た。本原稿では夏のプロシンおよびその後の過程で経験した課題と解決について解説する。 キーワード:Raspberry Pi,kintone

1.

はじめに

2.

Raspberry Pi へのシリアル接続

Raspberry Pi(以下RasPi)への接続方法は何通 りかあり、RasPiが正常動作しネットワークにも つながっている場合にはsshが手軽な方法だろう。 しかし筆者は、RasPiのストレージが破損し、 ブート時にカーネルパニックを起こす、という状 況を経験した。この状況ではsshdが起動しないた め接続して状況を確認することもできない。 この種の状況に対処するためには、HDMIでモ ニターを接続する方法が考えられるが、夏のプロシ ンのように移動先でRasPiを使うシチュエーショ ンではモニターを持ち歩くことはやりたくない。 そこでシリアルコンソールを接続する。RasPi のドキュメント[1]によればピン6,8,10がそれぞ れGND,UART0 TX,UART0 RXである。ここに USBシリアル変換基板、例えば秋月電子通商の 1 サイボウズ・ラボ株式会社 a) [email protected] AE-UM232R [2] などをオスーメスのジャンパー ケーブルなどで接続する。 注 意 点 と し て は 、RasPi は3.3V な の で AE-UM232Rのジャンパーピンを3.3V側に切り替 えること(AE-UM232Rのマニュアルに書いてあ る)および、TXとTXではなくTXとRXを接続 することがある。 接続には最初mobaXTermを使った、これは Ctrl-Xで回線を切断するキーバインドが設定され ていてEmacsが使えず、変更の方法もわからな かったためPuttyを使うことにした。 筆者の環境はWindows8.1で、FT232RLのドラ イバをインストールすると仮想COMポートとし て接続されるが、何番のCOMかを調べるOSの 機能がわからなかったのでArduino IDEが接続 先として提示してくるものを使った。少なくとも 一部のArduinoはUSBシリアル変換にFT232RL を使っている。PuttyでCOM番号とボーレート (115200 Baud)を指定すればRasPiに接続するこ とができる。

夏のプログラミング・シンポジウム「プログラム詠み会」 2015.9.4-6

23

(2)

3.

Raspberry Pi からの Wifi 接続

RasPiのUSBポートにUSB-Wifiをさすことで Wifi接続が可能になるが、適切なネットワーク設 定の方法についてあまり整理された正しい文章が ないように思う。筆者もネットワーク設定には詳 しくないので、説明に誤りがあった場合に更新が 容易なようにこの節の内容はブログ[3]に記載し た。なお会場のネットワークにはセキュリティが 掛かっていなかった。

4.

Raspberry Pi でクライアント証明

書を使う

kintoneでは管理者が「セキュアアクセス」[4] という機能を有効にすると、社外ネットワークか らの接続に個人別のクライアント証明書を要求す ることができる。これは、社外からアクセス可能 な利便性を保ちつつ、端末の盗難や紛失などのイ ンシデントが発生した場合にはその個人のクライ アント証明書を無効化することで、他の社員や本 人の業務に影響を与えることなく問題の端末のア クセス権を停止できる手法である。 弊社でもこのセキュアアクセスは有効化されて おり、RasPiにクライアント証明書をインストール することが必要と考えた。しかし、そもそもOSの 証明書サイトにインストールされた証明書をデフォ ルトで利用するようになるのはPython2.7.9以降 であり、RasPiに現時点でインストールされてい るのはそれ以前のバージョンであるため、Python のバージョンを上げるか、明示的に指定するかが 必要となる。後者ならOSの証明書サイトへのイ ンストールは必要ない。以下のようにすればよい。

$ openssl pkcs12 -in foo.pfx \ -nocerts -nodes -out foo.key $ openssl pkcs12 -in foo.pfx \

-clcerts -nokeys -out foo.cer import requests

cert = (’foo.cer’, ’foo.key’)

res = requests.get(<YOUR_DOMAIN>, cert=cert)

5.

まとめ

以上の問題を乗り越えて、ウォーターサーバー の水の残量を、ウォーターサーバーの下に設置し た圧力センサによって計測し、その値をRasPiに よってWifiとHTTPSでkintoneに送信し、それ をグラフとして可視化することができた。 しかし残念なことに圧力センサは「一定の圧力 を掛け続けていても出力値が徐々に変わる」とい う不都合な特徴を持っていることが可視化の結果 明らかとなった。そこで超音波測距センサや赤外 線フォトリフレクターなどを試し、最終的に静電 容量センサを水タンクの頸部に設置することで、 その付近の水の有無を検知することにした。 また10月8日にAmazonからリリースされた AWS IoTが興味深いサービスであるため、データ を直接kintoneに送るのではなくMQTTでAWS IoTに送信する実験を行っている。 本原稿ではウォーターサーバーの水残量を可視 化するプロジェクトの夏のプロシンおよびその後 に経験した課題と解決について解説した。 参考文献 [1] http://www.raspberry-projects.com/pi/pi- hardware/raspberry-pi-2-model-b/rpi2-model-b-io-pins [2] http://akizukidenshi.com/catalog/g/gK-01977/ [3] http://d.hatena.ne.jp/nishiohirokazu/20150902/1441130571 [4] https://www.cybozu.com/jp/service/option/

夏のプログラミング・シンポジウム「プログラム詠み会」 2015.9.4-6

24

参照

関連したドキュメント

街を移動する手段は 1 つではありません。周囲、頭上、障害物の中など周りに

喫煙者のなかには,喫煙の有害性を熟知してい

存在が軽視されてきたことについては、さまざまな理由が考えられる。何よりも『君主論』に彼の名は全く登場しない。もう一つ

〔問4〕通勤経路が二以上ある場合

我々は何故、このようなタイプの行き方をする 人を高貴な人とみなさないのだろうか。利害得

はありますが、これまでの 40 人から 35

自発的な文の生成の場合には、何らかの方法で numeration formation が 行われて、Lexicon の中の語彙から numeration

しかしながら、世の中には相当情報がはんらんしておりまして、中には怪しいような情 報もあります。先ほど芳住先生からお話があったのは