読者です 読者をやめる 読者になる 読者になる

DreamerDreamのブログ

夢想家の夢です。

SSHポートフォワードの使い方

SSHポートフォワードとかSSHトンネリングとか言ったりするらしいが閉鎖された環境のPCの同ネットワーク内にSSHログイン出来るPCがあるならSSH接続の中を通ってアクセスできるというものだ。 以下の環境を説明する。 今、自分(user)は外出先からメインPCを…

RaspbianにSSH接続する

古いRaspbian(Wheezy)のシステムを最新のイメージ(Jessy)で再構築しようとしたらSSH接続が出来なかった。 ダウンロードしたのは RASPBIAN JESSIE LITE www.raspberrypi.org Raspbianの最小イメージで、展開してSDカードに焼き込んで有線LANに繫ぎ、リモ…

3DプリンターをOctoPiで制御し、Webブラウザで設定や監視が出来るようにする

3Dプリンターは通常のインクジェットプリンタと違いプリントスピードが遅い! 数時間〜時には数十時間かかるものもある。 なので直接パソコンと繋いで動作させているとその間パソコンの電源を落とす事は出来ない。 SDカードにG-codeデータを保存しておき、…

PythonでTwitterAPIを使って投稿する

まず、TwitterAPIを使って投稿するのに参考にさせていただいた記事内に「OAuth認証はややこしいので凡人はライブラリを使う」と書いてあるので僕もpipを利用してインストールしたのが前回の記事 dreamerdream.hateblo.jp 「基本はHTTP Requestを送ってJSONを…

RaspberryPiからTwitterへ投稿する

以前、RaspberryPiもPythonも弄ってない状態のときに興味でJavaから「Twitter4J」というライブラリを利用してTweetすることに成功したものの、「あ、出来るんだー」という感想だけで終っていた。 twitterを少し活用しようかと思い、今回はRaspberryPiからPyt…

RaspberryPiでモニタースリープ時にHDMIの出力をOFFにする(HDMI出力先によるらしい)

以前、モニタースリープ時に/dev/shm/へモニタースリープ状態を書き出す方法を紹介した。 PiTFTでスリープ時にバックライトが消えないがHDMI出力も同じように画面が真っ暗になるだけでモニタの電源は消えない。 なので今回はHDMIへの出力をOFFにするようにす…

PiTFTのバックライトを画面スリープと同時に消す

以前に書いたPiTFTのバックライトがスリープ時にも消えない。 dreamerdream.hateblo.jp このままでも使えるんだけどもLEDの寿命と発熱の問題が出てきそうなのでスリープと同時にバックライトを消すスクリプトを書いた。 Raspbianで画面スリープを検知する方…

Raspbianでモニタースリープ状態を出力する

RaspbianでHDMI出力をしていると操作をしないとモニタがスリープ状態(真っ黒画面)になる。 そこまでは良いのだがモニタのバックライトは点灯しっぱなしだ。 PiTFTというモニタを手に入れたのでこのスリープ時にバックライトを何とか消したいと思った。 dre…

全角文字、記号を濃度別に分けてみた

Javaのchar型、for(int i = 12354 ; i< 40892 ; i++)で取得出来る全角文字を濃度別で分けてみた。 すごい量だからコピペだけでもかなり時間がかかった。 ブラウザでキチンと表示できるかは不明。 1,ㆍ,4,゚,゜,5,゙,゛,・,6,ヽ,丶,8,ㅢ,ㇸ,丷,9,ゝ,ー,ㄧ,ㅡ,…

LinuxへEclipseをインストールして日本語化

最近のLinuxはスゴイ! Eclipseのインストールがあまりに簡単すぎで驚いた。 WindowsやMacへEclipseをインストールする場合、Eclipseのサイトから該当するファイルをダウンロードしてきて展開し、環境変数を触ってパスを通したり任意の展開場所を指定したり…

RaspberryPiのシステム用SDカードをバックアップ&復元する

MacからRaspberryPi用のSDカードのバックアップを取るにはターミナルからddコマンドを打てばよい。 バックアップ手順 diskutilを利用してsdカードの場所を確認する diskutil list /dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *320.1 …

Apacheの.htaccessを利用しプロキシ経由のアクセスをブロックするPythonコードを作ってみた

