TWELITE - みる会図書館


検索対象: ラズパイマガジン = Raspberry Pi Magazine 2017年10月号
10件見つかりました。

1. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

・ = 、 , = ー一一を可ユンで電テ・サイ旦ー目て暉の切て表 2525A を L 型ピンヘッダーに差す 丸ピン℃ソケットをはんだ付け L 字型のピンヘッダーをハンダ付け ーに 当・砂 1 ヨ ^ 、 1 を一自。物の編・ま第物朝・金物・ 図 5 TWELITE R に 5 ピンヘッダー を / 、ン ダ付け Raspberry Pi へ 接続 クリップ線で接続 クリップ線の色 2525A の接点 TWELITE R の接点 Vcc S ET 図 6 2525A と TWELITE R をクリップ赤色 緑色 線などで接続 というデバイス名で認識されます。 公開されています。この「親機・子 次に子機となる 2525A を Raspbe rry Pi に認識させます。 2525A もシ 機・中継機ファームウェア」などと 書いてあるリンクをクリックして、 リアルデバイスとして認識させるの ですが、 TWELITE にファームウ ホームディレクトリーにダウンロー ドします ( ここでは 2.0.2 を利用 ) 。 工アなどを書き込むためのライター どちらも「 OK: firmware is succes これを次のように展開します。 「 TWELITER 」を経由してつなぎ sfully programmed. 」というメッセ ます。ライターにつなぐときは、必 ージが出れば成功です。ファームウ す 2525A から電池を外しておいてく 工アは前バージョンの確認などもな く書き換わってしまいます。適用す ださい。 ま $TWELITER の先端にある るファームウェアのバージョンはよ 五つのスルーホールに、裏側から L く確認するようにしてください。 字型の 5 ピンヘッダー ( 秋月電子通 これで親機と子機のファームウェ 商の通販コード C -05336 、 10 円など ) アがそれぞれ「 App_Tag-Parent- 親機の設定を変える をハンダ付けします ( 図 5 ) 。さらに BLUE. bin 」「 App_Tag-EndDevice- それでは親機と子機の設定を変 図 6 のように、 TWELITER に丸ピ BLUE-LITE2525A. bin 」といったフ 更しましよう。設定変更には cu コ ン IC ソケット ( 秋月電子通商の通 ァイル名で得られるはすです。 マンドを利用するので、次のコマン 販コード P -01591 、 120 円など ) を ドで導入します。 続いてツールを利用してデバイス ハンダ付けします。 の接続を確認します。 そして 2525A を L 型ピンヘッダー に接続し、クリップ線で Vcc などを 接続します。隣のピン同士が接触し ないよう細心の注意を払います。 この状態で TWELITE R と Rasp berryPi の USB ポート間を USB ケ ープルで接続すると MONOSTICK USBO と USBI にある二つのデ MONOSTICK にアクセスし、初 バイス (MONOSTICK と TWE- のときと同様に次ページの図 7 のよ 期設定のための「インタラクテイプ Lite-R) がリストされていれば OK で うに「 /dev/ttyUSB1 」として認識 モード」でメニューを表示させた場 す。確認できたら次のコマンドを実 されるはすです。なお、ここで認識 合が次ページの図 8 、 TWELITE R 行して親機と子機のファームウェア されているのは 2525A ではなく TW 経由で 2525A にアクセスした場合が を更新します。 ELITE R です。 次ページの図 9 になります。 インタラクテイプモードにするた ファームウェアを更新 め、 Connected の表示後に「 + + + 」 . /jenprog -p /dev/ttyUSB0 Ap 最新のファームウェアは公式サ と + を 3 回入力します。 MONOSTI p_Tag-Parent-BLUE . bin ロ イト「 http: 〃 g00. g レ QSmtYR 」で CK の場合は + + + の後にすぐにメ Vcc GND . /jenprog -p /dev/ttyUSB1 Ap p_Tag-EndDevice-BLUE-LITE2525A . b i n ロ $ cd /opt/TWELITE/jenprog ロ $ s udO u n z i p ~ / ダウンロードしたフ ァイル名口 $ s u d 0 a pt - g e t i n s t a 1 1 c u ロ . /jenprog - 1 ロ # TW E U S B d e ⅵ c e 1 i s t ( n u m= 2 ) I D , S / N , De s c 0 , A H X M Z Y 18 , M 0 N 0 S T I C K 1 , A H X W I Y 3 L , TW E - L i t e ー R cu コマンドは次のように使います。 ー 1 デバイス名 - s 115 200 ロ 親機のファームウェア更新 子機のファームウェア更新 時 , , 。、ラスパイマガジン 2 引に 45

2. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

