Experia Aの防水USBキャップを外してしまう

投稿日:

 私の携帯電話はドコモの古いもので、「Experia A SO-04E」という機種だ。買ってもう6年以上になろうか。特段不満もないので、ずっと使っている。先だってドコモの回線をとりやめ、OCNモバイルONEの安いSIMに換えたが、これも特段の不満はない。

 安いSIMに換えると、ドコモショップに持ち込んで気軽に修理、というわけにはいかなくなるから、些細な故障にも気を付けなければならなくなる。

 他方、スマートフォンの多くはMicro USB端子で充電するが、これは一体誰が考えたものか、強度が非常に不足し、ややもすれば折損したり内部の爪が緩くなってしまったりする。抜き差しの繰り返しにも弱く、おそらく1万回程度の抜き差しにも耐えられないのではなかろうか。

 少し前まで私の妻も同じ機種を使っていたのだが、この端子の破損や故障に悩まされた。女性はハンドバッグの中で補助バッテリーに接続したりするが、脆弱なコネクタ部分が出っ張っているために他のものに干渉したり、あるいはケーブルに思わぬ張力(テンション)がかかったりして、傷んでしまうわけである。

 私はこれを防止するため、先日からマグネット式の充電ケーブルを愛用している。小さなマグネットアダプタを本体側に取り付けておくと、ケーブル側の強いネオジウム磁石で端子が吸着する。張力がかかれば外れるので、本体を傷める心配はないし、磁力で吸着しているだけだから抜き差しの繰り返しによる傷みも生じない。

 先日ASUSのZenfone 4 MAXに買い替えた妻にもこれを勧め、またiPhoneを使用している愚娘(ぐじょう)どもにもこれを使用させている。いずれも使用感は快適である。

 しかし、iPhoneやZenfoneと違って、私の古いExperia Aは、USBコネクタに防水キャップがついている。マグネット式コネクタの本体側アダプタは、取り付けると2~3ミリほど出っ張るため、この防水キャップは解放したままブラブラぶら下げたままになる。

 どうもこれが邪魔なので、取り外したいなあ、と思っていた。防水キャップがその真価を発揮するような水濡れ場所に携帯を持ち込むことは、私の場合はほぼないからだ。

 引っ張れば取れるかな、と思ったが、しっかりと嵌入(かんにゅう)してあり、無理をするとちぎれそうである。

 どうにかならないかな、と思っているうち、少し前、ネットを渉猟していて、こちらのブログさんがキャップの取り外し方を解説しておられるのを見つけた。

 精密ドライバの一種、「ヘックスローブ」ドライバのT5番が必要である。これは「イジり止めドライバ」とも言われており、持っている人は少ない。私はと言うと、ヘックスローブは何本か持ち合わせがあるが、残念ながらT5番というような小さいものは持っていない。

 まあ、そのうちに、と思っていたのだが、昨夕、仕事の帰りに秋葉原ヨドバシの楽器売り場へRolandのデジタル・ピアノをイジりに行き、得意のショパン・ノクターンを弾き逃げした。それからぶらぶらとPC売り場を覗きに行ってみたら、1900円で精密ドライバーセットが売られている。これが、ヘックスローブを含め特殊ドライバの32点セットである。安い。

 右の広告の通りAmazonにもあるが、ヨドバシのほうは税込み1900円で、Amazonよりも若干安かったようだ。

 さっそくこのドライバを使い、前掲のサイトさんを参考にExperia Aの防水キャップを取り外した。ますます快適な使用感のスマホになった。

モバイルPCを壊してしまう

