赤外線リモコン Alexa (公開)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*アレクサとスマホで赤外線リモコンを作る。2020.3.20 更新 [...
2020.3.21 大学のネットワークで同じことをしたが、デバイス...
セキュリティの関係で、Wifiルーターが SSDP/UPnP を無効...
(大学のネットワークではうまくいかない。自宅では正常に動...
原因は、Wifi ルータの dhcp が、10.*.*.* network で、かつ...
と同じでないから。10.*.*.* の固定IPに変更予定(Covidの関...
2023.8.10 Ver. 4.0 スマホの接続を変えたら、設定が全てなく...
2020.3.13 ver 3.00 alexa-local を node-red-contrib-amazon...
2019.6.12 ver 2.00 kernel を新しくすると動かなくなった問...
2019.5.4 ver 1.01 by R. Saito
#contents
このページは、赤外線(波長940nm)リモコンを
(1)アマゾンエコードット(音声)と
(2)Webページで操作する設定方法の記録です。
すでにWeb 上にいっぱいある情報を収集しただけです。多くの...
すでになくなっているものもあります。
しかし、情報が正確でないものが多く、また、多くの人にとっ...
方法ではありません。
ですが、動作はしていますので、まとめたものが必要だと思い...
すべてを実行するのに、2ヶ月ぐらいかかりました。またお金...
大変でしたが、勉強になりました。もっとスマートにできれば...
* 2020.3.20 までの現状のまとめ。 [#bfd38f12]
echo dot + node red または Web page から LED シーリング...
使用しているのは raspberry pi zero wh + amzon echo dot +...
* 2020.3.20 現在動作しているが、困難であった点のまとめ(...
市販赤外ボードは赤外線の強度が弱い → 自作ボードによって...
lircd (irsend) が現状の raspberry OS で使えない。 → 古...
https://raspibb2.blogspot.com/2019/06/kernel-419raspbian-...
(新しいOSでもlircd を再構築すると動くらしい。まだ試してい...
node-red で uk のサーバーだと遅い → node-red-contrib-am...
node-red-contrib-amazon-echoでデバイスが認識できない → ...
node-red-contrib-amazon-echo と apache2 が port 80 を競...
一部のリモコンの信号が認識できない → mode2 コマンドを利用
raspberry pi zero が、数日利用で固まってしまう。→ GUIを...
これ以外の対応は多く紹介されているけど、上の条件を同時に...
下記は時系列の対応です。
2020. 3. 17 alexa-local が使えなくなっていた(echo dot の...
2019.6.11 1ヶ月以上安定して動いていたのが突然動かなくなり...
2019.4.30 正しく動作しています。忘れないうちに、記録しま...
情報の整備は、まだ完了していません。少しずつ記録します。
* 2020.3 月現在で、こんなものがあったら良いと思うもの(メ...
lirc を使わないで、raspberry pi の GPIO を直接操作。(...
(2020.3.20 下記Webページ発見。lircd を作り直す。新しいO...
→ https://raspibb2.blogspot.com/2019/06/kernel-419rasp...
→ http://yueno.net/xoops/modules/xpwiki/?PC%2FRaspberr...
→ wiringPi がある。https://tool-lab.com/raspi-gpio-con...
c コマンドで GPIO port に赤外線の情報を流せばよい。irese...
irsend.c scanir.c が現在入手できない(どなたかお持ちのか...
node-red 上から exec を使わないで、直接 GPIO を動作し...
Bluetooth 機器で赤外線の信号を出す装置。
*方針 (詳細は、後で記述)[#p5f41895]
赤外線の動作は、Raspberry Pi zero WH で行う。(消費電力0....
赤外線のコマンドは irsend を使う。このため irsend が使...
kernel 4.14.98 を用いる。そうでないと lirc-dev が動作し...
(将来の課題として irsend を使わないで実行したい。)
実際に使う赤外線のコントローラーは自作する。(赤外線LEDの...
アマゾンエコーとの接続は Node-red を使う。(設計が簡単)
node-red-contrib-amazon-echo で Echo Dot から デバイス...
Web ページでも赤外線の操作できるようにして、スマホで操作...
apache2 のポートを 80 から8080に変更 (alexa の80と競...
node-red-contrib-alexa-local を使わない。(Alexa Echo Dot...
node-red-alexa-home-skill-bridgeをつかない。(uk のサーバ...
基本的に、local net から使う。外からは、ssh tunnel で接続...
*Raspberry Pi Zero WH の設定。[#r96050da]
Raspberry Pi Zero WH は、消費電力が USB テスターで測定...
動作において全く問題がなく、Wifiが使えるので、電源さえ確...
おけます。スマホの予備バッテリーでも、1ヶ月は充分に動作...
動作させると、移動させて試験するときに便利です。
OSを入れるMicroSDは16GBで少し高速のものを使いました。8GB...
OS kernel 4.14.98 の Rasbian を入れました。”Raspberry p...
Raspberry Pi Zero WH の最初の難関は、USBキーボードとマウ...
のパソコンから遠隔操作が可能になりますので、あまり投資を...
最終的には GUI や X windows を使わない形(すべてコマン...
にしました。
以下必要な作業をメモします(詳細は必要がありましたら、追...
Webで検索可能な内容は省略。すべての作業をするのに3ヶ月か...
OSを16GB SDカードに書き込む。OSのインストール。
WifiのIPアドレスを固定アドレスにする。(ssh や、Web serv...
sudo apt-get update
sudo apt-get upgrade (カーネルのVersion を変えると ir...
sudo rpi-update a08ece3d48c3c40bf1b501772af9933249c11c5b...
sudo apt-get install emacs (emacs:標準のエディターで...
sudo apt-get install real-vnc (パソコン上で Raspberry...
sudo apt-get install npm (Node-red: 仮想的に回路を...
sudo apt-get install apatch2 (Web server)
sudo update-rc.d apache2 defaults (Apatch2 の update)
sudo apt-get install lirc (赤外線を動作させるための...
sudo apt-get install php5 (Web で PHP を実行)
*赤外線リモコン部の作成と試験 [#n7cab80d]
最初は、Raspberry_Pi_IR_Control_Expansion_Board を買って...
https://jp-m.banggood.com/IR-Infrared-Receiver-and-Transm...
https://www.amazon.com/Raspberry-Controller-Transmitter-T...
中国からの輸入で、説明書も全くありませんでしたが、動作し...
説明書を下記Webページからダウンロードして動作するところま...
http://www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_...
説明書どおりですが、説明書の 3.irrecord の部分の部分が...
Raspberry Piで学習リモコン
https://qiita.com/gao_/items/e8394656003f349952d6
を参照するのが良いと思います。
また、すべてのリモコンがirrecord で動きません。あるときは...
http://www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_...
基板は動作をしますが、赤外線LEDが1つしかなく、信号強度も...
そこでLEDの数を増やし、電流も大きくして自作をすることにし...
https://vintagechips.wordpress.com/2013/10/05/%E8%B5%A4%E...
というページの回路をまず、ブレッドボード上で動作を確認し...
部分を3つ並列にしても安定して動作することを確認しまして...
(ブレッドボード配線パターン)Dタイプ 47x36mm を半分にカ...
にハンダ付けして回路を作りました。基盤にピンソケット(メ...
また、トランジスタとLEDは半田を盛る側に取り付けます。最初...
秋月通商で購入したもの、抵抗4.7k(通販コードR-07831)...
その他raspberry pi ブレッドボード配線ができるキットが必要...
お金がかかります。1万円ぐらいは必要になります。趣味とし...
部品は余らしても良いですので、余分に買っておいたほうが安...
http://akizukidenshi.com/catalog/g/gP-08242/
回路の詳細が知りたい場合には、rsaito@flex.phys.tohoku.ac....
* 赤外線をTVリモコンなどから学習する [#c090537a]
赤外線を学習するときは irrecord を使います。
sudo /etc/init.d/lircd stop
irrecord -d /dev/lirc0 tv.conf
Raspberry Piで学習リモコン
https://qiita.com/gao_/items/e8394656003f349952d6
に詳細があります。そこからの、孫コピペです。
1.Enterキーを2回押して、リモコン学習を開始します。
2.学習したいリモコンのボタンを何度も押して学習します。
複数のボタンを学習したい場 合は、学習したいリモコンの
ボタンを何度も押してください。
ボタンを押すたびに「.」が1個表示されるため、
"Please keep on pressing buttons like described above."
と表示されるまで、ボタンを押し続けます。
3."Please keep on pressing buttons like described above."
が表示されたら、10秒間待ちます。
4."Please enter the name for the next button"が表示され...
登録したいボタン名(on, off など)をを入力してEnterを押...
5.登録したいリモコンボタンを押して、登録します。
irrecord では、2.のいろいろなキーを . が2行埋まるまで
入力するというところがあります。その部分が動かない場合に...
後述の方法で解決できます。
でできた conf ファイルを /etc/lirc/lircd.conf に追加す...
sudo /etc/init.d/lircd restart (irsend が使えるようにし...
irsend SEND_ONCE tv on (tv on のコマンドを一回送ります。)
pi@raspberrypi:~ $ cat /etc/lirc/lircd.conf
# Please take the time to finish this file as described in
# https://sourceforge.net/p/lirc-remotes/wiki/Checklist/
# and make it available to others by sending it to
# <lirc@bartelmus.de>
#
# This config file was automatically generated
# using lirc-0.9.4c(default) on Wed Nov 14 07:31:26 2018
# Command line used: -n -d /dev/lirc0 /home/pi/fan.conf
# Kernel version (uname -r): 4.14.79+
#
# Remote name (as of config file): fan
# Brand of remote device, the thing you hold in your hand:
# Remote device model nr:
# Remote device info url:
# Does remote device has a bundled capture device e. g., a
# usb dongle? :
# For bundled USB devices: usb vendor id, product id
# and device string (use dmesg or lsusb):
# Type of device controlled
# (TV, VCR, Audio, DVD, Satellite, Cable, HTPC, ...) :
# Device(s) controlled by this remote:
begin remote
name fan
bits 64
flags SPACE_ENC
eps 30
aeps 100
header 3467 1754
one 429 1313
zero 429 442
ptrail 428
gap 78737
toggle_bit_mask 0x0
frequency 38000
begin codes
jaku 0x40040B210C445032 0x...
kiru 0x40040B210CCC0CE6 0x...
soft 0x40040B210C8450F2 0x...
kyou 0x40040B210C245052 0x...
3h 0x40040B210CC20CE8 0x...
6h 0x40040B210C620C48 0x...
timer1h 0x40040B210C820CA8 0x...
timeroff 0x40040B210C020C28 0x...
end codes
end remote
begin remote
name tvold
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 8988 4484
one 559 1675
zero 559 570
ptrail 559
gap 107670
toggle_bit_mask 0x0
frequency 38000
begin codes
on 0x0CF300FF 0xBEFB0A7C
ch1 0x0CF308F7 0xBEFB0A7C
ch2 0x0CF38877 0xBEFB0A7C
ch3 0x0CF348B7 0xBEFB0A7C
ch4 0x0CF3C837 0xBEFB0A7C
ch5 0x0CF328D7 0xBEFB0A7C
ch8 0x0CF3E817 0xBEFB0A7C
chp 0x0CF39A65 0xBEFB0A7C
chm 0x0CF35AA5 0xBEFB0A7C
otop 0x0CF3906F 0xBEFB0A7C
otom 0x0CF350AF 0xBEFB0A7C
mute 0x0CF3D02F 0xBEFB0A7C
end codes
end remote
以下 begin remote .... end remote で挟まれた部分を追加...
begin remote
name tv
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 8988 4485
one 563 1670
zero 563 568
ptrail 558
repeat 8989 2257
gap 107693
toggle_bit_mask 0x0
frequency 38000
begin codes
ch1 0x0CF308F7 0xBECFA22C
ch2 0x0CF38877 0xBECFA22C
ch3 0x0CF348B7 0xBECFA22C
ch4 0x0CF3C837 0xBECFA22C
ch5 0x0CF328D7 0xBECFA22C
ch6 0x0CF3A857 0xBECFA22C
ch7 0x0CF36897 0xBECFA22C
ch8 0x0CF3E817 0xBECFA22C
ch9 0x0CF318E7 0xBECFA22C
ch10 0x0CF39867 0xBECFA22C
ch11 0x0CF358A7 0xBECFA22C
ch12 0x0CF3D827 0xBECFA22C
on 0x0CF300FF 0xBECFA22C
chp 0x0CF39A65 0xBECFA22C
chm 0x0CF35AA5 0xBECFA22C
otop 0x0CF3906F 0xBECFA22C
otom 0x0CF350AF 0xBECFA22C
mute 0x0CF3D02F 0xBECFA22C
end codes
end remote
# これは Raw-code で学習した例です。
begin remote
name led
flags RAW_CODES
eps 30
aeps 100
gap 10982
begin raw_codes
name mode
1981 1028 5429 1010 1478 532
1448 538 418 577 438 555
417 574 417 579 436 556
441 558 1410 574 439 555
439 554 437 585 385 579
420 575 440 533 1430 584
1429 553 1405 580 441 570
401 578 417 575 439 556
415 578 440 559 444 539
440 558 437 558 417 575
440 549 421 578 439 552
443 536 1432 574 1408 577
439 554 1410 592 1414 559
416 576 1429 560 1408 578
415
name all
2009 1009 5434 1035 1427 561
1409 577 436 558 445 550
440 554 416 576 418 554
467 559 1408 575 464 528
418 577 429 566 417 578
438 551 419 578 1431 563
471 497 460 556 1434 552
449 543 421 578 441 551
417 576 421 581 474 517
438 555 417 577 444 579
412 555 480 512 441 553
441 561 440 550 417 577
1454 532 1412 578 1428 564
436 557 1431 556 1454 539
415
name oyasumi
1941 1039 5424 1017 1432 576
1409 577 416 578 420 577
458 529 445 555 437 557
436 561 1427 556 417 576
439 556 438 552 443 553
416 576 419 575 1458 534
486 505 416 577 417 576
1430 559 416 578 439 553
439 556 416 581 470 519
455 537 443 550 416 577
442 555 438 554 440 554
438 558 472 517 438 561
434 558 449 522 1451 557
439 555 1430 556 1430 560
418
name bright
2012 1007 5428 1037 1456 533
1427 562 416 577 440 554
439 554 418 578 416 578
415 584 1404 577 420 576
416 578 438 558 415 577
440 531 440 578 1452 540
448 543 439 554 439 556
436 558 451 543 439 555
1405 580 441 557 452 539
440 553 420 576 418 577
416 577 453 538 444 553
427 571 448 543 416 577
440 554 1412 578 1453 533
428 566 438 557 1432 537
462
name dark
1979 1038 5432 1008 1452 558
1435 554 443 554 417 577
418 577 416 555 438 558
435 581 1452 516 459 552
420 577 417 579 436 558
439 556 435 554 1437 537
469 555 405 575 419 577
418 577 437 555 418 552
443 577 1455 516 466 544
441 552 421 573 420 557
456 554 443 553 418 577
442 557 474 495 438 578
440 553 1452 515 1456 557
434 539 1430 579 439 554
441
end raw_codes
end remote
赤外線を出すときは、もし tv のリモコンを登録して on とい...
sudo /etc/init.d/lircd restart サービスの開始
irsend LIST "" "" 登録 conf のリスト
irsend LIST tv "" tv として登録された...
irsend SEND_ONCE tv on tv の on のコマンド...
の操作でできます。
pi@raspberrypi:~ $ irsend LIST "" ""
tvold
tv
fan
led
pi@raspberrypi:~ $ irsend LIST tv ""
000000000cf308f7 ch1
000000000cf38877 ch2
000000000cf348b7 ch3
000000000cf3c837 ch4
000000000cf328d7 ch5
000000000cf3a857 ch6
000000000cf36897 ch7
000000000cf3e817 ch8
000000000cf318e7 ch9
000000000cf39867 ch10
000000000cf358a7 ch11
000000000cf3d827 ch12
000000000cf300ff on
000000000cf39a65 chp
000000000cf35aa5 chm
000000000cf3906f otop
000000000cf350af otom
000000000cf3d02f mute
pi@raspberrypi:~ $
irrecord で学習できない場合には以下の方法があります。
(1) irrecord -f -d /dev/lirc0 raw.conf でRaw Mode で実行...
(2) mode2 コマンドを使ってその後編集。
(2) の方法は、
https://qiita.com/ww24/items/32d2a78c20e6dcc2e68c
に詳細があります。
mode2 -d /dev/lirc0 | sed -ue '1d' | tee aircon_on.txt
でリモコンの一つのボタンを押す。できた aircon_on.txt を編...
cat aircon_on.txt | awk '{if(NR % 30) ORS=" "; else ORS=...
4 桁ぐらいの数字の列ができるので、config file を作り、/et...
begin remote
name aircon
flags RAW_CODES
eps 30
aeps 100
gap 200000
toggle_bit_mask 0x0
begin raw_codes
name on
460 383 496 368 485 376 487 411 454 394 469 25241 3474 1...
481 385 483 1249 482 378 485 1255 471 1302 430 379 491 1...
486 382 484 381 484 378 496 370 485 384 482 378 483 379 ...
482 1245 484 1250 476 388 477 382 489 417 444 384 477 38...
506 379 446 391 475 379 483 1248 486 1241 486 1304 425 3...
484 382 479 405 457 1255 488 373 497 369 478 382 487 380...
487 1239 480 1263 478 367 484 384 484 1244 484 386 480 3...
485 376 507 1230 479 380 486 380 484 382 496 364 487 124...
479 382 481 384 482 381 482 383 488 383 478 385 484 378 ...
520 1213 478 384 485 34546 3487 1688 479 1246 482 383 48...
478 1251 483 1244 493 403 451 1250 478 1251 477 1249 485...
485 380 482 400 462 392 474 387 476 389 478 381 486 377 ...
487 399 459 382 483 1268 468 386 471 477 387 1249 483 38...
485 380 482 383 507 391 459 368 482 386 485 377 511 361 ...
482 1246 483 1250 482 1246 483 1244 483 1248 479 383 483...
482 385 477 386 481 378 487 1248 486 1243 480 384 482 39...
482 1250 482 1247 481 407 456 384 480 383 516 349 483 38...
484 382 520 345 507 358 614 251 484 1243 486 378 486 382...
485 378 480 385 534 329 521 344 487 1247 479 385 478 385...
484 1245 476 1256 479 378 484 1248 479 1250 482 1244 481
end raw_codes
end remote
* 赤外コマンドを Shell Script にする。 [#s8e2378f]
これを、sh script に組み込んで、tv-on.sh のようにして、
このスクリプトを、Webや echo dot -> node-red から起動す...
# TV turn off tv-on.sh
if [ $1 = "on" ]
then
irsend SEND_ONCE tv on
# TV turn on
elif [ $1 = "off" ]
then
irsend SEND_ONCE tv on
fi
次は、ch-local.sh です。これは数値を引数 $1 としてチ...
bash では、数値の比較は "=" でなく "-eq" を使うことに注...
# TV channel selection
# Sendai version. 1, 2, 3, 5, 8
# 11:Mute 12:Volup 13:Voldown
# echo $1 >> /home/pi/ch.log
if [ $1 -eq 1 ]
then
irsend SEND_ONCE tv ch1
#
elif [ $1 -eq 2 ]
then
irsend SEND_ONCE tv ch2
#
elif [ $1 -eq 3 ]
then
irsend SEND_ONCE tv ch3
#
elif [ $1 -eq 5 ]
then
irsend SEND_ONCE tv ch5
#
elif [ $1 -eq 8 ]
then
irsend SEND_ONCE tv ch8
#
elif [ $1 -eq 11 ]
then
irsend SEND_ONCE tv mute
#
elif [ $1 -eq 12 ]
then
irsend SEND_ONCE tv otop
#
elif [ $1 -eq 13 ]
then
irsend SEND_ONCE tv otod
else
exit 0
fi
*Web ページからの動作 [#sbea5a69]
Alexa を用いた動作の前に、Webページで動作することを確認し...
apatch2 (Web server) をインストール(上記の sudo apt-...
port を80から8080に変更します。そのために2つのファイルを...
/etc/apache2/ports.conf
Listen 80 -> Listen 8080
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80> -> <VirtualHost *:8080>
apache2 を再起動
sudo service apache2 stop
sudo service apache2 start
IPaddress:8080 で、Home Page が見えること。
IPaddress で Home Page が見えないこと。
を確認します。
また、動作hは PHP を使いますので、php もインストール (s...
このインストールの仕方は、"Raspberry pi Web server", "Ras...
Webページの画面が変化しないで、コマンドを実行するのは難し...
1 箇所 IP address を編集する必要があり。
<html lang="ja">
<meta http-equiv="Content-Type" content="text/html;cha...
<title></title>
<!-- <script type="text/javascript" src="/cmd.js"></s...
<script type="text/javascript">
/* refered from : http://www.gesource.jp/programming/jav...
*/
/* http://www.gesource.jp/programming/javascript/200605...
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHT...
} catch (e2) {
return null;
}
}
} else {
return null;
}
}
const server_addres = "http://192.168.10.50:8080"
const light_on = "/led.php"
const light_off = "/led-off.php"
const tv_on = "/tv-on.php"
const tv_1 = "/tv-1.php"
const tv_2 = "/tv-2.php"
const tv_3 = "/tv-3.php"
const tv_4 = "/tv-4.php"
const tv_5 = "/tv-5.php"
const tv_8 = "/tv-8.php"
const v_p = "/v-p.php"
const v_d = "/v-d.php"
const v_0 = "/v-0.php"
function lightOn()
{
var url = light_on;
cmd(url);
}
function lightOff()
{
var url = light_off;
cmd(url);
}
function TvOn()
{
var url = tv_on;
cmd(url);
}
function Tv1()
{
var url = tv_1;
cmd(url);
}
function Tv2()
{
var url = tv_2;
cmd(url);
}
function Tv3()
{
var url = tv_3;
cmd(url);
}
function Tv4()
{
var url = tv_4;
cmd(url);
}
function Tv5()
{
var url = tv_5;
cmd(url);
}
function Tv8()
{
var url = tv_8;
cmd(url);
}
function Vp()
{
var url = v_p;
cmd(url);
}
function Vd()
{
var url = v_d;
cmd(url);
}
function V0()
{
var url = v_0;
cmd(url);
}
function cmd(url)
{
var request = createXMLHttpRequest();
var send_address = server_addres + url
request.open("GET", send_address, true);
request.send("");
}
function sleep(ms)
{
var d1 = new Date();
while (true) {
const d2 = new Date();
if (d2 - d1 > ms) {
break;
}
}
}
</script>
</head>
<table border="0" cellspacing="0" cellpadding="1">
<tr>
<th>
<form name="light-on">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="light-off">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-ON">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
</tr>
<tr>
<th>
<form name="TV-1">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-2">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-3">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
</tr>
<tr>
<th>
<form name="TV-4">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-5">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-8">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
</tr>
<tr>
<th>
<form name="Vup">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="Vdown">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="Vmute">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
</tr>
</table>
</html>
この中で、php ファイルが複数参照されます。その例として l...
他も irsend の部分を変えればできます。
<?php
$results = shell_exec('irsend SEND_ONCE led mode');
echo $results;
?>
すべて、ファイルは /var/www/html に置きます。
プログラムを変更するには、Table の部分、function の部分、...
*Raspberry Pi に Node-Red のインストール、設定 [#t79b0f...
Amazon Echoとラズパイで、音声で照明をon/offする
を参照して Node-red を Raspberry Pi にインストールしま...
https://qiita.com/kikuzo/items/753b5065dde9633bda18
bash <(curl -sL https://raw.githubusercontent.com/node-r...
sudo systemctl enable nodered.service
参照した Web ページは、Node-RED Alexa Home Skill Bridge...
へのサーバーを使っています(これでも動作します)が、ロー...
済ませたいので、node-red-contrib-amazon-echo 1.10 を使い...
sudo npm install node-red-contrib-amazon-echo
(node-red-contrib-amazon-echo をインストールします。)
sudo node-red-stop
sudo node-red-start (node-red を再起動します)
PC 上から、raspberry pi の IPaddress:1880 で Node-red ...
右上の三本線を押して、パレットの管理を選択
ノードの追加タブ node-red-contrib-amazon-echo を入力し、...
(注:前は node-red-contrib-alexa-local でしたが、ある...
(注:ここで node-red-contrib-lirc も追加しておくと、irs...
直接操作できる。Execがいらない?まだ試していない。2019.5....
ここから先の作業は、https://vogel.at.webry.info/201910/ar...
を参考にしました。port80 から port8111 へ変更
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -A PREROUTING -t nat -i wlan0 -p tcp -d 17...
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
sudo apt-get install iptables-persistent
2行目で無線LANを使っているので、wlan0 を使います。ip add...
2020.3.21 大学のネットワークで echo dot を使おうとすると...
その理由の候補として、local network 上に別のWorkstation ...
ルーターをつけてecho dot と、raspberry pi zero wh を独立...
Node-red の作業は、amazon echo hub, amazon echo device
ノードを貼り付けて、線でつなぎます。
貼り付けた amacon echo hub をクリックしてポートを8111に...
Node-red の経験がある人は、線でつないでからデバイスの認識...
Echo Dotから行うと思いますが、なぜかこれだとうまくいきま...
上記Webページの通り、amazon echo hub, amazon echo device ...
に置いた状態で、echo dot から認識させてください。
また amazon echo device デバイス名を日本語にすると文字化...
ローマ字で行って、後で Echo Dot で認識したあと、Echo Dot...
日本語に直しました。
amazon echo HUB --> amazon echo device --> Exec (その...
|
--> msg.payloadg ...
amazon echo device (並列に複数可)をダブルクリック 名前...
amazon echo HUB は、1個のみです。
Execをダブルクリックで コマンドとして /home/pi/led-local...
Debug はそのまま msg.playload の値を表示します。
led-local.sh の中身は、on と off によって分岐しています。
# LED turn off
if [ $1 = "off" ]
then
irsend SEND_ONCE led mode
sleep 1
irsend SEND_ONCE led mode
# LED turn on
elif [ $1 = "on" ]
then
irsend SEND_ONCE led mode
fi
led-local.sh を実行可能にします。
chmod +x /home/pi/led-local.sh
/home/pi/led-local.sh on
で動作確認できます。
チャンネルを変更する場合には、
amazon echo device ---> Change (機能にある)---> Exec ...
|
--> ...
amazon echo device をダブルクリック 名前に channelを入...
Change をダブルクリック 名前 channel 値を代入 msg.pla...
Execをダブルクリックで コマンドとして /home/pi/ch-local....
デブロイして デバイス チャンネルを完成します。
# TV channel selection
# Sendai version. 1, 2, 3, 5, 8
# 11:Mute 12:Volup 13:Voldown
# echo $1 >> /home/pi/ch.log
if [ $1 -eq 1 ]
then
irsend SEND_ONCE tv ch1
#
elif [ $1 -eq 2 ]
then
irsend SEND_ONCE tv ch2
#
elif [ $1 -eq 3 ]
then
irsend SEND_ONCE tv ch3
#
elif [ $1 -eq 5 ]
then
irsend SEND_ONCE tv ch5
#
elif [ $1 -eq 8 ]
then
irsend SEND_ONCE tv ch8
#
elif [ $1 -eq 11 ]
then
irsend SEND_ONCE tv mute
#
elif [ $1 -eq 12 ]
then
irsend SEND_ONCE tv otop
#
elif [ $1 -eq 13 ]
then
irsend SEND_ONCE tv otod
else
exit 0
fi
msg.bri の値は数値ですので -eq で比較します。
chmod +x /home/pi/ch-local.sh
/home/pi/ch-local.sh 3
*node-red のFlow の書き出し、読み込み [#oea28812]
上記のFlowの設定を書き出したもの(JSONと呼ばれるもの?)...
これをコピーして Node Red 上の右上の三本線で読み込みを...
できます。
-------- 以下をCOPY
[{"id":"d8cf2a31.5fe2b","type":"exec","z":"b3255512.5622c...
-------- ここまでをコピーして node-red に読み込むと構造...
*Alexa アプリ上での設定。 [#xee5b83c]
スマホに Alexa アプリをいれる。
(追記:node-red-contrib-amazon-echo の場合には echo dot...
Node-red というスキルが不要です。
Node-redのスキルを入れるとアカウントの入力が必要ですが u...
でのアカウントですので関係ありません。
デバイスが見つからない時は、
amazon echo HUB --> amazon echo device
以外の配線をすべて消去して、再度 デバイスの検索を行って...
アプリの左上の三本線をおして、設定→デバイスの設定→ + ...
デバイスを追加→セットアップするデバイスの種類で一番下 そ...
デバイスを検出 (20秒待つ)新しいデバイスが登録される。...
自分で設定したグループ( 821セミナー室 など) に入...
Raspberry pi の電気とチャンネルが見つかります。
(注:node-red-contrib-amazon-echo を用いた場合です。
(注: alexa-home-skill の場合には、uk のサーバーにログ...
アプリ上の デバイス 電気 ON で 電気が動作することを...
アプリの左上の三本線をおして、定形アクションを選択して→ ...
実行条件を設定 → + を押す。アレクサ つけて を入力
アクションを追加 →+ を押す。スマートホーム、デバイスを...
電気 を選択
電源を選択 オン 次へ
保存すると、アレクサ電気 で電気がON OFFできます。ONとOFF...
場合には、アレクサつけて、アレクサ消して、のように別のア...
チャンネルの場合には
アレクサ NHK を入力
アクションを追加 + スマートホーム、デバイスをコントロ...
チャンネルを選択
明るさを選択 3
でできます。アレクサ 電気、 アレクサ NHK で動きます。
https://qiita.com/tstkkmd/items/10fb586be83de96bfe24
* 2 つ以上の Echo dot + raspberry pi を使う場合 [#qedbf5...
自宅と職場のように、2ヶ所で Echo dot + raspberry pi を...
まず、自宅用と職場用の gmail account を作ります。
スマホでは、アレクサアプリ 左上の三本線 設定
の一番下に、〇〇さんではありませんか?というところで、別...
PC に teraterm pro をインストールして、設定→sshポート転送
ローカルの"localshot" のポート8880 からリモートの192.168....
のように転送設定し、設定ファイルを保存します。teraterm の...
を開くと、職場の Node-red の編集ができます。また、試して...
*Raspberry pi 3 (または pi 2) を echo dot のようにする...
これを Amazon voice service というらしいです。この設定方...
Raspi2にAlexa Voice Service(AVS)を 〜Raspi2にAlexa ...
https://qiita.com/areaz_/items/8e949d45f8afe73dbc76
で解決しました。Raspberry piの特定の directory ~/rasp3-al...
ファイルは、3つの sh file と config.json というファイ...
wget https://raw.githubusercontent.com/alexa/avs-device-s...
wget https://raw.githubusercontent.com/alexa/avs-device-s...
wget https://raw.githubusercontent.com/alexa/avs-device-s...
これで一つのコマンドで、setup.sh, genConfig.sh, pi.sh が...
config.json ファイルもダウンロードして持ってくるのですが...
Raspi2にAlexa Voice Service(AVS)を 〜AVS設定編{...
https://qiita.com/areaz_/items/60cbdf8059881ee33ec3
に従って作る必要があります。
そのあとは、Raspi2にAlexa Voice Service(AVS)を 〜Ra...
sudo bash setup.sh config.json (途中で agree, enter, y...
sudo bash startsample.sh | grep "To authorize"
で code を https://amazon.com/us/code 上で入力 Allow ...
C-c で再度
sudo bash startsample.sh を実行
$ sudo bash startsample.sh
* 動作後のトラブル kernel が 4.19.42+ の場合 2019.6.11 ...
2019.6.11 この日突然 irsend が動かなくなった。
pi@raspberrypi:/etc/rc5.d $ irsend SEND_ONCE 821-l on
hardware does not support sending
Error running command: Input/output error
uname -r でカーネルのバージョンを確認
kernel が 4.19.42+ の場合には、lirc-dev がなくなったの...
(下記追記の記事による)。
下記追記にあるように、gpio-ir を使う提案がある。
試したがうまく行かなかった。(上記エラーは消えたが、irsen...
送られない。)
2019.6.12 kernel を古いVersion に戻すことで復活した!!!
下記Webページを参照した。Raspberry Pi2(使っていなかった...
のカーネルのバージョンであった、4.14.98まで戻す。
http://marm.cocolog-nifty.com/jokanaan/2018/04/rpi-update...
sudo rpi-update a08ece3d48c3c40bf1b501772af9933249c11c5b
で 4.14.98まで戻す。(やたらに apt upgrade をすべきでな...
uname -a で確認
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.14.98+ #1200 Tue Feb 12 20:11:02 GMT...
もどった。lirc ももとに戻す必要がある。(2019.6.11 下記...
sudo apt-get remove lirc (apt-get purge lirc だと設定...
sudo apt-get install lirc
/boot/config.txt をもとに戻す
dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17
再起動 sudo /etc/init.d/lircd status
irsend LIST "" "" で古い設定が残っていることを確認。
irsend SEND_ONCE led mode で動作を確認。良かった!
動いている Raspberry pi にやたらに sudo apt upgrade を...
わかった。デバイスがなくなっている場合がある。
(追記部分、lirc にパッチを当てて gpio-ir で irsend を...
以下は 2019.6.11 に lirc にパッチを当てるという方法を試...
エラーはなくなったが、赤外線が出ないようで、うまく行かな...
おすすめできない。
https://qiita.com/f_t812/items/304d9558ec74db7309fd
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=2...
sudo su -c "grep '^deb ' /etc/apt/sources.list | sed 's/...
sudo apt update
sudo apt install devscripts
sudo apt build-dep lirc
mkdir build
cd build
apt source lirc
wget https://raw.githubusercontent.com/neuralassembly/ra...
patch -p0 -i lirc-gpio-ir.patch
cd lirc-0.9.4c
debuild -uc -us -b
cd ..
sudo apt install ./liblirc0_0.9.4c-9_armhf.deb ./liblirc...
インストールのあと、/boot/config.txt に以下を追加
dtoverlay=gpio-ir,gpio_pin=18
dtoverlay=gpio-ir-tx,gpio_pin=17
irrecord, mode2 を使う場合には /etc/lirc/lirc_options.co...
driver = default
device = /dev/lirc1
irsend を使う場合には、/etc/lirc/lirc_options.conf を以下...
driver = default
device = /dev/lirc0
いずれの場合にも lircd を再起動する。
/etc/init.d/lircd stop
/etc/init.d/lircd start
/etc/init.d/lircd status
irsend コマンドでエラーがでなくなったが、赤外の信号が出て...
問題は、解決していない。
* lirc をあきらめましょう を使ってみる。 [#ybaebf03]
feijoa.jp/laboratory/raspberrypi/infrared/
で送信プログラムを使うことも考えて見る必要があるかも。
* 数カ月動作後、Raspberry pi Zero がフリーズする。 [#sa2...
2つ原因があった。
一つは アマゾンエコーがデバイスを探すときに、2019.9まで...
https://vogel.at.webry.info/201910/article_3.html?1570354...
node-red-contrib-amazon-echo で、8111ポートを見るように...
port 80 を 8111 に iptable で変更する必要がある。(詳細...
注意:上記Web ページのコマンド中の eth0 を wlan0 にしな...
echo dot が80番ポートを使うと、apache2 (web server) のポ...
(注:一つのNICで2つのip address を指定して、片方の ipad...
このページ通りにすれば動作する。途中デバイスの探索されな...
数日かかったが、node-red の配線をする前に検索をすればうま...
また検索された、デバイスが文字化けするので最初はローマ字...
echo dot で検索されてから echo dot のほうだけ日本語にすれ...
もう一つはメモリー使用量が多くスワップを使いすぎ。
メモリー(512MB)が足りない。GUI 他を切って、メモリー使用...
80MB が node-red.
http://denshikousaku.net/extend-life-expectancy-of-raspbe...
SD カードがお釈迦になった?SDカードの寿命を増やす必要あり。
sudo apt-get remove dphys-swapfile
SWAP を使わないようにする。(メモリー使用量が下がったので...
cat /proc/meminfo
SwapTotal: 0 kB
SwapFree: 0 kB
0 になった。
SSDを利用?
さらにメモリー消費をへらす。
http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi...
https://www.dogrow.net/linux/blog75/
GUI を使わない。ssh pi@IP-address で login. メモリーの...
sudo raspi-config ⇒ Boot Options を選択 ⇒ Desktop ...
Finish して再起動。空きメモリ98MB キャシュ利用267MBにな...
http://denshikousaku.net/save-raspberry-pi-memory
rapberry pi メモリ節約 で検索。最小限の動作にする。
使用メモリが毎日少しずつ増えている。/run directory が増え...
その前に alex-local を node-red-contrib-amazon-echo に...
https://qiita.com/naka-kazz/items/9dce91beaf46a91b4c86
を参考にした。
2020.3.19 の段階で、電気のオンオフは動作している。
pi@raspberrypi:/etc/init.d $ sudo /etc/init.d/netfilter-p...
[....] Saving netfilter rules...run-parts: executing /usr...
run-parts: executing /usr/share/netfilter-persistent/plug...
done.
pi@raspberrypi:/etc/init.d $ sudo /etc/init.d/netfilter-p...
[....] Loading netfilter rules...run-parts: executing /us...
run-parts: executing /usr/share/netfilter-persistent/plug...
done.
pi@raspberrypi:/etc/init.d $ sudo iptables
* ご意見、質問など [#yc21a85f]
記録ですので、いろいろ間違っている点もあると思います。質...
メール(このHome Pageにアドレスがあります)をいただければ...
全くの初心者ですので、技術的な質問にはお答えできません。...
終了行:
*アレクサとスマホで赤外線リモコンを作る。2020.3.20 更新 [...
2020.3.21 大学のネットワークで同じことをしたが、デバイス...
セキュリティの関係で、Wifiルーターが SSDP/UPnP を無効...
(大学のネットワークではうまくいかない。自宅では正常に動...
原因は、Wifi ルータの dhcp が、10.*.*.* network で、かつ...
と同じでないから。10.*.*.* の固定IPに変更予定(Covidの関...
2023.8.10 Ver. 4.0 スマホの接続を変えたら、設定が全てなく...
2020.3.13 ver 3.00 alexa-local を node-red-contrib-amazon...
2019.6.12 ver 2.00 kernel を新しくすると動かなくなった問...
2019.5.4 ver 1.01 by R. Saito
#contents
このページは、赤外線(波長940nm)リモコンを
(1)アマゾンエコードット(音声)と
(2)Webページで操作する設定方法の記録です。
すでにWeb 上にいっぱいある情報を収集しただけです。多くの...
すでになくなっているものもあります。
しかし、情報が正確でないものが多く、また、多くの人にとっ...
方法ではありません。
ですが、動作はしていますので、まとめたものが必要だと思い...
すべてを実行するのに、2ヶ月ぐらいかかりました。またお金...
大変でしたが、勉強になりました。もっとスマートにできれば...
* 2020.3.20 までの現状のまとめ。 [#bfd38f12]
echo dot + node red または Web page から LED シーリング...
使用しているのは raspberry pi zero wh + amzon echo dot +...
* 2020.3.20 現在動作しているが、困難であった点のまとめ(...
市販赤外ボードは赤外線の強度が弱い → 自作ボードによって...
lircd (irsend) が現状の raspberry OS で使えない。 → 古...
https://raspibb2.blogspot.com/2019/06/kernel-419raspbian-...
(新しいOSでもlircd を再構築すると動くらしい。まだ試してい...
node-red で uk のサーバーだと遅い → node-red-contrib-am...
node-red-contrib-amazon-echoでデバイスが認識できない → ...
node-red-contrib-amazon-echo と apache2 が port 80 を競...
一部のリモコンの信号が認識できない → mode2 コマンドを利用
raspberry pi zero が、数日利用で固まってしまう。→ GUIを...
これ以外の対応は多く紹介されているけど、上の条件を同時に...
下記は時系列の対応です。
2020. 3. 17 alexa-local が使えなくなっていた(echo dot の...
2019.6.11 1ヶ月以上安定して動いていたのが突然動かなくなり...
2019.4.30 正しく動作しています。忘れないうちに、記録しま...
情報の整備は、まだ完了していません。少しずつ記録します。
* 2020.3 月現在で、こんなものがあったら良いと思うもの(メ...
lirc を使わないで、raspberry pi の GPIO を直接操作。(...
(2020.3.20 下記Webページ発見。lircd を作り直す。新しいO...
→ https://raspibb2.blogspot.com/2019/06/kernel-419rasp...
→ http://yueno.net/xoops/modules/xpwiki/?PC%2FRaspberr...
→ wiringPi がある。https://tool-lab.com/raspi-gpio-con...
c コマンドで GPIO port に赤外線の情報を流せばよい。irese...
irsend.c scanir.c が現在入手できない(どなたかお持ちのか...
node-red 上から exec を使わないで、直接 GPIO を動作し...
Bluetooth 機器で赤外線の信号を出す装置。
*方針 (詳細は、後で記述)[#p5f41895]
赤外線の動作は、Raspberry Pi zero WH で行う。(消費電力0....
赤外線のコマンドは irsend を使う。このため irsend が使...
kernel 4.14.98 を用いる。そうでないと lirc-dev が動作し...
(将来の課題として irsend を使わないで実行したい。)
実際に使う赤外線のコントローラーは自作する。(赤外線LEDの...
アマゾンエコーとの接続は Node-red を使う。(設計が簡単)
node-red-contrib-amazon-echo で Echo Dot から デバイス...
Web ページでも赤外線の操作できるようにして、スマホで操作...
apache2 のポートを 80 から8080に変更 (alexa の80と競...
node-red-contrib-alexa-local を使わない。(Alexa Echo Dot...
node-red-alexa-home-skill-bridgeをつかない。(uk のサーバ...
基本的に、local net から使う。外からは、ssh tunnel で接続...
*Raspberry Pi Zero WH の設定。[#r96050da]
Raspberry Pi Zero WH は、消費電力が USB テスターで測定...
動作において全く問題がなく、Wifiが使えるので、電源さえ確...
おけます。スマホの予備バッテリーでも、1ヶ月は充分に動作...
動作させると、移動させて試験するときに便利です。
OSを入れるMicroSDは16GBで少し高速のものを使いました。8GB...
OS kernel 4.14.98 の Rasbian を入れました。”Raspberry p...
Raspberry Pi Zero WH の最初の難関は、USBキーボードとマウ...
のパソコンから遠隔操作が可能になりますので、あまり投資を...
最終的には GUI や X windows を使わない形(すべてコマン...
にしました。
以下必要な作業をメモします(詳細は必要がありましたら、追...
Webで検索可能な内容は省略。すべての作業をするのに3ヶ月か...
OSを16GB SDカードに書き込む。OSのインストール。
WifiのIPアドレスを固定アドレスにする。(ssh や、Web serv...
sudo apt-get update
sudo apt-get upgrade (カーネルのVersion を変えると ir...
sudo rpi-update a08ece3d48c3c40bf1b501772af9933249c11c5b...
sudo apt-get install emacs (emacs:標準のエディターで...
sudo apt-get install real-vnc (パソコン上で Raspberry...
sudo apt-get install npm (Node-red: 仮想的に回路を...
sudo apt-get install apatch2 (Web server)
sudo update-rc.d apache2 defaults (Apatch2 の update)
sudo apt-get install lirc (赤外線を動作させるための...
sudo apt-get install php5 (Web で PHP を実行)
*赤外線リモコン部の作成と試験 [#n7cab80d]
最初は、Raspberry_Pi_IR_Control_Expansion_Board を買って...
https://jp-m.banggood.com/IR-Infrared-Receiver-and-Transm...
https://www.amazon.com/Raspberry-Controller-Transmitter-T...
中国からの輸入で、説明書も全くありませんでしたが、動作し...
説明書を下記Webページからダウンロードして動作するところま...
http://www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_...
説明書どおりですが、説明書の 3.irrecord の部分の部分が...
Raspberry Piで学習リモコン
https://qiita.com/gao_/items/e8394656003f349952d6
を参照するのが良いと思います。
また、すべてのリモコンがirrecord で動きません。あるときは...
http://www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_...
基板は動作をしますが、赤外線LEDが1つしかなく、信号強度も...
そこでLEDの数を増やし、電流も大きくして自作をすることにし...
https://vintagechips.wordpress.com/2013/10/05/%E8%B5%A4%E...
というページの回路をまず、ブレッドボード上で動作を確認し...
部分を3つ並列にしても安定して動作することを確認しまして...
(ブレッドボード配線パターン)Dタイプ 47x36mm を半分にカ...
にハンダ付けして回路を作りました。基盤にピンソケット(メ...
また、トランジスタとLEDは半田を盛る側に取り付けます。最初...
秋月通商で購入したもの、抵抗4.7k(通販コードR-07831)...
その他raspberry pi ブレッドボード配線ができるキットが必要...
お金がかかります。1万円ぐらいは必要になります。趣味とし...
部品は余らしても良いですので、余分に買っておいたほうが安...
http://akizukidenshi.com/catalog/g/gP-08242/
回路の詳細が知りたい場合には、rsaito@flex.phys.tohoku.ac....
* 赤外線をTVリモコンなどから学習する [#c090537a]
赤外線を学習するときは irrecord を使います。
sudo /etc/init.d/lircd stop
irrecord -d /dev/lirc0 tv.conf
Raspberry Piで学習リモコン
https://qiita.com/gao_/items/e8394656003f349952d6
に詳細があります。そこからの、孫コピペです。
1.Enterキーを2回押して、リモコン学習を開始します。
2.学習したいリモコンのボタンを何度も押して学習します。
複数のボタンを学習したい場 合は、学習したいリモコンの
ボタンを何度も押してください。
ボタンを押すたびに「.」が1個表示されるため、
"Please keep on pressing buttons like described above."
と表示されるまで、ボタンを押し続けます。
3."Please keep on pressing buttons like described above."
が表示されたら、10秒間待ちます。
4."Please enter the name for the next button"が表示され...
登録したいボタン名(on, off など)をを入力してEnterを押...
5.登録したいリモコンボタンを押して、登録します。
irrecord では、2.のいろいろなキーを . が2行埋まるまで
入力するというところがあります。その部分が動かない場合に...
後述の方法で解決できます。
でできた conf ファイルを /etc/lirc/lircd.conf に追加す...
sudo /etc/init.d/lircd restart (irsend が使えるようにし...
irsend SEND_ONCE tv on (tv on のコマンドを一回送ります。)
pi@raspberrypi:~ $ cat /etc/lirc/lircd.conf
# Please take the time to finish this file as described in
# https://sourceforge.net/p/lirc-remotes/wiki/Checklist/
# and make it available to others by sending it to
# <lirc@bartelmus.de>
#
# This config file was automatically generated
# using lirc-0.9.4c(default) on Wed Nov 14 07:31:26 2018
# Command line used: -n -d /dev/lirc0 /home/pi/fan.conf
# Kernel version (uname -r): 4.14.79+
#
# Remote name (as of config file): fan
# Brand of remote device, the thing you hold in your hand:
# Remote device model nr:
# Remote device info url:
# Does remote device has a bundled capture device e. g., a
# usb dongle? :
# For bundled USB devices: usb vendor id, product id
# and device string (use dmesg or lsusb):
# Type of device controlled
# (TV, VCR, Audio, DVD, Satellite, Cable, HTPC, ...) :
# Device(s) controlled by this remote:
begin remote
name fan
bits 64
flags SPACE_ENC
eps 30
aeps 100
header 3467 1754
one 429 1313
zero 429 442
ptrail 428
gap 78737
toggle_bit_mask 0x0
frequency 38000
begin codes
jaku 0x40040B210C445032 0x...
kiru 0x40040B210CCC0CE6 0x...
soft 0x40040B210C8450F2 0x...
kyou 0x40040B210C245052 0x...
3h 0x40040B210CC20CE8 0x...
6h 0x40040B210C620C48 0x...
timer1h 0x40040B210C820CA8 0x...
timeroff 0x40040B210C020C28 0x...
end codes
end remote
begin remote
name tvold
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 8988 4484
one 559 1675
zero 559 570
ptrail 559
gap 107670
toggle_bit_mask 0x0
frequency 38000
begin codes
on 0x0CF300FF 0xBEFB0A7C
ch1 0x0CF308F7 0xBEFB0A7C
ch2 0x0CF38877 0xBEFB0A7C
ch3 0x0CF348B7 0xBEFB0A7C
ch4 0x0CF3C837 0xBEFB0A7C
ch5 0x0CF328D7 0xBEFB0A7C
ch8 0x0CF3E817 0xBEFB0A7C
chp 0x0CF39A65 0xBEFB0A7C
chm 0x0CF35AA5 0xBEFB0A7C
otop 0x0CF3906F 0xBEFB0A7C
otom 0x0CF350AF 0xBEFB0A7C
mute 0x0CF3D02F 0xBEFB0A7C
end codes
end remote
以下 begin remote .... end remote で挟まれた部分を追加...
begin remote
name tv
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 8988 4485
one 563 1670
zero 563 568
ptrail 558
repeat 8989 2257
gap 107693
toggle_bit_mask 0x0
frequency 38000
begin codes
ch1 0x0CF308F7 0xBECFA22C
ch2 0x0CF38877 0xBECFA22C
ch3 0x0CF348B7 0xBECFA22C
ch4 0x0CF3C837 0xBECFA22C
ch5 0x0CF328D7 0xBECFA22C
ch6 0x0CF3A857 0xBECFA22C
ch7 0x0CF36897 0xBECFA22C
ch8 0x0CF3E817 0xBECFA22C
ch9 0x0CF318E7 0xBECFA22C
ch10 0x0CF39867 0xBECFA22C
ch11 0x0CF358A7 0xBECFA22C
ch12 0x0CF3D827 0xBECFA22C
on 0x0CF300FF 0xBECFA22C
chp 0x0CF39A65 0xBECFA22C
chm 0x0CF35AA5 0xBECFA22C
otop 0x0CF3906F 0xBECFA22C
otom 0x0CF350AF 0xBECFA22C
mute 0x0CF3D02F 0xBECFA22C
end codes
end remote
# これは Raw-code で学習した例です。
begin remote
name led
flags RAW_CODES
eps 30
aeps 100
gap 10982
begin raw_codes
name mode
1981 1028 5429 1010 1478 532
1448 538 418 577 438 555
417 574 417 579 436 556
441 558 1410 574 439 555
439 554 437 585 385 579
420 575 440 533 1430 584
1429 553 1405 580 441 570
401 578 417 575 439 556
415 578 440 559 444 539
440 558 437 558 417 575
440 549 421 578 439 552
443 536 1432 574 1408 577
439 554 1410 592 1414 559
416 576 1429 560 1408 578
415
name all
2009 1009 5434 1035 1427 561
1409 577 436 558 445 550
440 554 416 576 418 554
467 559 1408 575 464 528
418 577 429 566 417 578
438 551 419 578 1431 563
471 497 460 556 1434 552
449 543 421 578 441 551
417 576 421 581 474 517
438 555 417 577 444 579
412 555 480 512 441 553
441 561 440 550 417 577
1454 532 1412 578 1428 564
436 557 1431 556 1454 539
415
name oyasumi
1941 1039 5424 1017 1432 576
1409 577 416 578 420 577
458 529 445 555 437 557
436 561 1427 556 417 576
439 556 438 552 443 553
416 576 419 575 1458 534
486 505 416 577 417 576
1430 559 416 578 439 553
439 556 416 581 470 519
455 537 443 550 416 577
442 555 438 554 440 554
438 558 472 517 438 561
434 558 449 522 1451 557
439 555 1430 556 1430 560
418
name bright
2012 1007 5428 1037 1456 533
1427 562 416 577 440 554
439 554 418 578 416 578
415 584 1404 577 420 576
416 578 438 558 415 577
440 531 440 578 1452 540
448 543 439 554 439 556
436 558 451 543 439 555
1405 580 441 557 452 539
440 553 420 576 418 577
416 577 453 538 444 553
427 571 448 543 416 577
440 554 1412 578 1453 533
428 566 438 557 1432 537
462
name dark
1979 1038 5432 1008 1452 558
1435 554 443 554 417 577
418 577 416 555 438 558
435 581 1452 516 459 552
420 577 417 579 436 558
439 556 435 554 1437 537
469 555 405 575 419 577
418 577 437 555 418 552
443 577 1455 516 466 544
441 552 421 573 420 557
456 554 443 553 418 577
442 557 474 495 438 578
440 553 1452 515 1456 557
434 539 1430 579 439 554
441
end raw_codes
end remote
赤外線を出すときは、もし tv のリモコンを登録して on とい...
sudo /etc/init.d/lircd restart サービスの開始
irsend LIST "" "" 登録 conf のリスト
irsend LIST tv "" tv として登録された...
irsend SEND_ONCE tv on tv の on のコマンド...
の操作でできます。
pi@raspberrypi:~ $ irsend LIST "" ""
tvold
tv
fan
led
pi@raspberrypi:~ $ irsend LIST tv ""
000000000cf308f7 ch1
000000000cf38877 ch2
000000000cf348b7 ch3
000000000cf3c837 ch4
000000000cf328d7 ch5
000000000cf3a857 ch6
000000000cf36897 ch7
000000000cf3e817 ch8
000000000cf318e7 ch9
000000000cf39867 ch10
000000000cf358a7 ch11
000000000cf3d827 ch12
000000000cf300ff on
000000000cf39a65 chp
000000000cf35aa5 chm
000000000cf3906f otop
000000000cf350af otom
000000000cf3d02f mute
pi@raspberrypi:~ $
irrecord で学習できない場合には以下の方法があります。
(1) irrecord -f -d /dev/lirc0 raw.conf でRaw Mode で実行...
(2) mode2 コマンドを使ってその後編集。
(2) の方法は、
https://qiita.com/ww24/items/32d2a78c20e6dcc2e68c
に詳細があります。
mode2 -d /dev/lirc0 | sed -ue '1d' | tee aircon_on.txt
でリモコンの一つのボタンを押す。できた aircon_on.txt を編...
cat aircon_on.txt | awk '{if(NR % 30) ORS=" "; else ORS=...
4 桁ぐらいの数字の列ができるので、config file を作り、/et...
begin remote
name aircon
flags RAW_CODES
eps 30
aeps 100
gap 200000
toggle_bit_mask 0x0
begin raw_codes
name on
460 383 496 368 485 376 487 411 454 394 469 25241 3474 1...
481 385 483 1249 482 378 485 1255 471 1302 430 379 491 1...
486 382 484 381 484 378 496 370 485 384 482 378 483 379 ...
482 1245 484 1250 476 388 477 382 489 417 444 384 477 38...
506 379 446 391 475 379 483 1248 486 1241 486 1304 425 3...
484 382 479 405 457 1255 488 373 497 369 478 382 487 380...
487 1239 480 1263 478 367 484 384 484 1244 484 386 480 3...
485 376 507 1230 479 380 486 380 484 382 496 364 487 124...
479 382 481 384 482 381 482 383 488 383 478 385 484 378 ...
520 1213 478 384 485 34546 3487 1688 479 1246 482 383 48...
478 1251 483 1244 493 403 451 1250 478 1251 477 1249 485...
485 380 482 400 462 392 474 387 476 389 478 381 486 377 ...
487 399 459 382 483 1268 468 386 471 477 387 1249 483 38...
485 380 482 383 507 391 459 368 482 386 485 377 511 361 ...
482 1246 483 1250 482 1246 483 1244 483 1248 479 383 483...
482 385 477 386 481 378 487 1248 486 1243 480 384 482 39...
482 1250 482 1247 481 407 456 384 480 383 516 349 483 38...
484 382 520 345 507 358 614 251 484 1243 486 378 486 382...
485 378 480 385 534 329 521 344 487 1247 479 385 478 385...
484 1245 476 1256 479 378 484 1248 479 1250 482 1244 481
end raw_codes
end remote
* 赤外コマンドを Shell Script にする。 [#s8e2378f]
これを、sh script に組み込んで、tv-on.sh のようにして、
このスクリプトを、Webや echo dot -> node-red から起動す...
# TV turn off tv-on.sh
if [ $1 = "on" ]
then
irsend SEND_ONCE tv on
# TV turn on
elif [ $1 = "off" ]
then
irsend SEND_ONCE tv on
fi
次は、ch-local.sh です。これは数値を引数 $1 としてチ...
bash では、数値の比較は "=" でなく "-eq" を使うことに注...
# TV channel selection
# Sendai version. 1, 2, 3, 5, 8
# 11:Mute 12:Volup 13:Voldown
# echo $1 >> /home/pi/ch.log
if [ $1 -eq 1 ]
then
irsend SEND_ONCE tv ch1
#
elif [ $1 -eq 2 ]
then
irsend SEND_ONCE tv ch2
#
elif [ $1 -eq 3 ]
then
irsend SEND_ONCE tv ch3
#
elif [ $1 -eq 5 ]
then
irsend SEND_ONCE tv ch5
#
elif [ $1 -eq 8 ]
then
irsend SEND_ONCE tv ch8
#
elif [ $1 -eq 11 ]
then
irsend SEND_ONCE tv mute
#
elif [ $1 -eq 12 ]
then
irsend SEND_ONCE tv otop
#
elif [ $1 -eq 13 ]
then
irsend SEND_ONCE tv otod
else
exit 0
fi
*Web ページからの動作 [#sbea5a69]
Alexa を用いた動作の前に、Webページで動作することを確認し...
apatch2 (Web server) をインストール(上記の sudo apt-...
port を80から8080に変更します。そのために2つのファイルを...
/etc/apache2/ports.conf
Listen 80 -> Listen 8080
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80> -> <VirtualHost *:8080>
apache2 を再起動
sudo service apache2 stop
sudo service apache2 start
IPaddress:8080 で、Home Page が見えること。
IPaddress で Home Page が見えないこと。
を確認します。
また、動作hは PHP を使いますので、php もインストール (s...
このインストールの仕方は、"Raspberry pi Web server", "Ras...
Webページの画面が変化しないで、コマンドを実行するのは難し...
1 箇所 IP address を編集する必要があり。
<html lang="ja">
<meta http-equiv="Content-Type" content="text/html;cha...
<title></title>
<!-- <script type="text/javascript" src="/cmd.js"></s...
<script type="text/javascript">
/* refered from : http://www.gesource.jp/programming/jav...
*/
/* http://www.gesource.jp/programming/javascript/200605...
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHT...
} catch (e2) {
return null;
}
}
} else {
return null;
}
}
const server_addres = "http://192.168.10.50:8080"
const light_on = "/led.php"
const light_off = "/led-off.php"
const tv_on = "/tv-on.php"
const tv_1 = "/tv-1.php"
const tv_2 = "/tv-2.php"
const tv_3 = "/tv-3.php"
const tv_4 = "/tv-4.php"
const tv_5 = "/tv-5.php"
const tv_8 = "/tv-8.php"
const v_p = "/v-p.php"
const v_d = "/v-d.php"
const v_0 = "/v-0.php"
function lightOn()
{
var url = light_on;
cmd(url);
}
function lightOff()
{
var url = light_off;
cmd(url);
}
function TvOn()
{
var url = tv_on;
cmd(url);
}
function Tv1()
{
var url = tv_1;
cmd(url);
}
function Tv2()
{
var url = tv_2;
cmd(url);
}
function Tv3()
{
var url = tv_3;
cmd(url);
}
function Tv4()
{
var url = tv_4;
cmd(url);
}
function Tv5()
{
var url = tv_5;
cmd(url);
}
function Tv8()
{
var url = tv_8;
cmd(url);
}
function Vp()
{
var url = v_p;
cmd(url);
}
function Vd()
{
var url = v_d;
cmd(url);
}
function V0()
{
var url = v_0;
cmd(url);
}
function cmd(url)
{
var request = createXMLHttpRequest();
var send_address = server_addres + url
request.open("GET", send_address, true);
request.send("");
}
function sleep(ms)
{
var d1 = new Date();
while (true) {
const d2 = new Date();
if (d2 - d1 > ms) {
break;
}
}
}
</script>
</head>
<table border="0" cellspacing="0" cellpadding="1">
<tr>
<th>
<form name="light-on">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="light-off">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-ON">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
</tr>
<tr>
<th>
<form name="TV-1">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-2">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-3">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
</tr>
<tr>
<th>
<form name="TV-4">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-5">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="TV-8">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
</tr>
<tr>
<th>
<form name="Vup">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="Vdown">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
<th>
<form name="Vmute">
<input type=button style="width:200px;height:150px;font...
</form>
</th>
</tr>
</table>
</html>
この中で、php ファイルが複数参照されます。その例として l...
他も irsend の部分を変えればできます。
<?php
$results = shell_exec('irsend SEND_ONCE led mode');
echo $results;
?>
すべて、ファイルは /var/www/html に置きます。
プログラムを変更するには、Table の部分、function の部分、...
*Raspberry Pi に Node-Red のインストール、設定 [#t79b0f...
Amazon Echoとラズパイで、音声で照明をon/offする
を参照して Node-red を Raspberry Pi にインストールしま...
https://qiita.com/kikuzo/items/753b5065dde9633bda18
bash <(curl -sL https://raw.githubusercontent.com/node-r...
sudo systemctl enable nodered.service
参照した Web ページは、Node-RED Alexa Home Skill Bridge...
へのサーバーを使っています(これでも動作します)が、ロー...
済ませたいので、node-red-contrib-amazon-echo 1.10 を使い...
sudo npm install node-red-contrib-amazon-echo
(node-red-contrib-amazon-echo をインストールします。)
sudo node-red-stop
sudo node-red-start (node-red を再起動します)
PC 上から、raspberry pi の IPaddress:1880 で Node-red ...
右上の三本線を押して、パレットの管理を選択
ノードの追加タブ node-red-contrib-amazon-echo を入力し、...
(注:前は node-red-contrib-alexa-local でしたが、ある...
(注:ここで node-red-contrib-lirc も追加しておくと、irs...
直接操作できる。Execがいらない?まだ試していない。2019.5....
ここから先の作業は、https://vogel.at.webry.info/201910/ar...
を参考にしました。port80 から port8111 へ変更
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -A PREROUTING -t nat -i wlan0 -p tcp -d 17...
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
sudo apt-get install iptables-persistent
2行目で無線LANを使っているので、wlan0 を使います。ip add...
2020.3.21 大学のネットワークで echo dot を使おうとすると...
その理由の候補として、local network 上に別のWorkstation ...
ルーターをつけてecho dot と、raspberry pi zero wh を独立...
Node-red の作業は、amazon echo hub, amazon echo device
ノードを貼り付けて、線でつなぎます。
貼り付けた amacon echo hub をクリックしてポートを8111に...
Node-red の経験がある人は、線でつないでからデバイスの認識...
Echo Dotから行うと思いますが、なぜかこれだとうまくいきま...
上記Webページの通り、amazon echo hub, amazon echo device ...
に置いた状態で、echo dot から認識させてください。
また amazon echo device デバイス名を日本語にすると文字化...
ローマ字で行って、後で Echo Dot で認識したあと、Echo Dot...
日本語に直しました。
amazon echo HUB --> amazon echo device --> Exec (その...
|
--> msg.payloadg ...
amazon echo device (並列に複数可)をダブルクリック 名前...
amazon echo HUB は、1個のみです。
Execをダブルクリックで コマンドとして /home/pi/led-local...
Debug はそのまま msg.playload の値を表示します。
led-local.sh の中身は、on と off によって分岐しています。
# LED turn off
if [ $1 = "off" ]
then
irsend SEND_ONCE led mode
sleep 1
irsend SEND_ONCE led mode
# LED turn on
elif [ $1 = "on" ]
then
irsend SEND_ONCE led mode
fi
led-local.sh を実行可能にします。
chmod +x /home/pi/led-local.sh
/home/pi/led-local.sh on
で動作確認できます。
チャンネルを変更する場合には、
amazon echo device ---> Change (機能にある)---> Exec ...
|
--> ...
amazon echo device をダブルクリック 名前に channelを入...
Change をダブルクリック 名前 channel 値を代入 msg.pla...
Execをダブルクリックで コマンドとして /home/pi/ch-local....
デブロイして デバイス チャンネルを完成します。
# TV channel selection
# Sendai version. 1, 2, 3, 5, 8
# 11:Mute 12:Volup 13:Voldown
# echo $1 >> /home/pi/ch.log
if [ $1 -eq 1 ]
then
irsend SEND_ONCE tv ch1
#
elif [ $1 -eq 2 ]
then
irsend SEND_ONCE tv ch2
#
elif [ $1 -eq 3 ]
then
irsend SEND_ONCE tv ch3
#
elif [ $1 -eq 5 ]
then
irsend SEND_ONCE tv ch5
#
elif [ $1 -eq 8 ]
then
irsend SEND_ONCE tv ch8
#
elif [ $1 -eq 11 ]
then
irsend SEND_ONCE tv mute
#
elif [ $1 -eq 12 ]
then
irsend SEND_ONCE tv otop
#
elif [ $1 -eq 13 ]
then
irsend SEND_ONCE tv otod
else
exit 0
fi
msg.bri の値は数値ですので -eq で比較します。
chmod +x /home/pi/ch-local.sh
/home/pi/ch-local.sh 3
*node-red のFlow の書き出し、読み込み [#oea28812]
上記のFlowの設定を書き出したもの(JSONと呼ばれるもの?)...
これをコピーして Node Red 上の右上の三本線で読み込みを...
できます。
-------- 以下をCOPY
[{"id":"d8cf2a31.5fe2b","type":"exec","z":"b3255512.5622c...
-------- ここまでをコピーして node-red に読み込むと構造...
*Alexa アプリ上での設定。 [#xee5b83c]
スマホに Alexa アプリをいれる。
(追記:node-red-contrib-amazon-echo の場合には echo dot...
Node-red というスキルが不要です。
Node-redのスキルを入れるとアカウントの入力が必要ですが u...
でのアカウントですので関係ありません。
デバイスが見つからない時は、
amazon echo HUB --> amazon echo device
以外の配線をすべて消去して、再度 デバイスの検索を行って...
アプリの左上の三本線をおして、設定→デバイスの設定→ + ...
デバイスを追加→セットアップするデバイスの種類で一番下 そ...
デバイスを検出 (20秒待つ)新しいデバイスが登録される。...
自分で設定したグループ( 821セミナー室 など) に入...
Raspberry pi の電気とチャンネルが見つかります。
(注:node-red-contrib-amazon-echo を用いた場合です。
(注: alexa-home-skill の場合には、uk のサーバーにログ...
アプリ上の デバイス 電気 ON で 電気が動作することを...
アプリの左上の三本線をおして、定形アクションを選択して→ ...
実行条件を設定 → + を押す。アレクサ つけて を入力
アクションを追加 →+ を押す。スマートホーム、デバイスを...
電気 を選択
電源を選択 オン 次へ
保存すると、アレクサ電気 で電気がON OFFできます。ONとOFF...
場合には、アレクサつけて、アレクサ消して、のように別のア...
チャンネルの場合には
アレクサ NHK を入力
アクションを追加 + スマートホーム、デバイスをコントロ...
チャンネルを選択
明るさを選択 3
でできます。アレクサ 電気、 アレクサ NHK で動きます。
https://qiita.com/tstkkmd/items/10fb586be83de96bfe24
* 2 つ以上の Echo dot + raspberry pi を使う場合 [#qedbf5...
自宅と職場のように、2ヶ所で Echo dot + raspberry pi を...
まず、自宅用と職場用の gmail account を作ります。
スマホでは、アレクサアプリ 左上の三本線 設定
の一番下に、〇〇さんではありませんか?というところで、別...
PC に teraterm pro をインストールして、設定→sshポート転送
ローカルの"localshot" のポート8880 からリモートの192.168....
のように転送設定し、設定ファイルを保存します。teraterm の...
を開くと、職場の Node-red の編集ができます。また、試して...
*Raspberry pi 3 (または pi 2) を echo dot のようにする...
これを Amazon voice service というらしいです。この設定方...
Raspi2にAlexa Voice Service(AVS)を 〜Raspi2にAlexa ...
https://qiita.com/areaz_/items/8e949d45f8afe73dbc76
で解決しました。Raspberry piの特定の directory ~/rasp3-al...
ファイルは、3つの sh file と config.json というファイ...
wget https://raw.githubusercontent.com/alexa/avs-device-s...
wget https://raw.githubusercontent.com/alexa/avs-device-s...
wget https://raw.githubusercontent.com/alexa/avs-device-s...
これで一つのコマンドで、setup.sh, genConfig.sh, pi.sh が...
config.json ファイルもダウンロードして持ってくるのですが...
Raspi2にAlexa Voice Service(AVS)を 〜AVS設定編{...
https://qiita.com/areaz_/items/60cbdf8059881ee33ec3
に従って作る必要があります。
そのあとは、Raspi2にAlexa Voice Service(AVS)を 〜Ra...
sudo bash setup.sh config.json (途中で agree, enter, y...
sudo bash startsample.sh | grep "To authorize"
で code を https://amazon.com/us/code 上で入力 Allow ...
C-c で再度
sudo bash startsample.sh を実行
$ sudo bash startsample.sh
* 動作後のトラブル kernel が 4.19.42+ の場合 2019.6.11 ...
2019.6.11 この日突然 irsend が動かなくなった。
pi@raspberrypi:/etc/rc5.d $ irsend SEND_ONCE 821-l on
hardware does not support sending
Error running command: Input/output error
uname -r でカーネルのバージョンを確認
kernel が 4.19.42+ の場合には、lirc-dev がなくなったの...
(下記追記の記事による)。
下記追記にあるように、gpio-ir を使う提案がある。
試したがうまく行かなかった。(上記エラーは消えたが、irsen...
送られない。)
2019.6.12 kernel を古いVersion に戻すことで復活した!!!
下記Webページを参照した。Raspberry Pi2(使っていなかった...
のカーネルのバージョンであった、4.14.98まで戻す。
http://marm.cocolog-nifty.com/jokanaan/2018/04/rpi-update...
sudo rpi-update a08ece3d48c3c40bf1b501772af9933249c11c5b
で 4.14.98まで戻す。(やたらに apt upgrade をすべきでな...
uname -a で確認
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.14.98+ #1200 Tue Feb 12 20:11:02 GMT...
もどった。lirc ももとに戻す必要がある。(2019.6.11 下記...
sudo apt-get remove lirc (apt-get purge lirc だと設定...
sudo apt-get install lirc
/boot/config.txt をもとに戻す
dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17
再起動 sudo /etc/init.d/lircd status
irsend LIST "" "" で古い設定が残っていることを確認。
irsend SEND_ONCE led mode で動作を確認。良かった!
動いている Raspberry pi にやたらに sudo apt upgrade を...
わかった。デバイスがなくなっている場合がある。
(追記部分、lirc にパッチを当てて gpio-ir で irsend を...
以下は 2019.6.11 に lirc にパッチを当てるという方法を試...
エラーはなくなったが、赤外線が出ないようで、うまく行かな...
おすすめできない。
https://qiita.com/f_t812/items/304d9558ec74db7309fd
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=2...
sudo su -c "grep '^deb ' /etc/apt/sources.list | sed 's/...
sudo apt update
sudo apt install devscripts
sudo apt build-dep lirc
mkdir build
cd build
apt source lirc
wget https://raw.githubusercontent.com/neuralassembly/ra...
patch -p0 -i lirc-gpio-ir.patch
cd lirc-0.9.4c
debuild -uc -us -b
cd ..
sudo apt install ./liblirc0_0.9.4c-9_armhf.deb ./liblirc...
インストールのあと、/boot/config.txt に以下を追加
dtoverlay=gpio-ir,gpio_pin=18
dtoverlay=gpio-ir-tx,gpio_pin=17
irrecord, mode2 を使う場合には /etc/lirc/lirc_options.co...
driver = default
device = /dev/lirc1
irsend を使う場合には、/etc/lirc/lirc_options.conf を以下...
driver = default
device = /dev/lirc0
いずれの場合にも lircd を再起動する。
/etc/init.d/lircd stop
/etc/init.d/lircd start
/etc/init.d/lircd status
irsend コマンドでエラーがでなくなったが、赤外の信号が出て...
問題は、解決していない。
* lirc をあきらめましょう を使ってみる。 [#ybaebf03]
feijoa.jp/laboratory/raspberrypi/infrared/
で送信プログラムを使うことも考えて見る必要があるかも。
* 数カ月動作後、Raspberry pi Zero がフリーズする。 [#sa2...
2つ原因があった。
一つは アマゾンエコーがデバイスを探すときに、2019.9まで...
https://vogel.at.webry.info/201910/article_3.html?1570354...
node-red-contrib-amazon-echo で、8111ポートを見るように...
port 80 を 8111 に iptable で変更する必要がある。(詳細...
注意:上記Web ページのコマンド中の eth0 を wlan0 にしな...
echo dot が80番ポートを使うと、apache2 (web server) のポ...
(注:一つのNICで2つのip address を指定して、片方の ipad...
このページ通りにすれば動作する。途中デバイスの探索されな...
数日かかったが、node-red の配線をする前に検索をすればうま...
また検索された、デバイスが文字化けするので最初はローマ字...
echo dot で検索されてから echo dot のほうだけ日本語にすれ...
もう一つはメモリー使用量が多くスワップを使いすぎ。
メモリー(512MB)が足りない。GUI 他を切って、メモリー使用...
80MB が node-red.
http://denshikousaku.net/extend-life-expectancy-of-raspbe...
SD カードがお釈迦になった?SDカードの寿命を増やす必要あり。
sudo apt-get remove dphys-swapfile
SWAP を使わないようにする。(メモリー使用量が下がったので...
cat /proc/meminfo
SwapTotal: 0 kB
SwapFree: 0 kB
0 になった。
SSDを利用?
さらにメモリー消費をへらす。
http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi...
https://www.dogrow.net/linux/blog75/
GUI を使わない。ssh pi@IP-address で login. メモリーの...
sudo raspi-config ⇒ Boot Options を選択 ⇒ Desktop ...
Finish して再起動。空きメモリ98MB キャシュ利用267MBにな...
http://denshikousaku.net/save-raspberry-pi-memory
rapberry pi メモリ節約 で検索。最小限の動作にする。
使用メモリが毎日少しずつ増えている。/run directory が増え...
その前に alex-local を node-red-contrib-amazon-echo に...
https://qiita.com/naka-kazz/items/9dce91beaf46a91b4c86
を参考にした。
2020.3.19 の段階で、電気のオンオフは動作している。
pi@raspberrypi:/etc/init.d $ sudo /etc/init.d/netfilter-p...
[....] Saving netfilter rules...run-parts: executing /usr...
run-parts: executing /usr/share/netfilter-persistent/plug...
done.
pi@raspberrypi:/etc/init.d $ sudo /etc/init.d/netfilter-p...
[....] Loading netfilter rules...run-parts: executing /us...
run-parts: executing /usr/share/netfilter-persistent/plug...
done.
pi@raspberrypi:/etc/init.d $ sudo iptables
* ご意見、質問など [#yc21a85f]
記録ですので、いろいろ間違っている点もあると思います。質...
メール(このHome Pageにアドレスがあります)をいただければ...
全くの初心者ですので、技術的な質問にはお答えできません。...
ページ名: