ESP-WROOM-02やESP32でメッシュネットワークを構築できると分かったので色々試していたんですけど、painlessMesh というのが一番楽に構築できました。
Arduino Core を使えるのでプログラムも作りやすいです。
このライブラリを使ってゲートウェイを作るには色々面倒くさそうだったので自分なりに解釈して自分ができる範囲でつくってみました。
ESP-WROOM-02やESP32でメッシュネットワークを構築できると分かったので色々試していたんですけど、painlessMesh というのが一番楽に構築できました。
Arduino Core を使えるのでプログラムも作りやすいです。
このライブラリを使ってゲートウェイを作るには色々面倒くさそうだったので自分なりに解釈して自分ができる範囲でつくってみました。
ESP-WROOM-02を組み込む時に色々と調べていたのですが、無線モジュールのレイアウトにはコツがあって上手に配置しないと無線モジュールの本来の性能を発揮できない可能性があることがわかりました。
ここにはその備忘録としてまとめようと思います。
温度センサのMCP9700/MCP9701は安価で温度データの取得も簡単な温度センサですが、少し精度に不安があります。
精度が最大で±4℃ですので、正確な温度測定には全く向かないセンサでしょう。
ただやっぱり「安価」というのは魅力的で重要だと思うのです。
1個だいたい30円ですよ?
1000円くらいする温度センサを何個買えるんですか...
でも実はMCP9700は補正すると±0.5℃まで精度を高められるらしいので、実際にやってみました。
データの平均値をとることは多いですが、データが逐次的に入ってくるときは普通の計算では今までの全てデータが必要で総和を取る必要があり、これは計算量が多いです。
マイコンなどのメモリが少なく、スペックがあまり高くないシステムであれば、想像以上に影響が出てきます。
ここでは短い計算時間でメモリを節約でき、流れてくるデータの平均値を順次求めていく方法を紹介します。
WS2812Bなどを搭載しているLEDは信号線が少ないので、重宝しています。
特に今まで問題なかったのですが、PL9823という砲弾型のLEDを使ったときの挙動が気になりました。
ADC(アナログ-デジタル変換器)で取得したデータは量子化されているため、基準電圧に対してのバイナリデータになります。
そのままでも使える場合もありますが、抵抗値や電圧を測定する場合は、計算で求める必要があります。
様々な状況がありますが、換算式を忘れてしまって毎回手計算で求めているのでここにまとめようと思います。
現状シグナルジェネレータは持ってはいますが、やっぱもうちょい高性能なシグナルジェネレータが欲しい!と日々思っており、ボーナス出たし...ということで思い切って買っちゃいました。
SIGLENTのSDG2042Xというシグナルジェネレータを買いました。
MicroUSB(Bタイプ)はいろんなデバイスに使われていますが、よくもげるようです。
私はまだ経験したことがないですが、その事例はよく耳にします。
USBはPCとの接続のスタンダードですし、小さいMicroUSBは省スペース化にも貢献しますので私もよく使います。
私ももげるは嫌です。
そこで、もげやすい・もげにくいで分類するとMicroUSBコネクタはどう分類できるのか気になったのでまとめてみました。
Elecrowが安かろう悪かろうなイメージが付いてしまったので、他社も検討しようということで昔からあるSeeed Studioのプリント基板サービスである「Fusion PCB」を試してみました。
ESP8266(ESP-WROOM-02)やESP32(ESP-WROOM-32)は小型でWi-Fi接続ができて非常に便利なのですが、電源周りをしっかりとする必要のあるデバイスです。
電源がひ弱だとWi-Fi接続できなかったり、リセットを繰り返したり不安定になってしまうのでしっかりと対策しなければなりません。