M5Stack UnitV2 からファイルをSCPで持ってくる

M5Stack UnitV2内のファイルをscpでPC側に持ってこようと思ったらエラーが出た。

1
2
3
4
# @PC
$ scp m5stack@10.254.239.1:/media/sdcard/abc.file ~/
# 下記のエラーが出る
# Couldn't open /dev/null: Permission denied

sdcardの中だからダメのかと思って色んな場所のファイルを指定してみたが全部だめ。

/dev/nullを開けないのかと思ってsshで入ってパーミッションを見てみた。

1
2
3
4
5
#@PC
$ ssh m5stack@10.254.239.1

#@M5Stack UnitV2
$ ls -la /dev/null

crw-rw----と表示された。

m5stackユーザーは/dev/nullを使えないようだ。

なので下記をたたく。

1
2
#@M5Stack UnitV2
$ sudo chmod 666 /dev/null

そしてPC側で下記コマンド。

1
2
# @PC
$ scp m5stack@10.254.239.1:/media/sdcard/abc.file ~/

無事scpでM5Stack UnitV2からファイルをPCにコピーできた。

なお、sudoコマンドを使う必要があるので前回の記事の方法でsudoを使えるようにしておく必要がある。

M5Stack UnitV2 でsudoを使えるようにしてシャットダウンする

前回M5Stack UnitV2が届いた話を書いた。

今回はその話の続きです。

UnitV2について書かれたブログや情報がないか探してみたところ、日本語の情報が見つかった。

このQiitaの記事は公式の情報をもとに書かれているようなのだが分かりやすかった。

で、その中にrootを取る方法が書かれていた。

@ksasaoというTwitterユーザーの方のツイートへのリンクなのだが、それによるとJupyter Notebookに下記のコードを書いて実行するとsudoが使えるようになるようだ。

1
2
3
!chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
!chown root:root /usr/libexec/sudo/sudoers.so
!chown root:root /etc/sudoers

手順は下記の通り。

  1. UnitV2をPCにUSB接続し起動して、PC側がUSB LANとして認識するのを待つ(WindowsかMacの場合は公式のDriver Instrationを参照)
  2. PCでブラウザを開き10.254.239.1を開く
  3. Jupyter Notebookモードにしてリロード
  4. 新しいブックを開き、先ほどのコードを入力し実行(再生ボタンみたいなのを押す)
  5. PCからssh でUnitV2に入る$ ssh m5stack@unitv2.py(パスワードは12345678)
  6. ログインしたら$ sudo <command>が打てるようになる(sudoで要求されるパスワードは12345678)
  7. $ sudo halt でシャットダウン(正確にはシステム停止)ができる

また$ sudo su - rootでrootになることもできるのでそれで色々やってもいい。

Jupyter Notebookでのコード実行は1回でよくて、再起動後も有効になっているのでsudoコマンドが打てる。

jupter notebookの画面

[ 参考URL ]
Qiita 『M5UnitV2のインストールや備忘録』
@ksasaoさんのツイート

M5Stack UnitV2 が届いた

M5Stack UnitV2 外箱

1か月くらい前に注文した、M5StackのUnitV2が届いた。

Linuxが入ったM5Stackで、カメラ付きのRaspberry Pi Zeroのような感じかなと思って発表後に即購入してしまった。

カメラ付きの小型Linuxとは心が躍る。

スペックは下記の通り。

[スペック]

  • ARM Cortex-A7デュアルコア 1.2 GHz(Neon、FPU内蔵)
  • 128 MB DDR3 メモリ
  • 512 MB NANDフラッシュメモリ
  • GC2145 1080 P カラーセンサ
  • マイクロフォン、microSDカードスロット、UARTポート、USB-C
  • Wi-Fi 2.4 GHz
  • 冷却ファン
  • OS : Linux

メモリが128MBなのを除けばRaspberry Pi Zeroより高性能。
冷却ファンまで付いてるのがすごい。

で、購入時にバッテリー付きだと思い込んでいたがそんなことはなく私の思い込みだった。
なんらかの形で給電をしないと動きません。
購入ページをよく読めばよかった。

箱の中身と内容物

中身

開けると上記のような感じ。

本体と付属品

本体、スタンド、背面パーツ、USBケーブルが入っている。

背面

背面はパーツが付いた状態に。

SDカードが挿さってる

本体の側面にはSDカードが挿しっぱなしになっている、boot用のファイルが入っているのだろうか。と思ったが、注文時に16GBのSDカードが付いてくると書いてあったのでたぶんそれだ。空のSDカードなのだろう。

