知的好奇心 for IoT

IoT関連の知的好奇心を探求するブログです

ESP32

Arduino IDEでArduino Cloudが対応していないマイコンのプログラムを書き込む方法

以前、Arduino Cloud Agentが動かなくなったときに次のブログを書いたのですが、あれはArduino Cloudが対応しているマイコンを前提としていて、Arduino Cloudが対応していないマイコンでの動作検証はしていませんでした。 なぜ、こんな話が出てくるかという…

Xにポストしていた、スポット計測用のガイガーカウンタープログラムを公開します!

飛行機に乗ると、地上よりも高い高度を飛行するため、宇宙からの放射線を受ける量が増えるって聞きますよね。 実際のところどうなんだろうと思っていたので、北海道に帰省する機会に実際に測ってみることにしたんです。 講座で使用しているプログラムはロギ…

ESP32でWiFiが切れたときに再接続する方法と、繋がり難くさの原因となっていたWiFiルーターの設定について

1年ぐらい前からArduino Cloudを使い始めたのですが、Arduino Cloud対応のプログラムはWiFiに繋がっていなくてもメインのプログラムは動く作りになっているんです。 また、WiFiが切れても自動で再接続をするようになっています。 それがずっと気になってい…

第1回 放射線選手権大会(身近なものクラス)

自分の部屋に、ストアカで講座を行っているガイガーカウンターを設置して、放射線のロギングをしているのですが、ある日、ガイガーカウンターの近くに観葉植物を置いたら、普段より高い数値になっていることに気が付きました。 最初は土や観葉植物のせいかと…

ARM版WindowsでArduino IDEやArduino Cloudが使えるか調べてみた

Arduino IDEやArduino CloudはARM版Windowsをサポートしていないのですが、実際のところどうなのか調べてみました。 ※2025/6/16追記 ARM版WindowsにFTDIドライバーが提供されたことで、次のマイコンが使えるようになりました。 M5Stack Atom Lite (ESP32) M5…

「エアコンを外出先から操作できるIoTリモコンを作ろう!」の開発過程でわかったこと

最近、「エアコンを外出先から操作できるIoTリモコンを作ろう!」という講座を公開したのですが、今回はその講座開発の過程でわかったことを幾つか書きたいと思います。 ・外出先からエアコンを操作できる温湿度計付きIoTリモコンを作ろう! - ストアカ http…

(Arduino Cloud Agentが動かないときのための)Arduino CloudのプログラムをArduino IDEで書き込む方法

この4月に入ってから、Arduino Cloud Agentが動かなくなった(常駐しなくなった)のに気づいた方いらっしゃいますか? (mac版のアイコン) Arduino Cloud Agentは、Arduino Cloudで作られたプログラムをブラウザ経由でPCに繋いだマイコンに書き込むために使用…

LINEの代わりにDiscordに通知する防犯カメラと猫よけ水鉄砲のプログラム

とうとう2025年3月31日でLINE Notifyサービスが終了してしまいました。 LINEが案内した代替方法のメッセージングAPIは、企業がマーケティング目的でメッセージを送るためのもので、一般ユーザー向けではありません。 他の代替え手段を色々と探していましたが…

AppleシリコンMacで、ESP32マイコンをArduinoで使うには Rosettaをインストールする必要がある

ことの発端 Arduino Cloudを使うようになって、PC環境に左右される要因が減ったこともあり、MacでWindowsを使う必要性が下がったことから、Intel MacからAppleシリコンMacに乗り換えました。 とはいえ、Arduino Cloudに対応していないマイコンもあるため、こ…

「植物の自動水やり機」に使うIoT OnOffの代わりにArduino Cloudを使う方法

「M5StackではじめるIoT電子工作」の作例として載っている「植物の自動水やり機」はIoT OnOffというスマホアプリを使っています。 少し前にApp StoreからIoT OnOffが消えていた時に次の記事を書いたのですが、最近はApp Storeでは復活したのですが、Google P…

ガイガーカウンター用高電圧発生回路の設計とArduino Cloudを使ったツールの作成

以前のガイガーカウンターで使用していた高電圧発生回路は、昇圧チョッパ回路だけでSBM-20の動作に必要な400Vを生み出していましたが、次の問題がありました。 5Vの直流電源(USB)からだと400Vが発生せず、9V電源を使用するなどしていた 非常に大きなインダク…

