2019年3月10日日曜日

ラズパイでVSCodeを使ってArduinoの開発環境を作る

なんとかRaspberry PiにVisual Studio Code(VSCode)をインストールし、Arduinoの開発環境を構築しようとして、またトラブル。

素のVSCodeから、拡張機能でArduino for Visual Studio Code(Microsoft)をインストール。(この辺の手順はいろんなサイトに書かれている)そうすると、Arduinoのスケッチが快適に書けるようになる。この痒いところに手が届く快適さを知ると、オリジナルのIDEにはちょっと戻れないかも。
こういったEditerは他にもあるようだが、オリジナルIDEのいいところは、スケッチを書いた後、コンパイル、ボードへの書き込み、シリアルモニタでのデバッグ、動作テストが一連の作業でぱっとできること。
しかし、VSCodeのArduino拡張機能は、これと同じことをそれ以上の機能でできるというではないか。これはやってみなくては。

実際簡単なスケッチでやってみると、オリジナルIDEよりはやや遅いかな、くらいのスピードでボードへの書き込みまでできてしまった。
(例にあるLチカ(Blink)のスケッチでは、オリジナルが約10秒で書き込み完了したのに対し、VSCodeは16秒程度かかった。)

さて本題

私の環境は先に書いたように、Raspberry Pi3 Model B 1.2にOSはRaspbian。(debianのバージョンは9.8)それにVisual Studio Code(ラズパイではCode-OSSという名称。バージョン1.14.0)をインストールし、Arduinoの環境設定をしている。(RaspbianにはオリジナルのArduino IDE1.8.5もインストールされている)

Windows8に、同様にVSCode、Arduino IDEをインストールしてArduinoの環境設定をした場合は、問題なく動作した。(すべてMicrosoftだし)

しかし、Raspbian上のVSCodeでArduinoの環境設定をしようとすると、単に拡張機能でArduino for Visual Studio Codeをインストールしただけではだめ。例えばスケッチ例を読み出そうとしても、オリジナルIDEのようなサンプルが出てこない。

そのために基本設定を行う。
ファイルメニューから基本設定→設定を選択。

そうするとsettings.jsonの編集画面になるので、そこにpathを書き込む。
"arduino.path": "/home/pi/Arduino1_8_5/arduino-1.8.5"


arduinoのスケッチ例のexamplesやlibrariesホルダのあるところが、私の場合は
/home/pi/Arduino1_8_5/arduino-1.8.5
だったので、上のような書き方になった。

書き込みするには、むろん直接書いてもいいが、「設定の検索」欄にarduinoと書くと、いくつかの候補が出てくるので、その中のarduino.pathにカーソルを持っていくと、左側に鉛筆マークがでてくる。それを左クリックすると「設定にコピー」となるので、それを左クリックすることで右側の設定欄にコマンドがコピーされる。その後””の間にarduinoホルダのpathを書き込む。(その後保存)

こうすることで、F1(またはShift+Ctrl+p)を押してArduino:Select Exampleを選択すると、オリジナルIDEのようにスケッチ例が現れて、希望のサンプルを読み出すことができる。
その他、F1(またはShift+Ctrl+p)を押してArduino:Change Board Typeを選択する。
これらの結果は{}arduino.jsonに記載される。(左上のエクスプローラーアイコンで表示される。)

ここで問題が

出力ポートの選択もしないといけないが、ここで、選択ができないというトラブルが起きる。Arduino:Select Serial Portをクリックしても何も出ない。(Windowsにインストールした場合はOK)他のサイトを見ると、ボードの選択と同様にいくつかの選択肢が表示されるはずだが、出てこない。そのため、Arduino:Uploadをしても、ボード書き込みの段階でエラーになってしまう。

そこで苦肉の策だが、{}arduino.jsonの中のportを書き換えてみた。
"port": "COM1"
のようになっていたものを、
"port": "/dev/ttyACM0"
とした。(ttyACM0の最後は'ゼロ')もしこの文が無い場合は追加して書き込む。
この/dev/ttyACM0というのは、オリジナルArduion IDEで、ツール→シリアルポートを選択したときに表示されるものである。