0 続き番号 0 送信機の 電源電圧 [mV] 3L6 : 5 : 0 0 0 0 0 0 0 0 : 1 5 6 : 0 0 1 : 1 0 0 8 f 0 3 : 3 1 0 0 : 2 4 6 0 ; 7 9 2 6 : 1 3 2 1 : 0 8 4 6 : L : ②未使用 3 送信機の D (MAC 0 未使用⑩ A 旧の電圧 [mv] アドレスの下 7 桁 ) LQI: 0 ~ 255 、電波通信品質を表す尺度で 数値が大きいほど品質が高い 図 9 温度センサーからのデータを読み取ったところ す。ま v$TWELITE DIP のモード センサ三を 設定ビット 2 (M2) を GND につな 子機につなごう ぎます。その状態で TWELITE R に セットし、 TWELITE R を Raspbe 続いてセンサーを子機に接続しま rry Pi の USB ポートに接続します。 しよう。 $ miniterm. py /dev/ttyUSB0 115 温度センサーをつなぐ 2 0 0 ロ まずは温度センサーです。プレッ ドボードなどを使って図 8 のように を実行して TWELITE R の RST>F タ 配線してください。今回のファーム DIP にファームウェアを書き込むた ンを押すとインタラクテイプモードに ウェアではアナログセンサーを AI トワイライタ ーでは TWELITE R をライ 入ります。次のように表示されます。 (Analog lnput) の 1 、 3 番のどちら ターとして使用します ( 写真 2 ) 。 かにつなぎます。 LM61 は 3 番につ まず TWELITE R に TWELITE なぐことで温度計算までできます。 d : S1eep Dur ( 5000 ) set DIP を差し、 TWELITE R と Raspb 電源には単三電池を 2 個使います。 S e n s 0 r M 0 d e ( 0 x 1 0 ) m : set erry Pi を USB ケープルで接続しま DO (DigitaI Output) の 3 番には す ( この状態で Raspberry Pi と TW 動作確認用の LED をつなぎます。電 S : save Configuration ELITE DIP 間でシリアル通信する 源を入れて 5 秒に 1 回点灯すれば OK R : r e s e t t 0 D e f a u 1 t s こともできます ) 。 Raspberry Pi の です。 Raspberry Pi に MONOSTICK コンソールで次を実行します。 を接続して起動し、温度センサーの アナログセンサーをつないで通 値を読み取れるか確認します。 . /firm_write -t /dev/ttyUSB0 信頻度を変える場合、 d を入力し /opt/MW—App—Tag/App—Tag/App_T ます。通信する時間の間隔はミリ a g - E n d D e v i c e - B LU E . b i n ロ $ miniterm. py /dev/ttyUSB0 115 2 0 0 秒で指定します。デフォルトの 5 秒 MONOSTICK と同様に「 OK 」な ( 5000mS ) から 1 分 ( 60000mS ) に どと出力されれば成功です。 変える場合、 60000 と [Enter] キ を実行すると 5 秒以内に図 9 のよう 子機のファームウェアはデフォル ーを入力します。 に出力されるはずです。 トでアナログセンサー用になってい 使用するセンサーを指定する際に ⑦の温度が、 A13 につないだ温度 ます。温度センサーや磁気スイッチ m を入力し、温度センサーを用いる センサー LM61 の出力電圧から温度 を用いる場合、インタラクテイプモ 場合はセンサーモードとして 11 と を計算したものです。これを 100 で ードでセンサーモードを変更する必 [Enter] キーを、磁気スイッチの場 割って、手元の温度計と同等なら子 要があります。また、親機との通信 合は 51 と [Enter] キーを入力しま 機と正常に通信できています。 0 と 頻度を変更することもできます。 す。どちらも最後に S を入力して設 ⑩で AII と A13 の電圧を読み取れま 定を保存すると、設定した値を確認 TWELITE DIP ではインタラク す。ほかのセンサーの場合はこの値 テイプモードへの入り方が違いま できます。 を利用します。 ①親機起動後の タイムスタンプ [s] ⑦温度 [ ℃ ] OAII の電圧 [mv] X 100 0 0 TWE-Lite-R 写真 2 ライターの「 TWELITE R 」 丸ピンヘッダーを取り付けた例。 0 3V TWELITE DIP 0 VOUT LM61 GND 十 Vs 680C LED Vcc GND Vcc 図 8 子機に温度センサーをつなぐ回路図 40

3. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