投稿日:

 インフルエンザ3日目。朝38度あった体温が午前中下がり、37.7度ほどになったかな、と見る間、午後にまた38.3度ほどになってしまう。

 ひたすら安静にしているより他にない。

 安静にしているといっても、はたまた、インフルエンザのために頭脳が若干痴呆化しているとは言っても、全く何もせず、考えることもなにもしない、というのは、僧侶でもない私には難しい。寝付くのを見越して、金曜の仕事帰りに図書館へでも寄って帰ればよかったが、当時発熱のために苦しく、そんな心の余裕がなかった。

 そういう無聊(ぶりょう)の間の寝床の友はモバイルPCである。

 この愛用のモバイル、ASUSのTransBook T100Chi Z3795だが、一昨年の夏買ったばかりだというのに、もう充電用のUSBポートがイカれはじめ、充電が難しくなってきた。

 そもそも、MicroUSBなんてものは、日用品と化したスマホやモバイルに、頻繁に抜き差ししたり、いわんや挿入したまま鞄やポケットに突っ込んで持ち運んでも大丈夫というような強度や形を持っていない。誰だこんな規格を考えやがった奴ァ(笑)。Nintendo DSのコネクタにもっと学べ!!

 怒りはさておき。

 所有のT100Chi Z3795は、まずはじめにキーボードの充電ポート(これは充電のみのポートなのに、規格をそろえるためであろう、MicroUSBになっていた)がイカれ、修理の見積をとってみると2万9千円などと言う。あきらめて別のBluetoothキーボードで使用していたが、もともと怪しかった本体側の充電ポートがおかしくなった。

 これまでにも充電できたりできなかったりということを繰り返してきていたのだが、昨日、遂に充電できなくなった。わずかな接触不良らしく、コネクタに触れたり、前後上下左右いずれかに押したりすると、どこかしらの接点の塩梅でふっと充電ランプが点灯したりする。しかし繰り返すうち、次第にそれもダメになった。

 それで、寝床でああでもない、こうでもない、押したり引いたり、内部の端子を磨いてみたり、「謎・コンタクトR」なぞという技を試してみたり、色々やった挙句、ふとコネクタを引き抜いたら、本体側メスコネクタの中央の、樹脂製の「舌」が、ブチッと千切れて、オスコネクタと一緒に出てきてしまった。

 こうなったらもう、ダメである。もしこの本体を修理に出したら、これがまた3万円近くの修理代となるだろう。3万いくらで買ったパソコンに、キーボードと本体と合わせて5万円以上の修理代をかけていては、バカと言われてしまう。

 廃棄して買い替えるにしかず、どうせそうなら、ちょっと正面パネルを取り外してみようか、もし外れて、MicroUSBコネクタの取り付け箇所にアクセスできたなら、ひょっとして自力修理の手もあるかもしれん、なぞとパネル周囲をいじくりまわしていたら、「ぺきっ」と、案外軽やかな音を立てて、正面ガラスが割れてしまった。

 買い替えるに決する。ASUSは気に入っているので、同じASUSの「TransBook T101HA-G128」をネットでポチ。

 今度充電コネクタで悩むのはもう真っ平なので、最近よく使われている「マグネット式」のアダプタを一緒に購入することにした。

 それから、レザーケースも。

 今回壊してしまった「TransBook T100Chi Z3795」は、文字通りCPUにIntelの「Atom Z3795」という非常に高性能なものが使われていて、作動も速く、画面も高解像度で申し分なかったのだが、電源コネクタなどと言う下らんところが弱く、実に惜しいことをした。

キャリア回線、家族で一人になってしまった

投稿日:

 妻の携帯電話を買い替え、同時に「MVNO」、つまり安いSIMに替えることにした。これで、家族のうち妻と子供たちは皆MVNOになり、キャリア純正回線はついに私だけになってしまった。

 妻と私の携帯電話はNTTドコモのもので、6年前の「SONY Xperia A SO-04E」である。当時二人で揃えて買ったのだ。同じものにしておけば、私が利用方法などを調べ、ITに(くら)い妻に手っ取り早く教えることができたからである。

 私のほうの電話は一昨年の夏に一度、「ほとんど丸ごと交換」というくらいの大修理が無料で施されているからまだまだ使えるが、妻のほうはUSBの端子などがダメになってしまい、修理の見積に持って行くと「ウン万円」で、しかも新機種への交換を勧められ、これがまた「ウン万円」だという。

 これはもう、安い端末買って、回線もMVMOのSIMに乗り換えだな、ということに決した。多少の途中解約金を払うことになるが、そんなの、3カ月ほどで相殺されてしまう。

 妻は携帯電話の多彩な機能を大いに活用するというほうではない。そこで、無駄な機能がなく、しかも普及している「iPhone SE」を妻にすすめた。長女の携帯電話がiPhone SEなので、使い方などをお互いに聞けるだろうと思ったのだ。だが、妻は画面の小さいのが嫌だという。さりとて、iPhone Xなどには使わぬ機能が多すぎる上、高価すぎる。それで安いAndroidを選ぶことにした。結局ASUSの「Zenfone 4 Max」にした。

 SIMは娘たち二人に与えているOCNの「モバイルONE」、月3GBの回線で、月々1500円かそこらで済む。それに、OCNはNTTの系列企業なので、物理回線は結局のところNTTドコモのものを使っており、回線の網羅度合いや品質の点で安心である。

 「MNP」で同じ電話番号を引き続き使えるようにした。

 すべては自宅からのネット手続きだから、居ながらにして手軽に契約できるが、免許証の画像を送信するなど、細々(こまごま)としたことが多少あり、小一時間ほどかかる。

 さて、妻の回線が安くなったが、うーん、もういっそ、自分のもMVNOにしてしまおうかなあ……。

まいったなあ

