投稿

学習リモコン「リモコソ (RIMOKOSO1)」の設定

イメージ
2台目の リモコソ(RIMOKOSO1) 買ったけど、説明書がちょこっと意味不明・・・ 将来、設定方法を絶対に忘れちゃうなあと思って、設定を残しておくことにした。 上海問屋のページにも日本語説明書あるけど、字ばっかりで読むのめんどくさかったので、自分で設定マニュアル(←大げさ過ぎ)を作ってみた。 学習リモコン「リモコソ (RIMOKOSO1)」⇒  設定マニュアル(PDF) 追記) いちいちPDF開くのメンドいので画像にしてみた↓ ふんどしの持ち主 俺のふんどし

Raspbian Jessieで複数の静的IPを切り替えたい

Raspberry piのOSがRaspbian8(Jessie)になって、ネットワークの設定方法が変わってしまった! まあ、DHCPで使っている分には困らないんだけど、どうしてもIPは固定したいのだ。 で、IPを固定する方法を世の中の人に聞いてみると・・・ /etc/network/interfaces を修正してもダメなようで、 /etc/dhcpcd.conf を修正するようですな。 で、設定はこんな感じ interface eth0 static ip_address=192.168.1.123/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 特に難しいこともなく設定できた。 ( ※以下の設定では、なんか動作が安定しないなぁ・・・なぜかIPが静的に割り当てられないときがあるようだ、原因は不明・・・ ) でも、RaspberryPiを持ち歩いて ネットワークアドレスの異なるネットワークに接続 するときにちょっと困るのだ。 (192.168.1.0のネットワークから192.168.0.0のネットワークに持って行った時とか) で、 interface eth0:0 を追加すればいいんだと思ってやってみたけど・・・ ダメ 。 やっぱ、違うんだな。じゃあ、世の中の人に再び聞きにいこう! 発見!! RASPBERRY PIの公式ページ? のフォーラムに回答がありました。 なるほど、全然設定方法が違うんですな。テキトウはいけませんね★ interface eth0 arping 192.168.1.1 arping 192.168.0.1 fallback 192.168.0.1 profile 192.168.1.1 static ip_address=192.168.1.123/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 profile 192.168.0.1 static ip_address=192.168.0.123/24 static routers=192.168.0.1 static domain_name_servers=19...

Raspberry Pi 3 シリアルコンソール&シリアル通信

Raspberry Pi 3を購入しました。 Raspberry Pi は BとAと2を持っていたので、同様にシリアルケーブルをつないで、コンソールログインしようとしたら・・・ん??? なーんにもターミナルに表示されません。 世の中の人々に聞いて回ると・・・なんと!デフォルトではうまく接続できないとな!! しかも、いろいろ解決策があって、ゴチャゴチャしてます。 なので、私のRaspbian環境に合わせて、ここに記しておくことにします。 Raspbianは「2016-11-25-raspbian-jessie.img」を使っています。 まず、良くわからないことだらけなので、調べたことをまとめておきます。 ◆ Raspberry Pi 3 (RPi3) の UART(シリアル通信)について・・ 1. RPi3 では、 Bluetooth機能が加わった ため、その通信に従来のシリーズで利用していた URAT0(ttyAMA0)を割り当て た。 2. そのため、RPi3では シリアルコンソールがデフォルトで利用できなく なった。 3. また、RPi3には UART1(ttyS0)が加わった のだか、 UART1はソフトウェア制御 のため、 CPUのコアクロックに依存 してしまう。 4. RPiのコアクロックはデフォルトでは可変のため、CPUの負荷等で変化する。    それに依存している UART1 のボーレートも同様に変化してしまうため、通信が失敗する。 5. そこで、 解決方法が2つ ある。1つ目は Bluetoothを無効にしてしまう方法 、2つ目は CPUのコアクロックを固定してしまう方法 。 6. Bluetoothを利用しないなら1つ目の方法がよい。    両方利用したい場合は2つ目の方法になるが、コアクロックを固定するので、ちょっとだけパフォーマンス(性能)が落ちるらしい。 7. どちらのシリアル設定でも、GPIO14(TDX)とGPIO15(RDX)にシリアルポートはマッピングされる。 8. シリアル通信に使うデバイスファイルは    Bluetoothを無効にした場合:         /dev/serial0  -> /d...

FTD-W71USBをWindows10で使ってみる(Windows Updateで使えなくなりました)

