Posts Tagged ‘Raspberry pi’

Mouse Jiggler

パソコンで一定時間操作がないとスクリーンセーバーが作動して、いちいちパスワードを入れないと作業途中の画面に戻れないので面倒な思いをしている。YouTubeを見ていたら便利そうなツールの紹介があったので、Raspberry Pi Picoで作って見た。ソースは下記。社畜商会様に感謝

【ラズパイPico】マウス・キーボードを自動で操作してみた【Android対応】(社畜商会)

(上のリンクの文字列です) www.youtube.com/watch?v=19OxWjO6gqg

Raspberry Pi PicoをFliskのケースに入れた。中身を処理するのに10日かかった。お腹がおかしくなった

緩衝用、またやたら動かないようにエアキャップの切れ端で巻いてある。本当はグルーで固定すれば 良いのかもしれないが、生来の貧乏根性がそうさせない

例によりリスク回避のためにソースコードを掲載

Mouse Jiggler
# Raspy Picoを繋ぎ、ThonnyでCircuitPythonを選ぶ
# Firmware は https://circuitpython.org/board/raspberry_pi_pico/ から取得

import time
import usb_hid
from adafruit_hid.mouse import Mouse

m = Mouse(usb_hid.devices)

while True:
    m.move(x = 1)
    m.move(y = 1)
#    time.sleep(.04)
#    m.move(x = 1)
#    m.move(y = 1)
    time.sleep(3)
    m.move(x = -1)
    m.move(y = -1)
#    time.sleep(.04)
#    m.move(x = -1)
#    m.move(y = -1)
    time.sleep(3)

このプログラムはマウスポインタをx,y方向それぞれに1px移動して3秒待ち、そして元の位置に戻して3秒待つという動作を繰り返させる。実際のマウス操作には支障はない。微妙な位置にマウスがあってたまたま変なタイミングで押された場合はその限りではないが、あまり起こらないのではないかと思う

使うにあたっては、① PicoをPi 4に接続し、② Thonnyでプログラムを開いて実行させる必要がある。一度起動しておけばThonnyは終了しても大丈夫だが、C/C++で開発すれば実行ファイルを一回叩けば動くのだろうか…

2021/09/20
んねぞう

やる気のない信号機再来-完結編

前回のシステム再構築の後、基板が届いたので、早速基板上に作りつけた。配線が最もシンプルになるように考える。今回はクロスするようなところはなかったので幸いだった。ラズパイのピンソケットを付け、LED、抵抗を穴に差し込んで、足を折り曲げながらはんだ付けの順序を考えて行く

はんだ付けの後、どれ、と電源をつないでみたが、動かない。いろいろ調べてみたら、プログラム上のピン番号が違っていたのがわかり、はんだの付けなおし。また、Raspberry Pi Picoに接続するGPIOのピンが近接しすぎていてはんだの作業性が悪かったので、お互いに少し離したピンに接続。これでようやく動いた。(前の記事のプログラムは変更済)

さて、これをこれからどうしてくれよう。夜、寝室の暗がりの片隅でひたすら点滅している様子も、悪くはないかも知れない

2021/08/21
んねぞう

Raspberry piのタッチスクリーン化失敗

手持ちのRaspberry pi 4にタッチスクリーンをつければ、何か面白いことができるのではないかと考え、買ってみた。説明書が添付されているのだが、この説明書に従ってもタッチスクリーンが動作しない。何度もSDカードのフォーマットとOSのクリーンインストール、ドライバのインストールを繰り返しても動作しない。さらにWifiの固定アドレスの指定ができなくなって、Bluetoothのアイコンが表示されなくなってしまった。これで10日悩んでいる。説明書以外にもWebで調べたりYoutubeを見たりして試しているが、LCDでの画面表示はできるが、タッチスクリーンは頑として動こうとしない。もう何をどうやったか整理して書き記す気力もなくなった