Apacheのログを観察しているとプロキシ経由での不正なアクセスが目立つ。 なのでApacheのアクセス制限を利用してプロキシ経由でのアクセスを予めシャットアウト出来ないかと考えた。 まずは普通にIPアドレス制限の方法(以下sampleは任意のディレクトリ若し…

Wi-Fiが繋がらなくなったら自動的にシステムを再起動させる

RaspberryPiのTypeAをWi--Fiドングル接続してサーバーとして運用していると思わぬトラブルによってWi-Fiがいつの間にか切断されている。という事態に見舞われることがある。 頻繁に無くても年に一度でもこういう事態に陥ると気が付かないまま数日過ごしてし…

LINEスタンプを作ってみた

ふとLINEスタンプを作ってみたくなった。 いろいろすべき事があるけれど、作ってみたくなったという衝動は抑えられない。友達との予定をキャンセルしてまで没頭してしまった。 LINEスタンプガイドラインによると creator.line.me すべてPNG形式 サイズは、横…

RaspberryPiを自宅サーバーにするためにーディレクトリ内部を表示させないー

ディレクトリを指定してアクセスされた時にディレクトリ内部を表示したくない。 セキュリティ上よろしくない。 そんなときはディレクトリ内を表示しないように設定出来る。 cd /etc/apache2 で移動して sudo nano apache2.conf で編集 Options Indexes Follo…

RaspberryPiを自宅サーバーにするためにーWebページエラーでApacheバージョン等を表示させないー

Webサーバーで存在しないファイルへアクセスされた場合、「404 Not Found」が表示される。 しかし、デフォルトのままではメッセージの下にサーバのバージョンが表示される。 このままではRaspbianで動いているのでRaspberryPiサーバだとバレバレになるのでダ…

PythonでOpenCVを使ってWebサーバからのリクエストでUSBカメラから画像キャプチャ保存

こちらのブログを参考にOpenCVをインストールしてみた。 はんだ日和: Raspberry Pi にOpenCV をインストール いろんなサイトでOpenCVをインストールするのはかなり骨の折れる作業だと書いてあるんですが、こちらのサイトの「②の方法」だとあっという間にイン…

Apacheにsudo実行権の追加

Apacheからpythonを介してGPIO操作するにはsudo実行権が必要なようなのでApacheにsudo権を与える事にした。 実行権の変更はvisudoコマンド sudo visudo ここでユーザーごとに実行できるコマンドを指定する事が出来ます。 www-data ALL=(ALL) NOPASSWD: ALL …

BottleとApache2を連携させる。

BottleとApacheとの連携には「アダプタ」というものが必要らしい。 アダプタとはWSGIというWEBサーバの共通インターフェースとかいうものらしいが詳しくは良くわからない。 とにかくWSGIをいうものをインストールしてApacheにモジュール登録しないといけない…

Pyhtonの軽量フレームワークBottleを使う

無料WEB構築として有名なのにLAMPというものが昔からあり、 Linux + Apache + MySQL + PHP で構成されるものを言うらしい。 PHPでなくせっかく覚えたPythonを使いたいぞ! ということでPythonでWebページを構築できる軽量WebフレームワークBottleというもの…

Pythonコードをデーモン化する(Systemdとinit.dの違い)

プログラムを書いたらやはり「システム起動時に自動的に実行」ということがしたくなる。 // Amazon.co.jp ウィジェット pythonの場合、プログラム自体はシェルから python sample.py とすると実行できるが、実行中は他の作業が出来ない。 ctrl+zで一時停止さ…

RaspberryPiで赤外線リモコンの送受信

エアコンの制御をしようと思いたち、調べてみるとRaspberryPiを学習リモコンとして使う場合、「LIRC」というアプリを使うのが一般的で使っている人も多いようだが、どういうわけか僕の環境ではどうもうまく動作しなかった。 LIRCは64ビットコードまでしか動…

RaspberryPiのSwapを無効にする

SDカードには寿命があるらしい。 SDカードに限らずUSBメモリとか「フラッシュメモリ」と呼ばれるものには書き換え寿命というものが存在する。その他に長い間放置していてもデータが読み出せなくなる。最近主流のSSDも同じらしい。(SLC型とかMLC型とかあるそ…

SSH接続でファイルやディレクトリを送受信する

SSH接続でファイルやディレクトリをやりとりするにはscpコマンドを使う。 基本的な受け取りは scp [ユーザー]@[リモートアドレス]:[リモートディレクトリ] [ローカルディレクトリ] という記述方法。 sshポートを変更している場合は-Pオプション(-pでなく-P…

RaspberryPiに温度センサーを付ける

僕が選んだのはRaspberryPiでの接続例の多い1-Wire接続のDS18B20 参考にさせて頂いたページ Raspberry Piブログ : [コラム] 第9回『1-wire温度センサーで部屋の温度を測定しよう』 RaspberryPi - Raspberry Piで1-Wireデジタル温度センサのDS18B20を使う - Q…

RaspberryPiでCPUファンをPWM制御する

RaspberryPiをしばらく使っているとWi-Fiが不安定で繋がらなくなることがしばしば発生した。 どうやらWi-FiドングルからUSB端子を介して本体が熱くなっている様子。 調べてみると熱が原因で動作不良になることは報告がよくあり、特にケースに入れた状態での…

自作アプリのログをメールで自動送信

僕のRaspberryyPiはSDカードのアクセスを減らす為に/dev/shm領域へ自作アプリのログを残すようにしている。30秒毎に読み出すCPU温度のログなんてSDカードに書き込んでたらすぐカードがダメになっちゃいそうなのでこのような方式にした。 しかしこの場所は…

MacBook-HDD交換してTimeCapsuleからシステムを復元

愛用のMacBookのHDD音が大きくなってきたのでHDDを交換することにした。 SSDかHDDか迷ったが6年目に突入しているしSSDにしてもこの先何年使えるかな?というのとHDDで十分軽快に使えているのでHDDで良いという方向にした。 5年経っても起動時間とかブラウ…

RaspberryPiでLEDを点灯させる

RaspberryPiは自由に入出力可能なGPIOを搭載しているコンピュータである。 GPIOの基本の基本、LED点灯するpythonコードを書いてみた。 ちなみにGPIO8に赤LEDを接続することとしてLED_redと変数名を付けている。 -- led_red.py -- #!/usr/bin/python import R…

RaspberryPiを自宅サーバーにするためにーApache2起動ー

WEBサーバーの大御所Apacheをインストール。 sudo apt-get install apache2 Apache2のインストールに失敗したりして全削除したい場合、設定ファイルを含めてやりなおしたい場合のアンインストールコマンド。 sudo apt-get remove --purge apache2 apache2-m…

サーバー停電復旧後にお知らせメールを送る

現在僕のRaspberryPiはエアコンを屋外からhttps接続で操作出来る遠隔リモコンシステムが稼働中だ。 エアコンのみではなくTVやビデオも操作出来るようにしたので屋内からスマホでTVの操作も出来るようにしてある。反応速度は遅いが割と便利に試験運用中だ。 …

ファイル操作用のファイルマネージャーを作った

ファイルの保存と読み出し関数を毎回作るのは面倒なので自分用ファイルマネージャーを作った。 僕が作ったpythonアプリの殆どでこれをimportして使っている。 書き直すのは面倒なのでpythonを弄り始めて間もない頃に書いたpyhton初心者の見苦しいコードだけ…

SSHログイン時に確認メールを送る。

SSH認証でログインした時にメールを送信するようにした。 Linux初心者なんでSSHのパスが割れた時とかもう既に手遅れかもしれないけれどそれでも気が付いたらRaspberryPiの電源ぐらいは抜ける。 Gmail送信コードはこちら RaspberryPiからGmailを送る - Dreame…

RaspberryPiからGmailを送る

こちらのサイトを参考というかほぼコピペなんだけど、 [Python]Gmailで簡単にメール送信 日本語文字化け対策とimportして他のpythonプログラムから利用出来るようにした。 -- gmail.py -- #!/usr/bin/python # -*- coding: utf-8 -*- """ Gmail Gmailで簡単…

RaspberryPiにしゃべらせる

じゃべらせるにはなにはともあれ音が出なければダメなのでスピーカー又はイヤホンを接続してから音量設定。 sudo alsamixer カーソル上下で設定してexitキーで終了。 HDMIを使用している場合、音声の出力先もHDMIが選択され、音が鳴らない場合があるのでイヤ…

RaspberryPiを自宅サーバーにするためにー独自ドメインの取得とDinamicDNS設定ー

アドレスに特にこだわりが無ければ無料のドメインサービスでアドレス取得しても良いんだけど.comや.jpドメインは有料で取得する必要があるので、僕はムームードメインでドメイン取得した。 muumuu-domain.com 取得したいドメインを検索してそのまま取得出来…

RsapberryPi-初期設定-

Linux初心者がラズベリーパイをしばらく弄ってみたので個人用備忘録として少しずつ纏めてみる。 エディタはnanoを使用。 OSインストール(Macから) 公式から最新バージョンのOSをダウンロード(Raspbianを選択)http://www.raspberrypi.org/downloads/ 任意…