2018年05月08日

藤原和博さんのあっち向いてホイ

 藤原和博氏が悩める40代に「モードチェンジ」の勧め。

 藤原さん、最近の肩書きは「教育改革実践家」なんですね。なんだそれ、と思わなくもないが、藤原さんの書かれた教育論の本を読むと、元リクルートの人にありがちな「いつも自信たっぷりの姿勢」にお腹いっぱいになりつつも、「教育改革はこういう人に進めて欲しいな」と感じる場面が多い。「教育改革実践家」、いいんじゃないでしょうか。

 で、この記事で目を引いたのは、教育論でも迷える子羊へのアドバイスでもなくて、ここです。東日本大震災の復興支援のために現地入りした時の話。

私も当初、気仙沼高校の避難所で炊き出しを手伝ったとき、提供できる技術が何もありませんでした。それでも何かできることはないかと考え、子どもたちにおもちゃを配る際、ひたすら「あっち向いてホイ」をやりました。結局、「3時間続けてあっち向いてホイをやった人」としてタイトルをもらいましたが(笑)。

 あれだけの実績を持った人が、「あっち向いてホイ」ですよ。子供たち相手に、3時間も続けて。この人、やっぱりすごいわ、と、改めて尊敬しました。やると決めたらとことんやる。相手が子供でも手を抜かない。目の前の相手が喜んでくれることを徹底的にやる。かっこいいなあ。

タグ:社会
posted by toshinagata at 21:55| 日記

2018年05月07日

ESP8266 で WiFi 接続

 とりあえず動いたので、次は Wi-Fi への接続。ESP8266 のサンプルを見ると、ssid/pass をスケッチの中に直書きしているものが多いが、これだと違う環境に持って行った時にコンパイルし直さないといけなくなる。次のようにしたい。

  • 最初は soft AP モードで立ち上げて、パソコンなどから ssid/pass が入力できるようにする。
  • 入力された ssid/pass を保存して、接続する。
  • 次からは、保存された ssid/pass を使って接続する。

 WiFiManager というライブラリを使ったら簡単に実現できる。インストールも簡単。Arduino IDE の「ライブラリをインクルード/ライブラリを管理」でライブラリマネージャを開く。下の方に WifiManager があるので、インストール。

20180506-1.png

 サンプルスケッチの中の WifiManager/AutoConnect を開く。

20180506-2.png

 コンパイルしてみる。かなり時間かかる(2.4 GHz Core 2 Duo で1分30秒)。スケッチ 323857バイト(31%), グローバル変数 34984バイト(42%)。

 ESP8266 に書き込んで走らせてみた。"AutoConnectAP" という WiFi アクセスポイントが出現している。

20180506-3.png

 これに接続すると、次のような画面が出てくる。

20180506-4.png

 "Configure WiFi" を選ぶと、次のように、利用できるアクセスポイントが表示される。SSID とパスワードを入力。

20180506-5.png

 次のような表示に変わる。接続に成功すると、この画面は自動的に消える。

20180506-6.png

 Arduino IDE のシリアルモニタにログが表示されている。次のようになった。最後に "yeey :)" って言ってるから、接続できたんでしょう。

*WM: 
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result: 
*WM: 0
*WM: SET AP STA
*WM: 
*WM: Configuring access point... 
*WM: AutoConnectAP
*WM: AP IP address: 
*WM: 192.168.4.1
*WM: HTTP server started
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Info
*WM: Sent info page
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Scan done
*WM: ########
*WM: -43
*WM: Sent config page
*WM: Request redirected to captive portal
*WM: Handle root
*WM: WiFi save
*WM: Sent wifi save page
*WM: Connecting to new AP
*WM: Connecting as wifi client...
*WM: Connection result: 
*WM: 3
connected...yeey :)

 なお、リセットをかけてもう一度立ち上げると、今度は直接接続してくれる。

