記事一覧

概要 前回はキューを説明しました。今回が同期や排他制御の機能である、セマフォとミューテックスです。 一般的には最初にとりあげますが、通知や、キューを知ってからの方が説明しやすいと思い、後ろに持ってきました。というのは、建前でイマイチ勉強不足だったので、他の説明を書きつつ勉強しなおしていました。 セマフォとミューテックスとは? ざっくり説明すると、セマフォは許可を与える機能です。同時アクセスの上限を ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 M5StickCでUIFlow入門 その6 P2PとMQTTとESP-NOWで無線通信 前回は無線通信を行いましたが、今回はM5StickC本体を拡張するHatを使ってみたいと思います。 Hatとは? M5StickCに拡張する装置のことです。バッテリーを拡張するものから、ス ...
続きを読む
/ 電子工作
概要 ESP32のFreeRTOS入門 その4 割り込みと通知 前回は割り込みと通知でした。今回は通知を少し便利にしたキューを説明したいと思います。 キューとは? 通知では、データの受け渡しや、呼び出し回数が重要な場合に使いにくい時があります。キューはデータの集まりであり、処理すべきデータのリストになります。 何かを処理したい場合にキューにデータを入れて依頼をし、別タスクなどでキューか ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 ダイソーで300円で販売されている、リモコン付きのイルミネーションライトの赤外線信号を解析してみました。 M5StickCを利用して、解析したリモコン信号を送信するスケッチも作ってみました。 売り場 ダイソーの家電のライトを売っているコーナーで発見しました。とはいっても、なかなか取り扱い ...
続きを読む
/ 電子工作
概要 ESP32のFreeRTOS入門 その3 マルチタスク 前回はマルチタスクを説明しました。今回は実際にマルチタスクを利用していくときに注意しなければならない割り込みと、排他制御の一つである通知を説明します。 割り込みとは? タスクは定期的に動いていますが、何かをトリガーにして動くものを割り込みといいます。ハードウエア的な割り込みと、ソフトウエア的な割り込みがあります。 ESP32 ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 M5StickCでUIFlow入門 その5 加速度計とグラフィック 前回は加速度計と直接画面にグラフィック描画を行いました。今回は2台のM5StickCを利用しての無線通信を行いたいと思います。 複数のM5StickCが必要なことと、Desktop版では動作しない機能があるの ...
続きを読む
/ 電子工作
概要 ESP32のFreeRTOS入門 その2 タスクの作成 前回はタスクの作成を説明しました。今回は複数のタスクを動作させるマルチタスクについて説明したいと思います。 マルチタスクとは? 複数のタスクを同時に動作させることです。同時に動作させる方式もいろいろあり、複数のことを同時に実行できるマルチタスクは便利ですが、いろいろ気にしてつかわないとハマりやすいです。 複数のタスクを同時に ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 M5StickC(ESP32)での無線通信方式の選び方 前回無線をやったので、有線もまとめてみました。こちらもM5StickCとタイトルに書きましたが、内容的にはすべてESP32に関することです。 ESP32の有線ユニット 無線と違い、特別なユニットはありません。GPIOを使 ...
続きを読む
/ 電子工作
概要 ESP32のFreeRTOS入門 その1 FreeRTOSとは? 前回は概要紹介で終わりましたが、今回はプログラムの実行から、タスクの作成まで説明したいと思います。 Arduinoプログラムの構造 Arduinoのスケッチ void setup() { } void loop() { } 上記のような何も処理しないプログラムで考えてみます。上記を実行するための裏では別のプログラム ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 M5StickCでUIFlow入門 その4 条件分岐 前回はif文のみで終わってしまいましたが、今回は加速度計のグラフ表示を行いたいと思います。 加速度計とは? 単位時間あたりの速度の変化をあらわします。といっても、よくわからないと思うのですが、M5StickCが動いた方向へ ...
続きを読む
/ 電子工作
概要 ESP32を深く触っていくと、FreeRTOSにいきつきます。しかしながら情報が少ないので調べてみました。Arduino IDE環境でのFreeRTOSについてを対象とします。 FreeRTOSとは? RTOS(Real Time Operating System)はリアルタイムOSで、組み込み系によく使わえているOSです。特徴としては、リアルタイムとついているので、厳密な時間管理ができます ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 ESP32の通信方式をどう選べばいいのかをかんたんにまとめてみました。M5StickCとタイトルに書きましたが、内容的にはすべてESP32に関することです。 ESP32の無線ユニット ESP32は2.4GHz帯の通信ユニットしか搭載していません。しかし2.4GHzは人が多いところなどで使 ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 M5StickCをArduino IDEで開発する場合に、最初から定義されているdefineを調べてみました。 defineの階層
  • M5StickCライブラリ
  • M5StickCボード
  • ESP32プラットフォーム
Arduino IDEでは、上 ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 M5StickCでUIFlow入門 その3 LED制御とブロックの種類 前回はボタンを押したらLEDをつける制御をやりました。途中にでてきた条件分岐を今回説明したいと思います。 条件分岐とは? 一般的にはif文という名前で呼ばれている分岐です。 前回のブロックだと、この青い「 ...
続きを読む
/ 電子工作
概要 ESP32のULPアセンブリ言語入門 その7 マシン語の構造と逆アセンブラ 前回までで、Cマクロを使ったULPの解説が終わりました。今回はCマクロではなく、Arduino IDEから直接ULPアセンブラを使うことができるulptoolの紹介をしたいと思います。 ulptoolとは?
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 M5StickCとType-Cの組み合わせで認識しないとの度々SNSでみますので、検証してみました。とくに最近のMacBookなどはType-Cポートしかないので、認識が大変みたいでした。 検証環境 手元にはType-Cポートも持つMacがなかったので、Windowsノートで検証していま ...
続きを読む
/ 電子工作
現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。 概要 M5StickCでUIFlow入門 その2 Cloud版最初の一歩 M5StickCでUIFlow入門 その2 Desktop版最初の一歩 前回はCloud版とDesktop版でわけましたが、今回からは共通です。画面キャプチャがやりやすいDesktop版を利用して ...
続きを読む
/ 電子工作
概要 いまさらですが、RISC-Vのボードと開発環境まわりを調べてみました。 Arduino IDE環境 Arduino IDEで開発する場合には、CPUの系統により2種類ありました。Arduino環境なので独自拡張のC++言語での開発になります。 SiFive こちらがRISC-V本家用のボードで、標準的なCPUですが、非常に高いです。HiFive1 RevBなどが代表的なボードです。
/ 電子工作
概要 ESP32のULPアセンブリ言語入門 その6 ADC、入力、復帰 前回まででCマクロで定義されている命令をすべて説明しました。今回はマシン語の構造と、逆アセンブラの説明をしたいと思います。 命令の概要 ESP32のULPは、1命令が4バイト固定のRISCアーキテクチャです。一般的なパソコンに使われているIntelのCPUはCISCアーキテクチャで、単純な命令は1命令が1バイトと、 ...
続きを読む
/ 電子工作
概要 Gigabitsという新しいIoTプラットフォームができていたので、ベータ版を触ってみました。 ESP32の開発元であるEspressifと共同でリリースを出していました。 gitabits.ioの基本機能 ざっくりいうとMQTTでデータを投げるとグラ ...
続きを読む
/ 電子工作