投稿日:

 愛用のモバイル、ASUS T100Chi「TransBook」、まことに気に入っているのだが、やはりMicro USBの充電コネクタは傷みやすく、なんだか怪しくなった。

 ついにキーボードの充電コネクタ内部にある「舌」のような構造が折れてしまい、充電不能になってしまった。

 販売店の秋葉原ヨドバシへ修理持ち込みをしてまずは見積もりをとることにした。見積には2週間ほどかかって、返事が来たのだが、それがなんと、修理には2万数千円を要するという。

 いやはや、全部で3万いくらのモバイルの、キーボードの電源コネクタの修理に2万いくらってのは、これはちょっと払い過ぎですわなあ……。

 それで、修理はあきらめて、品物は引き取ってきた。

 うーん、しかし、気に入っているから、困ったなあ。

 中古の完動品を探して、そのキーボードを使う、ってのもあるが……。うーん。どうしよう。

キーボードの充電コネクタが壊れた

投稿日:

 愛用のモバイル、ASUSの「TransBook」T100 Chi。まことに便利で気に入っているのだが、欠点を()いて言うなら「たまにタッチパネルが動かなくなる」ことの他に、もう一点、「充電用のマイクロUSBコネクタが弱い」ことだろうか。

 どうもケーブル側との相性にも敏感なようで、うまく充電できないことが時々ある。

 それでも本体側はまだ大丈夫なのだが、キーボードのほうの充電コネクタがついに壊れてしまった。虫眼鏡を使ってのぞき込むと、真ん中の樹脂部分がどこかへ行ってしまって、もう完全に駄目である。

 他にもBluetoothのキーボードを持ってはいるので、それと組み合わせて使うことにし、純正キーボードは修理に出すことにした。

 ASUSの修理センターへでも直接送って修理かな、とも思ったが、ネットの評判によると、購入したヨドバシに持ち込んだ方がどうやら早いようだ。

 明日、持って行くとするか……。

コッチからもバラまいてやったらどうか

投稿日:

 亡命した元北朝鮮駐英公使の会見記事を見て思ったのだが……。

(産経新聞記事から引用)

 統制社会の中で、北朝鮮の人々は隠れて韓国ドラマを見ているとし、摘発されても賄賂を渡せば、逃れられるのが実情だと指摘した。

 以前、たしか韓国の民間有志がやっている、と、何かで見るかどこかで聞くかしたことなのだが、その韓国民間有志は、北朝鮮に韓国ドラマや映像を詰め込んだUSBメモリを、アンダーグランドでどんどんばら()いているそうだ。

 今時のUSBメモリは、ほんとうに親指の爪サイズでも動画の10本や20本ぐらい軽く呑み込んでしまうから、なるほど、これはビラなんか撒くより、謀略にはいい手段だ。

 そこで思いついたのだが、日本もやったらどうか。

 日本のニュース番組や魅力的なドラマなどを目いっぱいにUSBメモリに詰め込み、あらゆる手段を講じて北朝鮮の人々の手に渡らせるのである。勿論、非合法な手段になるだろう。それに、ドラマなどには念入りにハングルの字幕を付けてやらなければなるまい。公式にはできないから、何か、有志団体に自発的にやってもらうより他はないだろう。

 資金の捻出とハングル翻訳者の確保、著作権等の処理が極めて難しいが、やる意味は大いにあるだろう。

 これは、北朝鮮体制崩壊を早めることに寄与すると思う。

 しかし、体制崩壊が早まったとして、その先、半島情勢をどう持っていきたいのか、と言われると、私には確たるアイデアはない。自分でもどうしたいのかわからない。

 永久にこのまま安定していてください、すまんが北朝鮮の民衆はずーっとガマンしていてください、……という方向もある。北朝鮮の一般民衆がどうなろうと知ったこっちゃない、日本が太平安泰なら別にそれでよい、拉致被害者もそーっと黙っておいてくれ、などというような考え方だ。しかし、それも如何なものか、というところだろう。

iPhone SE