*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result: 
*WM: 3
*WM: IP Address:
*WM: 192.168.1.22
connected...yeey :)

 なんかめちゃくちゃ簡単やなあ。もっとあちこち手こずるかと思ったけど。

 これで何をやりたいかと言うと、電波時計を合わせるための微弱電波発信機を作りたい。こういうやつです。WiFi でインターネットの ntp サーバにつないで、読み込んだ時刻を電波で発信する。いくつか製作例があるが、「オールドレンズじゃないよ往年のニッコール(仮)」さんの記事を参考にしようと思っている。

posted by toshinagata at 00:53| 日記

2018年05月06日

ESP8266 で遊んでみる

 だいぶ前に買って1年以上放置していた「Wi-Fiモジュール ESP-WROOM-02 DIP化キット」を引っ張り出して、使ってみた。

20180505-1.jpg

 このモジュールは、Wi-Fi を飛ばすため、普通のマイコンと違って消費電力がとても大きい。電源は 5V のアダプタを用いて DC-DC で 3.3V に下げるのが良いらしいのだが(参考:「じわじわ進む:ESP-WROOM連続稼働実験 」、「ねむいさんのブログ:ESP-WROOM-02を使ってみる3 -そんな電源で大丈夫か-」)、今回はテストということで、エネループ4本 4.8V と普通の三端子レギュレータで 3.3V を作った。なお、一応オシロで 3.3V ラインは確認しました。ブレッドボードの配線図は下の通り。

20180505-2.png

 EN, IO2, IO0, RST は 3.3V に、IO15 は GND に、それぞれ 10K の抵抗を通して接続する。RST と IO0 にはタクトスイッチをつけて、押したら GND につながるようにしておく。RST スイッチを押すとリセットがかかる。この時 IO0 スイッチを同時に押しておくと、フラッシュ書き込みモードになる。

 USBシリアルは AE-TTL-232R を使う。ドライバは FTDI の公式ページで入手できる。ちゃんと Apple の署名がついている。ESP-WROOM-02 とは TXD/RXD/GND の3線で接続する。最初 GND をつないでなくて、「通信できない、おかしい」と首をひねっていたのはナイショです。

20180505-3.jpg

 最初は AT コマンドで制御できるようになっているので、まずは動作確認から。Arduino IDE のシリアルモニタを使う(別に Arduino IDE でなくてもいいのだが、どうせ後で Arduino 化するので、今から使っておく)。改行を CR+LF, 速度を 115200bps に設定。ESP-WROOM-02 の電源を入れると、最初はゴミが表示されて、その後 "ready" と出る。"AT" と送信すると "OK" と出る。その他、「ESP-WROOM-02: ATコマンドによるWifi動作確認」などを見てチェック。(実際やったのだけど、結果を記録しておくのを忘れていた。)

 次に、Arduino として使えるようにする。Arduino IDE のボードマネージャのリンクに http://arduino.esp8266.com/stable/package_esp8266com_index.json を加える(開発元ページ:Arduino core for ESP8266 WiFi chip)。下のように、"esp8266" がボードマネージャに表示されるので、これをインストールする。現行のバージョンは 2.4.1 だった。

20180505-4.png

 ボードの設定は下の通り。正直よくわからないものもいくつかありますが…

20180505-5.png

 「mgo-tec電子工作:ESP-WROOM-02 (ESP8266) チップ・メモリ・MACアドレス情報確認方法」にあるスケッチをコピー&ペーストする。ブレッドボード上のフラッシュ書き込みスイッチ (IO0) を押しながらリセットスイッチ (RST) を押し、その後 Arduino IDE 上でコンパイル・書き込みを行う。下のようにメッセージが出れば成功。