少当 <J 彡す 49 」 振ると出た目が LED で表示される電子サイコロを作ります。サイコロの中に、加速度センサーを装備する超小型の無線マ イコン「 TWELITE 2525A 」を入れます。人気の TWE 凵 TE シリーズの製品です。そのセンサーの値を無線で Raspbe 「 ( ライター須藤健一 ) ry Pi に飛ばし、出た目を検出して、サイコロ状に並べた LED を光らせます。 TWELITE の「 MONOSTICK 」、 Ra ンテナ、電池ホルダーの三つが入っ 電子工作で手軽な無線通信を実 ています。ます電池ホルダーを本体 spberry Pi を使って電子的なサイコ 現する無線マイコン「 TWELITE シ の裏側に取り付け、 2 カ所をハンダ ロ「ニコニコサイコロ」を作ります リーズ」の中に超小型版がありま トワイライト 付けします ( 図 3 ) 。その後平面アン ( 図 2 ) 。加速度センサーの計測値を す。 25mm 四方と小さな「 TWELITE コニコ テナを両面テープで貼り付けます。 RaspberryPi に無線で飛ばし、出 2525A 」 ( 以下、 2525A ) です ( 図 これでボタン電池を入れれば、すぐ た目を検知して LED でそれを知ら 1 ) 。電池込みで約 6.5g と軽く、気 に 2525A は動き出します。 せる仕組みです。動作の様子は「 ht 楽にいろいろなものヘ取り付けられ Raspberry Pi は最新の Raspber tps://youtu. be/Ng8uLFzVfIM 」で ます。消費電力が小さくボタン電池 ry Pi 3 Model B を使いましたが、 配信しています。 Raspberry Pi です ( CR2032 ) で年単位の動作が可能で ほかのモデルでも問題なく動くはす ごろくゲームなどを動かして、連携 す。実勢価格は 3240 円です。 です。 OS の導入 ( p. 50 に示す NOO させることも可能でしよう。興味の 3 軸の加速度センサーを標準装備 BS 2.42 を利用 ) とネットワークの ある人はトライしてみてください。 しているのが特徴で、 2525A が動い 設定をして、パッケージとファーム たときや軽くたたいたときに信号が 2525A と ウェアの更新を次の通りに実施しま 飛び、親機モジュール側でそれを検 ラズバイの準備 す。この作業はかなり時間がかかる 知できます。親機には従来の USB 型 ので、この間で 2525A の組み立てを 2525A を購入すると本体、平面ア やプレッドボードに差せる DIP 型の TWELITE を使います。 Raspberry Raspberry Pi 3 Pi なら USB 型を USB ポートに差せ モデル B ば、 2525A からの信号を簡単に受け 取れます。 この 2525A と USB 型 ここでは、 2525A を内蔵するサイコロ ( サイコロキャラメルの箱を利用 ) ー 電子サイコロ「ニコニコサイコロ」で 5 の目が出たところ 図 2 USB 型の TWELITE 「 MONOST ℃ K 」 平面アンテナ TWELITE 2525A 本体 LED で出た一 目が分かる ボタン電池 ( CR2032 ) のソケット 加速度センサー 図 1 25X25X11mm と小さな無線マイコ ン「 TWELITE 2525A 」 43

4. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

