Now loading 1544c8154865e974687e05a2703788a6d415f3e5c181be0be97ab96353a790ac

みんなの生活!

  1. Rspi 8effb12242ab3a07ebd8595eebe4f7715d26df5d75a6b9683fc8ac3d6511ff94
    Odenn ステータス:生活

    MusicBoxなるものをラズパイで作る計...

    続きを見る

    MusicBoxなるものをラズパイで作る計画2

    現在の進捗状況

    • raspberry pi noobsのOSインストール済み
    • apache2サーバーは構築済み
    • スピーカーは設定済み
    • guiの起動をしないように設定済み(パフォーマンス向上)
    • youtube-dl インストール済み(youtubeやsoundcloudからストリーミング再生するため)
    • mplayer インストール済み

    CUIでスピーカーの音量を設定するには

    $ sudo amixer cset numid=1 90%
    のように%で指定できる
    現在は自分の好きな藤原さくらの楽曲しか再生できないためクローラでも作って選択機能を作るつもり。

    youtube-dl インストール方法

    $ sudo apt install youtube-dl
    

    apt で入ってる youtube-dl は古いので

    sudo youtube-dl -U 
    

    で、アップデートするといいです。
    自分の場合はpipでアップデートしました

    $ sudo pip install -U youtube-dl
    

    また、グローバルではなく、ユーザー空間にインストールしてもいいでしょう。

    自分の環境のラズパイでの基本的な使い方としては

    $ youtube-dl '===URL===' - o - | mplayer - -novideo
    

    で音声のみで良いので引数に -novideoを指定したりしました!

    今日はここまで!

    続く



    8ヶ月前の投稿です。
  2. Rspi 8effb12242ab3a07ebd8595eebe4f7715d26df5d75a6b9683fc8ac3d6511ff94
    Odenn ステータス:生活

    MusicBoxなるものをラズパイで...

    続きを見る

    MusicBoxなるものをラズパイで作る計画

    現在ラズパイでエアコン操作をしているのだがそれだけでは勿体無く感じているので
    YouTube-dlでも使ってMusicBoxのようなものが作れないか計画している

    とりあえずエアコン操作用に立ち上げたapacheを利用して
    藤原さくらの曲をsoundcloudから流すことに成功した!

    普通に検索して選択して流せるような機能を作りたいので
    その機能を目標にする!
    続く



    8ヶ月前の投稿です。
  3. Rspi 8effb12242ab3a07ebd8595eebe4f7715d26df5d75a6b9683fc8ac3d6511ff94
    Kazuya ステータス:生活

    自分の部屋の暖房の赤外線リモコンを...

    続きを見る

    自分の部屋の暖房の赤外線リモコンを携帯で操作する計画2!

    前回からraspberry pi 3を使って部屋のエアコンと電気を携帯電話から操作することを頑張っていましたがLIRCに苦戦しながらも達成することができたのでメモとして残しておく。

    LIRCを使ってリモコンのコードを解析した!
    まずLIRCのインストール

    $ sudo apt install lirc
    

    でオッケー
    次にLIRCの設定
    検索で出てくる他のラズパイ記事で「LIRCはあきらめましょう」とか謎の投稿が多々あるのでビビっていたのですがここの設定をきちんとすればうまく行きました!
    なんどか私もこの段階で失敗していたので、、、笑

    まずこのコマンドを実行

    cp /etc/lirc/hardware.conf ~/hardware.conf
    sed -i -e "s/LIRCD_ARGS=\"\"/LIRCD_ARGS=\"--uinput\"/g" ~/hardware.conf
    sed -i -e "s/DRIVER=\"UNCONFIGURED\"/DRIVER=\"default\"/g" ~/hardware.conf
    sed -i -e "s/DEVICE=\"\"/DEVICE=\"\/dev\/lirc0\"/g" ~/hardware.conf
    sed -i -e "s/MODULES=\"\"/MODULES=\"lirc_rpi\"/g" ~/hardware.conf
    cat ~/hardware.conf
    sudo mv /etc/lirc/hardware.conf /etc/lirc/hardware.conf.bak
    sudo cp ~/hardware.conf /etc/lirc/hardware.conf
    

    次にピンの指定です
    /boot/config.txt
    に次のコードを末尾に入力!

    # IR-Remote controller
    dtoverlay=lirc-rpi
    dtparam=gpio_in_pin=24
    dtparam=gpio_out_pin=25
    
    

    で一旦再起動します!
    私のリモコンでは半自動で生成してくれる$ irrecordというLIRCのコマンドが使用不能でした、、
    ですので手動で作っていきたいと思います。

    ##信号解析

    $ mode2 -d /dev/lirc0 | tee AIRON
    space 4898472
    pulse 3516
    space 1710
    pulse 460
    space 404
    pulse 457
    space 1278
    pulse 457
    space 406
    pulse 457
    space 405
    pulse 458
    space 404
    pulse 448
    space 414
    
    $ mode2 -d /dev/lirc0 | tee AIROFF
    ===以下略===
    

    カレントディレクトリに、"AIRON" "AIROFF"というファイルができる。これらを数値のみのデータに変換し、/etc/lirc/lircd.confに書き込む。

    さて変換ですがみんな大好き(私も大好き)Rubyでの変換プログラムを見つけたので拝借

    # parse_pulse.rb
    lines =  File.open(ARGV[0]).readlines
    lines_without_first = lines.slice(1..-1)
    puts lines_without_first.map{|line|line.split(" ")[1]}.join(" ")
    
    $ ruby parse_pulse.rb AIRON
    $ ruby parse_pulse.rb AIROFF
    

    さていよいよLIRC設定ファイル作成です
    /etc/lirc/lircd.conf
    に以下の内容を記述してください

    begin remote
    
      name  room
      flags RAW_CODES
      eps            30
      aeps          100
    
      gap          200000
      toggle_bit_mask 0x0
    
          begin raw_codes
        name hot_on
    # AIR_ONの中身
    3483 1748 423 492 370 1307 428 493 370 472 391 491 371 492 369
    492 370 493 369 493 375 487 369 493 370 492 369 493 369 1315 422
    491 370 493 369 494 367 495 368 493 368 494 368 500 362 1314 420
    1368 368 1314 423 495 366 497 367 1319 413 497 366 497 368 442
    418 497 365 496 366 496 368 494 366 496 366 496 374 487 367 497
    ……
    
        name off
    # AIR_OFFの中身
    3476 1747 421 468 394 1319 417 466 396 466 395 492 371 466 394
    472 392 467 395 467 395 466 395 470 393 467 395 492 371 1338 398
    466 395 469 393 469 395 467 394 468 394 470 392 469 393 1321 416
    1325 411 1338 401 489 369 494 368 1323 414 468 392 494 369 467
    395 468 394 468 394 493 369 467 395 493 370 468 394 492 369 467
    ……
    
          name cold_on
    ===以下略===
          name light_on
    ===以下略===
          name light_off
    ===以下略===
    
          end raw_codes
    
    end remote
    

    ここで注意なのですが必ず変換したコードを八十行ほどで改行してください
    この作業をめんどくさくて飛ばしていた私は後にハマりまくってます笑

    あとはirsendで信号を送信するだけ

    $ irsend LIST "" ""
    irsend: room
    
    $ irsend LIST room ""
    irsend: 0000000000000001 hot_on
    irsend: 0000000000000002 off
    irsend: 0000000000000003 light_on
    irsend: 0000000000000004 light_off
    
    $ irsend SEND_ONCE room hot_on
    

    これでうまく送信できました!
    私の場合上の設定で手抜きした箇所やピンを間違えていたりなど
    ハマりましたが最後にはうまく動いてくれました!

    さてわざわざこのコマンドを打たないと操作できないのも不愉快ですので笑
    とりあえずshでコマンドを単純化!
    allon.sh
    alloff.sh
    のファイルを作成中身は

    irsend SEND_ONCE room hot_on
    irsend SEND_ONCE room light_on
    
    

    という具合にファイルを作成
    でとりあえず以下のコマンドで実行できるようになります

    $ sh allon.sh
    

    でもまだまだめんどくさい笑
    なので

    $ sudo apt-get install apache2
    $ sudo apt-get install php5
    $ sudo update-rc.d apache2 defaults #起動時にapacheが自動で立ち上がるように設定
    

    でweb経由で操作できるようにサーバーを建てた笑
    以下
    /var/www/html
    の中の記述内容です
    ファイルの書き込みはsudoが必要です

    $ sudo vim index.html
    

    以下の内容を記述

    <!DOCTYPE html>
    <html lang="ja">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>MyRoomController</title>
        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
        <link rel="apple-touch-icon" href="images/mook_house.jpg"/>
        <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
          <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
      </head>
      <body>
        <div class="jumbotron">
         <div class="well">
          <h1>Wellcom to My Room Controller!</h1>
          <a class="center btn btn-success" href="http://XX.XX.XX.XX/allon.php">MyRoomを起動する。</a>
    <br />
    <br />
          <a class="center btn  btn-primary" href="http://XX.XX.XX.XX/alloff.php">MyRoomをスリープする。</a>
    <br />
    <br />
          <a class="cebter btn btn-default" href="http://XX.XX.XX.XX/lightoff.php">MyRoomの電気を消灯する。</a>
         </div>
        </div>
      </body>
    </html>
    
    

    XX.XX.XX.XXの部分はラズパイのIPアドレスを!

    次にコマンド実行ページを作成

    $ sudo vim allon.php
    
    <?php exec('sudo sh /var/pi/allon.sh'); ?>
    <h1>MyRoomを起動しました。</h1>
    

    この記述で
    sudo sh /var/pi/allon.sh
    とありますがそのコードの通り先ほど作ったsh実行ファイルを
    /var/piに置く必要があります

    $ sudo mkdir /var/pi
    

    それからさっき作ったファイルをこのディレクトリに移動しておいてください!

    お疲れ様です!これでボタンひとつでコントロールできるようになりました!
    これを作ったおかげで私はとても幸せな生活を送れています笑!

    raspberry pi はすばらしい


    Screenshot from 2017 02 16 02 25 44
    8ヶ月前の投稿です。
  4. Rspi 8effb12242ab3a07ebd8595eebe4f7715d26df5d75a6b9683fc8ac3d6511ff94
    Kazuya ステータス:生活

    GitLabをラズパイで動かそう!

    ...

    続きを見る

    GitLabをラズパイで動かそう!

    今回ラズパイで作ったGit serverをもう一度作る機会があったのでいろいろ備忘録として記録する。
    GitLabはLinuxしか対応していないので、Linuxサーバーを立ち上げる必要があるがラズパイでも動くのは素晴らしい、、

    今回使用したもの。

    • raspberry pi 3 model B
    • 16ギガのmicro SD
    • 引き出しに眠っていたTOSHIBA製のHDD(500G)

    ぐらいであろうか。

    ssh 設定

    鍵認証でsshできるようにしたかったので、SSHの鍵認証設定 - Qiita を見て鍵認証に設定変更。
    http://qiita.com/gotohiro55/items/36a22516de2b381b3c6e

    diskサイズの確保

    discサイズが8ギガでもギリギリとなるためいらないパッケージはパージ

    $ sudo apt-get purge wolfram-engine libreoffice-core libreoffice-common
    
    

    raspi-configというコマンドがあるらしく、ブログ記載のとおりに実行すると内部でパーティション拡張のスクリプトが走るらしく再起動で無事に拡張できました。
    http://yamaryu0508.hatenablog.com/entry/2015/02/03/070000

    GUIのオフ

    Raspberry PiのGUIを利用しないのであれば、GUIをオフにしたほうが少しメモリの使用量が減りました!

    gitlabのインストール

    gitlabのページで、Raspbian OS向けのパッケージが配布されています。(Raspberry Pi 2向けのようだけど、いまのところRaspberry Pi 3でも特に問題なく動いている。)
    https://about.gitlab.com/downloads/#raspberrypi2

    $ sudo apt-get install curl openssh-server ca-certificates postfix apt-transport-https
    curl https://packages.gitlab.com/gpg.key | sudo apt-key add -
    
    
    $ sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/script.deb.sh | sudo bash
    
    $ sudo apt-get install gitlab-ce
    
    
    $ sudo gitlab-ctl reconfigure
    
    

    と実行していけばうまく行きます
    あとは、ラズパイのIPアドレスをブラウザに入力

    http://XX.X.XX.XX/ => XはIPアドレス
    
    

    でアクセスできます!
    今日はここまで!
    次回はHDD接続について書きたいと思います!


    Screenshot from 2017 02 13 23 24 32
    8ヶ月前の投稿です。
  5. Rspi 8effb12242ab3a07ebd8595eebe4f7715d26df5d75a6b9683fc8ac3d6511ff94
    Kazuya ステータス:生活

    ラズパイでエアコンリモコン製作中!

    続きを見る

    ラズパイでエアコンリモコン製作中!


    Img 3195
    8ヶ月前の投稿です。
  6. Rspi 8effb12242ab3a07ebd8595eebe4f7715d26df5d75a6b9683fc8ac3d6511ff94
    Kazuya ステータス:生活

    自分の部屋の暖房の赤外線リモコンを携...

    続きを見る

    自分の部屋の暖房の赤外線リモコンを携帯で操作する計画!

    Slack経由で家の外からエアコンをon, offできるという情報を手に入れたので計画したい!
    http://qiita.com/KAKY/items/55e6c54fa2073cdc0bbe
    用意するものは
    * ラズパイ3モデル
    * 5mm赤外線LED OSI5FU5111c-40
    * 赤外線リモコン受信モジュール PL-IRM2161-XD1
    * LEDキャップ OS-CAP-5MK-1
    * 抵抗 (50Ωくらい)

    さて入手できたら、

    Apache, phpのインストール

    $ sudo apt-get install apache2
    $ sudo apt-get install php5
    $ sudo update-rc.d apache2 defaults #起動時にapacheが自動で立ち上がるように設定
    

    インストール直後は、/var/wwwがドキュメントルート
    では、準備ができたので
    slackから通信を受け取り、LEDを光らせてみる!
    プログラムは以下

    echo 2 > /sys/class/gpio/export #「GPIO2」を使う
    sleep 1
    echo out > /sys/class/gpio/gpio2/direction #「GPIO2」を出力用に使う
    
    echo 1 > /sys/class/gpio/gpio2/value #点灯
    sleep 1                              #1秒休む
    echo 0 > /sys/class/gpio/gpio2/value #消灯
    sleep 1
    echo 1 > /sys/class/gpio/gpio2/value
    sleep 1
    echo 0 > /sys/class/gpio/gpio2/value
    sleep 1
    echo 1 > /sys/class/gpio/gpio2/value
    sleep 1
    echo 0 > /sys/class/gpio/gpio2/value
    
    echo 2 > /sys/class/gpio/unexport #「GPIO2」の使用を終了
    

    ほんで外部からのアクセスは以下のコードで

    <?php exec('sudo sh /var/pi/blink.sh'); ?>
    LEDを点滅させました!
    

    でオッケー
    あとsudo権限を追加(visudoにて)

    www-data ALL=NOPASSWD:/bin/sh #この行を追加
    

    slackからメッセージを受けるとLEDが点滅する

    ついにslackとの連携です。
    今回は、slackから提供されている「Outgoing WebHooks」というAPIを使用

    https://slack.com/services/new
    にアクセスし、「Outgoing WebHooks」を選択し、指示に従って設定
    POST先のURLは、Raspberry PiのパブリックIPアドレスにすればよい

    「Outgoing WebHooks」APIでは、POSTアクセスのレスポンスに、

    response
    {text:"@message@"}
    というjsonデータを返してやると、@message@の部分がslack側に表示されます。
    なので、以下のように/var/www/index.phpファイルを書き換えてやりましょう。

    <?php exec('sudo sh /var/pi/blink.sh'); ?>
    {text:"LEDを点滅させました!"}
    

    すると、slackからのアクセスでLEDが点滅させると、slack上に「LEDを点滅させました!」というメッセージが表示される。
    ここまでで、slackにメッセージを投下することで、Raspberry Pi上のスクリプトやコマンドを実行できるようになりました。
    今日はここまで!つづく


    466fb0bd a137 ea60 db79 f18efdc077d9
    8ヶ月前の投稿です。
  7. Rspi 8effb12242ab3a07ebd8595eebe4f7715d26df5d75a6b9683fc8ac3d6511ff94
    raspi作品紹介 ステータス:生活

    LAL(Light AI Lab)さんより...

    続きを見る

    LAL(Light AI Lab)さんより、
    かつての人工知能用の言語、PrologとISLispを自作したものをラズパイで動作するようにし、軽めの組込みエディタやwiringPiを組み込んだりしています。Pythonもお気に入りで素晴らしいのですが、かつてのLispやPrologのことも子供たちに使われてほしいと思っています。下記にてラズパイ用の実行ファイルを公開しております。よろしければどうぞ。
    アドレス https://t.co/Igg59j85hr
    Plolog https://t.co/Uer6vPXreC


    C4grn exaaadsdd
    8ヶ月前の投稿です。
  8. Rspi 8effb12242ab3a07ebd8595eebe4f7715d26df5d75a6b9683fc8ac3d6511ff94
    Kazuya ステータス:生活

    ラズパイでGitサーバ構築しました!
    G...

    続きを見る

    ラズパイでGitサーバ構築しました!
    Gitlabをラズパイに入れてます!


    Img 3169
    8ヶ月前の投稿です。