たつをの ChangeLog

21 件 見つかりました。

1 2 3 4 5 [ 次へ ]

「Raspberry Pi 3 Model B+」に「MESHハブアプリ」を入れて、MESHのハブにするまでの作業メモ。
2017年12月にMESHハブ入りラズパイ作りをやったのですが、ここのところまた需要が高まってきたので、最近の状況にあわせて一から作り直し。

ラズパイ MESH ハブ

2019年06月に Raspbian OS の最新版 Buster がリリース。
いままでの Stretch は終了。


MESH ハブは Stretch での動作保証。
しかし、Stretch は公式サイトでは入手できない。
ミラーサイトLから Stretch の最終バージョンを DL。
"2019-04-08-raspbian-stretch.zip" を取得。
これを展開して、 "2019-04-08-raspbian-stretch.img" だけ使う。
(なお、そもそも「Model B+」は動作保証外みたいだけど結論として動きました。)


公式のインストール手順に沿って進める。
SDカードにイメージを焼く。


MacBook での実際の作業:
% diskutil list
...
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk2
   1:             Windows_FAT_32 NO NAME                 15.9 GB    disk2s1

% diskutil unmountDisk /dev/disk2

% sudo dd bs=1m if=2019-04-08-raspbian-stretch.img of=/dev/disk2 conv=sync

% sudo diskutil eject /dev/disk2

で、このSDカードをラズパイに刺す。
キーボード、マウス、ディスプレイも繋げる。
電源入れて Raspbian OS 無事に起動。

ラズパイ MESH ハブ

Wi-Fi の設定などして、次は「MESH ハブ」アプリのインストール。
こちらは公式の手順ですんなりと。


iPhone の MESH アプリでラズパイ MESH ハブに接続。
今回使う MESH (人感センサー) 2個の認識も無事完了。

Raspbian OSのバージョンだけ気をつければ特にトラブルなくすんなり行けると思います。

その後、MESH のレシピ書いて、センサーのデータをサーバに送るカスタムタグも書いて、サーバ側の準備もして、ログがどんどんたまりだしたことを確認して本日は終了。
これをあと何台かやる必要あり。
来週、手分けしてがんばります!

今回のガジェット


関連記事


とらちゃん(小2息子)と渋谷区の子供科学教育施設的な「ハチラボ」に行きました。
今やっている企画展は「ちょっと未来の道具箱」展。

渋谷ハチラボ
渋谷ハチラボ 渋谷ハチラボ

  • こども科学センター・ハチラボ | 渋谷区公式サイト
    「ちょっと未来の道具箱」展
     9月5日(水) ~ 12月16日(日)

    ひかり・かたち・うごき・おと・プログラミングの5つのテーマによる、さわってつくって遊べる展示が大集合!身近な素材の造形遊び、テクノロジーを使った遊びなど、オドロキやヒラメキが生まれる体験を楽しみましょう。「つくる」や「考える」をもっと楽しくする、これからの学びのかたちが詰まった、ちょっと未来の学びの道具箱、のぞいてみませんか?

    (協力:NPO法人 CANVAS)

これがなかなか楽しかったです。

まずは、iPad でコマ撮り体験。「KOMA KOMA for iPad」というアプリだそうで、帰ってから早速うちの iPad にも入れました。とらちゃんのコマドリ作品はそのうち公開しますー。

渋谷ハチラボ 渋谷ハチラボ

透明な板にセロテープ、偏光板の虫眼鏡でのぞくと色が見える、角度変えると色が変わる!

渋谷ハチラボ

ストローにフック見たいのをさすことで、どんどんくっつけることができて、何か大きなものが作れるやつ。

渋谷ハチラボ 渋谷ハチラボ

MESH が組み込んであって、動かすと音がなるやつ。

渋谷ハチラボ 渋谷ハチラボ

あと、なぜか写真撮ってなかったけど、キッチン用具が音階に対応していて触ると音がなるやつも楽しかったです。

ワークショップ


とらちゃんは2つの「ワークショップ」に参加しました。