投稿日:

 長女が高校に入学したとき、褒美にスマート・フォンを買い与えた。ガチガチにキャリアの純正回線で、結構高くついてきていた。

 長女はこのスマホを使いに使い倒したので、傷んでボロボロになってしまった。USBのコネクタなどもう「スカスカ」で、もはやPCに接続ができないどころか充電さえする(あた)わざる状況である。長女は充電ドックを使ってなんとかしのいでいる。

 そんな折、長女は先日19歳の誕生日を迎えた。「お父さん誕生プレゼントにスマホ新しくしてよ~」と言う。美大に通っているので、パソコンなども「Appleでないと話にならない」ほどの事らしく、学校のパソコンもほぼApple一色だそうな。

 そのせいで、「iPhone買って~」と言うのだった。

 うーん、高くつくなあ。

 機種変更だと、どうしたってキャリアのiPhoneを買わなければならず、ずいぶん高い。

 そこで、意を決し、長女の携帯電話は

  1.  本体はAppleストアでSIMフリーのiPhoneを直接買う。
  2.  キャリア(NTTドコモ)の回線は解約。
  3.  長女の回線はMVNOに変えてしまう。MNPで電話番号を移行。

 ……という、最近はやりの3点セットで買い替えることにした。

 MVNOはマツコデラックスの宣伝でおなじみ、「OCN モバイル ONE」を選ぶ。実は既に次女のスマホはそうしており、スピードや品質、商品の継続性もいいと思うからだ。

 iPhone SEを選び、Appleストアで注文した。同時に、「OCN モバイル ONE」も注文。音声回線付きで月々1600円ほどであり、今までの高額なキャリア回線が馬鹿々々しくなってしまう。

 これまでのように「壊れてしまいました」というようなときに、とりあえず近所のドコモショップへ持っていけば何とかなる、というふうにはいかなくなったが、しかし、そんなの、iPhoneであればAppleストアに送るなり持ち込むなりすればどうにかなる理屈だ。

 プッシュのキャリアメールが使えなくなるのはどうも不便なような気もするが、長女はLINEユーザで、特にそれで不便もないようだから、それでよし、となる。大学関係で使っているメールもGmailを主に使っており、まったく問題がない。

 私も同じようにMVNOに乗り換えて安くしたいが、それをやってしまうと、職場の連絡にLINEとかFBを使うことになってしまう。さすがにそういうわけにはいきかねる。キャリアのメールでないと具合が悪いのだ。それで、私は長女と同じようにはできない。

img_4862 そういう風にして昨日注文したiPhone SEだが、もう今日届くという素早さだ。誕生日プレゼントにするにはどうにも味もそっけもない段ボール箱で届いたので、何か適当な包み紙は、と探すが、ない。ふと棚を見ると、昨年仕事でアメリカへ行った時の古新聞があったから、それで包んでやる。そしたら、表面に来たのが偶然iPhoneの新製品発売を報じるApple関係の記事で、ちょうどよい。

無線SDカードとBluetoothマウス

投稿日:

 無線SDカードとBluetoothマウス、昨日欲しいと思ったところだ。

 帰りに秋葉原ヨドバシに寄って、買った。

 無線SDカードは、これまでは「Eye-Fi mobi」を使っていたが、どうもEye-Fiデスクトップアプリと使っているPCの相性が良くないので、別のにした。東芝のFlashAir。8GBで3360円。

 これはなかなかいい。Eye-Fiのように特殊のプロトコルでサービスされるのではなく、Windowsファイル共有プロトコルでサービスされ、カメラ内に「普通に共有フォルダが見える」。このほうが使用感は自然だ。

 あと、ロジクールの「m557」という品番のBluetoothマウスを買った。2280円。単3乾電池2本内蔵で多少重いが、電池は交換なしで1年もつということで、まあ、許容範囲だ。

 買うとき気づいたのだが、無線マウスは意外にBluetoothのものが少なく、専用のUSB受信機とセットになっているものが多い。買う場合は注意が必要だ。

最近の一般向けワンボード・コンピュータ、なかんづく「Arduino」「Raspberry Pi」の状況

投稿日:

平成28年2月
JISTA ML リレーコラム 第1回
会員 関東支部 jista1197 佐藤俊夫

1 はじめに

 このところ、若い方やDIYなどを楽しむ一般の方向けに、ワンボード・コンピュータが売られています。しかも、相当な売れ行きであると仄聞(そくぶん)します。

 「Arduino」や「Raspberry Pi」、「IchigoJam」「Intel Edison」「mbed」と言った製品名を聞いたことがある方も多いでしょう。秋葉原を歩くと、店の表にこれらのカラフルな箱が山積みになっています。また、イタリア人マッシモ・バンジ氏の「TED」スピーチを見たことがある方もたくさんおられると思います。

 数年前から、普及価格帯の3Dプリンタが出現してきたことにより、一般人でも小規模の製品を作り、それを世に問うようなことが可能になってきました。そこから、「Makers Movement」と言われる流行が盛り上がりはじめました。これはオープンソース・イノベーションの自然な興隆ということに加えて、出版と連携した一種のマーケティングの成功であるとも言われているようです。ちなみに、この「Makers Movement」について著書を出し、流行に火をつけたのはクリス・アンダーソンと言う人ですが、この人の名を覚えている方もJISTA会員の皆さんには多いことでしょう。そう、かの「ロング・テール」の著者その人です。

 古くから言われる「DIY」と、最新流行の「Makers Movement」との違いは、そこに「ネット」が介在するか否かだ、と言ってもよいと思います。物を作る上での発想やハウ・トゥ、設計図、使用感などは、インターネットを通じて迅速に共有され、改良が加えられ、更に共有されます。

 こうしたことを背景に、3Dプリンタを使用してものを作り、作ったものへデジタルやITのパワーを盛り込むことが広く行われるようになりました。ものへデジタルやITのパワーを盛り込むのには、廉価なワンボード・コンピュータがうってつけだというわけです。

 実際、巷間ではArduinoがこれまでに100万台、Raspberry Piが700万台売れたと言われていますから、これらのワンボード・コンピュータは、ITのプラットフォームとして無視できない勢力になっていると言えます。また、これらは安価に数を得られることから、「IoT」流行の趨勢とも関連する雰囲気が濃厚に感じられます。

 私は仕事の上ではこれらと関わっておりません。しかし、その一方で、ITストラテジの道というものは、ITワールドを形作るもののうちの何が将来の影響要素としてつながってくるかわかりません。そうしたことから、これらワンボード・コンピュータを体験しておくことが何かの足しになることもあろうと思い、ArduinoとRaspberry Piを少しばかりいじってみておりましたところ、ちょうど今般リレーコラム執筆の機会を頂きました。

 そこで、この機会をお借りして、ArduinoとRaspberry Piについて、その状況などを簡単に紹介させていただきたいと思います。