本体と付属品。右手前の2つは、LCDディスプレイとRasbperry pi 3と4それぞれのHDMIジャックを連結するための基板。この他にドライバやドキュメントが入ったDVD、紙の説明書2枚

裸のRaspberry pi 4Bの基板に取り付けたところ

Physical Computing Lab社製の金属製のケースに入れても接続できる

画像がぼやけてわかりにくいかも知れないが、他の金属製のケースと違いケースにフィンがないため、本体とLCDの間に干渉物がなく、すっきりとTinyに収まってくれるのは気に入っている。本体とLCDはGPIOのソケット、HDMIの接続基板で固定され、またRaspberry piの基板上のUSBや有線LANのジャックとLCDの基板が接触する形になり、3点支持で結構安定している。ただし金属製の筐体のため、Wifiの電波が裸の時よりも弱くなって、今私が座っている場所ではほとんど使い物にならない。設計にあたっては開口部を大きく取るようにしたとのことだが、限界があるようだ

取り敢えず起動して、画面が映っているところ。Bluetoothのアイコンがタスクトレイからなくなっている

結局今のところ何の収穫も得られていない。逆に今回の策動で、64GBのMicro SDカード1枚、そしてUSB有線接続の小型キーボードがなぜか増えてしまっている。Bluetooth、Wifiの電波が頼りなく、そして固定アドレス設定がうまく行かない状態では、SSHやVNC接続もままならず、有線接続のキーボードが命綱なので、デスクトップPCのキーボードを差し替えながらではやっていられなくなって買ってしまった

今回の課題

  • タッチスクリーンが動作しない(根本的問題)
  • なぜかBluetoothのアイコンが消えた
  • 固定IPアドレス設定ができない
  • HDMIジャックが2つあるのに2つ目のモニタが使えない

それでもこのLCD付きの本体、電源アダプタ、マウス、キーボード一式をちょっとしたポーチに入れて持ち歩き、ひょいと取り出してセットアップして使い出す、というシーンを想像すると、こんな小さな筐体でそれなりのコンピューティングパワーを発揮することに周りがどう反応するか楽しみになる。実用上はどうかわからないけど

もう何度目になるかわからないOSのクリーンインストールをして、セッティングした写真を撮って、気が向いて再挑戦するまでこのLCDは保管だ

7月に私の属している写真クラブの写真展が予定されていて、会場にもし偶然HDモニタがあったら、これを使ってサイネージを行ってみるのも面白いかなと思っている

2021/06/12
んねぞう

PCのCPU温度モニタリング

在宅勤務で、リビングにいる家族に自分のステータスを知らせるシステム(んねぞう在宅勤務システム)を運用している。”システム”といってもRaspberry pi zeroに64ドットLEDマトリクスでの表示機能とブザーを付けたものだが、これをデスクトップPCからPower shellでコントロールしている。このパソコンは数年前にマザーボードを交換して以来何もメンテナンスしていないのだが、どうもデスクトップPC上でPowershellが立ち上がっていないとこのシステムは制御不能になるらしいので連続運転している。この暑さでどの程度大変なのか心配で、このCPU温度を何とかモニタできないかと、Raspberry piを使ったシステムを調べていた。よくあるのは気温とか水温を測るものだが、CPUの温度を測る方法(特にセンサの取り付け方法)についての情報がない。Webで調べてもRaspberry pi自身のCPU温度を測る(と言うかモニタする)情報はあるが、他人様のCPU温度を測る方法は皆無だった。もう少し範囲を広げて物体の表面の温度を測るのにはどうしたらよいか調べているとサーミスタを使う方法があった。これはサーミスタのアナログ電圧をデジタルに変換するためDA変換のICを使う必要があるようだ。回路図もいまいちよく分からない。待てよ、これってパソコンで自分のCPU温度をモニタする方法があるのでは、と思い調べたらCore Tempというフリーソフトがあった…結局パソコンで自分をモニタすればいいじゃん、というお話。Raspberry piのうまい使い方がないかと探し回った結果、ボツになったとさ

2020/09/12
んねぞう