まずは「切り絵で光と色遊び」。
プロジェクターや3色ライトで影をつくったり、まぜたり。

ハチラボ ワークショップ
「切り絵で光と色遊び」
【日程】11月10日(土)、11日(日)、17日(土)、18日(日)、23日(金・祝)、24日(土)、25日(日)
【時間】(1)10時10分~ (2)13時30分~ (3)14時30分~ (4)15時30分~ (各回30~40分程度)
【内容】光の三原色(赤・青・黄)を利用しながら、影絵遊びをします。
【対象】小学校1年生~(未就学児は応相談)
【定員】各回先着8人
【受付】当日10時~ (所定の受付用紙へご記入ください)
【参加費】無料

そして午後から「デジタルカメラと遊ぼう」。
ミニカメラなるものを作成。
虫眼鏡をつけた筒の中に、トレーシングペーパーをつけた筒を入れたやつ。
ピントをあわせるとトレーシングペーパーに外の様子が逆さにうつります。

ハチラボ ワークショップ
「デジタルカメラと遊ぼう」 (協力:株式会社リコー)
【日程】11月18日(日)
【時間】(1)10時30分~ (2)11時~ (3)11時30分~ (4)13時~ (5)13時30分~ (6)14時~ (7)14時30分~ (8)15時~ (9)15時30分~ (各回20~30分程度)
【内容】デジタルカメラの仕組みや部品の役割について、たのしく学びます。
【対象】小学校1年生~
【定員】各回先着8人
【持ち物】なし
【受付】当日10時~ (所定の受付用紙へご記入ください)
【参加費】無料

二つのワークショップの間の時間には、上の階にあるプラネタリウムに行ったり、ファミレスでランチしたりしました。

これまでのハチラボ企画展


スイッチサイエンス社の「はじめてのMESH GPIOキット」を購入。
MESH GPIOタグとつなげていろいろやってみるためのキットです。
名目としては、IoT教育うんぬんの調査ですっ!

MESH GPIO キット

  • はじめてのMESH GPIOキット - スイッチサイエンス
    MESH GPIOと組みあわせて、モーターを回す、LEDを点灯する、ブザーを鳴らすといった実験ができる電子部品セットです。MESH GPIO本体は付属しません。

    MESH GPIO専用のモータードライバ、モーター2種、電子工作入門に最適な抵抗内蔵LEDとブザー、ブレッドボードとジャンパワイヤが含まれます。

100円ショップで買ったボトルに入れて保管することにしました。

MESH GPIO キット

一通り試してみる


簡単な使い方が書かれた PDF がダウンロードができます。
とりあえずそれを一通りやってみました(全部ではないですが)。
モーターが動いたり、通電を感知したり、音がなったり、光ったり。


「レッスン1: モーターを動かす」
動きました。
ちょっと回転し始めが重めなのですが、電源がMESHタグだけだからかな。

MESH GPIO キット

「レッスン3: 逆上がりロボットをつくってみよう」
ロボットは作らず。
テストとしてギヤボックス付きモーターを動かしてみただけ。
前述のモーターと同じく電源がMESHタグだけなのですが、こちらはスムーズに動きます。

MESH GPIO キット

「レッスン4: モータードライバで制御する」
これは接続作業が細かくて少し大変でした。
うちの子(小2)にはまだ早いかな。

MESH GPIO キット

「レッスン5: イライラ棒を作ってみよう」
通電の検知を試してみただけ。
いろいろと応用できそう。

MESH GPIO キット

「レッスン6: ブザーを鳴らしてみよう」
鳴りましたよ「ブー!」。

MESH GPIO キット

「レッスン6: ブザーを鳴らしてみよう(ブレッドボード)」
ブレッドボードが登場です。
ブレッドボードでブザーが「ブー!」。
実は私、ブレッドボード使うの初めてです。
「ふむふむなるほど」と言いながら手を動かしました。

MESH GPIO キット

「レッスン7: LEDを点灯させてみよう」
ブレッドボードにLED挿して光らせます。

