質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

IoT

IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

Q&A

解決済

2回答

1988閲覧

ESP32 電源オンと同時にスケッチを走らせたい

ytakaiwa

総合スコア3

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

IoT

IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

0グッド

0クリップ

投稿2021/05/11 09:01

編集2021/05/11 09:02

現在IOTプロダクトデザインを進めている電工初心者です。ESP32 devkitで9v電池で動く自動灌水装置を作成中です。

実現したいこと:
通常、マイコン起動後、PC等でスケッチを書き込み、プログラムを走らせる順序ですが、その書き込み手順を省略し、装置に電源を入れた後、すぐにプログラムが開始するようなスクリプトをあらかじめマイコン側に組み込んでおくことは可能でしょうか。

例1:電源を入れるとすぐにマイコンに接続したキャラクタディスプレイに文字が表示され、スイッチで灌水時間を設定できる

例2:電源を入れると同時にBlynkの操作受け入れが可能な状態となる

これが可能となれば、一般の方に装置を渡してもPCを経由せず装置のみで操作可能となり、電池を入れ替えても機能を維持できると考えています。

自分で調べたこと
ESP32入門書や、個人ブログはかなり当たりましたが、電源ON後のプログラム書き込みをスキップすることが可能な記事は見当たりませんでした。
Blynkについても、一度電源を落としてしまうとやはり一度コネクトするためにPCからスケッチを書き込む必要があるようで、そこで壁に当たってしまっています。

現時点の状況
DeepSleepを利用した間欠灌水動作、Blynkによる個別動作、9V電池による起動までは確認できています。

みなさまのお知恵をお貸しください。どうぞよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2021/05/11 09:37

> 通常、マイコン起動後、PC等でスケッチを書き込み、プログラムを走らせる順序ですが、その書き込み手順を省略し、装置に電源を入れた後、すぐにプログラムが開始するようなスクリプト 一般的にスケッチを書き込んだ後はそのボードにスケッチのプログラムが恒久的に書き込まれた状態であるので、その後は電源をOFF、ONするだけでそのスケッチが走り始めるはずなのですが、そういう話ではないのでしょうか。、
thkana

2021/05/11 22:06

RaspberryPiは質問のどこにも登場しませんが、タグをつけているのはなぜですか?
thkana

2021/05/11 23:19

> 電工初心者 電工っていうと、デンキの関係者の区分としては電気工事(大きなエネルギーとしての電力供給システムや機器類)を扱う分野を想像しますね。どういう意図かわかりませんが、変な省略はしないほうがいいと思います。
ytakaiwa

2021/05/12 00:07

>Dodox86様 仰る通り、再起動を繰り返したのちに、一度書き込んだスケッチが繰返し動くようになりました。ありがとうございます。 >thkana様 RPIタグは誤記でした。電工→電子工作 の方が宜しいですね。ご指摘ありがとうございます。
guest

回答2

0

ふつう、スケッチを書き込んだら、PCを繋がなくてもスイッチONでそのスケッチが走る状態となります。
いちど、PCにつないでるのを抜いて電源入れて走らせてみてはどうでしょうか

投稿2021/05/11 23:07

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ytakaiwa

2021/05/12 00:04

ご回答ありがとうございます。何度か抜差しして無事起動することを確認できました。初期にうまくいかなかった理由は不明ですが・・
guest

0

ベストアンサー

「すぐに」というのはブートローダーの動作をスキップしたい、ということではないですね?

ESP32はどのようなハードウェアになっているのでしょうか。電源ON時GPIO0がLOWになる(=書き込みモードに入る)回路になっていないでしょうか? ESP8266ではユーザーがスイッチ等でGPIO0を上げ下げしている作例も多かったのですが、ESP32ではその辺よろしくやってくれる基板が増えたのであまり気にしていないことが多いようですが、確認してみてください。
DeepSleepからの復帰時も結局リセット動作ですので、こちらがプログラム書き込みモードにならないとしたらやはりハードウェア(GPIO0の端子処理)が適切でないという可能性が大です。

質問の主題とは関係ない話ですが、9Vの電池って006Pタイプですか? 電流容量がかなり少ないですね。まぁ、目的の期間(前の質問によれば一週間でしたっけ)持つのならそれでもいいですが。
9Vから3.3Vをつくるのは、スイッチングタイプのレギュレータを使っていますか? シリーズレギュレータで3.3Vをを作る回路だとすると、ドロップしたおよそ6V分つまり2/3は熱として無駄に使われます。とてももったいない話になります。

投稿2021/05/11 22:52

編集2021/05/11 22:54
thkana

総合スコア7639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ytakaiwa

2021/05/12 00:03

丁寧なアドバイスありがとうございます。 ・あの後何度も抜差し、再起動により、一度書き込んだスケッチが繰り返し作動するようになりました。初めにそれが起動しなかった理由は不明ですが、現状はハードウェア側の問題はなさそうでした。 ・電池は006Pタイプです。完成後は知人・家族に使ってもらう関係で、コンパクト、安価、入手しやすい、交換しやすいことで選びました。仰る通り容量が小さいのでスリープで消費電力を抑えたい次第です。とはいえ、1週間で切れてしまうようでは使い物にならないので、少なくとも半年を目標にしたいです。なお電子工作用の小型のリチウムイオン電池が出てきていますが、マイコンん本体以上に高価ですね。 ・9V電池→5V端子にはレギュレーターは入れず直接接続していました・・・レギュレーターについては勉強して必要な部品を追加します。
thkana

2021/05/12 11:29

> 初めにそれが起動しなかった理由は不明 ということは、いつ再発しても不思議ではない、ということです。 006pは、'006p 容量'でググるととりあえずhttp://maicommon.ciao.jp/ss/Hardware/Power/battery/index.htmに行き着いて、500mAhだそうです。ものすごーくアバウトに計算すると、ESP32でWiFiOnだと160mAぐらい流れるようですから連続稼働で約3時間目安。半年=4300時間として3/4300の稼働率であれば半年持つことになります。1時間(3600秒)では2.5秒ほど動作できるということですね。それこそブートローダーで2秒ぐらい使ってしまいますが。 電池持ちを一週間(=168時間)とするなら3/168x3600=64で一時間のうち1分くらいは動作できることになるでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問