min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash

RaspberryPi 検索単語と枚数指定してGoogle Custom Search API で画像収集(Python 3)

前回記事のソースを改良。検索単語と画像枚数を指定して検索できるようにした。 min117.hatenablog.com RaspberryPi で画像を一括ダウンロードできる。使い方はこう。 ーーー 「ガッキー」という単語で、10枚の画像を検索してダウンロードする場合。 $ pytho…

RaspberryPi Google Custom Search API で画像収集(Python 3)

このサイトのとおりやってみる。 qiita.com まずは カスタム検索 で新しい検索エンジンを作成する。 カスタム検索 ・「検索するサイト」には www.google.co.jp と入れておく(この後削除する)。 ・「言語」は日本語に変更する。 ・「作成」をクリック。 ・…

RaspberryPi 画像収集APIを使って大量画像を一括ダウンロードする(Python3)

Google画像検索で都度探すのが面倒なので、APIを使って画像を一気に収集したい。このへん参照。 qiita.com d.hatena.ne.jp まずは に従って words.txt と imagenet.synset.obtain_synset_list をダウンロードする。 $ wget http://image-net.org/archive/wor…

fedora 「.fuse_hidden…」という名の巨大ファイルの削除

「.fuse_hidden...」という隠しファイルが、HDDを圧迫している。 以前も似た対応をした。 min117.hatenablog.com このときは、fedora上の共有フォルダにネットワーク経由でmvしようとしてゴミが残ったのが原因だったけど、より詳しい解説のあるサイトを発見…

RaspberryPi ラジオ再生が途中で止まってしまう → 受信はしているが音だけが切れているらしい → ALSAデバイスを確認する

せっかく cron で定期的になるようにしたはずの RaspberryPi + テレビ のラジオ環境だけど、再生している途中に音が聞こえなくなってしまう。どうやら RaspberryPi が突然出力デバイス(HDMI経由のテレビへの音出力)を見失うのが原因のようだ。 このへんが…

RaspberryPi ラジオの自動再生を crontab で設定する

せっかく radiko Premium で全国のラジオを(テレビで)聴けるようになったので、定期的な再生を cron で仕込みたい。 やることは ① 毎時 0分から55 分の間で、20分ごとに、RaspberryPiを自動で再起動する 例えば 6:00 再起動 6:20 再起動 6:40 再起動 6:55 …

RaspberryPi vi の閲覧専用モード(viewコマンド)について今さら知る

仕事でやりとりしたお客さんとこの SE が使っていたコマンド「view」。古めの Redhat で叩いていたので「ほぅ、こんなコマンドもあるんだ」と思って調べたら、なんてことはない、vi そのものだった。 d.hatena.ne.jp 手元の RaspberryPi にも最初からインス…

fedora Apache(httpd)で cgi-bin が動かない場合の対処(permissionエラー)

Apache から直接 pythonスクリプトを実行したいが、どうしてもエラーになる。 You don't have permission to access /test.py on this server. 環境は以下。 ・fedora 20 ・Apache/2.4.10(Fedora) ーーー 解決手順 ① まずログをみる $ sudo -s # ls -sharl…

Python 3 で twitter の画像を一括取得する(お気に入り ❤️ を付けたツイートの画像の一括ダウンロード)

このサイトのコードそのままで動いた。最高すぎる。 prpr.hatenablog.jp ーーー スクリプトのファイル名は twAllDL.py(tweetAllDownLoad.py)にする。 $ vim twAllDL.py 実行してみる。 $ python3 twAllDL.py ダーっと画像がダウンロードされる。最高だ。 …

bash if文の中で正規表現を使う

RaspberryPi や fedora の bash にて。 「あるフォルダの中の全てのファイルを調べて、ファイル名の頭が数字3桁のものだけ表示する」をやりたい。 ーーー まず「あるフォルダの中の全てのファイルを調べる」のは、超簡単。毎日やっている。 $ for i in *; do…

