chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

2021-01-01から1年間の記事一覧

AmazonのAudibleを試す 「独学大全 絶対に「学ぶこと」をあきらめたくない人のための55の技法」

Amazonから、「Audibleのお試しができる」とメールで案内が来ていた。お試しを申し込むとコインが2つもらえて、2種類のコンテンツを視聴できる(コイン2つというのは誤解だったようです)。話題になってる独学大全*1をAudibleで注文してみた(今はお試し期…

CircuitPythonでPIOを制御

前回はMicroPythonでPIOを制御したが、CircuitPythonで制御してみる 参考ドキュメントは以下 PIOイントロダクション Overview | An Introduction to RP2040 PIO with CircuitPython | Adafruit Learning System PIOアセンブラのドキュメント Introduction — …

Pythonのasyncioを理解。。取り組み中

JSのasync/awaitにおいて、背景にあるのはPromiseであると理解。JSのPromiseは非常に深い概念のようでさっくり読めるレベルではない。そこで、、「callback実装の苦闘の末、シンプルに表現できるasync/awaitが発明されたのだ」という理解にとどめて・・、改…

pythonのasyncioが全く分からない

普段、非同期処理は必要ないのだけど、、たまたまasyncioに出くわして、ちょっとPythonのドキュメントを読んでみたがどう動くのか全く分からない(実行順番が想像できない)。 以下のサイト等、がっつり説明しているサイトで勉強しないとだめなのかも。Async…

Swift NWConnectionGroupのサンプル

MulticastでEchonetLite (GET / 自ノードインスタンスリスト) 投げて機器からUnicast(自ノードインスタンスリスト)で戻ってくるパケットを受け取るサンプル。このソースでは受信できない、(Multicastで受け取る実装になっているから) import Foundation impo…

4月のパッチ(Windows Update)を当てたらブルーバックで起動しない->復旧できたが、KB5001330はどうやっても当たらない

4月のWindows Updateを当てるためPC再起動すると、ブルーバックになってOSが起動しない状況に。エラーコードは、0xc000021aで、ググると、パッチ適用に失敗してドライバ不整合の場合に出ることがあるそうだ。復旧方法が紹介されていたので、その記事を参考…

RP2040のPIOで2bitバスで入力を受け付ける

ロータリエンコーダのドライバをPIOで作ってみようと思い、まずは、2bitバスを入力できるように設定してみる。 IN命令により2bit分をPin6,Pin7から入力してISRに格納、PUSH命令でISRからRX FIFOにPUSHする。while文でgetメソッドでFIFOから読み取る。 PUSH I…

RP2040のPIOを引き続き調べる

PIOでロータリエンコーダのドライバを作ってみたいと思い調査 使い慣れているMicroPythonでPIOを叩きたい。やりたいのは、エンコーダからの2本のパラレル信号を受けたいのだが。。簡単に処理するには、2つのIOを束ねてバス幅2bitとして扱いたい。英語表現で…

RP2040のPIOを使ってモールス符号を出力する(その2)

前回の試作では、ドット(・)とダッシュ(ー)のみPIOで出力して、スペースはtimerで待たせていた。このため、FIFOに先読みされてしまって、Pythonによるスペースの待ち時間のタイミングと、PIOによる・ーの発生タイミングがずれる問題があった。これを解消…

Pico(RP2040)のPIOでモールス点滅サンプルを作ってみた

RP2040のPIOを理解するためいろいろテストしていて、文字列を入れるとモールス符号にして点滅するサンプルを作ってみた。 問題点としては、、点滅パターンをFIFOに入れるのだけど、FIFOでバッファしてしまって先読みのような状態になってcharacter間の空白が…

子供(大学生だが)のノートPCのHDDをSSDに載せ替え

子供のノートPCがHDDアクセス集中で??で動かなくなるとのことで、HDD->SSDの載せ替えをやってみる。 PCはThinkPadのX260で、入っているHDDは、WD5000LPLX 。いつものように、、SSDを買ってきて、外付けディスクとしてマウントしてボリュームコピーして入れ…

Raspberry Pi Picoに搭載されているRP2040のPIOをMicroPythonから叩きたい・・が、、あまり仕様が分からない

RP2040はWiFi/BLEがないので、どう使ったらいいのやらと思っていたけど、プログラミングできるステートマシンが搭載されたPIOが熱いと思う。多分。 CからPIOを叩くのが本筋かもしれないが、コンパイルしないといかんので面倒で、Try&Errorをなんどもやりたい…

Interface誌にESP32+MicroPythonネタで記事投稿

Interface誌に、「ESP32+MicroPython」で記事を書いています。章は「新連載 逆引きMicroPythonプログラム集」です。ハイレベルな記事に囲まれて畏れ多いですが。。もし興味がありましたらご覧ください。記載内容がおかしい、よくわからない等ありましたら、…

memo : ジェスチャを認識させる。。。そして家電を制御したい

デモ目的で、、ジェスチャ認識して、エアコンとか動いたらおもしろいかと。 ジェスチャ認識はGoogleのMedia Pipeというのがこなれているのでこれを使うと楽に動かせるのではと期待cameraといえばopencvということで、rpiでopencvをインストール apt-get inst…

いまさらだけど、、Alexa->IFTTT->MQTTを構築

事情により、Alexa -> IFTTT -> MQTTのデモを作ってみる。前提はすべて無料で!! MQTTはずっとお試しで使っているshiftr.ioを使う。AlexaとIFTTTをつなぐ方法はいろいろあると思いますが、IFTTTでIF部(Trigger)としてAlexa Serviceを設定して接続する。以下…

ラスパイにカメラを取り付け(Ubuntu 20.04.1 LTS)

ラスパイにカメラをつけてみた。Ubuntu のせいか、カメラを制御する、vcgencmd コマンドが無いようで、パッケージをインストール $ sudo apt-get install libraspberrypi-bin引数、get_cameraを指定して実行したが、デバイスが見つからないようだ。 $ vcgenc…

MQTT経由でエアコンを制御する

まぁ出尽くしたネタではあるが、、MQTTに投稿されたら、Node-REDでMQTTを読んでエアコンを制御するサンプルを実装 MQTTのトピックスは以下とした <ホームID>/<デバイスID>/controlmessageのPayloadはJSON形式で以下 {"control" : "pw_on"} or {"control" : "…

お試し無料のMQTT Server shiftr.ioでMQTTを試す

無料のMQTT Serverとして、mqtt.eclipseprojects.io 等があるが、認証付きのMQTT Serverを使ってみたかったので、shiftr.ioを試してみる。 アカウントを作って、無料プランでインスタンスを作れるようである。好きなホスト名(EndPointというかドメイン名とい…

覚書:RPi4でnode-redを動かす

ラズパイにはUbuntuを入れていて、node-redが入っていないので、以下でインストール % sudo npm install -g --unsafe-perm node-red一般権限でnode-redを起動すると、 ~$ node-red 11 Feb 04:58:32 - [info] Server now running at http://127.0.0.1:1880/12…

Raspberry Pi Picoを買った

諸般の事情で、RaspberryPi Picoを買った。ざっと見た限り、MicroPythonがサクッと動かせることが分かった。WiFiとか、BLEはないけど、まぁ安いし消費電力低いしこれはこれでありかと。Programmable IOが8本という記載があって、サンプルソースもあるのだけ…

メモ: url parse error を回避するためurllib3をupgrade

urlがパーズエラーと怒られるので回避 requests.exceptions.InvalidURL: Failed to parse: https://192.168.10.216/api/v1/controllers/aiseg >>> $ sudo python -m pip install --upgrade urllib3 Collecting urllib3 Downloading urllib3-1.26.3-py2.py3-n…

SBCLをUbuntuに入れてみる

高速実行がウリらしいSteel Bank Common Lisp(SBCL)をWindows上で動作するUbuntu(Windows Subsystem for Linux (WSL) )に入れてみる $ uname -a Linux DESKTOP-TRNV8F8 4.19.104-microsoft-standard #1 SMP Wed Feb 19 06:37:35 UTC 2020 x86_64 x86_64 x86_…

LISPを学ぶ・・

今でもLISP(Scheme)は適材適所で活用されていると思うけど、学習コストが高いのが課題(手頃な解説本があまりない)。 これからLISPを勉強しようと思う人が非常に少ないから、本を出してもうまみがないんだろう。そんな状況だけど、、ネットで探すと解説記事が…

OpenECHOを使って照明用ECHONET Liteコントローラを試作

OpenECHOのサンプルを探していたが、大抵がProcessingを含む形式だった。一番シンプルな、Processingを含まないサンプルがarmadillo社様サイトで公開されていたので、それをベースに少し修正した。(オリジナルは2つのjavaだったが、それをうまくビルドする方…

メモ:EchonetLiteのINF_REQ(0x63)をUDP Multicast で送信して受信するPythonサンプル

マイナーすぎるのでほぼ自分用忘備録 仕様:EchonetLiteのINF_REQ(0x63)をUDP Multicastで送信して、同一プログラム内で受信もするPythonサンプルコード(受信側はUDP Unicast/Multicastの両方のパケットが受信可能) お礼とお詫び:いろんな人のソースを参考…