ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

IoT

M5StackデバイスでPC側で通信ポートが認識できない時

IoT

M5StackデバイスでPC側で通信ポートが認識できない事がよくある。 (サーボ)モーターやリレーを使っていたりすると良くあって、M5Stackデバイス単体にすると認識される様になったりする。 多分電源が安定しなくなるとか逆起電力のせいとかで影響されて認識で…

rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)

IoT

なんかの拍子にM5StampS3でプログラム書き込み後に以下のリブートがかかって全然動かなくなってしまった。 rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT) 検索して以下が見つかった。 community.platformio.org platformio.iniに以下を追加して…

Guru Meditation Error: Core 1 panic'ed (IllegalInstruction)

IoT

M5StampS3でSakurIOのライブラリーで以下のエラーがでて再起動してしまう。 Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. I2C通信している箇所でstartReceive()を呼び出して戻って来てないっぽい。 this->startR…

Fusion360で基板上の名前が表示されなくなったとき

IoT

何らかのタイミングでR1とかU1とかのデバイスの名前が表示されなくなった。 こちらが解決策 www.autodesk.co.jp 部品を選択し、右クリック 位置を復元を選択 このまま続けて部品の基準点(+マーク)を次々クリックしていくと次々と復元されていく

Fusion360で基板作成時のネットクラス(Net class)設定

IoT

Fusion360で基板を作成した事はあるが2年前でもう忘れてしまった。 というか回路作成するところから忘れていたのだが検索を頼りになんとか作れた。 基板の配線をする段階でオートルータで線を引いていくがどうも線が細い気がする。 当然思い出せないのだけど…

M5Stamp TimerPower

IoT

暫く前にM5Stamp TimerPowerを買っていたが放置していたのを試してみた。 公式ドキュメントを見るタイミングでメンテナンスになっていたのか404でどうしょう?ってなったけど次の日には復旧していた。 docs.m5stack.com サンプルコードはこちらにある。 gith…

M5Stamp S3 (4)

IoT

久しぶりにPlatformIOでM5Stamp S3を使おうとしたら、M5Stack StampS3が追加されてるのを確認できた。 しかし、そのまま作成したらエラーがでた。 (スクショは撮ってない。) 開くとこの様なエラーが出る。 UnknownBoard: Unknown board ID 'm5stack-stamps3'…

Raspberry Pi Pico開発環境

Raspberry Pi Picoを入手して放置していたのにようやく手をつける。 目的はprk_firmware。 github.com ボードはスイッチサイエンスから買った。 Raspberry Pi Picowww.switch-science.com リセットボタンを押しながら電源を入れて、認識されたディスクにprk_…

ESP-NOW が sleep からの wake up で通信できない。

IoT

ESP32でESP-NOWを使っていて、sleep modeに入ってwake upした時に通信ができない。 micropython-docs-ja.readthedocs.io ESPNow とスリープモードの項を見るとsleep前にWiFiを無効にする必要があるらしい。 ただ、このドキュメントはMycroPyton用だ。 こちら…

M5Stamp pico で Serial2

IoT

LoRa通信をM5Stamp picoで試してみようとした。 シリアルとしてSerial2を使用するが最初うまくいかなかった。 以下の組み合わせでいい様だ。 Rx Tx 1 G21 G22 2 G36 G26 最初G21、G22逆でやってたのが悪かったみたい。 2番目の組み合わせはロジアナのプロー…

LoRaモジュール評価ボードテスト(3)

IoT

前回2Kmくらいまでの距離で通信できるのを確認できた。 伝送レートを変えてどこまで通信できるか試す準備。 受信機の方のソフトを変えて、これで設定変更できる。 params[0] = BAUDRATE_9600 | BW_125 | SF_5; write_register(2, params, 1); こちらが参考に…

LoRaモジュール評価ボードテスト(2)

IoT

GPS追加 GPSセンサーを追加し移動しながらどこまで届くか試す。 使ったGPSセンサーはこちら akizukidenshi.com 受信したらGoogle spreadsheetにhttp postで送信する。 Google spreadsheetへpostするのは探せば色々あるがairpocketさんのが参考になるだろう。…

LoRaモジュール評価ボードテスト(1)

IoT

秋月電子からLoRaモジュール評価ボードを購入した。 akizukidenshi.com シリアルで通信するのだが、ボーレートは9600がデフォルトというのは分かっているが、他の条件が分からない。 こちらにあるコンフィグモード(mode 3)の条件baudrate=9600, parity=8…

M5でmruby/c (5)

クラスは作れたんだけどメソッド呼び出しがうまくいかない。 https://github.com/mrubyc/mrubyc/blob/master/src/class.c#L131-L155 メソッドの定義はこちらで処理されている。 void mrbc_define_method(struct VM *vm, mrbc_class *cls, const char *name, …

M5でmruby/c (4)

いつもmrubyとかmruby/c動いたで終わってしまうのでもうちょっと突っ込んでみる。 Peripheralをmrubyで動かしてこそmrubyを使った感があると思う。 M5StackのLCD用に mruby-lcd-m5stack がある。 github.com mrubyだと build_config.rb で組込む様だがPlatfo…