単4電池2本!30分間隔計測で2ヶ月動作できるかも!IoT温湿度計を新調してArduino Cloudにも対応させました。

最近、この記事に書いていた機器が壊れてしまったため、IoT温湿度計とIoTプラットフォームを一新することにしました。 以前にも、電池での運用を想定したテストをしたことがあったのですが、改めて次の環境でテストしてみることにしました。 テスト環境 マイ…

ESP32で使えるOV3660とOV2640の画質の比較と初期化パラメーター

ストアカで「LINEに通知できる防犯カメラを作ろう!」という講座をやっているのですが、時々撮った写真が緑被りすることがあったのです。 緑被り対策としてイメージセンサーの初期化の後にディレイを入れていたのですが、ディレイを長くすると写真を撮るタイ…

カメラとmicroSDカードスロット付きのESP32でタイムラプス動画用の写真を撮ろう!

最近2,000円代でカメラとmicroSDカードスロット付きのマイコンが出てきたので、何か良い使い道がないかと考えていました。 2023年5月25日発売のSeeed Studio XIAO ESP32S3 Sense スイッチサイエンスで¥2,728円 2024年2月5日発売のM5Stack UNIT CAMS3 スイッ…

XIAO ESP32S3がWiFiに繋がらなかったので調べてみたら、ハードの問題である可能性が高いことがわかった

2023年の6月に極小マイコンボードのXIAOシリーズに、カメラモジュール搭載のアドオンボードが付属している「Seeed Studio XIAO ESP32S3 Sense」が加わっていたので、遅ればせながら買って使おうとしたら、なんとどうしたことかWiFiに全然繋がらなかったんで…

サーボモーターとESP32の話

最近、ホビー向けのサーボモーターで一番有名だと思われるTowerProのSG-90がどこも在庫切れで入手困難な状況となっているみたいなんです。 そこで、SG-90の代替えとなるサーボモーターを秋月電子で探してみました。 FEETECHというメーカーのFS90とFT90BがSG-…

こっちが本命?ネットに繋がる極小マイコンボードXIAO ESP32C3に外部アンテナが付属していたので電波強度を比較してみた

このご時世に1,000円以下で買える極小WiFiマイコンボード「XIAO ESP32C3」を入手したら、本体より大きな外部アンテナが付属していました。 本体の小ささを台無しにするこのアンテナ! 付けて無くてもWiFiに繋がるものなのか知りたくなったら、何故か他のマイ…

M5Stack Basic V2.6にM5GO/FIREバッテリーボトムを付けるとM5.begin()でSDカードをfalseにしないとSDカードのファイルオープンに失敗する。

今回確認した現象は、タイトル通りM5Stack Basic(無印)では起きないのにM5Stack Basic V2.6だと起きる障害です。 障害は次の写真の組み合わせで発生します。 M5Stack Basic V2.6 M5GO/FIRE バッテリーボトム 障害内容 M5Stack BasicをArduinoで使っている…

ESP32とESP8266でディープスリープを使って1時間毎にDHT20のデータをクラウドに送る持続テストのハードウェアとプログラム

今回は、前回の記事のハードウェアとプログラムについて書きたいと思います。 ああ 使ったもの(ハードウェア) ESP32(M5Stamp Pico)+DHT20 M5Stamp Pico Mate 温湿度センサモジュール DHT20 XCL103使用3.3V出力昇圧DCDCコンバーターキット ミニブレッドボー…

やっぱりベランダのマイコンは電池で動かしたい!ESP32とESP8266でディープスリープを使って1時間毎にDHT20のデータをクラウドに送る持続テストを実施中!

ベランダで使っていた以下の構成のIoT温湿度計のバッテリーの持ちがすごく悪くて、だいたい2週間毎にバッテーリーを取り外して充電することが続いていたのでうんざりしていました。 ATOM Lite M5Stack用温湿度気圧センサユニット Ver.3(ENV Ⅲ) 中古モバイ…

M5Stamp Pico Mateは変わらずに安くて小さい!ESP32の最適解!ただし、プログラムの書き込み方が解っていればの話です。