2 Arduinoについて

 「Arduino」はイタリア人のマッシモ・バンジ氏を中心に、平成17年(2005)から開発が始められたワンボード・コンピュータです。バージョンアップや派生を含め、既に数十種類の製品があります。現在店頭で入手可能な製品には、代表的な「Arduino UNO」があり、これは本日(平成28年2月7日)現在、税込み2,940円で手に入ります。

 その特徴に、次のようなことを挙げることができます。

○ ハードウェアが「オープンソース」であること。

 仕様も設計もオープンで、一般人がネットから基盤のパターンなどをダウンロードしてそっくり同じものを製作することも可能です。また、そのため、世界中にArduinoのクローンを作っている企業やグループがあり、それら自由なクローンの種類を数え上げることはもはや不可能と言う状況にあります。

○ 開発環境が無料で配布されていること。

 開発環境は統合環境(IDE)になっており、これも無料です。様々なライブラリが日々提供され続けており、一般に入手可能なほとんどのハードウェアやIC、電子素子などを扱うためのライブラリがGitHubなどですぐに手に入ります。

○ アナログ入出力、デジタル入出力が簡単に可能であること。

 「Arduino UNO」の場合、基板上にはデジタルI/Oが14本、アナログINが6本、アナログOUTが6本あります。これにさまざまな電子部品をつないで制御することができます。

○ C++で簡単にプログラミングできること。

 従来の「マイコン」はアセンブラ一辺倒でしたが、ArduinoはC++でプログラミングでき、しかも、ややこしいハードウェア・アクセスはC++のクラスの中にすべてカプセル化され、手軽に扱うことが可能になっています。ユーザはオブジェクトを生成し、入出力ピンを開いて読み、書くだけでさまざまなことができます。

 こうした特徴があるため、Arduinoを使用すると、一般人がデジタル・プロダクトを簡単に製作することができます。

 かく言う私も次のようなことを試しました。

「スマート・ファン」

 安物の扇風機にArduinoとEtehrnetインターフェース、温度センサをとりつけ、Webサーバをこの扇風機に実装してブラウザから制御できるようにし、温度によって風量を変え、1/fゆらぎ送風ができるなど、ものすごく無駄にリッチ化した扇風機です。

 1980円の安物扇風機をめっちゃ高機能化(笑)して、結構遊べました。

ウェブ扇風機

「メールサーバ監視ランプ」

 メール来着状況を監視し、ランプの色で教えてくれるもの。昔はISDN用のルータにこうした機能があり、パソコンのスイッチを入れていなくてもメールチェックのタイミングを教えてくれて便利だったのですが、今はこういうものがなくなってしまったので、意を決して自作したわけです。実は、今はスマホでこれは出来てしまうのですが、LEDの輝度のパルス幅変調などを試して遊ぶのに格好の題材でしたので、あえて試してみました。

メールサーバお知らせランプ

「多機能リモコン」

 赤外線リモコンのある電化製品を、Webで制御するようにしたものです。パソコンからでも、スマホからでも操作できます。赤外線LEDは秋葉原などで100円ほどで手に入りますので、これを試す人は非常に多いようです。

いよいよ多機能リモコン

「モーターで動くおもちゃの類をデジタル・パワードにする」

 おもちゃにArduinoを積み込むと、男の子などは大変喜びます。ここでは、モーターで動く自動車に超音波センサをとりつけ、自律制御させるとともに、その自動車にデジカメを乗せて動画を撮影しています。