(前略)
最大1044464バイトのフラッシュメモリのうち、スケッチが253616バイト(24%)を使っています。
最大81920バイトのRAMのうち、グローバル変数が33324バイト(40%)を使っていて、ローカル変数で48596バイト使うことができます。
/Users/########/Library/Arduino15/packages/esp8266/tools/esptool/0.4.13/esptool -vv -cd nodemcu -cb 115200 -cp /dev/cu.usbserial-A1032L8X -ca 0x00000 -cf /var/folders/4r/pld2c6mj7gb36x37hvwy68fh0000gn/T/arduino_build_603642/show_esp8266_info.ino.bin 
esptool v0.4.13 - (c) 2014 Ch. Klippel 
	setting board to nodemcu
	setting baudrate from 115200 to 115200
...(中略)...
	writing flash
................................................................................ [ 31% ]
................................................................................ [ 63% ]
................................................................................ [ 95% ]
............                                                                     [ 100% ]
starting app without reboot
	espcomm_send_command: sending command header
	espcomm_send_command: sending command payload
	espcomm_send_command: receiving 2 bytes of data
closing bootloader

 シリアルモニタを開いてリセットスイッチを押すと、(ゴミのあと)下のように表示された。

-----ESP-WROOM-02 ( ESP8266 ) Chip Infomation -----

Core Version = 2_4_1
CPU Frequency = 160 MHz
ChipID = ######
Flash ID = 1640A1
SDK version = 2.2.1(cfd48f3)
Boot version = 31
Boot Mode = 1
Flash Chip IDE Size = 4194304 byte
Flash Chip Real Size = 4194304 byte
Flash Frequency = 80000000 Hz
Flash Chip Mode = QIO
Free Heap Size = 46512
Free Sketch Size = 2887680
Sketch Size = 257616

WiFi StationAP Mac Address = 18:FE:34:##:##:##
WiFi SoftAP Mac Address = 1A:FE:34:##:##:##

 Lチカもやってみました。3つ LED を接続しているので、それらを順に点灯する。このスケッチでも、スケッチが246403バイト、グローバル変数が32240バイト使われる。スタートアップ処理部分が大きいのね。

void setup() {
  // put your setup code here, to run once:
  pinMode(16, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);
  digitalWrite(4, 1);
  digitalWrite(5, 1);
  digitalWrite(16, 1);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(4, 0);
  delay(500);
  digitalWrite(4, 1);
  digitalWrite(5, 0);
  delay(500);
  digitalWrite(5, 1);
  digitalWrite(16, 0);
  delay(500);
  digitalWrite(16, 1);
}

 とりあえず使えるようになりました。いろいろ遊んでみたいと思います。

posted by toshinagata at 01:01| 日記

2018年05月01日

「この話、続けてもいいですか。」(西加奈子、ちくま文庫)

 西加奈子さんって、売れっ子の作家さんじゃないですか。「きいろいゾウ」って映画になってて、宮崎あおいと向井理が草の上にまったり座っているスチールが印象に残ってて、読んでもいないのになんとなく、「清らかなイイ話」を書く系の人なのかな、と勝手にイメージしてたりしたわけですよ。

(クリックすると Amazon の商品ページに飛びます)

 …ぜんっぜん違うやん。(てか、「きいろいゾウ」もどうもそういう話じゃないっぽいけど。)

 実は、ある時たまたま読んだ文庫本の解説が西加奈子さんで(津村記久子「とにかくうちに帰ります」)、本文ももちろん面白かったんだけど、「えー、西加奈子さんってこういう芸風だったのか、なんか面白いじゃん」と気になり始めた。で、本屋で見つけたこのエッセイ集を数ページ読んで、「あかん、面白すぎる、これは買うしかない」とほぼ衝動買いしてしまったわけです。

 なんか、モノローグのリズムがいいんだよね。自分にとっては、大阪弁のなつかしさも一役買ってるんだけど。

「へらぶな釣り」を買いに来たオカマの「モウ獣広場 様」。それ領収証切っていいんですか? 店に置くの? 猛獣と書いた私に「もうはカタカナでしょう!」と、どうして怒るの? へらぶな釣るなよ。

