ラズパイでUSBカメラから撮影した画像をSlackに投稿

装着

こいつを買った。

LOGICOOL C270

まずはラズパイにUSBカメラを指してlsusb

pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 174c:5106 ASMedia Technology Inc. Transcend StoreJet 25M3
Bus 001 Device 004: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
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 004: ID 046d:0825 Logitech, Inc. Webcam C270
これがUSBカメラのようだ

認識OK

カメラ動作確認

fswebcamインストール

fswebcamとはwebカメラで撮影してファイル保存するコマンドらしい

aptでインストール

sudo apt-get install fswebcam

撮影実行

fswebcam image.jpg

デフォルトだと画像が小さくバナーが下部に出るのでオプションを付ける

fswebcam -r 1280x720 --no-banner image.jpg

fehインストール

撮ったはいいが、CLIで表示できないので、fehをインストールする。
fehとは昔から有名な軽量の画像ビューワらしい

fehインストール

sudo apt-get install feh

表示するには

feh image.jpg

使用していると

feh ERROR: Can't open X display. It *is* running, yeah?

とエラーがでて画像が表示されなくなった。
ctrl + Dでログアウトすると直ったが、よく分からん。
fim というビューワーをオススメしているサイトも見た。

Slackに投稿

homeからPictures/image.jpg をtestチャンネルにアップロードする

curl -F file=@Pictures/image.jpg -F channels=test -F token=xxxx-xxxxxxx-xxxxxxxxxxx-xxxxx https://slack.com/api/files.upload

無事に投稿できたー

npm install -gでError: EACCES: permission denied

npm installで-gをつけたグローバルオプション指定時にエラーがでた時の対処法

今日、firebase-toolsをインストールしようとした。

npm install -g firebase-tools

すると以下のメッセージが表示された。

npm ERR!  { [Error: EACCES: permission denied, unlink '/usr/local/lib/node_modules/firebase-tools/LICENSE']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'unlink',
npm ERR!   path: '/usr/local/lib/node_modules/firebase-tools/LICENSE' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! error rolling back Error: EACCES: permission denied, unlink '/usr/local/lib/node_modules/firebase-tools/LICENSE'
npm ERR! error rolling back     at Error (native)
npm ERR! error rolling back  { [Error: EACCES: permission denied, unlink '/usr/local/lib/node_modules/firebase-tools/LICENSE']
npm ERR! error rolling back   errno: -13,
npm ERR! error rolling back   code: 'EACCES',
npm ERR! error rolling back   syscall: 'unlink',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/firebase-tools/LICENSE' }

パーミッションエラーとなってしまった。

sudo を付ければインストールできるけども危険な方法らしい。

こんな時はグローバルモジュールのパーミッション変更を行う

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'

あとは.bashrcに以下を追加

export PATH="$HOME/.npm-global/bin:$PATH"

その後にsource .bashrcして

source .bashrc

npmを-gでインストールしなおして

npm install -g npm

sudoを付けるにfirebase-toolsをインストールしてみると

npm install -g firebase-tools

無事にインストールできましたー

登録したAmazon Dash Buttonを無効化する

Amazon Dash Buttonを手に入れて一度だけ商品を購入したが、 リセットしてIoTボタンとして遊びたくなった。

無効化する情報

Amazon.co.jp ヘルプ: Dash Buttonを無効化する

上記の手順通りに進めた。

まずはスマフォのAmazonアプリを起動

メニュー>アカウントサービス

Dash端末の端末を管理 に進む

f:id:banbara:20161231171229p:plain

端末を管理画面で商品の欄をタップ

ここでは「ムーニー Dash Button」を押した

f:id:banbara:20161231171407p:plain

このDash Buttonを無効にする をタップ

f:id:banbara:20161231171548p:plain

この後、Dash Buttonを押すとインジケーターが白色に点滅→赤色に点灯して無事にリセットされた。

Ubuntu-makeでインストールしたvscodeをアップデートする

以前、Ubuntuにumakeコマンドでvscodeをインストールしたが

banbara-studio.hatenablog.com

vscodeの最新版を入れようとした時、アップデート方法が分からない事に気付いた。

アップデート方法

なんとumakeにはアップデートコマンドなるものは存在しないようだ(衝撃)

以下リンクによると「更新したきゃremoveしてから再び入れなおせ」と書いてある。

Visual Studio Code isn't at its latest version. · Issue #312 · ubuntu/ubuntu-make · GitHub

しゃーない、それでやってみるかー

という事でリンクの通りやってみた。

umake ide visual-studio-code -r && umake ide visual-studio-code 

途中、ライセンスに同意を求めてきたので a を入力。
ここは初期インストールと変わらず。

結果

無事アプデできた。
更に、設定とか消えるかなーと思ってたら無事に残っていた。

  • vscodeバージョン 1.7.2 → 1.8.0
  • 拡張機能:引き継がれている
  • 設定:引き継がれている
  • 配色テーマ:引き継がれている

無事にアプデできたーめでたしめでたし

Ubuntu14.04にUbuntu-makeでVisual Studio Codeをインストールする

以下の2通りある事が分かったが

  • 実行ファイルをダウンロードして手動で配置する
  • ubuntu-makeを使ってコマンドでインストールする

今回はubuntu-makeでインストールする事にした。

コマンド

ターミナルを開き、以下のコマンドを打ち込む。

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make
umake ide visual-studio-code

※umake = ubuntu-makeらしい

起動すると2016/12/6時点で最新版である1.7.2が入っていた。

インストール先

~/.local/share/umake/ide/visual-studio-code

software installation - How to install Visual Studio Code on Ubuntu? - Ask Ubuntu

W: http://dl.google.com/linux/chrome/deb/dists/stable/Release の取得に失敗しました

現象

Ubuntu14.04でapt-get updateしたら下記メッセージが出た。

W: http://dl.google.com/linux/chrome/deb/dists/stable/Release の取得に失敗しました  期待されるエントリ 'main/binary-i386/Packages' が Release ファイル内に見つかりません (誤った sources.list エントリか、壊れたファイル)

apt-get upgradeでも出る。

W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません

解決方法

パッケージのソースリストから削除するか、コメントアウトするかで直る。

削除

sicklylife.hatenablog.com

コメントアウト

apt - duplicate source list entry - Ask Ubuntu