tomokiの備忘録

ITに関する簡単な備忘録です

Raspberry Pi 2 Model BとSlackでエアコンを操作してみる

今回の内容

Slackでメッセージを送ると赤外線送信モジュールからピーって赤外線が出てエアコンのオンオフができる

「操作してみる」と書きましたが主な内容は自分が困った箇所の解決策です。

参考サイト

qiita.com

 

 

こちらのサイトを参考にさせていただきました。使用したものも全て同じです。

Raspberry Piは2 Model BでOSはRASPBIANのVersion:January 2017です。

 

困ったところ

""の有無
{text:"LEDを点滅させました!"}

 と書いてある項目があるが

{"text":"LEDを点滅させました!"}

 にしないとSlackからメッセージが返ってこなかった事。

Outgoing Webhooks | Slack

 

記事が書かれてから少し経っているので変更点がある
$ sudo modprobe lirc-rpi gpio_in_pin=24 gpio_out_pin=25

 のコマンドが通らず

$sudo vi /boot/config.txt

dtoverlay=lirc-rpi,gpio_in_pin=24,gpio_out_pin=25

 で行うことができた。

 

記事が書かれてから少し経っているので変更点がある2
$ sudo mount -t debugfs debugfs /sys/kernel/debug
$ sudo cat /sys/kernel/debug/gpio

を行なってもGPIOのアサインがデフォルトから変更されず困った。結局表示は変えることができなかったがなぜかそのままでうまくいった。調べるとDevice Treeの設定をOFFにすることでこのバグ?は出なくなるらしいのだがそれもこの記事を書いた時点で設定項目に見当たらず解決することができなかった。

 

PHPの知識不足
<?php
if (preg_match('オン', $_POST['text'])):

 このpreg_matchの中のオン、オフの前後に「/」を付けないと動かなかった。PHPに関しては全くの素人なので正規表現について勉強したいと思います。現状部分一致でしか判断ができていないので完全一致の方法が知りたい。

 

感想

参考にさせていただいた記事が公開され、1年半ほどだが変更点が多く大変でした。

f:id:tomokiit:20170216234355j:plain