また、ファイルマネージャで/devを見てもttyACM0というファイルがあるのがわかる。
{}arduino.jsonを手で書き換えた結果が以下のようになっている。

結果的にこれでエラーが出ずにボードに書き込むことができた。(下のメッセージ欄にuploadedとあるのがわかる)

なぜArduino:Select Serial Portをクリックしても何も出ないのか、現段階で不明。

まだ使い込んでいないので、これ以上どんな不具合があるのか分からないが、とりあえずウィンドウを増やすとフリーズしてしまうので増やさないようにして使っている。(フリーズしたら、仕方なく電源を落として再立ち上げしている。)

2019年3月4日月曜日

Raspberry PiにVisual Studio Codeをインストールできない

Raspberry PiになかなかVisual Studio Codeがインストールできずに苦労したので、その覚書。

かのからあげ先生もお勧めの、はやりのエディタVisual Studio Codeが、Raspberry Piにもインストールできるようなので、遅ればせながらやってみた。

ちなみに使用環境は
Raspberry Pi 3 Model B V1.2
以下のコマンドでdebianのバージョンを表示させると、9.8だった。
cat /etc/debian_version
「これでprintデバッグから卒業!VS CodeでPythonデバッグ入門」
https://karaage.hatenadiary.jp/entry/2019/02/20/073000

ネットで探すと簡単にインストールできるらしい。

「Raspberry PiにVisual Studio Codeをインストール」

https://qiita.com/iton/items/1cd7440442f7420e6b99

LXTerminalから2行入力するだけでOKなら、簡単!
元ネタは
https://code.headmelted.com/#linux-install-scripts

早速実施
そこに書かれているように、sudo -sを入力してスーパーユーザーセッションに入り、
. <( wget -O - https://code.headmelted.com/installers/apt.sh )
と入力するのみ。
早速やってみると・・・
いろいろ出るが、どうもだめみたい。
インストールはできない
特に赤線に注目すると、「公開鍵を利用できない」とか、「以下のパッケージは認証されていません!」という警告がでて、最終的に「Visual Studio Code install failed.」で終わってしまっている。

元ネタのページを見ると公開鍵について、
For either APT or YUM installation, you'll want the public GPG key to verify the package, which you can download here.
のように書かれた部分があり、hereをクリックするとなにやら鍵のようなものがダウンロードされる。
でもこれってどう使うのかがわからない。Linuxに疎いのでここで止まってしまった。

公開鍵については、sshの関連で記事がいっぱいあるが、パッケージ認証に関してはあまり見えない。
見つけたそれらしいサイト

「aptの信頼されていないパッケージ(GPGエラー)は公開鍵の更新で解決する」

 http://elsur.xyz/ubuntu-apt-update-expired-key

これに従って端末にインストールされている鍵を表示させてみた。

2012とあるので、現在の2019年からすると、すべて期限切れ?。最新版に更新する必要があるのか、それとも他の鍵を追加する必要があるのか。

公式フォーラムに方法が
ここで悩んでいたら別のインストール方法を見つけた。

「VSCodeをラズベリーパイで使う方法」

http://zeroxsixf.wp.xdomain.jp/2018/07/21/vscode%E3%82%92%E3%83%A9%E3%82%BA%E3%83%99%E3%83%AA%E3%83%BC%E3%83%91%E3%82%A4%E3%81%A7%E4%BD%BF%E3%81%86%E6%96%B9%E6%B3%95/

これは本文にもある通り「ラズベリーパイ公式フォーラムに投稿されていたものを実際にやってみた結果」ということで、オリジナルは
である。

これによると、まずはGPGキーのインストールとあり、最初に引っかかったGPGエラーを解決するかもしれない。
この手順に従い、まずはGPGキーをインストールする。
sudo wget -qO - https://packagecloud.io/headmelted/codebuilds/gpgkey | sudo apt-key add -;

順調に終了したら、sudo apt-key listコマンドによってキーリストを表示させてみる。
なにやらキーが追加されているようだ。

更にソースリポジトリの追加を行う。nanoエディタによってテキストファイルに1行を追加、保存する。追加したあとのファイルは以下のようになっている。

このあとはVSCodeを手順に従ってインストールするのみ。
まずは
sudo apt-get update
これが終了したらインストール。
sudo apt-get install code-oss
今度は変なエラーのような文章も出ず、すんなりインストールされたような印象。

ここまで特にREBOOTもしていない。
このままメインメニューのプログラムを開くとちゃんとCode-OSSがある。
恐る恐るクリックすると、無事VSCodeが立ち上がった。
立ち上がりに少々時間がかかるものの、pythonのプログラムとか、aruduinoのスケッチを表示させると、なかなかきれい。

多分あまり変なことをしていないと、うまくインストールされるかもしれないが、さんざん変なことをした後だと、この手順でもインストールはできなかった。
一見インストールできたようでも、メニューにはCode-oss(headmelted)などと書かれていて、立ち上げてもウィンドウのみでさっぱり動作しない。(この表示でも動作する例があるようだ)

メニューに表示された「Code-oss(headmelted)」
立ち上げてもこれしか出ない

OSの再インストールもやりたくなかったので、この方法でいいのか分からないが、/etc/apt/sources.list.dホルダにあるheadmelted_vscode.listを消し、/etc/apt/trusted.gpg.dホルダ内のheadmelted_vscode.gpgも同じように削除して、Code-ossを、メニュー→設定→Add/Remove Softwareを使って削除。
その後上記手順の、GPGキーのインストールからやり直すとOKとなった。(この辺は管理者権限でないと削除できないので、LXTerminalで操作。)

このあといろいろと設定をしなくてはならないが、使用感も含めて後日。

2019年2月22日金曜日

Raspberry Piを速くする

スピードアップはできる?
Raspberry Piも2018年3月にPi3Model B+が発売され、クロックスピードが1.4GHzと高速になった。ラズパイはCPUとクロックが決まっているので、買った時点でスピードが決まってしまうと考えていたが、WindowsPCでHDをSSDに入れ替えてぐんとスピードアップするように、ラズパイもmicroSDカードを選ぶことで、操作感としてスピードアップができる。(というよりは、動作の遅い原因はmicroSDだったということ。)
この記事は以下のサイトを参考にした。

【 続報 ③ 】Raspberry Pi 3 Model B+での各種ストレージ別ベンチマークを敢行! 第1弾

https://www.fabshop.jp/%E3%80%90-%E7%B6%9A%E5%A0%B1-%E2%91%A2-%E3%80%91raspberry-pi-3-model-b%E3%81%A7%E3%81%AE%E5%90%84%E7%A8%AE%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E5%88%A5%E3%83%99%E3%83%B3%E3%83%81%E3%83%9E/

SDカードのスピード
OSの入っているmicroSDカードは、たぶんclass10を使っていると思うが、これは最低転送スピードが10MB/sを保証しているだけで、店頭でよく見ると最高動作スピードがいろいろあることが分かる。商品に書かれている「高速動作!」などという言葉に惑わされずに、最高動作スピードを見て購入したい。様々な転送速度の製品があるが、必ずしもスピードの早いものが高価なわけではない。

ベンチマークテスト
ベンチマークテストにはsysbenchを使う。上記の参考サイトでは、テストするメディアにOSをコピーして立ち上げ、sysbenchを動かして比較をしていたが、USBポートにカードリーダーをつけてテストすることもできる。メディアを比較するのであれば、この方法でもいいと思う。

SSDは速い
参考サイトにもあるが、SSDのスピードは別格だ。ラズパイは設定によってUSBポートに接続したメディアからも立ち上げができるが、(以下のサイト参照)この方法でSSDを接続、実際にベンチマークテストをすると、数倍の速さになる。動かしても、サクサクと実に軽快。ただし設定もあるのかもしれないが、電源を入れてから動くまでの立ち上がりが遅く、SSDの物理的な固定方法も考えないといけないので、速いからといって一概には勧められない。
SSDを2つ使ってSWAP領域を拡大するなど、ブラウザで多くのサイトを開いてもスピードが落ちないようにもできるようだ。

ベンチマークテストをする
(1)クロックの周波数を固定する
ラズパイは状況に応じてクロックの周波数を変えているようだ。発熱や消費電力を考えてのことだろうが、ベンチマークテストをするときは、最高速度に固定することが必要らしい。(固定しなくとも大きな違いにはならないようなので、概略を見るのであれば省略も可能。)
詳細は以下のサイトを参照。

【 続報 ② 】Raspberry Pi 3 Model B+のCPUクロックを確認してみた!

https://www.fabshop.jp/%E3%80%90-%E7%B6%9A%E5%A0%B1-%E2%91%A1-%E3%80%91raspberry-pi-3-model-b%E3%81%AEcpu%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%EF%BC%81/

参考サイトに従って、cpufrequtilsをインストールする。
続いて現在のクロック周波数が分かるように、タスクバーにCPUFreqのアプレットを追加する。
/etc/init.dディレクトリーにあるcpufrequtilsファイルを編集してクロックを最高速度に固定できるようにする。
なお最高速度に固定するには、起動するたびに設定ファイルをrestartさせる必要がある。
LXTerminalから以下のように入力。
sudo /etc/init.d/cpufrequtils restart
タスクバーにマウスを持って行って最高周波数になっているかを確認する。

(2)sysbenchのインストール
これも【続報③】を参照。
メニュー → 設定 → 「Add / Remove Software」からsysbenchを検索、インストールする。

(3)ベンチマーク用にテストファイルを作る。
$ sudo sysbench --test=fileio prepare
標準では16BMBのファイルを128個作成するので、テストのための空き容量は2GBほど必要。
ファイルマネージャで見ているとファイルが出来ていくので進行状況が分かるが、作成まで少し時間がかかる。

(4)ベンチマークテスト開始
$ sysbench --test=fileio --file-test-mode=rndrw run
通常1分以内で終わるが、手持ちの40MB/sのSDカードだと、数十分かかった。
(クロックの周波数を固定しないと、このときに周波数が変化するのが見える。)
結果は次のように出る。

○で囲んでいる部分が転送速度


(5)テストファイルを削除する。
$ sudo sysbench --test=fileio cleanup

(6)USBポートに接続したメディアのベンチマークテスト
ディレクトリーをUSBポートに接続したメモリに移動してから上記の作業を行うことで、ベンチマークテストが可能。(ただ、この方法でSSDメモリをテストしようとしたが、うまくいかなくて、結局USBポートに接続したSSD(OSコピー済み)から立ち上げてベンチマークテストを行った。)
USBポートにメモリを接続すると、ファイルマネージャが立ち上がり、そのディレクトリーが分かる。LXTerminalから例えば以下のように入力することで、USBメモリにディレクトリを移動することができる。
USBポートにSDカードを接続したときのファイルマネージャ


USBメモリーにディレクトリを移動、
ここからsysbenchを動かす。
USBポートからの起動
ラズパイは、通常OSの入ったmicroSDカードをカードスロットに差し込んでおいて起動させるが、Raspberry Pi 3 Model B+では、標準でUSBに接続した外部メディアからRaspbianを起動することができる。
それ以前のModel Bなどでは、USB Boot Modeに設定しないとできない。その方法は以下のサイトの「Program USB Boot Modeの有効化」を参照。

【STEP-26】Program USB Boot Modeで、SSDからRaspbian起動

https://www.fabshop.jp/%E3%80%90step-26%E3%80%91program-usb-boot-mode%E3%81%A7%E3%80%81ssd%E3%81%8B%E3%82%89raspbian%E8%B5%B7%E5%8B%95/

こうすることで、SSDから起動することも可能になる。また、microSDカードスロットに差し込んだmicroSDカードを抜いてUSBにカードリーダー経由で接続し、USB Bootとすることもできる。これでベンチマークテストをしてみると、USB Bootの方が少し遅いことが分かった。
※SSDからの起動については、トラブルも発生したので別途投稿。

テスト結果
各種メディアの転送速度は次の通り。
GREEN HOUSE・・・8.7Mb/s

読み込み最大80MB/s 書き込み最大15MB/s
Mag-Lab japan・・・3.5Mb/s
転送速度不明
UHSスピードクラス 1  SDスピードクラス 10
東芝・・・44.5kb/s
Max Read Speed 40MB/s
120GB SSD Kingston
SSDはUSB2.0のHDケースに入れて使用。53.0Mb/s
SATA-USB3.0変換ケーブルを使用。20.0Mb/s


東芝の16GmicroSDが、Max Read Speed 40MB/sとある割には、ほとんどスピードが出なかった。ただ、実際にRaspbianをコピーして使った時は、ちょっともたつく感じはあるものの、まったく使用に耐えないというものではなかった。
Mag-Lab japanの製品は、転送速度がは明記されていないが、一応UHSスピードクラス1、SDスピードクラス10。税別500円の特価品の割にはそこそこのスピード。

SSDは、参考にしたサイトでは59.9MB/sという値が出ていたので期待した。
測定してみると、SSDとUSBの変換で違いが出て、USB2.0のHDDケースを使用した場合は、最大53.0Mb/sが出た。USB3.0の変換ケーブル(参考サイトで使用していたもの)を使用した場合は、最大20.0Mb/sしか出なかった。(何回かテストをして最良値を記載)
しかしこれでもUSB Bootで使用すると非常に快適。

手持ちのmicroSDカードはいずれも1000円以下の安いもの。もっと高くても良ければ、スピードの早いものがあるので高速動作が期待できるが、残念ながらそのテストはしていない。

2019年1月18日金曜日

秋月電子通商のデジタル時計キットを組み立てる

秋月電子通商の通販では扱っていないようだが、店頭にデジタル時計のキットがあったので、買って組み立ててみた。型名はSKU-101-30-369(又は Z-00297)。電源はUSBから供給するように、短いケーブルが付属している。(電源OFF時でもボタン電池で時計は動いている)使っているICは15F204EAというPICマイコンとDS1302というリアルタイムクロックモジュール。ケースもついて税込み980円。

組み立てたのは中2の娘。はんだ付けは学校でやったと言っている。
時刻表示(8秒間)

温度表示(2秒間)
部品面
USB接続用の専用電源ケーブル付属
プラグはレベルメーター用
付属の説明書(裏表)

説明書は両面に書かれた紙1枚であるが、まあ丁寧な方だろう。
部品表(リスト)にしたがって内容物を確認する。抵抗がいっぱいあるが、1kΩと10kΩの2種類だけなので、わざわざテスターで当たるほどでもない。(一応確認はしたが)
cds、温度センサは説明書に写真があるのでいいが、そのほかのブザーや水銀スイッチ、クリスタルなど、娘にはどれがどれなのか分からないようだった。まあ取り付けは写真を見ながらできるのでいいか。
部品が揃っていることを確認したが、抵抗、コンデンサー、トランジスタ、ねじ共に余分に入っていた。(説明書にもその旨書かれている)

次は取り付け手順にしたがって部品をはんだ付けしていく。傍で見ていると作業はやや心もとないところもあるが、ある程度つけたところで、きちんとついているか、隣とショートしていないかなど、確認をしつつ進める。ミニUSBコネクタの取り付けが、端子の間隔が狭く、ショートの危険性があるので、要注意。それ以外は問題なく作業は進んだ。

LED以外の部品が全部付いたところで、最終目視確認。というのもLEDがついてしまうと、パターン面が見られなくなり、手直しもできなくなるから。最終的に動作不良となっても、構造上手直しができないので、1発勝負のところがある。
幸い今回は無事動作した。

説明書にもあるが、LEDをつけるに当たって、右側の1個がcdsのはんだ部分に当たってしまった。これはどうしようもないので、LEDを少しやすりで削って面が揃うようにした。また右側の1個は隣と隙間ができてしまうのも、説明書にあるとおり。
LEDの面を揃えるため、cdsはんだ部分に当たるところを削った。
右側の1個だけ隣と隙間ができる。

出来上がったら電源を入れ、動作に問題がないことを確認してケースを組み立てる。
ケースの組たてについては特に説明もないが、迷うようなこともない。ただ、加工精度が高いのか、ナットが簡単には入らない。きちんと向きを合わせて差し込まないと溝に入っていかないので、そこは注意。

このキットに限ったことではないが、ICをソケットに差し込むときは、やったことがないとうまく入らない。一般的にDIPタイプの足は外側に広がっているので、ソケットに合わせて内側に曲げてやらないと、ちゃんと挿入できない。へたをすると一部の足を曲げてしまったりする。ここは手伝ってICを差し込んだ。

水銀スイッチによって、本体を縦にするとレベルメーターになるようだが、あまり使い勝手は良くないかも。温度計もついているとはいえ、実用性を考えるとやや疑問。
温度計は目安程度となっているが、手持ちの市販デジタル温度計でA製品20.1℃、B製品19.8℃、棒状温度計で約20.0℃のとき、18.9℃と1度ほど低かった。
時刻の精度は、3日で10秒ほど進んだので、月差でいうと100秒ほどか。通常の国産デジタル時計が±20秒とか±30秒というレベルからすると誤差は大。説明書にもあるが、調整箇所はない。

実用性からすると今一つのところもあるが、この値段でケースもついた時計が作れるというのはリーズナブルではないだろうか。

2018年12月30日日曜日

「入門者のPython」を読む

「入門者のPython」〜プログラムを作りながら基本を学ぶ〜
立山秀利著 講談社 BLUE BACKS

PythonはAIの流行と共にはやりのプログラミング言語のようで、その入門書は数多く出ている。初心者としては、どれを見たらいいのか、あるいはネット上でもPython入門と銘打って数多くのサイトがあるので、どれにしたらいいのか迷うところだ。

多くの入門書を見比べたわけではないが、たまたま図書館にあった本書は、入門書としては非常にわかりやすく丁寧に書かれており、プログラム開発の心得も書かれていて良書だと思う。「プログラムを作りながら」という方法は、具体的に動くものを作りながらなので、言語の一部しか学ぶことができないが、それでも入門としては良い方法だと思う。これをきっかけに他の部分も覚えていけばいいのであって、そのための本やサイトはたくさんある。

本書では、プログラム開発環境は、WindowsにAnacondaをインストール、Spyderを使ってプログラミングすることを前提として書かれている。そのため、他の開発環境だと、本に書かれている内容と少し異なる動作となることを承知した上で読む必要がある。

私はRaspberry Pi上のRASPBIANにあるThonny Python IDEを使って本書のプログラムを実際に動かしてみた。
すると、11章からのスクレイピングのプログラムで、BeautifulSoup4モジュールをインポートするコード import bs4でエラーとなる。
事前にインストールが必要なようで、しかも、Python2と3で異なるようだ。
今はPython3を使っているので、それに対応したインストールが必要らしい。このことは以下のサイトからわかった。

「いるかのボックス」
http://irukanobox.blogspot.com/2016/06/raspberry-pipython.html

これに従ってインストールした後は、エラーが出なくなった。

作例1は、たくさんある画像ファイルを、その作成年月日ごとに、年月日の名前で作ったホルダーに移動してまとめるもの。
これはページ数も多く、非常に丁寧に説明されている。このプログラムがどれほどの有効性があるのかは別として、(個人的にあまり役に立ちそうにないプログラム例は、熱心に見る気がしなくなることもあるので。)本に書かれているようにプログラムを動かしていくと、ちゃんとわかるようになっている。

作例2はWebページ上のデータを自動で取得する「スクレイピング」である。
HTMLの知識がないとできないが、まったく知らない人でもできるように、HTMLの基礎を必要最小限のところから説明している。中には「これはとにかくこういうものだと、やみくもに覚える。」という部分が出てくるが、仕方のないところだろう。
それにしても、そういった、理由もなく覚える部分が多くなると、なかなか理解が進んでいかない。前述のようにエラーでも出ようものならそこでストップしてしまう。

一通り読んだが、こういったことができるんだな、程度で、具体的に何かをしようとすると、かなりハードルが高いようだ。他の入門書を読むためのきっかけと考えたほうがよさそうだ。
ちなみに気象庁のサイトから、当日、前日のアメダスデータを読み込んでみたが、うまくいかなかった。過去のデータであれば、なんとか読めて、CSVファイルにすることができたが、気象庁のサイトにはダウンロードのメニューもあるので、あまり実用性はない。

作例3のCSVファイルのデータ解析もしかり。ページ数も少なく、こんな関数もありますよ、といった紹介程度になっている。

作例2、3は付け足し程度と考えても、作例1の説明は実に丁寧で、Python入門書としてはとてもよく書かれていると思う。プログラムの基礎がしっかり書かれているし、他のPythonの本を読むときに非常に役に立つ本だと思う。

(同様のスタイルで書かれた筆者の著書としては、「入門者のJavaScript」~作りながら学ぶWebプログラミング~ 講談社 BLUE BACKS もある。)

2018年10月11日木曜日

ラズベリーパイ奮闘中(6)Bluetoothマウスとキーボードを接続

Bluetooth機器をつなぐ
ラスベリーパイ周辺にケーブルが多くなり煩わしいので、キーボード、マウスをBluetoothにしてみた。(Raspberry Pai3 ModelB + Raspbian)
マウスは中古ショップで買ったサンワサプライのMA-BTH20 Rというもの。

ペアリングは簡単で、マウスの電源を入れてから、右上のBluetoothマークを左クリック(以下クリックと省略)

 「Add Device...」をクリックしてSearching for Bluetooth devices...の表示を確認、マウスが見つかるまで待つ。(ここでマウスのConnectボタンを押す必要があるかも)
Bluetooth Optical Mouseが表示されたらそれをクリック。Pairボタンをクリックする。

もしかするとここでマウスの底面にあるConnectボタンを押す必要があるかもしれないが、一度ペアリングした後は、Remove Device... でペアリングを解除しても、PairボタンのみでペアリングOKとなった。

これまでの操作はUSBマウスで行い、Bluetoothマウスが使えるようになったらUSBマウスを抜く。
Bluetoothは、タイミングによってペアリングがうまくいかなかったりするので、何度かチャレンジしてみる。
ここまではコマンドを入力することもなく、簡単に作業が進むので、あえてブログに上げる人もいないかもしれない。

ラズパイはしばらく動かしていないとスリープ(?)して画面が黒くなるが、USBマウスだと、マウスを動かすことで目覚める。Bluetoothマウスだと、マウスを動かしても目覚めなかったので、キーボードからスペースキーを押すなどして目覚めさせるか、左または右クリックで目覚めさせる。
(2019.7.21追記 マウスのスリープモードはBluetoothかUSBかではなく、マウスそれぞれによって異なるようだ。)

キーボードをBluetoothでつなぐ
マウスがうまくいったので、キーボードもペアリングさせるが、ペアリング後のマウス動作がうまくない。しょっちゅう止まって、動かなくなる。しばらく待つと動くようになるが、原因がよくわからない。デスクトップ右上のBluetoothマークをクリックしておいて見ると、マウスのところが×印になるので、マウスがつながらなくなるのかもしれない。これは使用したキーボードの種類にもよるのかもしれない。
ちなみにキーボードはBluetooth 3.0 Class2。マウスは不明。
とりあえずマウス、キーボード両方をBluetooth接続することは今回は諦める。
(株)ピーナッツ・クラブで販売している
Bluetooth Multi Keyboard
これも中古ショップで購入。


2018.10.12追記
念のためキーボードを変えてテストしてみる。BUFFALOのBSKBB300WHであるが、結局同じ現象。ちなみに仕様がBluetooth 3.0 class2で全く同じ。

そこでマウスをBluetoothではなく、USBドングルを使う無線マウス(ELECOM M-DY11DR)にしたところ、Bluetoothの競合(?)がなくなったのか、どちらもうまく動くようになった。
Bluetoothではなく、無線マウス
スリープした後は、マウスを動かしても、キーボードのスペースキーでも(少し時間がかかるが)目覚める。

電源の再投入の際も、特に手続きは必要ないようだが、キーボードがすぐには反応せず、何回か押すと反応するようになる。また、最初に漢字変換キー(半角/全角キーに割当)を押すと、「’」が表示されて、日本語入力にならない。マウスで画面右上のキーボードマークをクリックして日本語入力にしてやると、その後は大丈夫のようだ。

最初はマウスでここをクリックして日本語入力にする


キーボード、マウスのケーブルでごちゃごちゃ

ケーブルが無くなってすっきり

ラズベリーパイ奮闘中(1)立ち上げ


初めに
すでに買って遊んでいるArduinoのIDE(開発環境)をWindowsXPにインストールしているが、若干不満があるので、(長いファイルネームが使えないとか、日本語がうまく使えないとか)やっぱり中古でもWindows7機でも買おうかと思っていた矢先、Raspberry PaiでもArduinoのIDEがインストールできるとわかって、買うことにした。安いのと、いろいろいじれる楽しみがあるのと、以前からLinuxには興味があったので、さっそくアマゾンで購入。

買ったのはRaspberry Pai3 ModelB。スピードも速そうだし、WiFi、Bruetoothが使えるのも利点。
公式のACアダプタ(容量が不足するとトラブルの元になるらしいので)とクリアケースも一緒に購入。放熱フィンもついていたが、後でいろいろ見ると、ファン付きを使っている例もあるようなので、夏のことを考えるとファン付きがよかったかな、と若干後悔。(値段もそれほど変わらないようだし)


参考にしたもの
ネット上のいろいろなブログが参考になるが、特に系統立ったものとしては、
Device PLUSの 「IT女子のラズベリーパイ入門奮闘記」
http://deviceplus.jp/hobby/raspberrypi_entry_056/

他にも立ち上げまでの手順はいろいろなところで書かれているが、ネット上の資料で注意が必要なのはそれが書かれた時期。
ネットでの情報は数年前のものもあるので、現在のバージョンと合わないものもあり注意が必要。



OSをマイクロSDに書き込む
この辺はどこで探しても親切丁寧な情報があるので迷うことはないだろう。
「IT女子のラズベリーパイ入門奮闘記」では、第57回が参考になる。

順番に、
1)SDカードのフォーマット
SDFornatterが必要。ダウンロードしたが、どうも画面が違う。マニュアルにある画面とも異なるので、何か設定があるのかと思ったが、見当たらずそのままフォーマットする。
Windowsで単純にフォーマットしたらWin32DiskImagerで認識されなかったので、これを用意する。