M5Stack Basicが6,000円を超え、M5StickC Plusが元々のM5Stack Basicの値段となっている異常事態の中で、M5Stamp Pico MateはリーズナブルなままでESP32を手軽に使うポテンシャルを持っていると思います。 ただ、プログラムの書き込みに必要なUSBシリアル変…

MontereyでESP32ボードをArduinoでコンパイルしたら「exec: "python": executable file not found in $PATH」が出たときの対処法

※2022年10月28日追記 MontereyをVenturaにアップデートしたら「コマンドライン・デベロッパーツール」が動かなくなりました。 次のコマンドを実行して、再度「コマンドライン・デベロッパーツール」をインストールすることで問題が解消しました。 xcode-sele…

M5StackのBALA-CミニセルフバランスカーをMQTTで操作できるようにサンプルコードを改造する方法

1年ぐらい前に次のような記事を書いたのですが、Blynkで新規アカウント登録ができなくなってしまったため、BalaCもMQTTで動かせるようにしてみました。 と、いっても、このBalaCも製造停止になってしまい、在庫でしか入手できなくなっているんですけどね。 …

M5StickC Plusはバッテリー不良に注意!購入したら必ずFactory Testを実行しよう!

M5StickCで満足していたので画面が大きくなったM5StickC Plusを買っていなかったのですが、このところM5StickCが入手しずらい状態になっていたため、やっとM5StickC Plusを入手しました。 M5StickCとM5StickC Plusの両方に対応させたプログラムの動作確認を…

一周回ってMQTTに回帰。パブリックMQTTブローカーやスマホアプリもいろいろあって、なんとか使えそうな感触。

Blynkの代わりをいろいろと探していたのですが全然見つからず、一周回ってMQTTの現状を調べてみたら、パブリックMQTTブローカやスマホアプリもいろいろあることがわかって、MQTTに回帰することにしました。 「IoT OnOff」というアプリで温度・湿度・気圧を表…

M5Stack Basicが異常に高くなってしまったので、まだ発売時の価格で売っているWio Terminalを買ってM5Stack Basicと比べてみた

みなさんもお気付きのことだと思いますが、最近一部のマイコン製品の価格が高騰しています。 特にM5Stack Basicは値上がりが酷く、1年半くらい前までは3,575円だったのが今は5,203円になっています。 一方、Wio Terminalは秋月電子通商では発売時の価格を維…

SSLClientは証明書情報を自動で作るサイトが用意されていて、ESP32で標準のWiFiClintSecureよりサイズも小さくEthernetでも使えるのでとっても便利!

電波状況の良くない場所からデータを送信する必要があったため、M5Stack BasicにLANモジュールを付けて有線でデータを送信することにしたんです。 データの送信先サイトがhttpsアクセスだったので、セキュアクライアントを使うプログラミングをしようと思っ…

ATOM Socket KitとBlynkで洗濯機や乾燥機の動作状況が見れて終了を通知してくれるシステムがお手軽に作れるようになった

シェアハウスに住んでいるぼくにとって、洗濯物放置問題の解決はライフワークみたいになっていて、これまでいくつかシステムを作って来ました。 しかし、どれも一般の人が作るにはハードルが高い部分が存在していて、もっと簡単に作ることができないかずっと…

ESP8266やESP32でDeep SleepをWiFiの電波が混んでいる場所で使うときは、接続や送信でタイムアウト処理を行いDeep Sleepを実行する前にWiFiの接続を切る必要がある

市川市の川沿いの住宅街から、神田のビル群や上野のオフィス・住宅密集地に引っ越して、長らくベランダで動かしていた温湿度計のバッテリーが想定より極端に短い時間しか持たない現象に悩まされていましたが、その対処方法がやっとわかりました。 原因の特定…

Arduino core for the ESP32 1.0.5でWiFiClinetSecureの使い方が変更されて、HTTPS(TLS)接続前に証明書の検証方法の明示が必要になっていた

Arduino core for the ESP32 1.0.4までは、HTTPS(TLS)接続は単に次のコードを実行すれば繋ぐことができました。 WiFiClientSecure client; client.connect("www.howsmyssl.com", 443); しかし、Arduno core for the ESP32 1.0.5では、上記の接続コード実行前…