接続して使ってみる

付属のUSBケーブルでPC(Ubuntu)に接続すると、LEDが点いてファンが回り始めた。

おお、動いた。と思ったが、あれ、これどうやってこのマシンに接続するんだ。

箱に説明書があるかと思って箱の中身を見るが何もない。

簡単にWi-Fi経由でSSH接続できると思っていたが、その説明がどこにもない。

PCを見ると、USB接続のLANとしてUnitV2を認識したという表示が出た。
(私のマシンがUbuntuだったからなのか自動的に認識したが、WindowsかMacの場合はドライバをダウンロードして適用する必要があるようだ。公式のDriver Instrationを参照)

で、M5Stackの公式ページを見てみた。

すると下記のコマンドで接続できると書いていたので接続したPC上のターミナルでコマンドをたたいてみたが、パスワードがわからない。

1
$ ssh m5stack@10.254.239.1

“M5Stack Unitv2 password”などのワードでGoogle検索してみるが、パスワードがどこにもない。
公式にも書いてない。

うーん、落ち着こうと思ってUnitV2本体に付いている背面パーツを取ってみたら。。。

ユーザー名とパスワードが書いてあった

UnitV2のうらっかわにパスワードが、というか色んな接続方法がご丁寧に書かれていましたとさ。

この写真にもうっすらと映っているが、パスワードは”12345678”でした。

どんなLinuxが入っているのかなと思って$ uname -aを叩くと下記のような感じ。

1
# Linux unitv2 4.9.84 #196 SMP PREEMPT Wed Apr 7 02:40:43 CST 2021 armv7l GNU/Linux

何系のOSなのかは私にはよくわからなかった。

ストレージはどうなっているのかと$ df -hをたたいてみると、512MBのフラッシュメモリがあるというのはウソじゃなさそう。
さらに付属のSDカードもちゃんと16Gくらいあることが判明。

1
2
3
4
5
6
7
8
# Filesystem                Size      Used Available Use% Mounted on
# ubi:rootfs 410.1M 290.9M 119.2M 71% /
# devtmpfs 56.0M 0 56.0M 0% /dev
# tmpfs 57.0M 0 57.0M 0% /dev/shm
# tmpfs 57.0M 7.1M 49.9M 12% /tmp
# tmpfs 57.0M 44.0K 57.0M 0% /run
# cgroup 57.0M 0 57.0M 0% /sys/fs/cgroup
# /dev/mmcblk0p1 14.8G 32.0K 14.8G 0% /media/sdcard

$ htopコマンドをたたいてみると確かにメモリが114MBと表示されCPUが2個動いていた。

で、さらにUSB接続したPC上のブラウザで10.254.239.1を叩くとUnitV2上で起動しているサーバーが見られる。
カメラのストリームや画像認識のデモが見られる。

リッチなWeb画面

画像ではわかりにくいが、リアルタイムで顔認識をしている。

さらに、Jupyter NotebookのコードもこのWeb画面から実行できるみたい。

すごい。

カメラ付きのただのLinuxだと思っていたんだけどちょっと違う

だが、私はこのリッチなWeb画面とかJupyter Notebookとかを求めていたわけではなくてカメラ付きの小型Linuxがほしかったのだ。

自前のコードをLinux上で動かしてカメラで撮影などをしたかったのだが、これはなんというか至れり尽くせりすぎて逆に不自由な感じがする。

確かにカメラ付きLinuxではある、でもなんか違うんだ。

さらに、本当は自分で選んだLinuxをインストールしたかったのだが…

で、公式ページ内を探してみたのだがどうにも情報がない。

Jupter Notebookを使って色々できるようで、私のやりたいこともおそらくJupter Notebookだけでなんとかなりそうな気もする。

自前のコードを動かす方法は下記の通り(たぶん、公式を読んだだけで実際には試してないので違っていたらすいません)。

1
2
3
4
5
# 下記のディレクトリにpythonを置くことでJupyter NotebookのWebページから実行できる? Webページ上から編集してもよいはず
/home/notebook

# カメラとか画像認識の実際のコードは下記に置けばJupyter Notebookから実行できる?
/home/m5stack

でも、私はLinuxのパッケージとかを自由にインストールしたい…

どうやってシャットダウンするの?

さらにちょっと困惑したのが電源を切る方法が見つからなかったこと。

現状でわかるのはUSBを抜くことだけ、Linuxの電源をいきなり切っちゃって大丈夫なのか?

Raspberry Piならアウトな行為だけど大丈夫なの?