M5でmruby/c (3)

今までやったのを整理してQiitaにまとめた。 libディレクトリーに入れるやり方をしていたが、lib_depsで直接githubから読み込む様に変更している。 不要なファイルを除外するやり方が手作業なのが残念だ。 qiita.com github.com

倒立振子に挑戦 (3)

IoT

倒立振子はToioを走らせてやろうとしていたが、通信で50〜110msくらいかかっている。 平均して10Hz位でしか指令を出せない事が分かった。 PID係数を調整してみるも倒立を保てそうにない。 手に持って竿燈の様にしても上手く保てないので、そもそも機構が悪い…

倒立振子に挑戦 (2)

IoT

制御はPIDを使う。 普段組み込まれたPIDは作った事はあるが、プログラムした事はない。 こちらを参考にお手軽版でクラスを起こした。 controlabo.com (追記: ちょっと修正) class Pid { private: // aim float r; // input float kp; float ki; float kd; fl…

倒立振子に挑戦 (1)

IoT

前回書いた様に倒立振子に挑戦してみる。 まず振子の姿勢を知るためにIMUを使用するので、M5AtomS3を制御に使用する。 姿勢を知るにはroll、pitch、yawを計算すれば良い。 M5AtomライブラリーではM5. MPU6886.getAhrsData()で得られるが、M5AtomS3ライブラリ…

M5StackToio

IoT

Atom Mate for Toio で倒立振子を作ろうとしている。 倒立振子はLego Mindstormsを使った講座を受けた事はあるが、教材の指示に従っていっただけで、仕組みなど全く理解していない。 のでちゃんと動作するのはずっと先の事だろう。 Atom Mate for ToioはUIFl…

M5でmruby/c (2)

前回できたlibmrubyc.aをlibディレクトリーに置いてみるるが全く無視されている様だ。 それではとダウンロードしたmrubycディレクトリーを丸ごとlibディレクトリーに置いてみる。 エラーは出ているがmrubycのMakefileを読み込んでうまい具合にやろうとしてい…

M5でmruby/c (1)

M5やmicrobitでmrubyやmruby/cが動かせるが platformio で構築できないかトライしてみる。 通常Arduinoフレームワークを選択するが、Espressif IoT Development Framework を使うとなんかできないか試してみる。 まずはmruby/cから Githubからダウンロード g…

M5Unifiedで機種(ボード)判定

IoT

M5Unifiedを使用すると同じバイナリーで様々なM5の機種に対応ができるとTwitterとかで見たことがある。 内部で判定している場所があるはずなので探ってみる。 M5Unified.hpp内で _board が定義されていてここにデバイスに合わせて設定されるっぽい。 M5Unifi…

M5AtomS3 の IR (2)

IoT

前回IRの受信でソニーテレビの信号を確認したので、送信してみる。 IRGCSendDemoで簡単にできることが分かったので、 github.com M5AtomS3ではG4がIRに繋がっていて、例の通りで動作できる。 必要な箇所のみにしたらこんなに簡単になった。 NECの場合をコメ…

M5AtomS3 の IR (1)

IoT

M5AtomS3にIRが付いている。 M5StickCにも付いていたが、試したことがなかった。 この記事を頼りに進める。 lang-ship.com 送信するにもコードがわからないことには始まらない。 手元にセンサーキットがあったのでそれを利用する。 osoyoo.com 使ったことが…

MQTT

IoT

IoTでよくMQTTが使われているがまだ試したことがない。 こちらを参考にMosquittoを試してみる。 developer.mamezou-tech.com Macなのでインストールはbrewを使う。 % brew install mosquitto % brew install mosquitto-clients mosquittoはブローカーと呼ば…

M5AtomS3が届いた

IoT

最初に入っているのはこれかな? github.com platformioで試せそう。 環境のダウンロードに時間がかかかったがコンパイルできた。 最初から入っているのとは違った。 前回M5StampS3で色々試したので、platformio.iniファイルは参考になる。 https://github.c…

M5Stamp S3 (3) Lチカ

IoT

M5Stamp S3 でLチカをしてみる。 M5Unifiedで使ったのにちょっと手を加えただけで動いた。 katsuyoshi.hatenadiary.com LEDはM5Stamp picoのソフトほぼそのままで動いた。 そのままで動いたということはRGBではなくGRBの順になっている様だ。 gist.github.co…

M5Stamp S3 (2)

IoT

ハード的な仕様はこちらから辿れる。 github.com M5Stamp picoの置き換えを考えているので比較してみる。 公式サイトから引用 S3の方はハーフピッチになっていてI/Oが沢山あるが、付属のピンヘッダー(2.54 mmピッチ)で使える部分で比較する。 左側、GROVE PI…

M5Stamp S3 (1)

IoT

M5Stamp S3が届いた。 M5Stamp picoの置換えとして捉えているがI/Oが倍くらいに増えてるのでかなりのことができそう。 裏にはLCD用の端子もあり盛りだくさん。 PlatformIO PlatformIOでビルドしようとしたらESP32じゃないよといわれた。 This chip is ESP32-…