ホーム » コンピュータ » Linux (ページ 21)

Linux」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

Raspberry Piに温湿度計とLCDモジュール

LCDディスプレィ接続

まずは、秋月の8×2のキャラクタLCDディスプレィ(AQM0802A)を接続してみた。

MZ-80C内のGPIOを、真上に接続するのはモニタ部分と干渉するので、I2C用のコネクタは背面に(MZ80C的には下側)につけて引き伸ばし。

当然ながら、8×2の小さいLCDを選んだのは、モニタ部分に埋め込むためなので、厚紙を切って配置してみた。参照先のサンプルコードも無事に動いて、”ハローワールド”の表示。

LCDのバックライト機能があるのだけど、GPIO4のポートをON/OFFしても光らない。なぜ…
単純に、バックライトのLEDのA,Kがはんだ付けしてなかっただけ…(x_x;

作業メモ

MZ-80CのRasbianサーバ化

早速、余ってたWiFi USBドングル刺して Rasbianなサーバに。元々のMZ-80CのSDメモリは、カセットテープもどきの場所に入れておく。(^_^)
{CAPTION}

MZ-80のブートデバイス(カセットテープ)の場所に、MZ-80C の SmileBASIC のブートデバイスを保存するのは、自然だよね。

MZ-80C

忘れた頃に、MZ-80C入荷しました。こりゃ、おっさん(じーさん)ホィホィな製品だわ。
# ちなみに、本物の MZ-80 は、所有したことはない。
でも、たぶん1週間もすれば、WiFi-USB刺して、Rasbianなサーバになってるだろう。

{CAPTION}{CAPTION}

内蔵ゲームの感想

ちなみに、内蔵の「平安京エイリアン」やってみたけど、一匹も倒せんかった。

自分の歳よりも古いゲームをした、うちの子供の感想。「キー操作が反応悪かったり、キー配置(移動のワードスター配列)がキモっ」とのことでした。
# それでも、私より上手く遊んでたけど。

改造するか

さっそく、I2C接続の小さなLCDモジュールと、温度湿度モジュールを発注。

ついに MovableType を卒業するか…

自宅サイトは、MovableType で運用してきたけど、 movabletype-opensource もメンテナンスされなくなってた。

MovableType の login エラー

だましだまし使っていようと思っていたけど、OS の更新をかけたら、

 Got an error: Unescaped left brace in regex is illegal here in regex;
marked by <-- HERE in m/{{ <-- HERE support}}/?/

みたいなエラーで、login できなくなった。 ちょいと、ソースを触れば login できるようになるとは思うけど、 ここらが “MovableType卒業” の潮時か。

blog の変遷

自宅サイトは、2000年ぐらいから、BLOG を運用してるはずだけど、 最初は手書き。途中で HNS(Hyper Nikki System) に切り替えたけど、 途中で MovableType に移行(自宅は2008年に移行)。

最古記事は、2003年だけどこの記事は、HNS のデータを Export して Movable-Type に取り込んだもののはず。

WordPress に移行

ということで、以前から WordPress のページは準備していたので、 そっちに切り替えよう。

メールでの投稿とかの機能は切っちゃおう。

ということで、この記事が我が家の MovableType 最後かな。

あれ、Dropbox 使ってないじゃん

今まで、LaTeX 仕事だと、Linux 環境じゃないと今一つ不便 だった。 このため、Windows,Mac で作業をするときは、 Windows,Mac,Linux で Dropbox を起動して共有させて、 terminal 経由で実際は Linux 上で作業をしていた。

LaTeX 仕事なら、emacs anthy anthy-el texlive-lang-cjk texlive-binaries tgif があれば、 ひとまず問題なし。

でも、Windows で、Windows 10 Creaters Update の Bash on Windows でも terminal がまともに使えるから、emacs も自然に動く。 実質 debian だし、aptitude install texlive-lang-cjk で、 LaTeX 環境も悩まずに入る。

同じく、Mac でも、MacPorts で LaTeX 環境が動くので、 Linux で作業する必要がほぼ無くなってきた。

でということで、Dropbox をほぼ使わなくなっているので、 「Dropbox、今までありがとうございました」

perl 5.24 で CPAN 更新たっぷり

自宅サーバなどで動かしている Perl のプログラムが エラーを吐き始めた。

どうも、日々の更新で Perl のバージョンアップで、 CPAN を使ってインストールしていた perl モジュールの 整合性が問題みたい。

ということで、インストール済み perl モジュールの更新。

 (( 更新対象を表示 ))
$ sudo perl -MCPAN -e "CPAN::Shell->r"
(( 更新 ))
$ sudo perl -MCPAN -e "CPAN::Shell->install(CPAN::Shell->r)"

色々と使っている自宅サーバ、Raspberry-Piサーバは、 100件を越える更新で、すごく時間がかかった。

古い Raspberry-Pi は、メモリ不足で CPAN更新ができねぇし…

iptables hashlimit

imaps などを経由してブルートフォースアタックされるのも怖いので、 hashlimit を用いた制限

((/etc/ferm/ferm.conf))
domain ip {
table filter {
chain HASHCHECK {
mod hashlimit
hashlimit-name HASHCHECK_TABLE
hashlimit 1/m
hashlimit-burst 30
hashlimit-mode srcip
hashlimit-htable-expire 120000 ACCEPT ;
mod limit
limit 1/s LOG log-prefix '[iptables hash drop]: ' ;
DROP ;
}
chain INPUT {
:
proto tcp dport imaps jump HASHCHECK ;
:
}
}
:
}

WiFiのアクセスポイント監視

出先での無線LAN利用のために、mineo をキャリアとして WiFiルーターを使っているけど、出先でルータを切り忘れてしまい、 自宅でそのWiFiルータに接続してしまうことがある。 そうなると、パケット代の浪費になるし、自宅でWiFiルータが 入っているか確認したくなる。

そこで、自宅のサーバにWiFiのUSBドングルつけて、 WiFiルータのアクセスポイントのESSIDを見つけたら、 icinga で警告メールを投げることを試してみた。

ELECOM WDC-150SU2M

 ((ドライバのインストール))
$ git clone https://github.com/lwfinger/rtl8188eu
$ cd rtl8188eu
$ make all
$ sudo make install

アクセスポイントの一覧

 $ iwlist wlan0 scan
ESSID:"<アクセスポイント名>"
:

これで、WiFiルータのESSID名を見つけたら、exit(2) するような Perl スクリプトを書いて icinga に渡せばいい。

NetworkManager の負荷

これで OK と思っていたけど、munin を見てみたら、USB WiFi ドングルを付けたころから、異常負荷がでている。 top で観察すると、NetworkManager が何度もプロセスを起動している。

しかたがないので、NetworkManager が WiFi の設定をしないように

 (( /etc/NetworkManager/NetworkManager.conf ))
:
[keyfile]
unmanaged-devices=interface-name:wlan0
:

を設定してみたが、今度はデバイスが初期化されていないから、 "iwlist wlan0 scan" をしても、アクセスポイントを見つけない。

うーむ、どうしたらいいんだろ。

ftp.jp.debian.org が遅くね?

サーバ(debian)の更新をかけてたけど、今日はやたらと遅い。 サーバ側のトラブルかな。

サーバを ftp.jp.debian.org から、ftp.jaist.ac.jp に 変更したら、サクサクとダウンロードされるじゃん。

letsencrypt.sh から dehydrated に移行

以前に導入していた、自宅サーバを SSL で公開するユーザ向けの SSL 証明書を作ってくれる、letsencrypt.sh だけど、パッケージ名が dehydrated に名前が変更となったみたい。

これに応じて、ディレクトリの名前などが変更になったので 設定ファイルを若干変更。apt-listchanges からのメールをみて、 以下のような設定ファイルの移動を行う。

 (( インストールと設定ファイルの移行 ))
# aptitude install dehydrated
# mv -v /etc/letsencrypt.sh/domains.txt  /etc/dehydrated/
# mv -v /etc/letsencrypt.sh/conf.d/*     /etc/dehydrated/conf.d/
# mv -v /var/lib/letsencrypt.sh/accounts /var/lib/dehydrated/
# mv -v /var/lib/letsencrypt.sh/certs    /var/lib/dehydrated/

ただし、/etc/dehydrated/conf.d/ の設定ファイルの中に、 変数 BASEDIR が含まれていたものがあったが、動かないようだったので、 絶対 PATH に書き換えた。

 (( 動作確認 ))
# /usr/bin/dehydrated -c --force

Google 検索

My Google   Yahoo

Microsoft

ファンサイト