、、安価で手軽な無線マイコン「 TWE 凵 TE 」と Raspberry Pi を組み合わせ、自宅のいろいろな場所に温度センサーや、扉の 開閉センサー ( 磁気スイッチ ) を設置しましよう。一定温度を超えたときや扉の開閉時につぶやくマシンに仕立てます。 ( モノワイヤレス齋藤拓史、奥村成吾 ) 自宅のいろいろな場所にセンサー で ) 10 年以上使えるほど省電力で ( 写真 1 ) を使い、センサーを接続し す * 1 。センサーをつないだ無線マイ を設置して、今の状況を調べられる て計測結果を親機へ送信します。 センサー無線ネットワーク。 Raspb コンを自宅内にたくさん置いて、 Ra ここではセンサーとして、温度 erry Pi を使えば、そんなシステム spberry Pi に情報を収集できるよう センサー「 LM61 」と磁気スイッチ も手軽に構築できます。 にしましよう。 「 MC-14AG 」を使います ( 表 1 、図 ただし Raspberry Pi は安価とは TWELITE はいくつかのバリエ 2 、 3 ) 。磁気スイッチは冷蔵庫や玄 いえ、センサーを設置する場所ごと ションがあります。 Raspberry 関などの扉に取り付け、開閉をチェ Pi には無線の親機として、 USB ポ に置くのはコストがかかります。そ ックするのに便利なものです。磁石 こでモノワイヤレスの無線マイコン ートにつなげる USB ドングル版 トワイライト モノスティック * 1 このほか、 32 ビット CPU を用いていて 「 TWELITE 」を活用します。 TWE 「 MONOSTICK 」をつなぎます ( 図 高速処理が可能、標準アンテナで最大 lkm LITE は、 1 台 1500 円くらいから購 1 ) 。子機にはプレッドボードにその と長距離通信が可能、多数の子機を接続可 能といった特徴があります。 入でき、ボタン電池でも ( 間欠駆動 まま差して使える「 TWELITE DIP 」 図 2 子機に温度センサーを取り付けたと 図 3 子機に磁気スイッチを取り付けたと 表 1 部品表 すべて秋月電子通商で購入した。 図 1 USB ドングル版の「 MONOST ℃ K 」 Raspberry Pi に差したところ。 一個数ー価格 分類 2980 円 200 円 250 円 100 円 1620 円 X 2 270 円 X 2 180 円 20 円 X 2 100 円 80 円 x 2 2430 円 ロロ : 親機 MONOST ℃ K 1 LM61ClZ ( 4 個入り ) 子機の温度センサー 1 MC-14AG ( 磁石付セット ) 1 子機の磁気スイッチ 抵抗 IMQ ( 100 本入り ) 1 TWELITE DIP-WA ( 半完成品セミキット ) 2 ブレッドボード E ℃ -801 2 ブレッドボードジャンバーコードセット センサー以外に 1 子機で利用するもの 緑色 LED 2 ( 2 台分 ) 抵抗 680Q ( 100 本入り ) 2 電池ポックス単 3X2 本用 ( フタ付プラスチック・ス 2 イッチ付 ) その他 TWELITE R 1 写真 1 ブレッドボードに差して使える 「 TWELITE D 旧」 37

5. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

号を入力する場合は注意が必要で す。出力先では、パルス幅で電圧を 変化させる PWM (pulse Width Mo dulation) になるからです。これでも LED の明るさやモーターの回転数 は、 PC ボードなどからます問題な く制御できます ( 図 6 の① ) 。 アナログセンサーなどの入力値 も PWM で出力されますが ( 図 6 の ② ) 、入力された電圧値はシリアル 出力から読み出せます。特に今回親 機として利用する MONOSTICK な ら、 USB 経由のシリアル通信で読 み出せて手軽です * 2 。 USB 経由で、 デジタル・アナログ両方のデータを やり取りできます。 それでは早速作っていきます。 ( 1 ) Raspberry Pi の準備、② TW ELITE へファームウェアの書き込 み、 ( 3 ) 子機へのセンサー接続、 ( 4 ) プログラム作成の順に進めます。 扉が閉じているとき磁石がくつついていて 扉が開いているとき吟磁石が離れていて オフ ( 非導通 ) オン ( 導通 ) 例 用 の 4 チ ッ イ ス 気 子 4 石 磁気スイッチ Twitter へっぷやき 親機 TWE 凵 TE DIP Python 温度センサー /dev/ttY SB Raspberry Pi TWELITE DIP 図 5 センサー情報を無線で収集する今回のシステム デジタルデータ 親機 で送信 デジタル入力 ( 4 本 ) デジタル出力 ( 4 本 ) LED など R ヨ spb 日「「 y Pi に アナログ入力 ( 4 本 ) PWM 出力 ( 4 本 ) ラ彳プラリを導入しよう スイッチや デジタル入力 ( 4 本 ) デジタル出力 ( 4 本 ) センサー Raspberry Pi には推奨ディスト PWM 出力 ( 4 本 ) アナログ入力 ( 4 本 ) など リビューションの「 Raspbian 」を使 シリアル ()x 、 Tx) シリアル ()x 、 Tx) 他のマイコン ポードなど います ( p. 50 に示す NOOBS 2.4.2 を 利用 ) 。インストールしてタイムゾ ーンや時刻を正しく設定します。 USB ドングル版の MONOST 旧 K では IJSB 経由でデータをやり取りできる 本記事で用いる TWELITE 用の 図 6 TWELITE の仕組み P C ポードやマイコンポードからは、子機につながった部品が直接つながっているように見える。このほか、 プログラムなどは p. 50 に示す読者限 12C にも対応している。 定サイトに用意しています。 USB メ ケーブルを " 無線化 " できる で制御するスイッチで、リードスイ モリーなどを用いて RaspberryPi ッチとも呼びます。磁石が近いとオ TWELITE の仕組みを簡単に紹 の / 叩 t / にコピーして展開します。 ン、遠いとオフになります ( 図 4 ) 。 介します。 TWELITE を使うと、 PC ポードや各種部品の間をつなぐケー こうしてセンサーから集めたデー プルを、手軽に " 無線化 " できます タを Raspberry Pi でチェックし、部 屋が一定温度を超えたときや、扉が ( 図 6 ) 。例えば PC ボードに親機をつ ロこのマークで改行 開閉したときに Twitter につぶやく なぎ、子機に部品をつなぐと、 PC システムに仕立てましよう ( 図 5 ) 。 ポードから部品が直接つながってい / op レに MW_App_Tag というディ PC やスマートフォンなどから、い るように見えます。 PC ポード同士や レクトリーができます。これを作業 つでも自宅の状況をチェックしてペ 部品同士も、もちろんつなげます。 用ディレクトリーとして使います。 ットの見守りなどができます。 ただし TWELITE にアナログ信 その構成は図 7 の通りです。 MONOST ℃ K 磁気スイッチ 子機 PC*—ド やマイコ ンポード に接続 $ cd /opt ロ $ sud0 tar xzvf MW_App_Tag . tar. gz

6. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