ラズパイで人生ゲームのルーレットを作って見た

人生ゲームというゲームがある。我が家にも、子供たちが小さいときに買ったものがある。子供たちと遊びながら、人生の不条理についてしみじみ思いを致したものだ。このゲームは息が長く、時代に即していろいろなバリエーションがあるようだ、インターネットで調べて見ると「目指せインフルエンサー!」とかいうのもあった。今の子供たちのなりたい職業の上位にYou tuberがあるということなので、世相を映したものなのだろう。

変遷をたどって来たその人生ゲーム、而してその中で変わらざる要素にルーレットがある。如何にして希望の目を出すか、勢い込んで回すとかえって詰まってしまってポテンヒットみたいになったり、それでは、ということで自然体で、或いは天邪鬼は俺は他人とは別の道を歩むのだとばかりに逆に回してみたりとか、人それぞれにいろいろ工夫を凝らして人生を賭けて祈り、願望を込めて回していたのではないだろうか。(逆回しは私もかつてやってみたがこれがまたストッパーのヒゲがうまくできていて、回しても2,3コマで止まってしまう。やはりある程度回転が持続するほうが楽しい。あえて逆に回そうという人は、周りの人間もつまらなくさせてしまうので、そこまでやるのならばゲームをやめて自分から仲間外れになっていれば良い。)

しかしである、今日のデジタルトランスフォーメーション、IoT、AIが社会にいつの間にか浸透している時代、そのようなアナログなことで良いのだろうか。人生もデジタル化の波に洗われる中、いつまでも手先の力加減に人生の岐路の選択を任せていて良いものだろうか。

否。このような旧態依然とした姿では、世相の最前線も具現化せんとする人生ゲームのありかたとしておかしいだろう。ここでは、そのアンチテーゼとして、デジタル技術を応用したルーレットを作成して、これまでの人生ゲーム界に一石を投じたい。

…もっともらしい理屈を捏ねたが、実は暇なのでラズベリーパイで作って見たいというだけのことだ。

で、作って見た。Pythonでプログラムを組んでサーボモータを回す。本当は360°回転してほしいのだが、手持ちのモータは170°程度の可動範囲しかないので、その範囲で均等に割り振る。文字盤はExcelで良い塩梅に数字が割り振られるように円グラフを作り、これをPower Pointに持ち込んでお化粧を施して写真専用紙にプリントした。

プログラムは、ランダム関数で目の数値(1~10)を決定し、何回かの表示をさせて最終確定する。表示回数は10~16回の範囲で乱数的に選択するので、針の指し示す回数も異なって来る。具体的な動きは次の動画を見てほしい。

さあ、賽は投げられた(コマンドは発行された)

実は内部で出す目の数と、文字盤の数字が合っていない。どういうことかというと、プログラムで出した目の数が1の時は、文字盤は10、逆に目の数が10の時は、文字盤は1を指すということだ。サーボモーターに文字盤を合わせるときにはじめて気が付いた。良かろう、人生はこのように落とし穴だらけなのだ。ただしランダム性は損なわれていない(と思う。何方か数学の得意な方、証明をお願い致します)。

実際にゲームをやって見たかって?
誰もこんな面倒くさい物使いはしないって。

2020/07/19
んねぞう

まだんねぞう在宅勤務システム

在宅勤務システムお知らせ盤に手を入れた。今度は電子ブザーを付けて、表示を開始するときに注意を喚起するために音を出す。

まず最初に電子ブザーをGPIOのピンに繋ぎ、単純にOn/Offさせるもの(変な音が出るので注意してください)

次に、PWM(Pulse Width Modulation)を使って音量を調整できないかと試したもの。音量は調整できなかったが、とぼけた味が出た

どちらがお好みでしょうか。家人がどのような反応を示すか、ちょっと心配だが…

2020/05/30
んねぞう

P.S.