MacbookAir Python 3 をインストールする(OSX Sierra)

// Mac へのPython 3のインストールは以前の記事で行ったが、もっと簡単な方法がないか試す。以前の記事では pyenv をインストールした。 http://min117.hatenablog.com/entry/2017/01/17/233852 今回は純粋に pip だけで python3 をインストールする(Beaut…

RaspberryPi 音が出ないときは sudo vim /boot/config.txt に dtparam=autio=on を記述して解決

// RaspberryPi(初代)の cron に radiko の起動スクリプトを設定して、毎日決まった時間にテレビのスピーカーからラジオが流れるようにしたつもりなのに、なぜか音が鳴らない。 ーーー RaspberryPi 3 のほうはうまくいっているので、比較して調べたら、音…

RaspberryPi cronが効かない → 時刻設定を見直して解決( sudo timedatectl set-timezone Asia/Tokyo && ntpdate ntp.jst.mfeed.ad.jp)

// 前記事に続いて、cronがうまく動かないときの対処。 min117.hatenablog.com ーーー Raspberry Pi 初代 で、どうにもcronがうまくいかない。crontabの設定も問題ないのに。正しく動いている Pi 3 と比べてみたら時刻の設定がおかしかった。 (誤)Pi 初代 …

RaspberryPi 3 で radiko Premium をテレビで聞く(録音ではなく、再生する)

// radiko Premium の 録音は 前記事でできた。 min117.hatenablog.com 今回は、録音ではなく、再生したい。radikoプレミアムを、再生して、テレビで聴きたい。 以下の方法でうまくいった(2017/6/26 時点)。 ーーー 事前に必要なものをインストールしてお…

RaspberryPi cronが効かない → /etc/crontab のパーミッションと所有者を見直して解決

// RaspberryPi 1 の調子が悪かったので Raspbian を再インストールした。各種設定ファイルをバックアップから復帰したものの、cronだけがなぜか実行されない。 このへんを参照して対応する。 tamulapin.hatenablog.com ーーー うまくいっている RaspberryPi…

RaspberryPi 3 起動時にラジオを再生する

// RaspberryPi 起動時にラジオを再生する。「起動時に***する」という処理はこのへんによくまとまっていた。 hendigi.karaage.xyz 今回は /etc/rc.local に記述して起動時実行する。スクリプト「play_tachikawa.sh」というファイルを起動時に再生する。 …

RaspberryPi 3 コマンドで音量を上げる(ラジオをテレビで再生→音量不足→コマンドで音量UP)

// RaspberryPi はラジオの再生と相性バツグン。 テレビのHDMIポート3つは全てRaspberryPi(Pi1 と ZERO w と Pi3)で埋まっていて、それぞれで違うサイマルラジオを再生させている。テレビ入力を変えるだけで全国のラジオを3つ切り替えられる。 (再生スク…

RaspberryPi 3 radiko Premium を録音する → ffmpegが必要 → リポジトリに無い → コンパイルしてインストールする

// radiko Premium(ラジコプレミアム)を RaspberryPi で録音したい。このサイトと同じにやってみた。 kyoshiaki.hatenablog.com この記述。 http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_2.zip RaspberryPi で落としてきて rec_radiko2.sh を実…

RaspberryPi 3 cvlc でハードウェア支援を使って動画再生

// RaspberryPi 3 のVLCは、ハードウェア動画再生支援で爆速にできるらしい。 signal-flag-z.blogspot.jp 前提としてRaspberryPi は MPEG ライセンスを購入しないとts動画が再生できないので、購入しておく。といっても、300円くらいだし、ネットでポチッ支…

RaspberryPi 無線LANが繋がらないときは/etc/network/interfaces の dns-nameservers の記述を確認する

// RaspberryPi の無線LAN の接続設定がプチプチ切れるときは、DNSの設定が悪いのかも。 $ sudo vim /etc/network/interfaces ifaceの記述毎に(SSID毎に)「dns-nameservers DNSのIPアドレス」の記述を入れていく。 これで、「繋がらないのは名前解決が原因…

