PCの消費電力について
CPU: Celeron G3900
M/B: H110M-DVS R3.0
MEM: DDR4 4GBx2 (中古の適当なやつ)
SSD: INTEL SSD SC2BW120A4
HDD: ST3000
BD: LGのマルチのやつ
OS: Windows10 pro RS3
KB: Logicool K270
Mouse: M545
電源:CX430M
アイドル時の消費電力
(サンワサプライのワットモニターで測定)
初期:23W
BD,HDDなし:16W
BiosでHDDのAggressive Link Power Management,Package C state をオン:14W
BiosでC state系をすべてAuto,Primary IGPU, IGPU multi monitor off: 12W
何が聞いているかわかりませんが下がりました。
OS上の電源管理の設定では変わりませんでした。
12Wって、ひと昔前のルータやHUBくらいの消費電力ですよね。すごい。
容量の大きなSSDを買ってHDDなしの運用にしようかな。
参考:
鼻毛鯖:HDDやドライブすべて有でアイドル時68Wくらい
モニタ: DELL U2311H DVI接続 輝度50:23.4W 輝度0: 17.6W
PC側で必死に1W削るよりモニタの輝度を下げた方が消費電力は簡単に減る。
コントラストで調整して許せる画質になればだけど。
2018年8月21日火曜日
2018年7月29日日曜日
Wandrium #1 Arena of The Mad Overlord
Wandrium #1 Arena of The Mad Overlordの攻略メモとマップです。
iOS用のwizライク。android用のwandroidのiOS版といったところでしょうか。
私の環境(iPhone6+iOS11.4.1 縦画面)ではメニューでのタップがダブルタップになってしまい、まともにプレイできません。
設定-一般-アクセシビリティ-タッチ調整をオンにすることなんとかプレイできるようになりました。
3Fで詰まってしまった場合はカエルをどう使うかを考えてみてください。
MAP
1F

2F

3F

4F

5F

6F
南京錠が開けられず6Fはテレポートでいきました

7F
7Fははぐれファズボールやウィルでレベル上げに最適です。

8F
南京錠が開けられず8F到達できず。
レアドロップでカギが出るのかなぁ。
(更新)
コメントで10Fでアイテムをとれば行けると情報をいただきました。
ありがとうございます!
8Fを攻略できたら更新しようと思います。
9F

10F
以下メモです
u:上り階段
d:下り階段
tr:トラップ
w:ワープ
1f
18-12トンヌラ1
4-5d
8-9d
2f
8-18 鉄もってこい
19-2 水たまり*
19-6d
19-19テレポーター()
7-4回復
3f
18-1taxi
17-19カエル*
11-18tr
10-4tr
3-1tr
3-15tr
8-6tr
6-9tr
6-18tr
13-16tr
4f
0-14本 拙速
4-19本 詭道
17-15msg
11-11msg3
19-11本 主導権
15-11msg
11-16msg vampire energy drain
18-5msg
17-18青白く輝く自然の石(つるはし)
14-19本 危うからず
5-14taxi
16-0d
15-8blue
iOS用のwizライク。android用のwandroidのiOS版といったところでしょうか。
私の環境(iPhone6+iOS11.4.1 縦画面)ではメニューでのタップがダブルタップになってしまい、まともにプレイできません。
設定-一般-アクセシビリティ-タッチ調整をオンにすることなんとかプレイできるようになりました。
3Fで詰まってしまった場合はカエルをどう使うかを考えてみてください。
リンク
・Hall of wanderers http://www.hallofwanderers.com/作者様のサイトですMAP
1F
2F
3F
4F
5F
6F
南京錠が開けられず6Fはテレポートでいきました
7F
7Fははぐれファズボールやウィルでレベル上げに最適です。

