IoT
前回2Kmくらいまでの距離で通信できるのを確認できた。 伝送レートを変えてどこまで通信できるか試す準備。 受信機の方のソフトを変えて、これで設定変更できる。 params[0] = BAUDRATE_9600 | BW_125 | SF_5; write_register(2, params, 1); こちらが参考に…
GPS追加 GPSセンサーを追加し移動しながらどこまで届くか試す。 使ったGPSセンサーはこちら akizukidenshi.com 受信したらGoogle spreadsheetにhttp postで送信する。 Google spreadsheetへpostするのは探せば色々あるがairpocketさんのが参考になるだろう。…
秋月電子からLoRaモジュール評価ボードを購入した。 akizukidenshi.com シリアルで通信するのだが、ボーレートは9600がデフォルトというのは分かっているが、他の条件が分からない。 こちらにあるコンフィグモード(mode 3)の条件baudrate=9600, parity=8…
クラスは作れたんだけどメソッド呼び出しがうまくいかない。 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, …
いつもmrubyとかmruby/c動いたで終わってしまうのでもうちょっと突っ込んでみる。 Peripheralをmrubyで動かしてこそmrubyを使った感があると思う。 M5StackのLCD用に mruby-lcd-m5stack がある。 github.com mrubyだと build_config.rb で組込む様だがPlatfo…
今までやったのを整理してQiitaにまとめた。 libディレクトリーに入れるやり方をしていたが、lib_depsで直接githubから読み込む様に変更している。 不要なファイルを除外するやり方が手作業なのが残念だ。 qiita.com github.com
倒立振子はToioを走らせてやろうとしていたが、通信で50〜110msくらいかかっている。 平均して10Hz位でしか指令を出せない事が分かった。 PID係数を調整してみるも倒立を保てそうにない。 手に持って竿燈の様にしても上手く保てないので、そもそも機構が悪い…
制御はPIDを使う。 普段組み込まれたPIDは作った事はあるが、プログラムした事はない。 こちらを参考にお手軽版でクラスを起こした。 controlabo.com (追記: ちょっと修正) class Pid { private: // aim float r; // input float kp; float ki; float kd; fl…
前回書いた様に倒立振子に挑戦してみる。 まず振子の姿勢を知るためにIMUを使用するので、M5AtomS3を制御に使用する。 姿勢を知るにはroll、pitch、yawを計算すれば良い。 M5AtomライブラリーではM5. MPU6886.getAhrsData()で得られるが、M5AtomS3ライブラリ…
Atom Mate for Toio で倒立振子を作ろうとしている。 倒立振子はLego Mindstormsを使った講座を受けた事はあるが、教材の指示に従っていっただけで、仕組みなど全く理解していない。 のでちゃんと動作するのはずっと先の事だろう。 Atom Mate for ToioはUIFl…
前回できたlibmrubyc.aをlibディレクトリーに置いてみるるが全く無視されている様だ。 それではとダウンロードしたmrubycディレクトリーを丸ごとlibディレクトリーに置いてみる。 エラーは出ているがmrubycのMakefileを読み込んでうまい具合にやろうとしてい…
M5やmicrobitでmrubyやmruby/cが動かせるが platformio で構築できないかトライしてみる。 通常Arduinoフレームワークを選択するが、Espressif IoT Development Framework を使うとなんかできないか試してみる。 まずはmruby/cから Githubからダウンロード g…
M5Unifiedを使用すると同じバイナリーで様々なM5の機種に対応ができるとTwitterとかで見たことがある。 内部で判定している場所があるはずなので探ってみる。 M5Unified.hpp内で _board が定義されていてここにデバイスに合わせて設定されるっぽい。 M5Unifi…
前回IRの受信でソニーテレビの信号を確認したので、送信してみる。 IRGCSendDemoで簡単にできることが分かったので、 github.com M5AtomS3ではG4がIRに繋がっていて、例の通りで動作できる。 必要な箇所のみにしたらこんなに簡単になった。 NECの場合をコメ…
M5AtomS3にIRが付いている。 M5StickCにも付いていたが、試したことがなかった。 この記事を頼りに進める。 lang-ship.com 送信するにもコードがわからないことには始まらない。 手元にセンサーキットがあったのでそれを利用する。 osoyoo.com 使ったことが…
IoTでよくMQTTが使われているがまだ試したことがない。 こちらを参考にMosquittoを試してみる。 developer.mamezou-tech.com Macなのでインストールはbrewを使う。 % brew install mosquitto % brew install mosquitto-clients mosquittoはブローカーと呼ば…
最初に入っているのはこれかな? github.com platformioで試せそう。 環境のダウンロードに時間がかかかったがコンパイルできた。 最初から入っているのとは違った。 前回M5StampS3で色々試したので、platformio.iniファイルは参考になる。 https://github.c…
M5Stamp S3 でLチカをしてみる。 M5Unifiedで使ったのにちょっと手を加えただけで動いた。 katsuyoshi.hatenadiary.com LEDはM5Stamp picoのソフトほぼそのままで動いた。 そのままで動いたということはRGBではなくGRBの順になっている様だ。 gist.github.co…
ハード的な仕様はこちらから辿れる。 github.com M5Stamp picoの置き換えを考えているので比較してみる。 公式サイトから引用 S3の方はハーフピッチになっていてI/Oが沢山あるが、付属のピンヘッダー(2.54 mmピッチ)で使える部分で比較する。 左側、GROVE PI…
M5Stamp S3が届いた。 M5Stamp picoの置換えとして捉えているがI/Oが倍くらいに増えてるのでかなりのことができそう。 裏にはLCD用の端子もあり盛りだくさん。 PlatformIO PlatformIOでビルドしようとしたらESP32じゃないよといわれた。 This chip is ESP32-…
M5Stamp picoでデータを取っている装置のソフトを作り直して、どうも挙動が変なので調べてみる。 通常DEEPSLEEP_RESETで立ち上がってくるのが、 rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 188777542, SPIWP:0xee clk_drv:0x00,…
e-Paperモジュールでマイナス表示できないため0℃にクリップしていたが、Ambientへの記録もクリップされてしまったので修正。 それと測定中はM5Stamp picoのLEDを表示させる様にした。 よく考えたらマイナス表記もできるので対応させた。 1しか表示できないと…
M5Stamp picoでM5Unifiedを使ってRGB LEDを点灯させる場合にどうするか試す。 docs.m5stack.com ドキュメントによるとRGB LEDはサポートされず、FastLED Libraryを使う様にということの様だ。 色はRGBで指定するが、M5Stamp picoはRとGが逆になっている様な…
電池駆動は無理だった。 今朝見たらまた止まっていた。 電圧は2.2Vしかなく出力も5V出てない。 Ambientとの通信で結構くっているのかな? e-Paperモジュールの初期化で食ってる気もしないでもない。 電池駆動でいいとこ2日というところか… e-Paperは表示が消…
実際に単四電池2本で動かしてみる。 これだと供給電流が不足して動作が不安定な感じ。 XCL103使用5V出力昇圧DCDCコンバーターキット: 組立キット(モジュール) 秋月電子通商-電子部品・ネット通販 いつものMT3608モジュールにする。 安いし重宝す…
細かいところを実装。 Wikiに以下の記載がある。 When using the ink screen, it is recommended that the refresh interval be at least 180s, and refresh at least every 24 hours. If the ink screen is not used for a long time, the ink screen shoul…
後は温度をe-Paperに表示するのみ。 前回の表示はサンプルそのままだったが、温度表示できる様にする必要がある。 初期化で何をしているか理解できていないが、EPD_1in9_Write_Screen(DSPNUM_1in9_W0)の前までは必須の様だ。 その途中までにすると表示した時…
温湿度計にするためのセンサーとして手元にあるDHT11を使用する。 使用するピンは左側の列ではGPIO26しか残ってないのでそれを使用する。 M5Stamp pico DHT11 3V3 + GND - G26 OUT OUTとVCC間に4.7KΩのプルアップ抵抗を入れる。 github.com を使ってセンサー…
1.9インチ 91セグメント I2C電子ペーパモジュールwww.switch-science.com ドットマトリックスのe-Paperデバイスと思って買ったら違うらしい。ちょっと失敗。 液晶表示の様にセグメントがある様だ。というかセグメントと書いてるよね。確認不足。 見た目はSwi…
データを取ってみて、微分で同じ符号が8回続いたら山と谷の切り替えを判断することにした。 これで実際の歩数に近い感じになったのでこれで完成としよう。 後は雪が降って除雪のログ取りをするだけ。 図は微分と2階微分のデータで、正の数を緑で、負の数を赤…