質問編集履歴

2

誤字修正

2022/02/19 14:28

投稿

DRJV
DRJV

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,19 +1,19 @@
1
1
  1週間位悩んだのですが、解決できなかったため質問させてください。
2
2
 
3
3
  ##### ●きっかけ、やりたいこと
4
- switchbotとAlexaを持っており、基本的にそれを用いてエアコンやテレビなどを操作しているが、amazonで購入したシーリングライト(*1)のリモコンが赤外線対応でなく、2.4GhzのRFリモコン対応だったためswitchbotでリモコン登録ができなかった。そのため、arduinoを用いてどうにかalexaからswitchbotに指示を出し、switchbotからarduinoに赤外線を飛ばし、それをトリガーとしてarduinoからシーリングを操作するようなシステムを構築したいと考えたのがきっかけ。
4
+ switchbotとAlexaを持っており、基本的にそれを用いてエアコンやテレビなどを操作しているが、amazonで購入したシーリングライト([*1](https://www.amazon.co.jp/dp/B09HX55LLG))のリモコンが赤外線対応でなく、2.4GhzのRFリモコン対応だったためswitchbotでリモコン登録ができなかった。そのため、arduinoを用いてどうにかalexaからswitchbotに指示を出し、switchbotからarduinoに赤外線を飛ばし、それをトリガーとしてarduinoからシーリングを操作するようなシステムを構築したいと考えたのがきっかけ。
5
5
 
6
6
  ##### ●現状
7
- こちらのサイト(*2)を参考にAtom liteとIR Remoteを購入し、Alexa~Atom Lite間の構築はできたが、Atom Liteからシーリングに指示を飛ばす部分が実装できていない。
8
- 調べていたところ、該当のシーリングがLampSmartというアプリ(*3)で制御できることがわかり、それをスマートフォンに入れて確かめていたところ、ble を利用して通信していることが分かった。
9
- こちらのサイト(*4)を参考にAndroidのBT通信のログを作成し、wiresharkでbtsnoop_hci.logを読み込んだが、シーリングを操作した時間のログを調べても特定のServiceやUUIDが記載されているログを見つけられず、そもそもシーリングを操作するために利用するはずのwriteコマンドもひとつもなかった。
7
+ こちらのサイト([*2](https://zenn.dev/toyotoyo/articles/dab070a42478a9))を参考にAtom liteとIR Remoteを購入し、Alexa~Atom Lite間の構築はできたが、Atom Liteからシーリングに指示を飛ばす部分が実装できていない。
8
+ 調べていたところ、該当のシーリングがLampSmartというアプリ([*3](https://play.google.com/store/apps/details?id=com.jingyuan.lamp&hl=en_US&gl=US))で制御できることがわかり、それをスマートフォンに入れて確かめていたところ、ble を利用して通信していることが分かった。
9
+ こちらのサイト([*4](https://luckypines.com/blog/2019-05-12_Android----------Bluetooth------------5844e20b5b98/))を参考にAndroidのBT通信のログを作成し、wiresharkでbtsnoop_hci.logを読み込んだが、シーリングを操作した時間のログを調べても特定のServiceやUUIDが記載されているログを見つけられず、そもそもシーリングを操作するために利用するはずのwriteコマンドもひとつもなかった。
10
10
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-19/2c1c46f4-d188-4cc7-90d8-089df60e4beb.png)
11
11
  ①でRandom Numberが毎回設定される
12
12
  ②でBD_ADDRという項目でMACアドレスらしきものの記載があるが、①のRandom Numberのせいか、毎回アドレスが変わる。
13
13
  ③16-bit Service Class UUIDsという大項目がありUUID16が13行=52桁の16進数で構成されている。UUIDは32桁の16進数かと思われるのでここもいまいち理解できていない。
14
14
  ・LE Rand からCommand Completeまでの繰り返しで全体が構成されているが、重要な情報がどれなのか分かっていない。
15
15
 
16
- nFR Connect(*5)アプリを利用してスマホ周囲の機器をスキャンしてみても該当のシーリング機器が見つけられないため、ServiceやCharacteristic、UUIDなども全く特定できていないが、シーリングを操作するボタンを押したタイミングで約900行程度ずつ新しいログが作成されているため、Bluetooth通信が使われていることは間違いないと思われる。
16
+ nFR Connect([*5](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en&gl=US))アプリを利用してスマホ周囲の機器をスキャンしてみても該当のシーリング機器が見つけられないため、ServiceやCharacteristic、UUIDなども全く特定できていないが、シーリングを操作するボタンを押したタイミングで約900行程度ずつ新しいログが作成されているため、Bluetooth通信が使われていることは間違いないと思われる。
17
17
 
18
18
  ##### ●教えていただきたいこと
19
19
  Bluetoothの内容を解析し、シーリングを操作できるようにコーディングしたいです。

1

2022/02/19 14:23

投稿

DRJV
DRJV

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,31 +1,31 @@
1
1
  1週間位悩んだのですが、解決できなかったため質問させてください。
2
2
 
3
- ●きっかけ、やりたいこと
3
+ ##### ●きっかけ、やりたいこと
4
4
  switchbotとAlexaを持っており、基本的にそれを用いてエアコンやテレビなどを操作しているが、amazonで購入したシーリングライト(*1)のリモコンが赤外線対応でなく、2.4GhzのRFリモコン対応だったためswitchbotでリモコン登録ができなかった。そのため、arduinoを用いてどうにかalexaからswitchbotに指示を出し、switchbotからarduinoに赤外線を飛ばし、それをトリガーとしてarduinoからシーリングを操作するようなシステムを構築したいと考えたのがきっかけ。
5
5
 
6
- ●現状
6
+ ##### ●現状
7
7
  こちらのサイト(*2)を参考にAtom liteとIR Remoteを購入し、Alexa~Atom Lite間の構築はできたが、Atom Liteからシーリングに指示を飛ばす部分が実装できていない。
8
8
  調べていたところ、該当のシーリングがLampSmartというアプリ(*3)で制御できることがわかり、それをスマートフォンに入れて確かめていたところ、ble を利用して通信していることが分かった。
9
9
  こちらのサイト(*4)を参考にAndroidのBT通信のログを作成し、wiresharkでbtsnoop_hci.logを読み込んだが、シーリングを操作した時間のログを調べても特定のServiceやUUIDが記載されているログを見つけられず、そもそもシーリングを操作するために利用するはずのwriteコマンドもひとつもなかった。
10
10
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-19/2c1c46f4-d188-4cc7-90d8-089df60e4beb.png)
11
11
  ①でRandom Numberが毎回設定される
12
12
  ②でBD_ADDRという項目でMACアドレスらしきものの記載があるが、①のRandom Numberのせいか、毎回アドレスが変わる。
13
- ③16-bit Service Class UUIDsという大項目がありUUID16が13行=52桁の16進数で構成されている。UUIDは32桁の16進数かと思われるのでここもいまいち理解できていない。
13
+ ③16-bit Service Class UUIDsという大項目がありUUID16が13行=52桁の16進数で構成されている。UUIDは32桁の16進数かと思われるのでここもいまいち理解できていない。
14
14
  ・LE Rand からCommand Completeまでの繰り返しで全体が構成されているが、重要な情報がどれなのか分かっていない。
15
15
 
16
16
  nFR Connect(*5)アプリを利用してスマホ周囲の機器をスキャンしてみても該当のシーリング機器が見つけられないため、ServiceやCharacteristic、UUIDなども全く特定できていないが、シーリングを操作するボタンを押したタイミングで約900行程度ずつ新しいログが作成されているため、Bluetooth通信が使われていることは間違いないと思われる。
17
17
 
18
- ●教えていただきたいこと
18
+ ##### ●教えていただきたいこと
19
19
  Bluetoothの内容を解析し、シーリングを操作できるようにコーディングしたいです。
20
20
 
21
- ●リンク
21
+ ##### ●リンク
22
22
  *1: https://www.amazon.co.jp/dp/B09HX55LLG (購入したのは正確にはこの製品でないですが、同じリモコンが使われています。購入した製品のページにはリモコンが2.4Ghzであるとの記載がなかったため、こちらの製品を参考リンクとしてはります。)
23
23
  *2: https://zenn.dev/toyotoyo/articles/dab070a42478a9
24
24
  *3: https://play.google.com/store/apps/details?id=com.jingyuan.lamp&hl=en_US&gl=US
25
25
  *4: https://luckypines.com/blog/2019-05-12_Android----------Bluetooth------------5844e20b5b98/
26
26
  *5: https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en&gl=US
27
27
 
28
- ●コード
28
+ ##### ●コード
29
29
  コードは今の所下記のようになっています。
30
30
 
31
31
  ```arduino