「わははー、ここの窓、えらい汚いやろ? ネズミ色なっとるやろ? わしの体もネズミ色やさかい、バレてへん、バレてへん!」(中略)
その蛾は、いつもの場所、窓に張り付いています。いつご飯食べてんの? 丸見えやで? 擬態って、何? なんで、逃げへんの?

 今度は西さんの小説を読んでみようと思います。

タグ:読書
posted by toshinagata at 23:26| 日記

2018年04月29日

ショパンのピアノソナタ第3番

 ときどき思い出したように、ショパンのピアノソナタ第3番第1楽章をさらっている。8年前(ショパン生誕200周年の年だ)に第2楽章を練習し始めて、「今年中に全楽章を制覇したい」と書いていたのだが、もちろん実現しなかった。第1楽章をさらいはじめたのはたぶん1年ぐらい前からだが、断続的なのでなかなか進歩しない。

 使っている楽譜は IMSLP で公開されている Mikuli 版。ショパンの作品はどの版がいいのかよくわからない。昔持っていた版は全音の「ショパン・ソナタ集」だった。現行のやつじゃなくて、「第六課程・青帯」のついた古いものです。買ったの40年以上前だもの。Mikuli 版を見ていろいろと「あれ、違うな」と思った。特に第4楽章のテーマ。

20180429-1.png

 正確には覚えてないけど、全音版ではこんな風に書かれていたような気がする。

20180429-2.png

 IMSLP で公開されている版を見てみると、Peters 版がこれと同じ記譜だった。他の版は Mikuli 版と同じ。やっぱり Peters 版か。Peters 版って、なんというかお節介なんだよね。わかりやすいと言えばわかりやすいんだけど。

 IMSLP には、喜ばしいことに自筆譜も公開されている。自筆譜ではこう。やはり、Peters 版には余分な書き込みがあることがわかる。

20180429-3.jpg

 で、第一楽章だが、まあ当然のことながら、難しいですね。いくら練習してもできなさそうなのは、六の和音のスケールで降りていくところ。特に再現部の嬰ヘ長調の方はちょっと無理っぽい。

20180429-4.png

 ちなみにここ、自筆譜ではスタッカートがついているように見えます(提示部の方にはない)。スタッカートで弾くのはそれはそれで大変だけど。

20180429-5.jpg

 ここ以外は、練習すればなんとかなりそう。ショパンはやっぱり「弾きやすい」ように書いてくれてるんだな、と実感したのは、展開部のここ。両手が交錯するところで、ちゃんと音を一つ抜いてくれている。譜例は Mikuli 版だが、自筆譜でもちゃんとそうなっている。これ、ベートーヴェンだったら無慈悲に下の B♭を書いてたと思う。

20180429-6.png

 まあ、人前で弾く予定はないんですけどね。インテンポでばっちり弾けたら(六の和音のところを除く)かっこいいので、もう少し練習してみます。

タグ:音楽
posted by toshinagata at 23:33| 日記

2018年04月26日

ATtiny13A でリモコンカー(つづき)

 リモコンカーの回路、送信機の方を少し修正した。ブレッドボード上にタクトスイッチを「前後左右」の配置で並べ、LR44 用の電池ボックスも取り付けた。

20180426-1.jpg

 坊がタミヤのツインモーターギヤボックスを提供してくれたので、受信機の方につないで回してみた。ちゃんと回る。

20180426-2.jpg

 回るけど、ときどきマイコンが誤動作している感じがする。リモコンの効きが悪かったり、ボタンを離してもモーターが回りっぱなしだったり(←これはアカンやろ)。ノイズ対策をちゃんとやらないといけないかな。モータ端子の間にセラミックコンデンサを挟むとか?

posted by toshinagata at 22:45| 日記

2018年04月24日

「戦後入門」(加藤典洋、ちくま新書)

 中曽根首相が「戦後政治の総決算」を掲げた時代に青年期を過ごした私にとって、「日本の戦後とは何か」というのはずっと心に引っかかる問題だった。また、現在の安倍首相がめざす「美しい国」なるものが、自分にとって少しも美しく感じられないのはなぜか、というのもずっと引っかかってきた。

