DreamerDreamのブログ

夢想家の夢です。

RaspberryPi

Raspbianの"sudo alsamixer"が通らない場合

古いWheezyのプログラムをJessieへ移行しようとしていたところ、大問題が発生した。 音声出力をさせるプログラムなので、音量調節、オーディオ再生のチェックの後、Piにおしゃべりさせる。という順で簡単に考えていたのだが 過去記事 dreamerdream.hateblo.j…

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データを保存しておき、…

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

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

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

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

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

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

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がいつの間にか切断されている。という事態に見舞われることがある。 頻繁に無くても年に一度でもこういう事態に陥ると気が付かないまま数日過ごしてし…

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

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

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

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

いきなりRaspberryPi Aやzeroを購入しても使えるのか

AやA+やzeroタイプは省スペース省エネ設定の最小構成でLAN端子等が省かれています。そこで、最小設計のAタイプを最初に購入して使えるのか?という疑問にお答えします。 まず、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でオレオレ証明書を発行してSSL通信する。

https://〜で取得されるウェブページはSSL接続といってセキュアな通信が保障されている。 httpsプロトコルを利用すると 認証局から安全なサイトであるという信頼を得ている 暗号化通信を行うのでハッキングの被害に遭いにくい ということが保障されて通信さ…

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

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

5VのセンサーモジュールをRaspberryPiのGPIOに接続する

RaspberryPiのGPIOは3.3V入出力だから5V印可すると壊れる。 一番良いのはもともと3.3Vのモジュールを使うのが吉。 (黄色がマイコン) だが、手元に3.3V駆動のセンサが無い場合もあるので5V駆動の人感センサーや赤外線受光モジュールの接続方法を書いておく…

RaspberryPiにスイッチを付ける

RaspberryPiには便利なGPIO入出力端子が付いている。 マイコンでは「入出力ポート」と呼ばれ、パソコンからのLAN接続で設定するポートとは違いマイコンから出ている物理的な足(端子)のことを指す。 マイコンにも種類が沢山ありポートの役割はマイコンによ…

RaspberryPiでCPUファンの回転数を制御する

始めに、 電圧のアナログ的に制御をデジタルで表現するために高速でON-OFFの切り換えをして行う制御方法を「PWM制御」と言う。 今回はそのPWM制御をするという話。ラズベリーパイの夏対策としてもファン制御はおさえておきたい項目だろう。 RaspberryPiをし…

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

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

RaspberryPiで基本のLチカ!

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/ 任意…