RaspberryPi SSHで connection refused になったら fstab を確認する(起動時に A start job is running ...が出ていないか?)

// RaspberryPi で 突然SSH 接続ができなくなった。原因はなんと fstab。 fstab でのマウントに失敗 → 起動時に緊急モード(rootログイン)になってしまった → そのために、SSH接続しようとしても(権限不足で)connection refused になる という流れ。 ーー…

RaspberryPi をソーラーパネルで動かす(東京デバイセズ「ソーラーUSB電源システムキット 60Whクラス」)

// 予算1万円くらいでソーラーパネルで RaspberryPi を動かせるか試す。うまく行けば、簡易 IoT 監視システムなんかを作りたい。 これを購入。 tokyodevices.jp 東京デバイセズ「ソーラーUSB電源システムキット 60Whクラス」。 メーカー型番: IW3100-60WS …

bash 管理者実行「su」「su -」「sudo -s」を比べてみる(スド、スドゥ)

// シェルスクリプトの管理者実行「su」「su -」「sudo -s」の何が違うかよく分からずに使っていた。結論としては「su」が一番いいみたい。 ーーー 読み込む環境ファイルが違うらしい。 qiita.com 試してみる。 一般ユーザー:fedora 管理ユーザー:root ー…

fedora Linuxで物理メモリの詳細(DDR2とかDDR3)を調べるには sudo dmidecode --type 17 を使う

// qiita.com $ sudo dmidecode --type 17

bash 配列の要素をhtmlでテーブルに書き出す(SELECT + SORT)

bashでSQLのSELECTとSORTのようなことをやってみる。 $ vim math004.sh 出力 $ ./math004.sh >> math004.html

bash 配列の要素をhtmlでテーブルに書き出す

配列 ${PRODUCTS[@]} の要素を全てhtmlに書き出したい。このへん参照。 d.hatena.ne.jp ソースは以下。 $ vim math003.sh html に書き出して、ブラウザから見てみる。 $ ./math003.sh >> math003.html 素晴らしい。色々応用できそう。

bash ファイルを逆順に並べて頭に01、02、03…とつける