ssh画面でshutdownとかsystemctl poweroffとか叩いてみたがコマンドが見つかりませんと出る。
haltをたたいてみたところ”Operation not permitted”と出る。

じゃあsudoで行けるかとやってみたがrootユーザーのパスワードがわからない。
うーん。

で、結局私はUSBを引っこ抜くという一番原始的な方法でシャットダウンしています。

まだ情報があまり出ていないようなので、これから色んな情報が出てくるのに期待。

ヘッダーの背景画像を消した

このサイトを始めた頃よりヘッダーに背景画像を表示していた。

自分の撮った写真を使っていたがどうにもダサい気がするので外すことにした。

下記がヘッダーに背景画像の表示されている旧表示。

旧ヘッダー

そしてこちらが背景画像を取り去ったヘッダー。

新ヘッダー

うーん、なんかモサイ気がする。

でサブタイトルをちょっと怪しい感じで入れてみた。

新ヘッダー2

うん、少しだけよくなったような気がするような気がするような気がする。

自分のブログだから自分で考えて、自分で作って自分で評価するので正直よくわからない。

仕事でもデザインをする機会が減ってきているのでどうにもトレンドとかにも疎くなりがち、まあすぐ変えるかもしれないけどしばらくこれで行きます。

在宅勤務が1年以上続いても開発がほぼ進まない問題について

リモートでの在宅勤務が多くなった時は通勤時間が減ってプライベートの開発時間が多くなると思ったが、そうはならず通勤時間分仕事の時間が増えている。

去年及び今年はまだ完成して公開した成果が一つもない。

開発スピードが日に日に落ちている気がする。

下記は私のプロジェクトたち。

  • このブログ
    • 投稿はかなり滞りがち
  • yourdevice
    • 月1回のレポート更新しかやってない
  • 同僚と共同開発のWebアプリ
    • この開発が最近では比較的進みが速い
  • Raspberry Piを使ったカメラ
    • 今年の初頭より開始したが、これはパーツが届くのを待つ時間が長くはかどっていない(言い訳)
  • スマホでPDFを見るアプリ
    • 書いていて思い出した
  • ファイル送信アプリ
    • そんなのあったか
  • JavaScriptのパフォーマンスを計測するアプリ
    • こんなのあったか
  • 数をゴニョゴニョするライブラリ
    • 割算の実装が完成しそう
  • file-keeper
    • おお、久々に更新するか
  • 自分の開発物をまとめるサイト
    • そんなのあったか
  • Raspberry Pi等を使った楽器デバイス
    • 最近思いついたが進捗はゼロ
    • たくさん

「かと」で止めるのは止めたほうがいいかと 思います

私が今働いている会社ではSlackメッセージのやりとりで業務を進めている。

で、最近同僚とSlackでやりとりをしていて、イラっとした。

こんなメッセージを受け取ったのだ。

パターンA
  • 私: これって●●●でしたっけ?
  • 同僚A: そうです。なので、▲▲▲おく必要があるかと。
パターンB
  • 私: サーバー落ちてますね。原因わかりますか?
  • 同僚B: ▲▲▲が原因かと。

私が質問すると、「かと」で返ってくるのだ。

「かと思います」と書くところを「思います」を抜いて「かと」だけで済ましているのだが、で、どうなのよと私は言いたい。

「かと思います」という表現自体、理由が分かるだけでその後どうしていくかという今後の方針を意図的に隠してしまっている。

それをさらに「思います」を削っちゃったらどうなのよ。

私も同僚も問題の当事者だと思うのだが「かと」で止められると文脈を想像してみろよ、俺様が教えてやるからお前がやれよ、というのを暗に言われれているようだ。

何故止めるのか

文章に「かと」が出て来ると、そのあとに何らかの言葉が来るのでそれを期待するのだが、それが無い。

なので脳みそはそのあとを想像してしまう。

小説じゃなくて業務上のやりとりなんだから、できる限り相手に対して解釈の余地を残さないようにしないといけないのになんでそういう言い方するの?

私のようにこれにイライラしている人が他にいないかとネットで調べてみると、こういう文章の書き方をしたり止めというらしい。

「はてなブログ」のタグのページなので本当なのかふざけているのかはよくわからないが「したり顔が浮かぶような顔で文章を止める」というのはよくわかる。

何故にしたり顔になって答えるのか。

余計にイライラさせないでほしい、以上。

ワーニング問題に新たな局面

以前の記事で”warning”は「ワーニング」ではなくて、「ウォーニング」ではないかと言うことを書いたが、いまだに私の周りは「ワーニング一派」で固められていてイライラしている。