虫瞰(ちゅうかん)カメラ

 私には男の子供はありませんが、私自身が男の子じみた中年(笑)ですので、みずからこういうことを試して遊びました。

 このように、Arduinoを使うと、手軽にさまざまな機器を制御したり、デジタルパワーを盛り込んだものを作ることが可能です。

 伝統的にArduinoにはAtmel社のマイコン「AVR」シリーズが使われていましたが、最新の製品「Arduino 101」にはIntelのCurieが採用され、Bluetoothや6軸の加速度ジャイロセンサーが搭載されるなど、大変高機能化しています。

 さて、目が離せないArduinoですが、昨年ごろから、長年Arduinoを牽引してきた5人の人たちが仲違いし、分裂騒動を起こしてまだ決着がつかず、もめているようです。Arduinoコミュニティは既に大きなものになっているので、この騒動は残念なことであり、かつ、目が離せないところです。

3 Raspberry Piについて

 「Raspberry Pi」はイギリス人のイブン・アプトン氏を中心に、Raspberry Pi財団というところが開発しているワンボード・コンピュータです。SONYなども深くかかわっていると聞き及びます。

 平成24年(2012)に最初のモデルが発売され、バージョンアップ等で数種類の製品があります。現在店頭で入手可能な製品の代表的なものに「Raspberry Pi 2 Model B+」があり、これは本日(平成28年2月7日)現在で税込み5,000円です。

 次のような特徴があります。

○ れっきとした「PC」であること。

 前述のArduinoは「マイコンボード」であり、OS等は載っておりません。しかし、Raspberry PiはSoCを利用するれっきとした「パソコン」で、OSを載せて作動します。主としてRaspberry Pi用に最適化されたLinux(「Raspbian」というディストリビューション)が作動するほか、マイクロソフトからは「Windows 10 IoT core」というWindows製品が、なんと無料でコントリビュートされています。余談、最近のマイクロソフト社の変革ぶり、オープンソースやフリーへのコミットぶりには驚くばかりです。それだけ、IoTにからむ製品に注目しているということでしょう。

 また、HDMI端子やUSB、Ethernetの端子を基板上に標準で備えているので、キーボードやマウス、ディスプレイをつないでPCとして利用することができます。

○ あらゆる開発環境が利用可能なこと。

 「Linuxマシン」なので、Linuxで利用できる開発ツール類は全て利用できると言って過言ではありません。Raspberry Piになじみの良いのはPythonで、入門本などにはPythonの作例が多く載っております。他にRaspberry Pi向けに最適化されたビジュアル言語の「Scratch」などもあります。しかし、別にこれらにこだわる必要はなく、GCCが走りますから、C/C++も使えますし、他にシェル、PerlやPHP、Ruby、Javaも扱えます。極端な話、g77をインストールして「FORTRAN」でハードウェア制御を行うことも可能でしょう(聞いたことはありませんが……)。私などは、RubyやPythonに暗いので、CやPHPでRaspberry Piのプログラムを書きました。

 エディタやIDEも、自分が使い慣れた好きなものが使えます。私はviが好きなので、Raspberry Pi上でももっぱらviを使っています。

○ 簡単にデジタル入出力が可能なこと。

 「GPIO」と呼ばれるデジタル入出力端子を豊富に備えていますが、これらは、ユーザからはUNIXで言う所の「ファイルシステム上にあるスペシャル・ファイル」に見えます。ですので、このファイルをオープンし、読み、あるいは書くだけで外部に入出力ができ、ハードウェアの制御が可能です。

○ あらゆるミドルウェア等が利用可能なこと。

 Linuxであるがゆえ、Linuxで使えるミドルウェアなどはほとんどのものが利用可能です。例えば、MySQLやPostgreSQLなどのRDBも扱えます。また、ApacheなどのWebサーバ、sendmail、DovecotなどのPOP/IMAPサーバなども走ります。

 こうした特徴があるため、既存のオープンソース・ソフトウェアを用いて、相当複雑なことも可能です。

 Arduinoと違って、Raspberry Piは単体ではアナログ入力ができません。そこで、私はRaspberry PiにADC(アナログ・デジタル変換)のICを接続し、これにサーミスタを取り付け、Apache+PHP+C言語を使用して「ウェブ温度計の製作」などを試してみました。

Raspberry Piで温度を測ろう

 また、PHPでハードウェア制御もできます。私はこんなふうに、PHPを使用して、Webインターフェイスにより家電製品のスイッチをオン・オフすることなどを試しました。

そうか、PHPでもモノにつながるな

 Arduinoに比べてRaspberry Piの歴史は浅いのですが、その出荷台数などから見ても新進気鋭の勢いを持っており、躍進中であると言えます。

 もともと5,000円ほどの値段で、高価ではないRaspberry Piですが、昨年(平成27年(2015))11月に流れたニュースでは、なんと650円(5ドル)という驚くべき価格の製品「Raspberry Pi Zero」もラインナップに投入されました。