(クリックすると Amazon の商品ページに飛びます)

 加藤氏の卓越した分析を通して、戦後日本が歩んできた道のりと、それが行き詰まりつつある現状について、考え方の一つの枠組みを得ることができた。特に、吉田ドクトリンの「憲法9条を逆手に取った軽武装路線」で戦後の経済成長が実現されたこと、その背景にある「徹底的な対米従属」の構造が経済的繁栄に覆い隠されて見えなくされていたこと、そしてその経済成長の鈍化とともに「独立国なのに独立していない」矛盾が明らかになってきたこと、という一連の流れが理解できるようになった。多くの人(必ずしも「右寄り」とも限らない)が「日本のプライドを取り戻したい」という渇望を持っているのは、結局のところこの矛盾の解消を求めていることに他ならない。

 それでも、安倍首相や日本会議が目指しているような形での「誇りある日本」へのアプローチが、日本のプライドを取り戻すことにつながるとは、どうしても思えない。結局それは、「戦前の日本を無批判に肯定する」方向に行くしかなく、その路線では日本以外の国から広く共感を得ることは難しい。他者からの承認がないプライドを持ってみたところで、新たな矛盾に苦しむことにしかならない。

 加藤氏の主張の骨子は、日本が真のプライドを取り戻すためには「国際社会の新しい秩序の先導人」として自らを位置付け、その立場を発信していくしかない、という点にあると思う。もっとも、その実現方法として「国連中心の世界秩序」という方向は妥当かどうかわからない。また、そもそも現在の日本政府は「新しい国際的秩序の構築」への関心を何ら示していない。まずは、そういう点に関心を持つ政治家を我々の手で選び、議論を重ねていくことが第一歩ではないか。

タグ:読書 社会
posted by toshinagata at 19:28| 日記

2018年04月22日

ATtiny13A でリモコンカー

 リモコンカーの回路、一応ブレッドボードでは動くようになった。回路は下の通り。

20180422-1.jpg
  • マイコンは ATtiny13A で実装できそう。モータが2系統になったため、それぞれの速度と回転方向で合計4本の出力が必要になり、残りが1本しかない(RESET は使わない前提)。そこで、IR リモコン受信モジュールを1個にした。プラレール組み込みよりは工作の自由度があるはずなので、1個でも何とかなるだろう。
  • 電源はエネループ2本とする。デジタル回路の 3.3V は、秋月の昇圧型DC-DCコンバータ (M-08937) で作る。
  • IR リモコン受信モジュールは OSRB38C9AA を使う。これは 2.7V から動作する。モジュールによっては 4.5V 以上というものもあるので、要注意。
  • モータドライバは Pololu 2990 シングルブラシモータドライバボードを使う。販売は朱雀技研工房ストア。ロボット関係のパーツがとても充実している。発送が速く、価格も良心的です。モータを2系統使うのなら、デュアルモータドライバボード の方がよかった。工作本番までに差し替えたい。
  • モータドライバボードは、Vin にモータ用の電源を入れると、逆起電力保護回路を通った電圧が Vm に出てくる(Pololu 2990 の製品情報)。Vin があまり低いと損失が大きくなるらしいのだが、2.4V では一応動いている。実際にモータを回してみて、あまりに効率が悪いようなら Vm に直接モータ電源を入れることにする。
  • モータの回転速度・回転方向はモータドライバの Enable/Phase 入力で制御する。Enable 入力は PWM で制御する。モータドライバの信号入力電流は 50 μA と小さいので(DRV8838 のデータシート)、LED を並列に接続して視認できるようにした。

 リモコン送信機の方は、こんな回路になった。前進・後退・右旋回・左旋回の4つ。ボタンを押している間だけ進むと想定している。回路には "3.3V" と書いたが、LR44 2個 (3.0V) で動かすつもり(まだテストしてない)。

20180422-2.jpg

 スケッチは次の通り。