IMG_01.JPG IMG_02.JPG IMG_03.JPG … と画像があるが、一番最初に撮ったのはIMG_03で、次が02、最後に01だった。ファイルを逆順に並べるようにファイル名を変更したい。 (変更後) 01_IMG_03.JPG 02_IMG_02.JPG 03_IMG_01.JPG ーーー cnt=1 && for i in $(l…

bash 深いディレクトリパスの最深部フォルダ名だけを取り出してmvする

日常的に使うファイル移動で、深いPATHにあるフォルダを移動するときに、できるだけラクしたい。コマンド(ワンライナー)で最深部のフォルダ名を取り出して変数toに入れて使えば便利そう。 // $ ls /media/3TB/Dropbox | grep Jobs_Seiko 深いパス:/media/…

bash echo {1..11..2} で「1から11までの数を2とびで表示」する(ブレース展開)

こんなことができるとは。驚愕。 bashのそれって実はこういう書き方できるよ一覧 - Qiita 実際やってみる。 ーーー fedora20 $ bash --version $ for i in {1..11..2}; do echo "$i"; done すごい。できた。 ーーー Macだとできないみたい。 //

PHP フォルダ内にあるmp4動画の再生サムネイル画面を自動作成する(PHP + HTML5/videoタグ)

// フォルダ内に溜まった動画をサムネイル表示して、クリックしたら再生できるようにしたい。画面イメージはこんなの。 母艦fedoraのApache HTTP + PHP5 の環境。 ーーー できた。ソース。 $ vim html5_03_video.php

fedora 一括画像縮小 convert TARGET.jpg -resize 640x480 OUT.jpg

iPhoneで撮った画像を、ブログに貼る用に一括で縮小したい。fedoraでやる。たぶんRaspberryPiでもいける。 まずはファイル1個で実験。 $ convert TARGET.jpg -resize 640x480 out.jpg いいね。一瞬で縮小された。縮小後の画像もキレイ。 フォルダ内の全てのJ…

PHP フォルダ内の全てのテキストファイルの中身を1ページ内にまとめて表示する

Apacheで公開している自宅サーバのフォルダ内に、複数のテキストファイルがある。 全てのテキストファイルの中身を確認したい。1つ1つ開いていくのは大変なので、index_txt.php をクリックするだけで、全てのテキストファイルの内容を1ページに表示できるよ…

bash フォルダ内のテキストファイルの文字コードを一発で調べるコマンド

テキストファイルが4つあるが、このうち1つだけが文字コードが違っている。 $ ls -shal それぞれのファイルの文字コードを、コマンド1行(ワンライナー)で調べる。 $ for i in *txt; do echo "$i"; nkf -g "$i"; echo ===== ; done 一つだけ Shift-JIS が混…

RaspberryPi 3 形態素解析エンジンMeCabをインストールする

ツイッターで見かけたニュース。258億語の日本語を使った検索システム「梵天」が一般公開されるらしい。 internet.watch.impress.co.jp 記事中に MeCab の記載あり。以前から気になっていたので、RaspberryPi3 にインストールしてみる。 インストール方法は…

bash ファイル名の年月日と時刻の間にアンダーバーを挿入する(正規表現・awk)

ハイビジョン録画ファイルの命名規則を途中で変えてしまった。 ーーー ① ファイル名の年月日と時刻の間にアンダーバーがある。 $ ls | grep -e '^NHK_........_.*' | tail -n 3 NHK_20170304_070001.ts.mp4 ーーーー ② ファイル名の年月日と時刻の間にアンダ…

bash 画像の撮影日時(EXIF)を「YYYYMMDD_HHMMSS」形式で取り出してファイル名に付ける(awkとsedで)

iPhoneで撮ったシンガポール旅行の写真を、Macの「写真」アプリに取り込み&書き出しを行ったら、ファイル名が「IMG_0775.JPG」のようになってしまった。これではいつとった写真か分からない。 ーーー (やりたいこと) IMG_0775.JPG ↓ ①ファイル内に持って…

RaspberryPi 3 にUSBの外付けHDD(NTFSフォーマット)を接続する

// RaspberryPi 3 に USB接続の外付けHDD(NTFSフォーマット)を繋げて認識させる。 まずはHDDをUSBで RaspberryPi3 につなぐ。 作業は sudo -s して進めることにする。 # sudo -s まずは sudo fdisk -l して、認識しているデバイスを調べる。 # sudo fdisk …

アメリカ旅行 海外で日本のテレビを見る(インターネット経由)

アメリカ旅行。国外でも無料でWiFiが使えたので、海外で(ネット経由で)日本国内のテレビを見られるか試してみた。 ーーー 結論 バッチリ見れる。 (空港) 韓国・仁川(インチョン)国際空港にて。 ニュース映像を受信してみた。ネットの速度は4Mbpsくらい…

fedora 3TBの内蔵3.5インチHDDをNTFSでフォーマットする

アメリカ旅行の帰りに秋葉原に寄った。3TBが安売りしている。税込み7,700円。ちょうど母艦fedoraの内蔵HDDが足りなかったので買った(Amazonよりさらに安い)。ふぉ これを Linux(fedora)からコマンドでフォーマットする。 ・フォーマット形式:NTFS ・パ…

fedora 「.fuse_hidden…」という名の巨大ファイルがHDD容量を圧迫するのを解消する(docker devicemapperが原因ではなかった)

確実に200GB以上は空いているはずのハードディスクが突然いっぱいになった。ls -shal で調べてみると、「.fuse_hidden」で始まる変な名前のファイルがある。 ーーー 母艦fedoraサーバの共有フォルダ $ ls -shal .fuse_hidden0004951c0000000a fedora上でrmし…

RaspberryPi(初代)のカメラのシャッターをiPhoneから押すアプリを作る(Python3)

RaspberryPi(初代)を定点観測カメラにしてるけど、そのカメラのシャッターをiPhoneから押せるようにする。取り急ぎ完成。 ーーー フォルダ構成。 $ ls $ tree $ vim app_Pi01.py $ vim templates/index2.html 実行してみる。Pythonのバージョンは3.5.1。 $…

Python3 「TabError: inconsistent use of tabs and spaces in indentation」を解消する

Python3でエラーが頻発。 TabError: inconsistent use of tabs and spaces in indentation ーーー 原因 ソースの中に、タブとスペースが混在している。 解消方法 ソース内のタブをスペース4つに置き換える。 実例 13行目がおかしい。行頭がスペースじゃなく…

RaspberryPi(初代) のCameraをPythonから使えるようにする(import picamera)

lこのサイトにあるとおりやりたい。 ami-gs.hatenablog.com 手持ちのRaspberryPi(初代)のPythonバージョンは3.5.1。 このPython3.5.1でRaspberryPiのカメラを動かして画像や動画をとりたい。まずは画像から。ソースは上記サイトを丸うつし。 $ vim picamer…

ipython notebook が command not found になってしまった対処

前記事では動いた ipython がコマンドエラーになる。 PATHが通ってなかった。~/.bash_profile に記述ミスってたようだ。 $ vim ~/.bash_profile $ source ~/.bash_profile $ ipython notebook うむ。起動した。

iPythonの機能に感動する

前記事で、iPython notebook を使いたくてインストールしたものの、肝心のiPythonって何?って状態だった。改めて調べてみる。 qiita.com 結論としてiPythonは「pythonの中でbashコマンドも使えるシェル」って感じ。つまり、超便利。感動する。 ーーー 上記…

fedora20 Python3環境を構築する(git + pyenv + anaconda)

オライリーの「Pythonからはじめる数学入門」を買った。 metaplotlibとかSymPyをインストールするのに、Python3の環境を構築する。このサイトが最高だったのでそのまま進める。 qiita.com こういう注意はありがたい。 記事そのまま進める。 $ git clone http…

PHP 地デジ録画してるPT3プロセスIDとデバイス名を確認して録画を停止するボタンを作る

// こんな機能つくった。録画プロセス(青文字)を確認したうえで、そのプロセスを停止するボタン(赤枠)を動的に作る。ボタンラベルにプロセスID(PID)を表示させる。 ソース 正規表現チェッカー超便利。 okumocchi.jp

VLC ExtensionsからPT3地デジ録画サーバのrecpt1を起動、停止させるluaスクリプトを試す

// VLC Extensionsからサーバのrecpt1を起動、停止させる ref: http://qiita.com/mkit0031/items/bf7af3570a445e96847b · GitHub startrecpt1.php → PT3サーバ(fedora)に置く stoprecpt1.php → 同上 watchTV.lua → VLCのあるmacOSに置く macOS のVLCのエク…

Docker の CentOS に Metasploit をインストールする

前記事でRaspberryPiにMetasploitをインストールできなくて悪戦苦闘した。armは無理なのかもしれない。素直に母艦fedoraにインストールしたほうが楽なのかもしれないが、メインなので環境を汚したくなかった。 こういうときこそDockerだ。CentOS環境を作って…

PT3で録画したハイビジョンtsファイルに埋め込まれたEPGから番組情報をコマンドで取り出す

録画したハイビジョンに埋め込まれているEPG情報から番組名を抜き出したい。素晴らしいライブラリ発見。 github.com さっそく使う。 $ git clone https://github.com/youzaka/ariblib $ cd ariblib $ ls EPG情報の表示はこれ。 Pythonファイルにする。 $ vim…