Raspberry Pi Zero

 この値段と大きさでLinuxが走るのですから、驚きです。さすがにEthernetはついていませんが、USBの無線LANドングルを接続すればネットにつながります。

 「Raspberry Pi Zero」は、この値段と大きさのゆえに数量を稼ぐことができますから、IoTにからむ何らかのブレイク・スルーをもたらす可能性も相当にあると言えるでしょう。

4 むすび

 私などが若い頃には、ワンボード・コンピュータというとNECのTK-80にとどめを打ったものです。一定の年齢層の人には大変懐かしいものの一つです。

 他方、ここまで触れましたように、現在のワンボード・コンピュータは長足の進歩を遂げており、ますます興味の尽きないものに変貌しております。

 今回紹介したものは一般向けのものなので、エンタープライズでの応用については、別途考察と検討、研究が必要であると思われますが、既に一般向けには広く普及していることから、早晩業務用途にも応用が広がることが想像されます。

Raspberry Pi 2 Model B に WiFi、AD変換ICでアナログ入力

投稿日:
とりあえず無線LANにする

 Raspberry Pi、線がダラダラつながっているのは面倒くさいから、メインのifをWiFiにしてみたい。たまたま、Raspberry Piと相性がいいと言われるUSBのWiFiアダプタ「PLANEX GW-USNano2」というのをかなり前から持っている。

 USBポートにとりあえずこれを挿入し、

# lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 2019:ab2a PLANEX GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]

……もう、サクッとプラグアンドプレイの一発認識である。

# ifconfig
eth0      Link encap:イーサネット  ハードウェアアドレス b8:27:eb:45:1d:d0
          inetアドレス:192.168.1.105 ブロードキャスト:192.168.1.255  マスク:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:498 エラー:0 損失:1 オーバラン:0 フレーム:0
          TXパケット:253 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:46665 (45.5 KiB)  TXバイト:34011 (33.2 KiB)

lo        Link encap:ローカルループバック
          inetアドレス:127.0.0.1 マスク:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  メトリック:1
          RXパケット:8 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:8 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:0
          RXバイト:1104 (1.0 KiB)  TXバイト:1104 (1.0 KiB)

wlan0     Link encap:イーサネット  ハードウェアアドレス 00:22:cf:97:fe:b9
          inetアドレス:192.168.1.107 ブロードキャスト:192.168.1.255  マスク:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:506 エラー:0 損失:169 オーバラン:0 フレーム:0
          TXパケット:25 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:128714 (125.6 KiB)  TXバイト:4541 (4.4 KiB)

 これも、もう、イッパツ。

 で、# shutdown -i0 -g0 -y、LANケーブル抜いて電源を入れなおす。

 サクッとつながる。ケーブルがだらだらつながっていたのが減って、これはとてもいいなあ。

USBのWiFiアダプタが快調に作動している様子
IMG_3308

アナログ入力をしてみる

 さて、今度はいろいろといじってみよう。

 Raspberry PiとArduinoにはいろいろと違いがある。その違い認識は世間ではもうとうの昔に確定済みであるようだが、私はその無視できない一つが「アナログ入力のあるなしではないだろうか?」と思い至っている。

 Arduinoはシンプルで扱いやすいにもかかわらず、10ビットのアナログ入力が6個もあり、これは意外と使い応えがある。抵抗やポテンショメータ、サーミスタ、CDSセル、音声など、実にいろいろなものをつなぐことができるのだ。

 だが、Raspberry Piにはアナログ入力は、ない。

 アナログ入力をしたければ、手段の一つに「Arduinoをつなぐ」というのがある。Arduinoを持っているなら、これは良い手段だが、なんだか無駄が大きい。

 もう一つが、「A/D変換器をつなぐ」ということだ。A/D変換IC、つまり「ADC」は、百何十円~数百円だから安い。合理的である。

 これについて解説しておられるサイトはたくさんある。それを参考にさせていただき、早速秋葉原へ行って2種類ばかりICを買い込む。

 これは、マイクロチップ・テクノロジー社製の「MCP3008-I/P」。8チャンネル10ビット、千石電商で320円。

MCP3008-I/P
IMG_3309

 コッチは、同じくマイクロチップ・テクノロジー社の「MCP3208-CI/P」。こちらも8チャンネルだが、幅は12ビット。秋月電子でソケット付き、データシート付きで320円。

MCP3208-CI/P
IMG_3310

 ついでにこの前壊したTLC5940NTも二つ買い込む。これも390円。

TLC5940NT
IMG_3311

 で、まずはMCP3208から試してみよう。

 Raspberry PiとICは、SPI通信でつなぐ。そのため、まず、Raspberry PiでSPI通信を行う要領を知る必要がある。

 Raspberry Piの場合は、SPIのモジュールをインストールしたり、ブラックリストから外すなどの着意が必要であったようだが、Raspberry Pi 2 の場合は、どうやらそのような操作は必要がなく、「# raspi-config」でAdvancedの中からSPIを選び、enableにすればよい。

 lsmodで確認し、次のように「spi_bcm2835」というモジュールが入っていればSPIが使える。