posted by toshinagata at 23:20| 日記

2018年04月21日

リモコンプラレール、改めリモコンカー?

 リモコンプラレールの話を坊にしたところ、彼はリモコンカーを作りたいのだと。リモコンカーだと、左右旋回ができないといけないので、2個のモータを独立にコントロールする必要がある。ATtiny13 で間に合うのか?

 ともかく、リモコンの受信回路をとりあえず片付けておく。一応以前に実現してはいるのだが、実験してみるとどうも動作が不安定。2個の IR リモコン受信器の割り込みが干渉しているとか、タイマ割り込みによる時間測定がオーバーフローしているとか、いろいろ問題があった。一応受信はできるようになったので、スケッチを置いておく。→ sketch_receiver.ino.txt

 まだモータドライバを動かせるかどうかは試していない。Pololu DRV8838ブラシモータドライバボードは入手してあるので、これから実験してみる。

20180421-1.jpg
posted by toshinagata at 23:38| 日記

2018年04月18日

Radicale と CardDavMate

 Radicale の続き。DAVdroid を使った Android との連携はうまくいったが、Mac 上でも見られるようにしておきたい。カレンダーの方は以前から Thunderbird の Lightning アドオンを使っている。これは何も問題なくて、次のようにすればよい。

  • 「予定とToDo」から「カレンダー」を開く。
  • 「カレンダー」リストで右クリックして、「新規カレンダー」を選ぶ。
  • 「ネットワークのサーバーに保存」
  • フォーマット=CalDAV, 場所=http://localhost:5232/nagata/calendar, オフラインサポート=ON
  • カレンダーの名前・色・アラーム通知(私は無指定にしている)を決める
  • ログイン名とパスワードを要求されるので、入力する

 問題は連絡先の方。Mac 純正の「連絡先」は一応 CardDAV サーバにアクセスできるはずなのだが、うまくいった試しがない。Thunderbird の CardBook というアドオンも試してみたが、ふりがなが表示されないなど、いろいろと不便。そこで、CardDavMate というのを試してみることにした。これは Javascript で書かれていて、ブラウザ上で動作する。セットアップが複雑で理解するのに苦労したが、できてしまえば簡単だった。

  • CardDavMate をダウンロード・解凍する。
  • config.js を開き、var globalNetworkCheckSettings={ という記述を探して、以下のように変更。
    var globalNetworkCheckSettings={
    // 以下4行をコメントアウト
    //	href: location.protocol+'//'+location.hostname+
    //		(location.port ? ':'+location.port: '')+
    //		location.pathname.replace(RegExp('/+[^/]+/*(index\.html)?$'),'')+
    //		'/caldav.php/',
    	href: "http://localhost:5232/", // 追加
    
  • Radicale の config を開き、次の記述を追加。これは、クロスドメインによる Javascript の制約を回避するもの。
    [headers]
    Access-Control-Allow-Origin = *
    Access-Control-Allow-Methods = GET, POST, OPTIONS, PROPFIND, PROPPATCH, REPORT, PUT, MOVE, DELETE, LOCK, UNLOCK
    Access-Control-Allow-Headers = User-Agent, Authorization, Content-type, Depth, If-match, If-None-Match, Lock-Token, Timeout, Destination, Overwrite, Prefer, X-client, X-Requested-With
    Access-Control-Expose-Headers = Etag, Preference-Applied
    
  • CardDavMate の index.html をブラウザで開くと、名前とパスワードを入れる画面が出るので、入力する。うまくいけば連絡先のリストが出てくるはず。出てこなければ、ブラウザのエラーコンソールを見て対策を考える。

 ふりがなの表示には対応しているが、エントリの表示が「名前の漢字表記順」になっていて、「ふりがなの順」になっていないのは残念。まあ、Mac 上で連絡先を編集することはあまりないので、このぐらいは我慢しようか。

posted by toshinagata at 20:13| 日記
email.png
Powered by さくらのブログ