Raspbian Stretch with desktop インストール

はじめに

ラズパイでブラウザを使いたくなったのでRasbianのOSをLiteからwith Desktopに交換することにしましたが、インストールで躓いたのでメモしておきます。

準備

SDカードはSDカードフォーマッターを使ってフォーマットしておきます。Raspbian Stretch with desktopは以下からダウロードします。

https://downloads.raspberrypi.org/raspbian_latest
(今回は)ファイル名:2019-04-08-raspbian-stretch.zip

ダウンロードが完了したら展開します。
ファイル名:2019-04-08-raspbian-stretch.img

macにmicroSDカードを接続して、以下を実行します。

$ cd downloads
$ diskutil list
$ sudo diskutil unmountDisk /dev/disk2

Unmount of all volumes on disk2 was successful

ここまでは順調でした。

sudoでSDカードに書き込む(結果失敗)

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

SDカードにfor desktopのインストールし、ラズパイにSDカードを装着して起動しようとすると、何度やり直しても、Unable to mount root fs on unknown-block のメッセージで止まってしまうという状況に陥りました。Liteの時はこのやり方で成功しましたが、with Desktopでは何故かうまく行きません。そこで、他のやり方を試すことにしました。

Etcherを使ってSDカードに書き込む(結果成功)

https://www.balena.io/etcher/ から、macOS用をダウンロードしインストールします。立ち上げて、以下を順に実行します。

  1. Select image
  2. Select drive(自動的にremovable driveを検出)
  3. Flash!

Flash終了後、ラズパイにSDカードを装着して起動したところ、成功しました。

・背景画像が表示され、ブラウザChromiumも立ち上げ可能。
・gmail登録することでChromeのお気に入りが自動コピーされる。
・Wifiが自動検出され、PW入力して接続可能(外部アンテナは不要)。
・USBマウス、USBキーボード使用可能。

終わりに

ラズパイは、Raspbian Stretch with desktopをインストールして、ディスプレイ、キーボード、マウスを外付けすることで、PCとしても十分機能を果たすことを実感できました。

Qiita記事

AlexaでTelloを操作

仕組み

Alexaスキルでは、通常、コードはバックエンドにAWS Lambdaを使いデプロイするところですが、ドローンを飛ばすには自分のPCをバックエンドにして、発話からのコマンドを受ける必要があります。ドローンが発するwifiをPCで受信するので、PCのネット接続は別の手段で確保します(自分は有線LANで接続)。発話部分(フロント側)はAlexa スキルビルダーで作成し、自分のPCをエンドポイントにします。これを実現するのがngrokです。

方法

まず、https://github.com/miso-develop/tello-controller-alexa を自分のPCにクローンします(TMさん、公開ありがとうございます)。先に、npm, ngrokのインストールを済ませておきます。

npm install
npm install -g ngrok

ngrokのインストールで、”write access to /usr/local/lib/node_modules” のメッセージが出る場合は、こちらを参考に解決します。https://qiita.com/NaokiIshimura/items/cc07441939b226e779c6

準備が完了したら、ドローンを飛ばす時に、コードファイルを置いたフォルダ上で以下を実行します。

node index.js

別ターミナルを起動し、同フォルダで以下のコマンドを実行します。

ngrok http 3000

ngrokが起動できたら、Forwarding https のURLが表示されるのでそれをメモし、スキルビルダー上でENDPOINTに設定します。このURLは起動の度に変わります(継続有効時間は8時間)ので、操作前に設定する必要があります。

Qiita記事