Windows Update後、使えなくなりました!!残念・・・・・ パソコンを買い替えたので、ずっとUbuntuばっかり使ってたけど、Windows10で使ってみることにした。 で、そこらに転がっていた USBディスプレイ(FTD-W71USB) を使いたくなったので、ドライバを探しにBuffaloのサイトに行ってみると・・・ なんと! Windows7までしか、ドライバがない ではないか・・・ 試しに、Windows7用を入れてみることに・・・、が途中で エラーで入れられません でした。。。 でも、途中まででFTD-W71USBの 電源ランプがついた!! ん?いけるかも・・・ そういえば!こいつにはDisplayLinkのチップが入ってるので、最初にそのコアドライバが入ったみたい。その後のバッファロー製ドライバが蹴られたのです。 ということは! DisplayLinkのリファレンスドライバを入れてみよう! その前に、Windows7用のDisplayLink Coreドライバはアンインストールね。 で、DisplayLinkから Windows10用のドライバ をダウロードして、インストール開始!! 途中で、認識しないときは何回かUSBケーブルを抜き差ししてみると!! やったー!無事にインストール完了! 後は、再起動してみる。 で、設定|システム|ディスプレイで 見事に認識しました!!!!! めでたしめでたし★

Pythonのソースファイルの行番号を取得したい

Python3でコーディング中のデバッグ用やログ用に行番号を取得したくなった。 が!__LINE__みたいに簡単ではないようだ。 で、調べてみると kなんとかの日記 さんが情報を提供してくれているではないか、素晴らしい!! 早速使ってみると・・・ 動かないぞ!! ん?? どうやら、inspect.currentframe()は引数を取らないようだ・・・ バージョン違いなのだろうか・・・ したかないので、Pythonのドキュメントを見てみることにする。 inspectモジュールを使うことがわかったのでささっとみてみる。 inspect.getouterframes() が外側のフレームのリストを返してくれるらしい。 戻り値はFrameInfoの名前付きタプルにPython3.5で変更になったみたい。 で、こうなりました。 def dprint(msg): import inspect, os curr = inspect.currentframe() info = inspect.getouterframes(curr)[1] print("[--DEBUG--] %s (%s:%d)" % (msg, os.path.basename(info.filename), info.lineno), flush=True) この関数の呼び出し先の行番号が知りたいので、inspect.getouterframes()の戻り値リストの[1]を見るところがポイントですな。 うまくいった。めでたしめでたし。 でも、きちんとログに記録するようにするべきだな・・・ ふんどしの持ち主 kなんとかの日記 Pythonドキュメント

BracketsをKubuntu16.04にインストール

最近OSをKubuntu16.04に変更したので、環境のセットアップ☆ そこで、 Adobeのテキストエディタ Brackets をインストールしようと、公式ページよりダウンロードし、ダブルクリック!! ん?? エラーが発生し、インストールできませんでした。。。 (Ubuntu16.04でも同じかも・・・) エラーメッセージが漠然としているので、こういう時はターミナルからインストールですな★ ターミナルからBracketsをインストール(エラー) # dpkg -i Brackets.Release.1.6.64-bit.deb Brackets.Release.1.6.64-bit.deb を展開する準備をしています ... brackets (1.6.0-16680) を展開しています... dpkg: 依存関係の問題により brackets の設定ができません: brackets は以下に依存 (depends) します: libgcrypt11 (>= 1.4.5) ...しかし: パッケージ libgcrypt11 はまだインストールされていません。 dpkg: パッケージ brackets の処理中にエラーが発生しました (--install): 依存関係の問題 - 設定を見送ります hicolor-icon-theme (0.15-0ubuntu1) のトリガを処理しています ... 処理中にエラーが発生しました: brackets で、エラーを確認すると・・・・ libgcrypt11がインストールせれてないようです。 じゃあ、インストタイトルールしましょう! libgcrypt11をインストール(エラー) # apt-get install libgcrypt11 パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 パッケージ libgcrypt11 は使用できませんが、別のパッケージから参照されます。 これは、パッケージが欠落しているか、廃止されたか、または別のソース からのみ利用可能であることを意味します。 E: パッケージ 'libgcrypt11' はインストール候補ではありません...

FirefoxでCSSのzoomは使えない・・・

最近作成しているWEBアプリケーションで、ページの拡大機能をつけようとCSSの zoom を使ってみた・・・ うん、うまくいったと思って、Firefoxで確認してみると、拡大しないぞ!! なんと!zoomって元々IEの独自実装だったんだね。 Chromeでは動作したので、標準実装かと思ってた・・・・適当に覚えてたよ。 というわけで、いろいろ調べてみると、 transform プロパティの scale() を使えば解決しそうだ。 .css body{ transform: scale(2.0); /* 2倍に拡大 */ } ん??? なんと、拡大すると左上が隠れてしまうよ・・・ そうか、じゃあ translate() で移動しようという考えがチラホラ。。。 でも、どのくらい移動していいかわからないし、やり方が野暮ったいよねぇ。 で、さらに調べ見ると MDNにtransform-origin というそれっぽいプロパティを発見!! .css body{ transform-origin: 0 0; transform: scale(2.0); /* 2倍に拡大 */ } はい、これで無事に拡大できました。 めでたし、めでたし。。。 ふんどしの持ち主 MDN