無線マイコンでセンサー値を飛ばすこ扉の開閉や室温 をつぶやこう Twitter に投稿するプログラムの MW_App_Tag/ スクリプト言語には Python を使い ファームウェアを書き込むためのソフトウェア jenprog/ Python でシリアル通信するためのライブラリ pyserial/ ます。 Python で Twitter に投稿す 今回、動作させるスクリプト script/ るには OAuth 認証 (http://oauth. 図 7 作業用ディストリビューションの構成 net/) によるログインが必要です。 温度センサー LM61 から読み取った そこで Python のライプラリである 電圧から、温度を計算するロジック python-oauth2 をインストールしま も追加しました。 す。 Raspberry Pi に接続する MON OSTICK とシリアル (UART) 通信 子機の TWELITE DIP 用のファ (/dev/ttyUSB0 経由 ) するための ームウェアでは、アナログセンサー 利用時または磁気スイッチ利用時 python ライプラリ「 pySerial 」 (ht その後「 + 」を一呼吸間隔で 3 回 tp://pyserial. sourceforge. net/) も に最適化した形で省電力化を徹底 入力して「インタラクテイプモード」 しています。アナログセンサー利用 導入します。 時はアナログ 2 系統 ( 0 ~ 2.4V ) 、磁 に移行します。次になります。 気センサー利用時はデジタル 1 系統 $ sudO apt-get install python- 0 a u t h 2 だけをチェックします。 $ cd /opt/MW_App—Tag/pyseria1 0 : set Option Bits ( 0X00000001 ) ほかに稼働状況を示すデジタル出 $ python setup . py build ロ 力があります ( 今回は LED を接続し S : save Configuration $ sudO python setup . py install R : r e s e t t 0 D e f a u 1 t s ます ) 。子機の台数については、送信 頻度が過密にならない限り制限があ 「 0 : 」の行に表示されているオプ りません。 ー TWELITE にコアーム ションビットの値 ( デフォルトは ゴアを書き込もう 0X00000001 ) を「 0X00000021 」に変 MONOST ℃ K に書き込み えます。「。」を入力後、 21 と [Ent 親機として用いる MONOSTICK TWELITE はそのままでも簡単 er ] キーを入力します。再度同じよう にファームウェアを書き込みます。 に利用できますが、今回はより使い なテキストが表示されるはずです。 MONOSTICK を Raspberry Pi の やすくしたファームウェアを使いま USB ポートに挿し、次のコマンドを す。ファームウェアは Raspberry Pi 実行します。 を使って簡単に書き込めます。 0 : set Option Bits ( 0X00000021 ファームウェアは公式サイト「 htt ps: 〃 goo. g レ GpWnQk 」から最新版を ダウンロードします。 2017 年 8 月上 旬時点では「 App_Tag_bin—2-0—2. zip 」でした。これを /opt/MW— App—Tag/ にコピーし、次のように 解凍します。 $ miniterm . py /dev/ttyUSBO 115 200 ロ 1 よっ乙っ 00 00 00 $ cd /opt/MW_App_Tag/jenprog ロ $ . /firm_write -t /dev/ttyUSB0 / opt/MW_App—Tag/App—Tag/App—Tag - P a r e n t - B LU E . b i n ロ S を入力して設定を保存し「 Succe ss 」といった表示が出れば成功です。 「 + 」の 3 回入力を再度実行すれば、 インタラクテイプモードから抜けら 書き込み途中では「 0 %.. 10 %. 20 % れます。もう 1 度インタラクテイプ . 」と表示され、「 OK: firmware is モードに入って、「 0 : 」で始まる行に successfully programmed. 」と出力 「 21 」と表示されるか確認します。 すれば成功です。失敗したら MON OSTICK を挿し直し、再度書き込ん TWE 凵 TE D 旧に書き込み でください。最後に MONOSTICK 子機として用いる TWELITE を Raspberry Pi から抜きます。 親機の MONOSTICK 用のファー Pyth 。 n 向けの出力形式に変える ムウェアでは、シリアル通信で取り ためファームウェアの「オプション 出すデータを Python などで扱いや * 2 TWELITE DIP も後述する TWELITE R をつなげば、 Raspberry Pi や PC に USB で ビット」を変えます。 miniterm. py すい形式 ( ; 区切り ) に変換する機 接続してシリアル通信ができます。 を実行すると次のようになります。 能を付加しています。今回利用する $ cd /opt/MW—App_Tag/ ロ $ unzip App—Tag—bin—2—O—2. zip

7. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

両面テープをはがして貼り 付ける ( 強力なので、一度貼 り付けるともうはがせない ) 第、み乎 裏側から差して ハンダ付け 2 こに差す 電池ホルダー 図 3 2525A の組み立て するとよいでしよう。 2525A 本体 平面アンテナ $ dmesg ロ ( 略 ) [ 4455.754215 ] usb 1 - 1 . 4 : new full-speed USB device number 5 using dwc_otg [ 4455.881451 ] usb 1 - 1.4 : New USB device found, idVendor=0403, idProduct=6001 [ 4455.881476 ] usb 1 - 1.4 : New USB device strings: Mfr=1, Product=2, Seria1Number=3 $ sudO apt-get update ロ [ 4455.881494 ] usb 1 - 1 . 4 : Product: MONOSTICK $ sudO apt-get upgrade [ 4455.881511 ] usb 1 - 1 . 4 : Manufacturer: MONOWIRELESS $ rpi-update ロ ( 略 ) [ 4455.939317 ] usb 1 - 1 . 4 : Detected FT232RL [ 4455.940593 ] usb 1 - 1 . 4 : FTDI USB Serial Device converter now attached to ttylJSB() 更新作業が終了したら新しいフ 図 4 USB 型の MONOST ℃ K を認識させたところ ァームウェア ( カーネル ) で稼働さ せるために再起動します。 どでも更新できますが、 Raspberry Pi 用のツールも用意されています。 $ sudo reboot ロ ここでは RaspberryPi 用のツール を使って更新する手順を紹介しま リプート後のカーネルのバー ンヨ す。その後、ファームウェアの設定 ンは、 作業をします。 Raspberry Pi 用のツールは、開 発元のモノワイヤレスの公式サイト (http: 〃 g00. g レ AwgCfJ) に用意さ れています。 Web プラウザーで開 二つのディレクトリーと二つの実 でした。時期によってはより新しい き「 Raspberry Pi 版」の「 jenprog 行ファイル、 README ファイルが カーネルになると思いますが、より & tweusb ユーティリティ」をクリ 入っています。 README にはツー 新しいバージョンなら問題ないでし ックしてダウンロードして「 / 叩 t / ルの詳しい使い方が説明されていて TWELITE/ 」に展開します。 Chro 参考になります。 mium でのダウンロードに失敗する TWE 凵 TE のファームを更新 場合は、次のコマンドを実行してく ラズバイで 2525A を初期設定 2525A 用の最新ファームウェア ださい。 続いて Raspberry Pi に MONOST ( 無線タグアプリ ) は、 2017 年 8 月 ICK と 2525A を接続します。 6 日時点でバージョン 2.02 です。機 Raspberry Pi の USB ポートに 材の入手時期によって異なる場合 MONOSTICK を差すと、「シリア もあるため、ファームウェア更新の ルデバイス」として認識されます。 手順を紹介しておきます。 dmesg コマンドを利用して確認す ファームウェアは W ⅲ dowsPC な ると、図 4 の通り「 /dev/ttyUSB0 」 s p i . t a r . gz ロ これで jenprog というディレクト リー以下にツールが展開されます。 $ cd jenprog ロ jenprog jenprog . src/ README tweusb tweusb . src/ $ u n a m e - r 4 . 9 . 4 0 - v 7 + $ sudO mkdir -p /opt/TWELITE ロ $ cd /opt/TWELITE ロ $ sudO wget https://mono-wirel ess . com/downIoad/SDK/TWESDK 20 1408/jenprog—for_Raspi . tar . gz $ sudO tar xzvf jenprog_for Ra ラスパイマ - ジン 2011.10 特別付録

8. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

7 EXIT ・・・」の表示が出た後、再び + + + を押します。 親機ではデータを加工しやすいよ うに、シンプルに受け取るモードに 変更します。このためオプションビ ット (Option Bits) を「 0X20 」に します。図 8 の画面で「。」と入力し ます。続いて「 20 」と入力して [En ter] キーを押します。続いて大文字 の「 S 」を押すと、設定が反映され、 その結果が画面で確認できます。 確認できたら cu を終了します。 れには少々コツがいります。「 ~. 」を 入力すれば通常は「 Disconnected 」 と表示されコマンドプロンプトへ戻 ります。もし「 ~. 」が入力できな かったら一度 CEnter] キーを押し てからトライしてみましよう。なお 「 ~. 」を入力後に CEnter] を押す必 要はありません。 子機のオプションビットも変更 十十十と入力する。 します。ファームウェアを「 App_ 画面上には表示されない Tag 」に変更した親機と通信するた CONFIG/Åpp—Tag V2 - 00 - 0 / SID = 0X81027aae / LID = 0X00 / RC = 9696 - set App1ication ID ( 0X67726305 ) めの設定です。図 9 で「。」 - s et Dev i ce I D ( - ) [Enter] キーを押し、「 S 」で保存 ( 略 : c ~ 0 は図 8 と同じ ) して cu をいったん終了させます。 d : set S1eep Dur ( 5000 ) w : s e t S e n s 0 r W a i t D u r ( 3 0 ) m : s e t S e n s 0 r M 0 d e ( 0 x 10 ) 各モードを p : s e t S e n s 0 r P a r a m e t e r ( 0 ) P : set Sensor Parameter2 試してみよう ( 略 : S 、 R は図 8 と同じ ) 続いて子機の 2525A の設定を変え 図 9 2525A の設定を変更する ながらぐ実際に試してみましよう。 2525A が備える主な動作モード ( 最新の 2.0.2 の場合 ) 表 1 2525A には表 1 に示すような動作モ 通知を出す挙動を選べる。 0 「送信間隔の設定」で設定した間隔で通知 0 N 0 「 m 引 2 回たたいたとき、落としたときな 軽くたたいたときに通知 1 Tap どに通知でき、 1 ~ 8 は組み合わせ 軽く 2 回たたいたときに通知 2 DoubIe Tap 落としたときに通知 4 Free Fall ても使えます。デフォルトの動作は 動いているときと止まっているときのそれぞれを通知 8 Active/l nactive 1 、 2 、 4 、 8 の組み合わせで、モー シェイクノーマル 振られたときのカの強さに応じて DO を 4 段階で制御 32 振られているかを検出して DO を「 Lo 」か「 Hi 」に設定 33 シェイク積算モード 1 ド番号は各数字を足した 15 と指定 上向きの面を通知 64 ターン します。モード 256 はラズバイマガ スピン 角度を通知 128 省電力 スリープモードで待機 512 ジン 2015 年春号で紹介した、猫の ねこった一と互換性のあるモード 256 N ekotter 行動を見守れる「ねこったー」と互 ニュー画面が表示されるのに対し に TWELITE R 上のリセットボタ 換性があるモードです。講談社の週 て、 2525A では Connected の表示後 ンを押すか、 + + + を押して「 !INF 刊モーニングで連載していた電子工 $ dmesg ロ ( 略 ) [ 3404.743974 ] usb 1 - 1 . 4 : new full-speed USB device number 6 using dwc_otg [ 3404.868684 ] usb 1 - 1 . 4 : New USB device found, idVendor=0403, idProduct=6001 [ 3404.868709 ] usb 1 - 1.4 : New USB device strings: Mfr=1, Product=2, Seria1Number=3 [ 3404.868727 ] usb 1 - 1 . 4 : Product: TWE-Lite-R [ 3 404.876351 ] u s b 1 - 1 . 4 : FTDI USB Seria1 Device converter now attached to ttyUSB1 図 7 TWELITE R を認識させる $ cu ー 1 /dev/ttyUSB0 -s 115200 ロ Connected . 十十十と入力する。 画面上には表示されない CONFIG/App_Tag V2 - 00 ー 1 / SID = 0X81010C2d / LID = 0X00 AppIication ID ( 0X67726305 ) set C h a n n e 1 s ( 15 ) C : set Tx P ow e r ( 3 ) X : set b : UART baud ( 38400 ) set UART option ( 8N1 ) B : set Enc Key (0xA5A5A5A5) k : set Option Bits ( 0X00000001 ) 0 : set S : save Configuration R : reset to Defau1ts 図 8 MONOST ℃ K の設定を変更する ー s 115 2 0 0 ロ $ cu ー 1 /dev/ttyUSBI Connected . ! I N F E X I T I N T E RAC T I V E M 0 D E . 説明 動作モード 機能 ラスパイマガジン 201 ⅱ 0 特別付録 46

9. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

無線マイコンでセンサー値を飛ばす = 扉の開閉を室温をつぶやこう 0 続き番号 磁気スイッチの 磁気が遠ざかって 接続を示すフラグ ( オフ ) からの経過時間 [s] 3L6 : 4 : 0 0 0 0 0 0 0 0 : 1 2 6 : 0 0 5 : 1 0 0 7 b b d : ②未使用 0 送信機の (MAC の磁気スイッチの状態 アドレスの下 7 桁 ) フラグ [ オフ : 1 、オン : 0 ] 680C LED 図 1 1 磁気スイッチからのデータを読み取ったところ 図 10 子機に磁気スイッチをつなぐ回路図 まずセンサー情報をつぶやくため (t) とあるのが、認証キーの「 consu の専用アカウントを Twitter で作成 merKey 」と「 consumerSecret 」で 磁気スイッチをつなぐ します。このアカウントで、自分の す。ページ下部の「 Create my acce 磁気スイッチをつなぐ回路図を アカウント宛てのメンション ( 「@ ss token 」をクリックして数秒後に 図 10 に示しました。磁気スイッチ アカウント名」 ) を付けてつぶやき、 は DI (DigitaI lnput) 1 につなぎま ページを更新します。残りの認証キ す。磁気スイッチと Vcc ( 電源 ) を すぐに気付けるようにします。 ーである「 accessToken 」と「 acces sTokenSecret 」は「 Your access to つないでいる抵抗はプルアップ抵抗 Twitte 「の認証キーを取得 ken 」の下の Access Token と Acce と呼ばれ、デジタル入力に High と プログラムから投稿するには、専 Low の中間の電圧をかけないように ss Token Secret に書かれています。 用アカウントでプログラムを登録し、 するためのものです。この抵抗値は 4 つの認証キーをプログラムに登 4 種類の認証キーを取得する必要が 録しましよう。テキストエデイタ 高いほど消費電流が抑えられるので で「 /opt/MW_App_Tag/script/t0 あります。 Raspberry Pi か作業用 IMQ を選択しました。 ken. py 」を開き、いの中に各キーを D03 につなぐ LED も動作確認用 PC の Web プラウザーで https://ap ps.twitter.com/ にアクセスし、専用 記述して保存します。 です。磁気スイッチから磁石が離れ アカウントでログインしてください。 ている場合は LED が 5 秒に 1 度点灯 右上の「 Create New App 」を選 つぶやきプログラムを動かそう し、磁気スイッチに磁石が接触した びます。「 Name 」にプログラム名、 それでは早速、 Twitter でつぶや ら常時点灯します。これが確認でき 「 Description 」にプログラムの説明、 くプログラムを動かしてみましょ れば、続いて Raspberry Pi での読 「 Website 」に作成するプログラムを 。こでは「温度が 30 ℃以上のと み取りをチェックします。 つ 紹介するべージの URL ( なければ適 き ( 5 秒ごとに定期ポスト ) 」「扉が 先ほどと同じように miniterm. py 当な URL) を入力します。利用規約 開いたとき」「扉が閉じたとき」に を起動して MONOSTICK の出力を を確認してから「 Yes, I agree 」を 投稿するようにしました。 確認します。磁気スイッチに密着し チェックし「 Create Your Twitter まずメンションを飛ばす自分の た磁石を離すと、図 1 1 のように表示 Application 」を押します。 アカウント名を /opt/MW_App_ されるはずです。のの磁気スイッチ このままだとタイムライン ( つぶ Tag/script/main. py の 10 行目「 us の状態フラグを見て、 1 だったら磁 やき一覧 ) の取得しかできないの er = 」の右辺に設定して保存します。 気スイッチと磁石が離れています。 で、プログラムからつぶやけるよう 続いて次を実行してください。 続いて磁石を近づけると状態フラグ にします。「 Permissions 」というタ が 0 の出力が出るはずです。 プをクリックして「 ReadandWri te 」を選択後、「 Update Settings 」を センサの変化を クリックしてください。 ゴぶやこう 4 種類の認証キーは「 Keysand 温度センサーを指でつまんで温度 Access Tokens 」タブをクリックし を上げたり、磁気スイッチから磁石 続いて、 Raspberry Pi で取得した て取得します。 Consumer Key (API を離したりすれば、つぶやきのメン センサーの値の変化を Twitter でつ ションが飛んでくるはずです。 ぶやくプログラムを作りましよう。 key) と Consumer Secret (API secr 1 M Q ①親機起動後の タイムスタンプ [s] 0 / TWELITE DIP 0 3V 0 MC-14AG GND Vcc $ python /opt/MW—App—Tag/scrip t / ma i n . py