MESH GPIO キット

感想


私が子供のころ、豆電球やモーターや電池ボックスで遊んでたのを思い出しました。こっち系は、MESH タグ関係なしにブレッドボードで子供に遊ばせるのが先かなあ。

モーターの簡単な制御は、これまでの子供とのMESH遊びの延長なので問題なさげ。

関連記事


Gadget メモ


前回の記事「「MESH」を「Raspberry Pi」だけでコントロールする![2017-12-23-1]」からだいぶ間が空いてしまいましたが、ラズパイに MESH ハブを入れて MESH タグと通信する話の続きです。
ディスプレイなしでも MESH 関連の状態をお知らせしてくれる「MESH ハブ用 Status board」というものがあります。欲しかったのですがしばらく品切れでした。最近在庫復活したので購入。

raspi mesh hub status board


手持ちの「Raspberry Pi 3 model B」に最新の Raspbian を入れて、「MESH ハブ用 Status board」を取り付け。
それから前回の手順で MESH ハブをインストールして起動。
iPhone の MESH アプリで接続してセットアップ。

raspi mesh hub status board

無事に光りました。
めでたし、めでたし。

関連記事


MESH の SDK をいじってみました。
言語は JavaScript です。
公式のドキュメントなどを見てコピペしながらいろいろやってると分かってきます。
そんなに複雑なものではないです。


とりあえず練習として最初に作ってみたのが、「コメントとタイムスタンプをパラメータとしてウェブアクセスすることでログを残す」ためのカスタムタグ「ログる」。

MESH カスタムタグ

MESHタグからの通知をトリガーとして、タイムスタンプとコメントを黙々とウェブにログります。

MESH SDK my first custom tag

「Execute」のコードはこんな感じ。
関数 ajax 以降はサンプルプログラムのコピペ+改変で、Qiitaのmyfairさんの記事を参考にしました。
結局 URL の組み立てくらいしかプログラミング要素なし。
日時を表す文字列を作るのが面倒なのですが何か手軽な方法ないでしょうか?

var dt = new Date();
var y = dt.getFullYear();
var m = toNiketa(dt.getMonth() + 1);
var d = toNiketa(dt.getDate());
var H = toNiketa(dt.getHours());
var M = toNiketa(dt.getMinutes());
var S = toNiketa(dt.getSeconds());
function toNiketa(v) { return v < 10 ? '0' + v : v }

var ts =  y + m + d + H + M + S;

var epurl = 'http://****.sakura.ne.jp/test/loguru.cgi?c=' + ts + ',' + properties.val;

ajax({
  url: epurl,
  type: 'get',
  timeout: 5000,
  success: function(contents) {
    callbackSuccess({
      resultType: 'continue',
    });
  },
  error: function(request, errorMessage) {
    log('ERROR: ' + errorMessage);
    callbackSuccess({
      resultType: 'continue',
    });
  }
});
return {
  resultType: 'pause'
};

アクセス先URL(epurl)のCGIは、パラメータをテキストファイルの末尾に append するだけ。

#!/usr/bin/env perl
use strict;
use warnings;
use CGI;
my $LOG_FILE = 'log.txt';
my $q = new CGI;
print $q->header(-charset => 'UTF-8');
my $c = $q->param('c') || "";
if (open(my $fh, ">>", $LOG_FILE)) {
    print $fh $c."\n";
    close($fh);
}

こんな風にデータがファイルにたまっていきます。

20180126214840,明るさ変化あり
20180126220003,誰かいる
20180126220127,誰かいる
20180126222112,明るさ変化あり
20180126223515,ボタン押された
20180126230128,ボタン押された

レシピは単純です。
「ログる」タグを終端に繋げるだけ。
この記事の冒頭にのせました。

様々な事情により IFTTT を通さずにログをとりたい場面もあるので、さくっと実現できてよかったです。

関連記事


1 2 3 4 5 [ 次へ ]

たつをの ChangeLog
Powered by chalow