在宅勤務は必要にかられて始めたが、これまで続けてきて、どこまでできるか、何ができないかがある程度わかって来たと思う。多分これがきっかけで在宅勤務が市民権を得て来るだろう。デジタル化が世界の潮流であり、日本はこれに抗ってきたが、日本の社会がそのデジタルな環境の中でどこまで仕事をできるようになるか、世界の潮流に追いつくために、ある意味良い機会だと思う。働く側だけでなく、経営する側にとっても。

やる気のない信号機 – Raspi遊び

Raspberry piで、PythonのGPIOからPWM(Pulse Width Modulation)機能を使って、LEDの点滅の遊び。ただ単にチカチカさせるのでは芸がないので、ふわっと点滅させる。結果として、やる気のない信号機ができた

赤と青のやる気のなさよ
黄色だけ小さいのは注文を間違えたため

2020/05/24
んねぞう

しつこくんねぞう在宅勤務システム

前回稼働状況お知らせ盤の製品化に成功したのに気を良くして、今度は廉価版を作った。

Raspberry pi Zero WHという、最も初期型のモデルをこの表示機能に特化して、Raspberry pi 4は開発用に使いたいため。昨日早速届いたので、鼻息も荒くパッケージを開けてセットアップを始めた。モニタの表示用のHDMI端子がMini HDMIと、モデル4のMicroではなかったことに気づき慌てたが、デジカメとテレビを繋いでいるものにMini HDMIケーブがあったので事なきを得た。と思いきやモニタの表示がされず、やきもきしたが、どうもケーブルの接触が良くなかったようだ。デジカメをつないだ時に、うまく端子の角度を調節してご機嫌を取らなければならなかったことを思い出し、交換した。やれやれと思ってOSのインストールを始めたが途中で間違って電源を抜いてしまい、あわてて繋ぎ直して再起動したが処理が全然進まず、SDカードの初期化から再度やり直し。LED制御ソフトをコピーして一つ一つ確認していくが、途中でPythonのVer.が古いとか言われて、これでまたひと悩み。Python 2.7を3.7に切り替えて見たが(切り替えたと一言で言うがこれもいろいろな方法があるらしく…)それでもうまくゆかず、モデル4ではどうだったかと確認したら2.7だったので元に戻したり、ライブラリの再インストールをしたりした。本来ならば前回やったと同じ事をすればできるはずなのだが、私の中の何かが邪魔をしている。

そんなこんなでようやく機能を実装できた。

右が Raspberry pi 4、左がZero WH。Model 4も小さいが、Zeroは可愛い。食べたことはないが、Friskというお菓子のケース位だそうだ。Zero、Zero W、Zero WHと3タイプあるが、Zeroは基本形、WはWireless通信機能付き、WHはそれに加えてGPIOのピンヘッダー付き。基本形のZeroは一人一点しか買えないのだとか。私はLEDを付ける必要があるので、ピンヘッダー付きのものを買った。半田付け面倒だし。

いろいろ迷走した後の完成の姿。本体は純正のケースに入れてある

電源は手持ちのiPadのACアダプターを流用、ケーブルも手持ちのもの。ケースとLEDパネルが干渉しないか心配だったが、十分すぎるくらいだった。USBジャックがMicroで、LANコネクタもなく厚みのある部品がないせいだろう

表示内容は架空のものです

例によって銘版も付けただよ。零号というのはRaspberryのモデルのZeroからとった。パソコンとして見れば処理スピードはかなり遅いが、この程度の処理には十分すぎる位だ

2020/05/17
んねぞう

トップページの右サイドバーが表示されないのは何故なんだ?

んねぞう在宅勤務システムの機能追加

多くは語るまい。多少の電子工作を経て、昨日からお知らせ盤が本格稼働を開始。

上記のお知らせ盤(Status Indicator)を追加して、System Dialogを改訂

2020/05/12
んねぞう

電子工作

連休の後半、暇だったので、思い立って前から気になっていたRaspberry Pi(ラズベリー パイ)という手のひらに乗る程度の基板のパソコンに挑戦して見ることとした。電子工作と題して見たものの、大したことはしていない。本体と、キットになっている部品を買って来て、Pythonというプログラミング言語をちょこっといじったものである。