8F
南京錠が開けられず8F到達できず。
(更新)
コメントで10Fでアイテムをとれば行けると情報をいただきました。
ありがとうございます!
8Fを攻略できたら更新しようと思います。
9F
10F
以下メモです
u:上り階段
d:下り階段
tr:トラップ
w:ワープ
1f
18-12トンヌラ1
4-5d
8-9d
2f
8-18 鉄もってこい
19-2 水たまり*
19-6d
19-19テレポーター()
7-4回復
3f
18-1taxi
17-19カエル*
11-18tr
10-4tr
3-1tr
3-15tr
8-6tr
6-9tr
6-18tr
13-16tr
4f
0-14本 拙速
4-19本 詭道
17-15msg
11-11msg3
19-11本 主導権
15-11msg
11-16msg vampire energy drain
18-5msg
17-18青白く輝く自然の石(つるはし)
14-19本 危うからず
5-14taxi
16-0d
15-8blue
5f
18-6u
14-0剣
12-3本4
6-10扉 青と銀の鳥の彫刻 中央には銀の南京錠
5-12d
6f
16-12d
7-18tr
1-17u
8-12tr
9-13tr
3-12tr
12-3トンヌラ5
19-10taxi
7f
0-19u
7-2tr
2-3tr
7-7tr
10-7tr
14-19tr
7-17南京錠
10-19トンヌラ6
8f
9f
7-17シュート
13-19w15-4
10-9tr
4-14w8-19
4-4つるはし
9-4w11-13
7-15w14-8
10f
3-0taxi
2018年4月9日月曜日
耳栓ソムリエ
耳栓選びの参考に。
(1)ダイソー EAR PLUG(G-92)ケース付き 3ペア入り 108円 ★
・黄色 ポリウレタンタイプ
・ツルツルして滑ってしまい、きちんと耳に装着できない(滑り出てしまう)
(2)セリア 1ペア 108円 ★★★
・オレンジ ポリウレタンタイプ
・一番柔らかい
・こしが弱いため、装着時に膨らんでくるのに時間がかかる
・柔らか故にフィット感が弱いが、長時間の装着でも耳が痛くならないメリットがある
・2018年4月現在はメインで使っている
(3)セリア 1ペア 108円 ★
・オレンジ きのこタイプ
・大きくて耳に入りませんでした
(4)セリア 1ペア 108円 ★
・半透明の白 きのこタイプ
・航空機の耳抜き対応とこのことだが、遮音性がほぼない
(5)DKSH製 サイレンシア 2ペア 534円 ★★★
・黄色 ポリウレタンタイプ
・かなり小さくつぶせる
・膨らむときにシャリシャリ音がする
・やや小型
(6)川本産業製 エスセレクト ソフトな耳せん 2ペア 410円 ★★
・オレンジ ポリウレタンタイプ
・戻りの速さがはやいのと若干すべるので装着するのが難しい
・遮音性は良い
(7)CRESCENDO 耳栓 ライブ用 大小各1ペア 1416円 ★★★
・白 きのこタイプ
・小さい方は、きのこタイプで唯一まともに耳にフィットする
・きのこタイプなので高音の遮音性はイマイチ
・耳からはみ出ないので、正面から見たときに耳栓をしていると気づかれない
・装着感は良い
・白いので使っていると黄ばんでくる
・2018年4月現在はメインその2くらいで使っている
(8)MOLDEX 高性能耳栓 ロケッツ6485 1ペア 343円★
・緑 きのこタイプ
・左右がケーブルでつながっている
・耳にフィットせず、遮音性がほぼない
(9)ローソン 2ペア 400円くらい ★★★★
・オレンジ ポリウレタンタイプ
・こし、装着感、遮音性ともに今のことろ私が試した耳栓の中でトップ
(1)ダイソー EAR PLUG(G-92)ケース付き 3ペア入り 108円 ★
・黄色 ポリウレタンタイプ
・ツルツルして滑ってしまい、きちんと耳に装着できない(滑り出てしまう)
(2)セリア 1ペア 108円 ★★★
・オレンジ ポリウレタンタイプ
・一番柔らかい
・こしが弱いため、装着時に膨らんでくるのに時間がかかる
・柔らか故にフィット感が弱いが、長時間の装着でも耳が痛くならないメリットがある
・2018年4月現在はメインで使っている
(3)セリア 1ペア 108円 ★
・オレンジ きのこタイプ
・大きくて耳に入りませんでした
(4)セリア 1ペア 108円 ★
・半透明の白 きのこタイプ
・航空機の耳抜き対応とこのことだが、遮音性がほぼない
(5)DKSH製 サイレンシア 2ペア 534円 ★★★
・黄色 ポリウレタンタイプ
・かなり小さくつぶせる
・膨らむときにシャリシャリ音がする
・やや小型
(6)川本産業製 エスセレクト ソフトな耳せん 2ペア 410円 ★★
・オレンジ ポリウレタンタイプ
・戻りの速さがはやいのと若干すべるので装着するのが難しい
・遮音性は良い
(7)CRESCENDO 耳栓 ライブ用 大小各1ペア 1416円 ★★★
・白 きのこタイプ
・小さい方は、きのこタイプで唯一まともに耳にフィットする
・きのこタイプなので高音の遮音性はイマイチ
・耳からはみ出ないので、正面から見たときに耳栓をしていると気づかれない
・装着感は良い
・白いので使っていると黄ばんでくる
・2018年4月現在はメインその2くらいで使っている
(8)MOLDEX 高性能耳栓 ロケッツ6485 1ペア 343円★
・緑 きのこタイプ
・左右がケーブルでつながっている
・耳にフィットせず、遮音性がほぼない
(9)ローソン 2ペア 400円くらい ★★★★
・オレンジ ポリウレタンタイプ
・こし、装着感、遮音性ともに今のことろ私が試した耳栓の中でトップ
2018年3月3日土曜日
Raspberry Pi zero Wで赤外線リモコン
Raspberry Pi zero Wで赤外線LEDを使って家電のリモコン操作をします。
lircというモジュールを入れると赤外線送受信(デコード/エンコード)ができるようです。
回路図はESP32のとき(下図)の1号とほぼ同じです。
LEDが2系統となり、流せる電流が16mAと、ちょっと少ないため、ベースの直列抵抗が110ではなく、200Ωになっています。(端子電圧3.3Vに対して、16mAで電圧降下3.2V)
下記のサイトを参考にセットアップします。
@ww24様の
Raspberry Pi Zero で赤外線リモコンを作る
以下引用
sudo apt install lirc
上記の後、/boot/config.txtに下記を追記
# Uncomment this to enable the lirc-rpi module
dtoverlay=lirc-rpi,gpio_in_pin=24,gpio_out_pin=23
わかりにくいので注意してください。
送信:16番ピン(GPIO23)
受信:18番ピン(GPIO24)
ここで再起動した後、
mode2 -d /dev/lirc0 | sed -ue '1d' | tee aircon_on.txt
で信号を受信するのですが、Partial read 8 bytesというメッセージが出てどうもうまく動きません。
いろいろ調べていくうちに設定を変更するバッチファイルを実行すると動くようになるという記事を見つけました。
https://www.raspberrypi.org/forums/viewtopic.php?t=192891
sudo /usr/share/lirc/lirc-old2new.sh
この後、再起動するとうまく動くようになりました。
信号受信ですが、
irrecordというコマンドで自動で設定ファイルを作成してくれるタイプと、
mode2というコマンドで生データを受信して設定するタイプの2種類あります。
エアコンはmode2の生データで、その他はirrecordで作成しました。
irrecordのやり方は下記のサイトがわかりやすかったです。
Raspbian Jessie 2017-07最終版で LIRCを使って学習リモコン、赤外線リモコンを送受信する方法
うまく設定できると、
irsend SEND_ONCE aircon on
といった感じで赤外線LEDが光るようになります。
エラーが出たりするときは
sudo /etc/init.d/lircd stop
で一度止めて
sudo /etc/init.d/lircd start
したりするとうまくいったりします。
次にBlynkでスマホやIFTTTから操作できるようにします。
他の記事ではルータの外からラズベリーパイに接続するためにngrok等を使われていますが、私はESP32でBlynkを使っていた関係で、今回もBlynkを使っています。
参考にしたのは下記のサイトです。
Raspberry Piブログ様の
第1回 IoTサービス「Blynk」を導入しよう - 連載 IoTサービス「Blynk」を使ってRaspberry Piをスマホからコントロールしよう
以下引用:
$ cd
$ mkdir blynk
$ cd blynk
$ git clone https://github.com/blynkkk/blynk-library.git
$ cd blynk-library/linux
$ make clean all target=raspberry
リンクの作成
$ cd ../..
$ ln -s blynk-library/linux/blynk .
詳細は思い出せませんが、おそらくこのタイミングで
/home/pi/blynk/blynk-library/linuxにあるmain.cppを編集しています。
Blynkでスライダーに0~10までの数字を設定してV0に投げます。
必要部分だけこんな感じです。
case1は照明を切るため順送りのコマンドを3回送信しています。
BLYNK_WRITE(V0)
{
char command[256] = "";
printf("Got a value: %s\n", param[0].asStr());
switch(param[0]){
case 0:
sprintf(command, "irsend SEND_ONCE LIGHT CH2");
break;
case 1:
sprintf(command, "irsend SEND_ONCE LIGHT CH2");
system(command);
delay(400);
system(command);
delay(400);
break;
case 2:
sprintf(command, "irsend SEND_ONCE aircon on");
break;
case 3:
sprintf(command, "irsend SEND_ONCE aircon off");
break;
case 4:
(すきなだけ並べる)
default:
sprintf(command, "irsend SEND_ONCE LIGHT CH2");
}
system(command);
}
そして起動
$ sudo ./blynk --token=自分のAUTH TOKENを指定
起動時に自動実行するために/etc/rc.localに
sudo /home/(ユーザー名)/blynk/blynk --token=(トークン)
を記入しました。
Google home → IFTTT → Blynk → Raspberry Pi zero Wという流れで家電をリモコン操作します。
lircというモジュールを入れると赤外線送受信(デコード/エンコード)ができるようです。
回路図はESP32のとき(下図)の1号とほぼ同じです。
LEDが2系統となり、流せる電流が16mAと、ちょっと少ないため、ベースの直列抵抗が110ではなく、200Ωになっています。(端子電圧3.3Vに対して、16mAで電圧降下3.2V)
下記のサイトを参考にセットアップします。
@ww24様の
Raspberry Pi Zero で赤外線リモコンを作る
以下引用
sudo apt install lirc
上記の後、/boot/config.txtに下記を追記
# Uncomment this to enable the lirc-rpi module
dtoverlay=lirc-rpi,gpio_in_pin=24,gpio_out_pin=23
わかりにくいので注意してください。
送信:16番ピン(GPIO23)
受信:18番ピン(GPIO24)
ここで再起動した後、
mode2 -d /dev/lirc0 | sed -ue '1d' | tee aircon_on.txt
で信号を受信するのですが、Partial read 8 bytesというメッセージが出てどうもうまく動きません。
いろいろ調べていくうちに設定を変更するバッチファイルを実行すると動くようになるという記事を見つけました。
https://www.raspberrypi.org/forums/viewtopic.php?t=192891
sudo /usr/share/lirc/lirc-old2new.sh
この後、再起動するとうまく動くようになりました。
信号受信ですが、
irrecordというコマンドで自動で設定ファイルを作成してくれるタイプと、
mode2というコマンドで生データを受信して設定するタイプの2種類あります。
エアコンはmode2の生データで、その他はirrecordで作成しました。
irrecordのやり方は下記のサイトがわかりやすかったです。
Raspbian Jessie 2017-07最終版で LIRCを使って学習リモコン、赤外線リモコンを送受信する方法
うまく設定できると、
irsend SEND_ONCE aircon on
といった感じで赤外線LEDが光るようになります。
エラーが出たりするときは
sudo /etc/init.d/lircd stop
で一度止めて
sudo /etc/init.d/lircd start
したりするとうまくいったりします。
次にBlynkでスマホやIFTTTから操作できるようにします。
他の記事ではルータの外からラズベリーパイに接続するためにngrok等を使われていますが、私はESP32でBlynkを使っていた関係で、今回もBlynkを使っています。
参考にしたのは下記のサイトです。
Raspberry Piブログ様の
第1回 IoTサービス「Blynk」を導入しよう - 連載 IoTサービス「Blynk」を使ってRaspberry Piをスマホからコントロールしよう
以下引用:
$ cd
$ mkdir blynk
$ cd blynk
$ git clone https://github.com/blynkkk/blynk-library.git
$ cd blynk-library/linux
$ make clean all target=raspberry
リンクの作成
$ cd ../..
$ ln -s blynk-library/linux/blynk .
詳細は思い出せませんが、おそらくこのタイミングで
/home/pi/blynk/blynk-library/linuxにあるmain.cppを編集しています。
Blynkでスライダーに0~10までの数字を設定してV0に投げます。
必要部分だけこんな感じです。
case1は照明を切るため順送りのコマンドを3回送信しています。
BLYNK_WRITE(V0)
{
char command[256] = "";
printf("Got a value: %s\n", param[0].asStr());
switch(param[0]){
case 0:
sprintf(command, "irsend SEND_ONCE LIGHT CH2");
break;
case 1:
sprintf(command, "irsend SEND_ONCE LIGHT CH2");
system(command);
delay(400);
system(command);
delay(400);
break;
case 2:
sprintf(command, "irsend SEND_ONCE aircon on");
break;
case 3:
sprintf(command, "irsend SEND_ONCE aircon off");
break;
case 4:
(すきなだけ並べる)
default:
sprintf(command, "irsend SEND_ONCE LIGHT CH2");
}
system(command);
}
そして起動
$ sudo ./blynk --token=自分のAUTH TOKENを指定
起動時に自動実行するために/etc/rc.localに
sudo /home/(ユーザー名)/blynk/blynk --token=(トークン)
を記入しました。
Google home → IFTTT → Blynk → Raspberry Pi zero Wという流れで家電をリモコン操作します。
2018年2月24日土曜日
Raspberry pi zero Wでgoogle-home-notifier
2021/11/22追記 現在はGoogleHome側の仕様変更により、下記の方法ではうまく動かないようです。
ラズパイもnode.jsも触ったことがありませんが、有益なことを公開してくださっている皆様の情報をたよりに進めます。
私は中身が何もわかってないので以下の情報は間違っているかもしれません。
(1) Raspberry pi zero Wのセットアップ
(2) google-home-notifierのセットアップ
(3)外部からRaspberry piにリクエストを送ってGoogleHomeがしゃべる
@mascii様の
Raspberry PiにNode.jsとnpmの最新版をインストールする
を参考にnode.jsのセットアップしました。
以下引用:
sudo apt-get update
sudo apt-get install -y nodejs npm
sudo npm cache clean
sudo npm install npm n -g
sudo n stable
@ktetsuo
Raspberry PiからGoogle Homeを喋らせる
を参考にgoogle-home-notifierをセットアップしました。
以下引用:
sudo apt-get install libavahi-compat-libdnssd-dev
npm install google-home-notifier
しゃべるだけなら下記を実行すればしゃべります。簡単すぎてビックリします。
以下引用
ファイル名:main2.js
const googlehome = require('google-home-notifier');
const language = 'ja';
googlehome.device("Google-Home", language);
googlehome.ip("192.168.xxx.xxx");
googlehome.notify('こんにちは。私はグーグルホームです。', function(res) {
console.log(res);
});
node main2.js (パスは適宜追加してください)
次は
次に下記のファイルを編集して/home/(ユーザー名)/node_modules/google-home-notifier/example.js
以下引用:
ファイル名:example.js
(略)
var ip = '192.168.1.10'; // default IP //ここにIPを記載
(略)
var language = 'ja'; // default language code //ここに「ja」を記載
if (req.query.language) {
language;
}
(略)
if (req.query.ip) {
ip = req.query.ip;
}
var language = 'ja'; // default language code //ここに「ja」を記載
if (req.query.language) {
language;
}
(略)
下記で実行
node /home/(ユーザー名)/node_modules/google-home-notifier/example.js
/etc/rc.localに下記を追記すると電源をオフにしても自動で起動します。
forever start /home/(ユーザー名)/node_modules/google-home-notifier/example.js
ラズベリーパイ上のコンソールから
curl -X POST -d "text=テスト" http://(RaspberryPiのIP):(ポート番号)/google-home-notifier
でしゃべると思います。
esp32からでも
下記のスケッチで無事しゃべりました。
#include
#include
const char* ssid = "(SSID)";
const char* password = "(パスワード)";
const char URL[] = "http://(ラズパイのID):(ポート番号)/google-home-notifier";
WiFiServer server(80);
void setup()
{
Serial.begin(115200);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
server.begin();
}
void loop() {
HTTPClient http;
http.begin(URL);
String requestBody = "text=テストです";
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
int httpCode = http.POST(requestBody);
Serial.printf("Response: %d", httpCode);
Serial.println();
if (httpCode == HTTP_CODE_OK) {
String body = http.getString();
Serial.print("Response Body: ");
Serial.println(body);
}
delay(10000);
}
上記のやり方でなくても、Raspberry piとGoogle homeをBluetoothで接続してBluetoothスピーカとして鳴らすという手段もあると思います。
(スマホからは普通にBluetoothスピーカとしてGoogle homeに音を出せました。)
2018年2月18日日曜日
Google homeとESP32+Blynkで家電制御
Google Homeを購入しました。
【2021/11/22追記】
現在は赤外線リモコンやUSBのon/offは行っていません。
【2021/11/22追記】
現在は赤外線リモコンやUSBのon/offは行っていません。
リモコンはラトックシステムの家電リモコンを使っています。
ESP32はシャッターと給湯の制御のみに使用しています。
Wi-fiが切れたときに再接続できずオフラインのままになる対策を入れました。(下のほう参照)
ESP32やM5シリーズを使う場合、GoogleHomeで使おうとするとBlynkやIFTTTを使わないといけませんが、アレクサなら単体でデバイスとして認識するらしいのでアレクサと組み合わせたほうが良いみたいです。いつかアレクサを買ったらまたいろいろやってみたいです。
【2021/5/19 追記】
IFTTTが3つまでしか使えなくなってしまったため、現在は大幅に構成を見直しました。
また機会があれば記事を書きたいと思います。
やったこと
・赤外線リモコンによる家電の操作 (照明、エアコン、TVの操作)
・USB機器(ドライブレコーダ)の電源ON/OFF
・HA機器(電動シャッター、エコキュート)の制御(JEM-A端子)
・スマートコンセントによる100V機器のオン/オフ (ホットカーペット、ゲーム機)
使ったもの
・Google Home mini
・ESP32-DevkitC (ESP-WROOM-32)
今回の用途の場合、Wi-Fi内蔵のArduinoと考えて問題ありません。
しかも今回の用途の場合、前モデルのESP-WROOM-02 (ESP8266)をつかった方が赤外線送受信ライブラリ等がそろっていて便利です。
・IFTTT Google Homeと連携するwebサービスです
・Blynk Arduinoをスマホから操作するwebサービスです
セットアップ関係についてはmgo-tec様で詳細に説明されているので、特に説明することはないです。
「mgo-tec電子工作」
Google Home Mini を使って、声で ESP32 の LED を光らせてみた
https://www.mgo-tec.com/blog-entry-esp32-googlehome-ifttt-webhooks-blynk.html
回路図は以下の通り。動作を保証するものではありません。あくまでも自己責任で。
赤外線リモコンの方は、webを調べるとLEDの電圧ドロップを1.2Vとしているものがたくさん出てきますが、SE303A-Cという赤外線LEDのデータシートによると、定格1.25V@50mA、パルス2.1V@1.0Aとなっていますので、今回使った赤外LEDがどうかは知りませんが、パルスで大電流を流した時はもっと電圧ドロップが大きくなるようです。
今回は適当に設定してしまいました。
メモ書きが間違っていて、ESP32-DevkitCの5V端子はUSB電源からダイオードで電圧ドロップしてから出てきているので4.5V程度、想定電流が0.7Aだと、抵抗で2.3V、LEDで1.9V、Trで0.3Vくらい。
書き忘れましたが、パルス電流の供給用に5Vの端子とGNDの間に10uFの電解コンデンサを入れています。電荷が足りているかの検討は全くしていません。無責任で申し訳ない。
赤外線の送受信は下記のサイトを参考に信号をキャプチャしました。
送信もほぼ下記サイトそのままですが、delayMicrosecondsの値が7と8だと、エアコン以外が動作しませんでした。9と17に変更することで照明も動作するようになりましたが、TVは動作しません。38kHzになってないのだと思います。
「ソースに絡まるエスカルゴ」
http://rikoubou.hatenablog.com/entry/2017/06/12/142227
USB機器のオン/オフは参考にできるサイトが探せず、適当に作ってしまいました。
電圧がギリギリですし、GND電位が浮くので注意が必要です。
p-chのMOSか何かを使った方が良いように思います。
赤外線送受信とカメラのオン/オフのスケッチ(メモ書きの1号のほう)は下記になりました。
==========================
#define BLYNK_PRINT Serial
#include
#include
#include
char auth[] = "(Blynkから送られてきたメール内にある Auth コード)";
char ssid[] = "(ご自宅のWi-FiのSSID)";
char pass[] = "(ご自宅のWi-Fiのパスワード)";
// 送信データ
unsigned int TVon[] = {(キャプチャした赤外線のコード)};
unsigned int TVof[] = {(キャプチャした赤外線のコード)};
・
・(以下好きなだけ列挙)
const int IR_SEND_PIN = 33; // 赤外線LEDのピン
const int LED1_PIN = 27;
void setup()
{
Serial.begin(115200);
pinMode(IR_SEND_PIN, OUTPUT);
pinMode(LED1_PIN, OUTPUT);
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
Blynk.begin(auth, ssid, pass);
// sigmaDeltaSetup(0, 312500);
// sigmaDeltaAttachPin(LED_pin, 0);
// sigmaDeltaWrite(0, 0); // LED OFF ( level 0 )
}
int value = 0;
void loop(){
Blynk.run();
}
// dataの赤外線信号を送信
void sendSignalP(unsigned int dataP[], unsigned int dataSize) {
for (int cnt = 0; cnt < dataSize; cnt++) {
unsigned long len = dataP[cnt]*10;
unsigned long us = micros();
do {
digitalWrite(IR_SEND_PIN, 1 - (cnt&1));
delayMicroseconds(9);
digitalWrite(IR_SEND_PIN, 0);
delayMicroseconds(17);
} while (long(us + len - micros()) > 0); // 送信時間に達するまでループ
}
}
BLYNK_WRITE(V4){
//スマホ側 Blynk アプリで設定したスライダー値の受信
int cmd1 = param[0].asInt();
switch (cmd1) {
case 0:
sendSignalP(TVon, sizeof(TVon) / sizeof(TVon[0]));
break;
case 1:
sendSignalP(TVof, sizeof(TVof) / sizeof(TVof[0]));
break;
}
}
BLYNK_WRITE(V5){
//USB機器の電源ON/OFF
int cmd1 = param[0].asInt();
switch (cmd1) {
case 0:
digitalWrite(LED1_PIN, HIGH);
break;
case 1:
digitalWrite(LED1_PIN, LOW);
break;
}
}
==========================
ESP32やM5シリーズを使う場合、GoogleHomeで使おうとするとBlynkやIFTTTを使わないといけませんが、アレクサなら単体でデバイスとして認識するらしいのでアレクサと組み合わせたほうが良いみたいです。いつかアレクサを買ったらまたいろいろやってみたいです。
【2021/5/19 追記】
IFTTTが3つまでしか使えなくなってしまったため、現在は大幅に構成を見直しました。
また機会があれば記事を書きたいと思います。
やったこと
・赤外線リモコンによる家電の操作 (照明、エアコン、TVの操作)
・USB機器(ドライブレコーダ)の電源ON/OFF
・HA機器(電動シャッター、エコキュート)の制御(JEM-A端子)
・スマートコンセントによる100V機器のオン/オフ (ホットカーペット、ゲーム機)
使ったもの
・Google Home mini
・ESP32-DevkitC (ESP-WROOM-32)
今回の用途の場合、Wi-Fi内蔵のArduinoと考えて問題ありません。
しかも今回の用途の場合、前モデルのESP-WROOM-02 (ESP8266)をつかった方が赤外線送受信ライブラリ等がそろっていて便利です。
・IFTTT Google Homeと連携するwebサービスです
・Blynk Arduinoをスマホから操作するwebサービスです
セットアップ関係についてはmgo-tec様で詳細に説明されているので、特に説明することはないです。
「mgo-tec電子工作」
Google Home Mini を使って、声で ESP32 の LED を光らせてみた
https://www.mgo-tec.com/blog-entry-esp32-googlehome-ifttt-webhooks-blynk.html
回路図は以下の通り。動作を保証するものではありません。あくまでも自己責任で。
今回は適当に設定してしまいました。
メモ書きが間違っていて、ESP32-DevkitCの5V端子はUSB電源からダイオードで電圧ドロップしてから出てきているので4.5V程度、想定電流が0.7Aだと、抵抗で2.3V、LEDで1.9V、Trで0.3Vくらい。
書き忘れましたが、パルス電流の供給用に5Vの端子とGNDの間に10uFの電解コンデンサを入れています。電荷が足りているかの検討は全くしていません。無責任で申し訳ない。
赤外線の送受信は下記のサイトを参考に信号をキャプチャしました。
送信もほぼ下記サイトそのままですが、delayMicrosecondsの値が7と8だと、エアコン以外が動作しませんでした。9と17に変更することで照明も動作するようになりましたが、TVは動作しません。38kHzになってないのだと思います。
「ソースに絡まるエスカルゴ」
http://rikoubou.hatenablog.com/entry/2017/06/12/142227
USB機器のオン/オフは参考にできるサイトが探せず、適当に作ってしまいました。
電圧がギリギリですし、GND電位が浮くので注意が必要です。
p-chのMOSか何かを使った方が良いように思います。
赤外線送受信とカメラのオン/オフのスケッチ(メモ書きの1号のほう)は下記になりました。
==========================
#define BLYNK_PRINT Serial
#include
#include
#include
char auth[] = "(Blynkから送られてきたメール内にある Auth コード)";
char ssid[] = "(ご自宅のWi-FiのSSID)";
char pass[] = "(ご自宅のWi-Fiのパスワード)";
// 送信データ
unsigned int TVon[] = {(キャプチャした赤外線のコード)};
unsigned int TVof[] = {(キャプチャした赤外線のコード)};
・
・(以下好きなだけ列挙)
・
const int IR_SEND_PIN = 33; // 赤外線LEDのピン
const int LED1_PIN = 27;
void setup()
{
Serial.begin(115200);
pinMode(IR_SEND_PIN, OUTPUT);
pinMode(LED1_PIN, OUTPUT);
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
Blynk.begin(auth, ssid, pass);
// sigmaDeltaSetup(0, 312500);
// sigmaDeltaAttachPin(LED_pin, 0);
// sigmaDeltaWrite(0, 0); // LED OFF ( level 0 )
}
int value = 0;
void loop(){
Blynk.run();
}
// dataの赤外線信号を送信
void sendSignalP(unsigned int dataP[], unsigned int dataSize) {
for (int cnt = 0; cnt < dataSize; cnt++) {
unsigned long len = dataP[cnt]*10;
unsigned long us = micros();
do {
digitalWrite(IR_SEND_PIN, 1 - (cnt&1));
delayMicroseconds(9);
digitalWrite(IR_SEND_PIN, 0);
delayMicroseconds(17);
} while (long(us + len - micros()) > 0); // 送信時間に達するまでループ
}
}
BLYNK_WRITE(V4){
//スマホ側 Blynk アプリで設定したスライダー値の受信
int cmd1 = param[0].asInt();
switch (cmd1) {
case 0:
sendSignalP(TVon, sizeof(TVon) / sizeof(TVon[0]));
break;
case 1:
sendSignalP(TVof, sizeof(TVof) / sizeof(TVof[0]));
break;
}
}
BLYNK_WRITE(V5){
//USB機器の電源ON/OFF
int cmd1 = param[0].asInt();
switch (cmd1) {
case 0:
digitalWrite(LED1_PIN, HIGH);
break;
case 1:
digitalWrite(LED1_PIN, LOW);
break;
}
}
==========================
上記とは別にもう一台ESP32-DevkitC を使って、赤外線リモコンで動作しない機器をHA端子(JEM-A端子)を使って制御しています。
(2018/3/25追記 1か月くらい運用したところ、数時間~数日でWi-Fiが切断してしまうようになりました。3/25にもう1台作り直して再投入しています。初号機との違いは5V端子-GND間に25V 100uFの電解コンデンサ追加、フォトカプラの入力端子間に100kΩ追加の2点です。)
(2018/3/25追記 1か月くらい運用したところ、数時間~数日でWi-Fiが切断してしまうようになりました。3/25にもう1台作り直して再投入しています。初号機との違いは5V端子-GND間に25V 100uFの電解コンデンサ追加、フォトカプラの入力端子間に100kΩ追加の2点です。)
それぞれの機器の場所が近くて、1台で全部接続できればそれが一番良いのですが、我が家の場合はカメラ(ドライブレコーダ)とHA機器の場所が離れており、2台体制になりました。
そもそも聞きなれないHA端子について。
日立のエアコンハンドブックの説明がわかりやすかったです。
オン/オフの制御を4ピンの共通端子で行えるようです。搭載機器は電気錠、エアコン、電動シャッター、インターホン、エコキュートなどの給湯関係くらいのようです。
まずコネクタですが、XHコネクタの4Pになるようです。
秋月電子で下記2点を購入し、アセンブリしました。難しかったです。
XHコネクタハウジング 4P XHP-4
XHコネクタハウジング用コンタクト SXH-001T-P0.6
たぶんパソコンの内蔵CDドライブに昔ついていたオーディオケーブル等が使えると思います。
フォトカプラ、ダイオード、抵抗で簡単な回路を作ってケーブル、コネクタと接続します。
回路は簡単なのですが、壁についている電動シャッターの制御ユニットの裏
(壁の中)に設置しなければならず、電源5Vの確保が大変でした。
スケッチは下記。信号オンオフをせめてサブルーチンにすればよかっのですが、面倒でコピペしてしまいました。
V6ピンは
0: シャッター開く
1:シャッター閉じる
2:お風呂オフ
3:お風呂オン
です。
オンもオフも同じ信号なので、モニタ信号で現在の状態を見て、
動作が必要なときのみ信号を送るようになっています。
2021/11/22追記
WIfiが切れたときに再接続できずずっとオフラインになるので下記を追記しました。
void loop()に入れてよいのかわかりませんでしたが、とりあえず様子を見ます。
while(!Blynk.connected()) {
Blynk.begin(auth, ssid, pass);
delay(1000);
}
================================
#define BLYNK_PRINT Serial
#include
#include
#include
char auth[] = "(Blynkから送られてきたメール内にある Auth コード)";
char ssid[] = "(ご自宅のWi-FiのSSID)";
char pass[] = "(ご自宅のWi-Fiのパスワード)";
char ssid[] = "(ご自宅のWi-FiのSSID)";
char pass[] = "(ご自宅のWi-Fiのパスワード)";
void setup()
{
Serial.begin(115200);
pinMode(33, OUTPUT); //シャッター制御
pinMode(34, INPUT); // シャッターモニタ
pinMode(26, OUTPUT); // お風呂制御
pinMode(27, INPUT); // お風呂モニタ
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
Blynk.begin(auth, ssid, pass);
}
int value = 0;
void loop(){
Blynk.run();
while(!Blynk.connected()) {
Blynk.begin(auth, ssid, pass);
delay(1000);
}
}
BLYNK_WRITE(V6){
//スマホ側 Blynk アプリで設定したスライダー値の受信
int cmd1 = param[0].asInt();
switch (cmd1) {
case 0:
if (digitalRead(34) ==0) {
digitalWrite(33, HIGH);
delay(200);
digitalWrite(33, LOW);
}
break;
case 1:
if (digitalRead(34) ==1) {
digitalWrite(33, HIGH);
delay(200);
digitalWrite(33, LOW);
}
break;
case 2:
if (digitalRead(27) ==0) {
digitalWrite(26, HIGH);
delay(200);
digitalWrite(26, LOW);
}
break;
case 3:
if (digitalRead(27) ==1) {
digitalWrite(26, HIGH);
delay(200);
digitalWrite(26, LOW);
}
break;
}
}
================================
このほか、スマートコンセント(Wifiスマートプラグ)という製品を2個購入し、ホットカーペットとWiiUの主電源オン/オフをGoogle homeから行っています。
1台1500円と、そんなに安くはありませんが、100V系を扱うならこちらも大変便利です。
========
おまけ
三和シャッター操作HY-800ユニット背面
〇で囲んだ端子がHA端子です。ピン配置は適当に調べてください。
2017年12月11日月曜日
Javardry やる夫が狂王の試練に挑戦するようです
Javardry やる夫が狂王の試練に挑戦するようですの攻略メモとマップです。
本家Wizardry#1のままなので特に価値はないと思いますが一応載せておきます。
特徴としてはランダムエンカウントの確立がかなり高めに設定されています。
最初は気になりましたが、これもアリかなと思いました。
ただし、悪だと友好的な敵といちいち戦わないといけないので相当負担になります。
武器や防具も数字が出ませんが、これもWizardry#1準拠だとおもいますのでいくらでもwebに情報があると思います。
戦戦僧盗魔魔でスタートして、最終的には戦 戦 戦、 魔→盗、 僧→魔、 魔→僧になりました。アイテムが出ず上級職はなし。クリアレベルは前衛がLV14~12でした。
レアアイテムは唯一手裏剣が出ました。
MAP
B1
B2
B3
B4
本家Wizardry#1のままなので特に価値はないと思いますが一応載せておきます。
特徴としてはランダムエンカウントの確立がかなり高めに設定されています。
最初は気になりましたが、これもアリかなと思いました。
ただし、悪だと友好的な敵といちいち戦わないといけないので相当負担になります。
武器や防具も数字が出ませんが、これもWizardry#1準拠だとおもいますのでいくらでもwebに情報があると思います。
戦戦僧盗魔魔でスタートして、最終的には戦 戦 戦、 魔→盗、 僧→魔、 魔→僧になりました。アイテムが出ず上級職はなし。クリアレベルは前衛がLV14~12でした。
レアアイテムは唯一手裏剣が出ました。
MAP
B1
B2
B3
B4
B9
B10
登録:
投稿 (Atom)