10. ラズパイマガジン = Raspberry Pi Magazine 2017年10月号

$ cu - 1 /dev/ttyUSB0 -s 115200 ロ : 24907 : 00000000 : 126 : 038 : 1013d2a : 2425 : 0000 : 0000 : 1145 : 0569 : X : - 058 : 0038 : - 073 : : 24912 : 00000000 : 162 : 039 : 1013d2a : 2425 : 0000 ; 0000 : 1145 ; 0569 : X : 0006 : - 103 : - 003 : : 24917 : 00000000 : 168 : 040 ; 1013d2a : 2425 : 0000 : 0000 : 1145 : 0569 : X ; 0007 ; - 103 : - 001 : 図 10 モード 0 の出力結果を確認 - CONFIG/Samp Moni to 「 VI -04 ー 1 / 引 D X81013d2a / LID = 0X00 / RC : 9687 ー a: set App licafion ( 0X67726305 ) : set Device 田 ( ー c : set ChanneIs ( 15 ) x : set Tx Powe 「 ( 3 ) d : set SIeep Du 「 ( 5000 ) w : set Senso 「 Wait Du 「 ( 0 ) m : set Senso 「 Mode ( 0X35 ) P : set Senso 「 Pa 「 amete 「 ( 2 洋 P : set Senso 「 Pa 「 amete 「 2 ( THT=I DUR=I L Å T ニ 1 WIN= k : set Enc Key (OxA5A5A5A5) 0 : set Option Bits ( 0X0 00001 ) S : save Configu 「 ation R : 「 eset to Defaults 「 p 」を入力して 図 12 2525A とサイコロキャラメル 「 0 」と CEnter] を押せばモード 大文字の「 S 」で保存すると図 1 1 の 0 に変わります。 ような表示になります。 大文字の「 S 」を このモードはタップすると家の電 押して設定を保 気をつけるとか、音楽プレーヤーの 存し、「 ~. 」で 電源をオン / オフをするなど、工夫 終了してくださ 次第で利用価値が高そうです。 図 11 第 2 バラメーター設定時の画面 親機に対しても cu コマンドを実 モード 4 ・自由落下 作マンガ「ハルロック」で登場した 行します。すると図 10 のような出 フリーフォール ( 自由落下 ) モー 作品を再現できます。 最新版の TWELITE では、専用 力が出るはすです。データは 5 秒ご ドです。 2525A を落下させることで とに受信しています。 データを送信します。これを試すの ファームウェアを書き込んだ MON このモードは定期的に情報を収 は少々難しいのですが、手に持って OSTICK を別途用意すれば、無線で 集するときに便利なモードです。迷 上下に振っただけではデータを送信 子機のモードを変更できます。その 子防止用機器、忘れ物検知センサ しませんでした。ポールを投げるよ 場合ケープルでの接続は不要で、同 、加速度センサー情報の収集など うに 2525A を上に放り投げて受け取 じように設定できます。「 Tera Te で利用できそうです。 rm 」 (https://osdn.jp/projects/tts るとその過程でデータを送信しまし た。自由落下時にアクションさせる sh2/) などのターミナルソフトを起 モード 1 、 201 / 2 回のタップ検知 動し、通信速度 ( ボーレート ) を ことができそうです。 タップすることで情報を送るモー 「 115200 」にしてシリアルポート経 由で MONOSTICK に接続し、 CEn ドです。モード 1 はタップが 1 回、 モード 8 ・活動状態を通知 モード 2 はタップが 2 回で通知しま 活動と非活動の状態を通知する ter] キーを押すとプロンプトが表示 す。このモードからは第 2 パラメー モードです。 2525A が動いていると されます。 ターを設定することで検出するため きと動いていないときに、それぞれ の時間 (DUR) やしきい値 (THT) 異なる ID が付いたデータを送信し モード 0 ・定期送信 を細かく設定できます。このときに ます。動いているときのデータ送信 モード 0 をます試します。定期的 指定できる設定値は公式サイト (ht 間隔は固定で、動いていないときの に加速度センサーの情報を送信す tp: 〃 g00. g レ D2ANKM) に掲載され 間隔を第 2 パラメーターで変更でき るモードです。 cu コマンドで接続時 ています。ただし、筆者が試してみ ます。こちらは後ほどニコニコサイ のパラメーターを確認すると次のよ た限り標準の設定で問題なく利用 コロで実際に利用します。 うになっています。 できました。 ニコニコサイコロを 第 2 パラメーターを変更するには 作ろう 大文字「 P 」を押して、次のように カンマ区切りで入力します。 2525A 用のケースは用意されてい ません。ケースの 3D データは提供 THT=I,DUR=I,LAT=I,WIN=I されていて 3D プリンターで出力で 0 ー s 115 2 0 0 $ cu - 1 /dev/ttyUSBI 1 、 2 、 4 、 8 を組み ( 略 ) 合わせたモード 15 ↓ p: set Sensor Parameter ( 15 ) P : s e t S e n s 0 r Parameter2 ( ーラスパイマカジン 201 な 47