ほぼ名刺大の基板に、7~8年前のノートパソコンと同じくらいの処理能力のCPUと、4GBのメモリ、2つの4kをサポートしているHDMI端子、4つのUSBジャック(2.0および3.0)、LANコネクタ、Bluetooth、WiFi通信機能が載っている。その他通信、制御用にGPIOという汎用ピンコネクタと外部記憶用にMicro SDカードスロットが備えられており、これで約7,000円。7~8年前のノートPCというと、HDMIはあったがせいぜいHD、Bluetoothも普及のし初めの状態ではなかったか。当時は多分20万円くらいしたはずだと思う。

同時に8ドットLEDのドットマトリクス基板も買った

着けて見たのがこれ

これで何をしたいかというと、在宅勤務中に、これを居間に置いておき、リモートでこちらの状況を表示するようにすれば、家族が何か話しかけたり用があったりしたときに私がそういう状況にあるかわかるようにしたいということである。というといかにも広い家に住んでいるかのように聞こえるが、そうではなく隣の部屋です。

この表示のためにLED基板に付いて来たPythonというプログラミング言語のサンプルプログラムを、試行錯誤しながらいじって、”コマンド名 + 表示するメッセージ”というフォーマットで入力するとその表示ができるものが出来上がった。日本語表示はまだできていない。もう少し時間がかかるし、8ドットなので多分漢字は潰れて見えないのでひらがな、カタカナまでだろう。

その結果をいくつか。

“今、会議中なので話しかけないで”…間違って「かぎちゅう」となっているが。
上の写真と違って画面がくすんでいるのは、LEDの輝度が高すぎて、全体に露出を絞らざるを得なかったため。

昼食の注文

おふざけ

最後にMurphyの法則

この動画を撮影しているときはiPadにリモートシェルのアプリをインストールしてWiFi経由で制御している。つながっているのは電源ケーブルのみで、キーボード、マウス、モニタもつながっていないという、パソコンの初期から触れている身としては信じられない形。プログラムの入力、デバッグは、デスクトップPCとLANで繋いでSSHという仕組みを使っている。OSはUNIXが元らしく、昔使ったコマンドを、ああ、こういうコマンドあったなと、懐かしさを覚えつつタイピングしている。しかしviエディタがまだあるとは。

一度に2文字表示分の幅しかないので、あまり長い文を表示させると前の部分を忘れるが、これはある意味ぼけ防止効果が期待できる。

かも知れない。

思い立ったのが連休の後半、ものが届いたのが連休の最終日だったので、まだまだわからないことだらけだ。追加でブレッドボード、LED等も注文してある。これからいじり倒して行きたい

2020/05/09
んねぞう

P.S.

日本語環境のインストールで、マニュアル通り行かないので発売元のサポートを煩わせている。他の人はうまくいっているのに、自分だけ何か違ったことをしているようだ。ここで、Murphyの法則の中に、フールブルーフに関する法則がいくつかあるのを思い出し、自分のMurphy’s Lawのブログから引っ張って見た。例えば

Nothing is foolproof to a sufficiently talented fool.
十分才能のあるバカにはフールプルーフは効かない
ギルバートソンの法則

It is impossible to make anything foolproof, because fools are so ingenious.
馬鹿は天才的なので、何事もフールプルーフにはできない
マーフィーの第8の推論

うむ、自分は天邪鬼である。人が右と言えば左に行くような人間である。しかしマニュアルのような、この通りやらないと自分のやりたいことには行き着かんよ、ということを重々承知している状況においてもこういうことになるというのは…

orz

P.P.S.

その後販売店の方の手厚いサポートで、漢字を表示することができた。迅速なレスポンスに感謝。冒頭、プログラムをちょこっといじってとか書いたが、普通のできる人にとってはちょこっとという意味で、私にしては結構な旅路であった

表示内容はイメージです

新幹線のあれを具現化したものとも言う