最近は会社のメンバーが”false”のことを「ファルス」と言っているのを聞いて、うーむとうなってしまった。

私みたいに細かいことを言っている人は会社にはいないので私だけがモヤモヤしているのだが、やっぱ元の言語に近い発音で言おうよ。

と思っていたらあることに気づいた、最近よく触れることの多いJAVAの”.war”ファイルのことを私は「ワー」ファイルと読んでいた。

よく見てみると、というか綴りからしてこれは「ウォー」である可能性が高い。

調べてみると確かに「ウォー」。

私は知らないうちに「ワーニング」一派と同じ読み方をしていた。

厳密に考えすぎると色々精神的に辛いのではないかと思いつつ、明日から”.war”ファイルのことを何て呼ぼうか迷っている。

検温しても体温を忘れる問題

去年(2020年)の春の緊急事態宣言くらいから私の所属している会社では業務開始時に体温を報告することになった。

リモートの人も出社している人もslack経由で勤務開始の旨と体温を報告する。

私はたびたび検温を忘れてしまい勤務開始時に狼狽しているのだが、そもそも検温したとしても体温を覚えていないことも多くさらに狼狽する。

私は検温を忘れた場合は速やかに常に携帯している体温計をさっと取り出し検温をしているのだが(半分以上ウソ)、世の大半の方々(私以外の人々)はおそらくというかたぶんというか確実に適当な体温を書くことであろう。

私もその気持ちがわからないでもないというかよくわかるというか身に染みてわかるというか、「わかるわかる、それよくやるよね」なんて思うのだが、その場合その体温報告自体に意味はあるのであろうか。

そのことが気になって夜も眠れないし、それが原因で体温が上がり検温を忘れてしまいそうになる。

おそらく適当な体温を報告している多くの人々(私以外)は、適当な体温報告がばれるのを恐れて不眠症になっていることだろう。

そういえば最近私の所属している会社のメンバーたちの勤務開始時間が以前よりも遅くなっているような気がする、やはりみんな適当な体温を報告して、それがばれるのを恐れて不眠症になっているのだ。

適当な体温報告は控えめにした方がいいと、その人たち(私以外)に私は言いたい。

リモート勤務祝1周年

去年の4月の緊急事態宣言の前あたりからリモート勤務を始めてから1年が経過した。

リモート勤務とはいっても緊急事態宣言が出ていない時期は週1程度で会社に行っていたので完全リモートではない。

去年の今頃はさすがに来年にはなんとかなっているかと思っていたが状況はほとんど変わらず。

オリンピックをやるために緊急事態宣言を小出しにしているようだがアホなのか。

オリンピックの経済効果はわかるのだがそこまで意地にならなくても新規感染者数が1日xxxx人になったらやりますとか言えばいいのに、コロナが流行ってから「具体的な数字」を出すみたいなことがとってもおろそかにされている気がする。

オリンピックの銭勘定ができるんならそれぐらい簡単でしょって思うのだけど、そうもいかないのかってアホなのか。

「1964年の東京オリンピックの夢を再び!」みたいな感じも強烈にダサいし、オリンピックの2週間(1か月?)のためになんでこんなに我慢、というか不自由な思いをしなければならないのか。

  • A. 外出禁止 => 補償金は出すよ
  • B. 外出しろしろ => ワクチンはあるよ

おそらく上記のAかBを提示してくれたら安心できるのだが、AもBも実現されてない。

  • C. オリンピックやらないと景気がよくならなさそうだから(やってみないとわからんけど) => モロモロ我慢してね

今はCの方針に基づいて作った「お願い」を大本営発表みたいに垂れ流してるだけ。

大丈夫か、コレ。

大丈夫じゃないよね。

来年の今頃リモート勤務2周年を祝ったり寿いだりはしたくないよ。

映画の専門学校に入った

映画の専門学校に入学した。

授業には何回か出たのだが、単位が取れるのか心配になり始めた。

さらに、自分のお金ではなく親にお金を出してもらっていることもうしろめたくなってきた。

目が覚めた。

映画学校のパターンは初めてだ、今までの単位が取れない夢は中学・高校・大学のどれかだったが専門学校は初めて。

ただ映画学校だからと言って、特にそれっぽい演出がされなかったのが気になる。

授業に使うカメラが見つからないみたいな展開にはならなかった。

今回は漠然と単位が取れない不安だけを感じている夢だった。

もうちょっと起伏があってもよかったのに、私の頭が疲れているのか。