$ lsmod
Module                  Size  Used by
cfg80211              420690  0
rfkill                 16659  1 cfg80211
snd_bcm2835            19769  0
snd_pcm                74825  1 snd_bcm2835
snd_seq                53561  0
snd_seq_device          3650  1 snd_seq
snd_timer              18157  2 snd_pcm,snd_seq
snd                    52116  5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
8192cu                528485  0
spi_bcm2835             7100  0
i2c_bcm2708             5014  0
uio_pdrv_genirq         2966  0
uio                     8235  1 uio_pdrv_genirq

 さっそくブレッドボードにMCP3208を配置し宮城大学のサイトの記事にあるコードを使わせてもらったのだが、これがそのままでは動かず、ハマッた、ハマッた……。

ブレッドボードの状況
IMG_3312

 何か、Raspberry PiとRaspberry Pi 2 で、ioctrlに渡すデータ長に違いでもあるらしく、かなり試行錯誤した末、このようになった。

 宮城大学のサイトにあった元のコード(“raspSPI.cpp”内)

//  sendRecN: Nバイトデータの送信と受信(2048バイトまで)
void SPI::sendRecN (unsigned char *send, unsigned char *rec, int n)
{
    //  setup a block
    struct spi_ioc_transfer tr[1];
    tr[0].tx_buf = (unsigned int) send;
    tr[0].rx_buf = (unsigned int) rec;
    tr[0].len    = n;
    tr[0].speed_hz      = clock;
    tr[0].delay_usecs   = SPI_DELAY;
    tr[0].bits_per_word = SPI_BITS;
    tr[0].cs_change     = 0;
    //  send this byte
    int ret = ioctl(fd, SPI_IOC_MESSAGE(1), tr);
    if (ret < 0) {
        printf("error: cannot send spi message (SPI::sendRecN)\n");
        exit(-1);
    }
}

 Raspberry Pi model Bで動くように少し変更したコード(tr[]の個数と、tr[0]に渡す値のキャストを「int」から「unsigned long」に変更している)

//  sendRecN: Nバイトデータの送信と受信(2048バイトまで)
void SPI::sendRecN (unsigned char *send, unsigned char *rec, int n)
{
    //  setup a block
    struct spi_ioc_transfer tr[3];
    tr[0].tx_buf = (unsigned long) send;
    tr[0].rx_buf = (unsigned long) rec;
    tr[0].len    = n;
    tr[0].speed_hz      = clock;
    tr[0].delay_usecs   = SPI_DELAY;
    tr[0].bits_per_word = SPI_BITS;
    tr[0].cs_change     = 0;
    //  send this byte
    int ret = ioctl(fd, SPI_IOC_MESSAGE(1), tr);
    if (ret < 0) {
        printf("error: cannot send spi message (SPI::sendRecN)\n");
        exit(-1);
    }
}

(作動させた画面の様子)

  1132   867   827   829   833   838   877  2670
  1090   829   787   787   792   797   845  2668
  1028   768   725   721   724   732   796  2671
   929   678   631   623   625   636   737  2669
   791   534   471   444   429   435   572  2667
   408   172    94    54    29    53   281  2668
    84     0     0     0     0     0   111  2666
     0     0     0     0     0     0    20  2671
     0     0     0     0     0     0     0  2670
     0     0     0     0     0     0     0  2668
    19    29    34    39    41    36    27  2670
    87    93   101   110   114   107    81  2670
   173   173   183   195   201   186   146  2671
   274   276   300   327   347   339   276  2667
   614   609   650   692   727   698   552  2668
   948   901   907   902   911   916   741  2672
  1102   916   878   886   894   899   854  2670
  1160   888   865   868   873   878   913  2671
  1137   872   832   833   838   843   903  2665
  1093   830   788   787   792   796   869  2668
  1027   767   723   717   721   727   815  2669
   938   685   638   631   632   643   748  2669
   821   566   504   482   467   474   603  2665
   447   206   128    89    62    85   303  2669
   107     0     0     0     0     0   123  2670
     0     0     0     0     0     0    32  2669
     0     0     0     0     0     0     0  2667
     0     0     0     0     0     0     0  2670
    14    23    29    34    37    32    29  2669
    81    86    94   102   104    98    80  2665
   170   167   177   186   191   174   141  2671
   267   267   290   314   333   323   263  2668
   598   593   631   669   702   672   536  2670
   936   888   908   904   913   914   723  2669
  1098   917   876   888   894   899   840  2668
  1157   895   864   869   875   878   904  2668
  1138   873   834   835   841   844   902  2667

 7番ピンにポテンショメータをつなぎ、残りのピンは解放してあるので、乱雑な値が出ている。