2020-01-01から1年間の記事一覧
UDP Multicastの申請が許可されて、iOSでUDP Multicastを投げてECHONET Lite機器を探し出すアプリを開発中。 なんとかiOS側から INF_REQ(0x63)をMulticastして、ECHONET Lite機器(メディアコンバータ)からINF(0x73)が返却されるところまではできた。 以下は…
Echonet Lite搭載機器を探し出すプログラムを開発しようとして、Multicast送信のためには許可が必要と分かった。Apple Developperサイトから適当な申請を出したら機器間でどんなメッセージを送るのか説明しろと返事が来た。。EchonetLiteの仕様を知らないの…
理解不十分なまま、SwiftUIのプログラムと前回試作したUDP Multicastのプログラムを連結してiOS上で動かしてみた。すると、、ConnectionGroupのcancel()を呼んだ時点でcrashが発生。終了タイミングとか、資源解放の仕方とかが悪いのだろうか。。原因が分から…
SwiftUIを使って、Echonet Lite 機器をスキャンして、見つけ次第、リストに追加する実装を試みている。 以下が作成中のアプリの画面。scanの行の下に、検知デバイスをList形式で出したい。 が、、Stringを要素にもつArrayに対してForEachを使ってText()で追…
古いLet's Note(CF-F10)を使っているが、電源Onの時や、Sleepからの復帰時WiFiが無効化された状態で立ち上がる問題があった。いろいろ調べたけど原因が分からなかった。昔排熱がうまくいかなくて、CPUクロックが落とされる症状があった時、負荷を軽くする…
「詳解Swift」という本を買って、サンプルを打ち込んで勉強中。今はデータ型を理解。。Swiftは型チェックが厳しく、また暗黙の型変換はなされない、ということで、型変換の関数(正確には関数ではなくイニシャライザらしい)が用意されている。Character型は1…
iOSアプリ開発に向けて、Network Frameworkを使ってUDP Multicast通信をやってみる。細かい所はまだわかっていないけど、以下のコードで、WindowsでMulticastした電文の送受信までは動いた*1。 import Network guard let multicast = try? NWMulticastGroup(…
UPDのテストプログラム等をXCodeからビルドするのは手間なので、コマンドラインでさくっと動かせると楽。 普通に実行させると以下のようなエラーになる。 $ swift test.swift xcrun: error: invalid active developer path (/Library/Developer/CommandLineT…
やりたいこと UDPマルチキャストでEchonetLite機器を探し出すiOSのアプリを作る。そして審査に出す*1。とりくみ iOS関連のプログラミング環境というか、ライブラリ群がまったくわかっていないので、Networkプログラミングをどうやって行うのかを調べる。 app…
シンプルなiOSアプリを試作して申請してみたいと思っています。あまりにへなちょこアプリだと門前払いだろうと思い、EchonetLite機器をスキャンするアプリを作ろうと思っています。最初はGUIをSwiftUIで作るかなーと思っていたけど、Swiftによる実装ではUDP…
借り物のMACが古く*1、Mojaveはサポートしてくれない。だから、HighSierraで止まっている。普通に使う分にはHighSierraでも問題ないけど、勉強を兼ねて試作しているiOSアプリだがiOS 13 SDK(Xcode 11.xでのビルド)でないと受理されない。Xcode11を入れるに…
ずっと取り組んでいた、AmazonEchoで発話して、自宅のエアコンを操作する件ができた*1。経路は以下 [Echo]->[Alexa]->[Lambda]->[AWS IoT Core] V (MQTT) V [MQTT Client(AWS IoT Device SDK) on LaspberryPi] [家電制御ライブラリ on LaspberryPi] V (Echon…
<背景> Amazon Echoに話しかけて、AWS IoT Core経由で機器を制御する試作を開発中、最終的には、「エアコンをつけて」と発話するとEchonetLite接続のエアコンが動くようにしたい<要約> 先人のサンプル等を参考にしつつ、PythonでUDPプログラムを書いてEc…
ずっと作業していた、AlexaとAmazon IoT Coreを使った試作だが、Amazon Echoで「LEDをつけて」とか言うと、回りまわって、NeoPixelが点灯するというシステムを組んだ。構成は以下 [Amazon Echo]----[Alexa]----[Lambda]---[AWS IoT Core]---[RaspberryPy]---…
当初、AVRマイコンでCで書いてNeoPixelを制御するか??と考えていたけど、使っていないArduino Nanoがあったので、これを使ってNeoPixelを制御することにした。下が俺ArduinoNano(自作) 幸い、Adafruitが提供しているNeoPixel用ライブラリがあるので、こ…
Amazon EchoからAlexa->Lambda->AWS IoT-(MQTT)->LaspberryPiでLED点滅をさせているけど、赤色のLEDだけだとあまり楽しくないので、NeoPixcelを音声で動かしてみたい。adafruit-circuitpython-neopixel が使えるらしい。。 以下がAdafruitのNeoPixcel解説ペ…
例のAWS IoTは段々と使える知識は溜まってきたけど、UIというか、表示系、操作系も必要だ。一緒に調べてるメンバからは音声UIと接続させると言われているので、、Amazon Echo(Alexa)からLambdaまでをつないでみたい。それができたら、「アレクサ、LEDつけて…
AWS Iot Coreを調査中。まずはラズパイをセンサーとしてPublishしてみる。 AWS IoTでは、MQTT通信する際にはClient証明書で認証するようである。だから、デバイスごとにClient証明書の発行が必要。AWSのIoTコンソール画面を使って、端末(RaspberryPi)用のC…
RaspberryPi 4 8Gモデルを買ったのでUbuntuを入れた。ここ数年、OSのConfigやったことないので、、作法が分かっていない。 固定IPにしたかったら、50-cloud-init.yaml を触らずに、新しいファイルを作れということらしい。。 $ cat /etc/lsb-release DISTRIB…
自分はCとかPython(MicroPython)を普段使っていて*1、JavaScriptは使う機会がほとんどなかった。が、、node.jsを使う必要が出てきて、JavaScriptが分かっていないと小修整やデバッグもできないので、JavaScriptを勉強することにした。今まではJavaScriptに…
CF-F10はマイナーな機種のせいか、分解手順がネット上にはほとんど見つけられません。機種の異なるCF-S10の分解手順や、Youtobeでかなり無茶してCF-F10を分解している動画を参考に、なんとか分解とCPUボードの取り出しまでできました*1。 以下はキーボードを…
レッツノートは使っていると電源が入らなくなるという記事が修理サイトで見かけます。自分の中古のCF-F10も一発では電源が入りません。今回分解掃除する際に、電源スイッチがどういう状態なのかを確認しました。スイッチから出ている足にテスターを当てて動…
<要約> 愛用のLet's note CF-F10が、冷却が間に合わずCPUが熱くなりすぎてクロックが1GHzに落とされる問題が発生。分解掃除してシリコングリスを塗りなおす(予定)。<詳細> 長男用にLetsNoteの中古(CF-F10)を買った。長男はその後、ThinkPadを買った。…
今後出てくるWSLではGUIも使えるそうだけど、今の時点ではGUIアプリは動かない。 代替え手段として、Cygwin上でX11を走らせて、WSL上のUbuntuからCygwin上のX11めがけてWindowを出すことでGUIアプリを走らせることができる。Cygwin上で X11を起動。--listen …
いくらSnifferでBLEパケットを取ろうとしてもAdvertiseしか取れない状況なので、何が正しいのか分からずじまいだけど、、MicroPythonで実装したBLEMIDIとiPhone上の音楽アプリ(KORG Module)と接続はできた*1。MicroPython側ではドレミファ・・・と連続的に…
MicroPython版BLEライブラリでPeripheralを書いてみた。スマフォから接続すると瞬間に切れる。。なぜだろう。。 (ソース抜粋) #//Service 03B80E5A-EDE8-4B33-A751-6CE34EC4C700 #//Characteristic 7772E5DB-3868-4112-A1A9-F2669D106BF3 MIDI_SRV_UUID = …
いろいろ問題が残っているが、ひとまずBLE MIDIを介して、FL-StudioにMIDIデータを送るところまではできた。が、、C+NimBLEで開発するのは非常に手間がかかる。何が手間かかるのか?? SWの扱いとかタイマーの使いとか調べないと分からない、コンパイルが必…
俺BLE MIDI試作がFL-Studioとつながったので、次はMIDIデータを送ってみる。作りたいのは、SWを押すと和音やアルペジオデータをMIDIデータとして送る機能だ。BLE MIDIでペリフェラル(ESP32等)からPCにMIDIデータを送るにはNotifyを使う。 リアルタイムOSのプ…
前回KORGのMicroKEY Airのパケットをキャプチャして、アドバタイズの内容、再接続について理解できたので、nimBle版ペリフェラルサンプルコード(bleprph)を書きなおして、BLE MIDIとして仕立ててみた。元ソースからの修正点は以下 AdvertisingはBLEMIDIのUUI…
パケットレベルの調査はややこしいので避けてきたが、パケットも見ないと理解不足ということで、あらためてBLE Snifferでキャプチャした。分かったことは以下 BLE Snifferで取れるのはAdvertisingのみ?(フィルタのかけ方がまずいのかも) MicroKEY AirのAdver…