2)zipファイルの解凍(展開)
7-Zipで解凍。容量が1GByte以上もあるので、こういったソフトが必要らしい。

3)イメージファイルのコピーをする場合は
Win32DiskImagerでコピーをする。単なるファイルコピーではOSは起動しない。
なおNOOBSをダウンロードした場合はRaspberry Paiでインストールを行なうので、このソフトは不要。


Raspberry Paiでインストールかイメージファイルをダウンロードか
Raspbianを立ち上げるには、NOOBSのダウンロードとイメージファイルのダウンロードと2つのパターンがあるので、どちらにするか迷うところだが、両方やってみた結果では時間的に大差ないようだ。ダウンロードするPCの能力やネットワーク環境にも左右されるが、比較的貧弱なノートPCとWiFiでも、イメージファイルをダウンロードして書き込んだほうが若干早いように思える。
NOOBSからだと、イメージファイルのコピーはないが、Raspberry PaiでのRaspbianのインストールに1時間程度かかるようだ。
イメージファイルをSDカードに書き込む場合は、電源を入れてすぐRaspbianが立ち上がる。

NOOBSか、イメージファイルかの違いは、LANの環境があるかどうかも関係する。
Raspberry Paiの動作には、USBキーボード、USBマウス、HDMIのモニター、有線LANが必要とある。自宅では有線LANが部屋になく、WiFiのみしか使えないので、NOOBSからRaspbian以外のOSをインストールしようとすると、有線LANが必要なので、ルータがあるところで作業しなくてはならない。Raspbianであれば、とりあえずの立ち上げまではどちらのやりかたでもできて、その後にWiFiの設定をすればネットからのダウンロードもできるようになる。

なおRaspbianとしては、どちらのやりかたでも同じようにはなるが、両方を比べると、立ち上げ後の日本語環境の設定や表示には若干違いがあるようなので、注意が必要。


INA219にはまる

 INA219電流センサーの互換品を買う。 互換品 オリジナル Adafruit Industries(エイダフルート) 商品レビューで評判が良くない。不良品が多すぎるという。 とはいえ全体の購入者数からすれば一部の人の評価だろうから、まあ大丈夫だろうと買う。 オリジナルの値段の...