X



トップページ電気・電子
1002コメント324KB

格安wifiモジュール「esp8266」「esp32」 4個目

■ このスレッドは過去ログ倉庫に格納されています
0497774ワット発電中さん
垢版 |
2020/03/14(土) 23:08:10.52ID:H+KrN1/g
ESP32でハード活かしてサーボ制御する場合どんな事するんだろと
driver/mcpwm見てみたらわけ分からんかった

リファレンスを見るにハードではmcpwmunit2 x timer3の6個制御出来るのかな?
0498774ワット発電中さん
垢版 |
2020/03/14(土) 23:19:59.19ID:R26UnwOI
>>494
写真写りが悪いんで確かにそう見えるけど、ルーペで確認するとはんだはちゃんと濡れてるんで、合金層はきっちりできてるはず
それにもし接触不良ならPCではうまく通信できるという現象の説明がつかなくない?

>>495
波が小さくてコードに起こせないから、確かに正しいデータが返ってきたとは断言できないんで、君はきっと納得しないんだろうけど
出てくるデータの間隔やパターンがTXの出力タイミングに一致しているのでおそらく8266の応答なんだと思う

>>496
逆向きはないと思う
理由として、この基板はCQ出版が出してるものだけど、トラ技で、このように接続することと書いてあるように接続しているのと
用意された図面を追ってもトラ技の説明通りに接続するのが正しいのと、
MCUのRXピンと8266モジュールのピントをテスターで導通チェックしたら導通してるから
0499774ワット発電中さん
垢版 |
2020/03/14(土) 23:32:51.91ID:8lTV0Wq4
STM32側のポートが出力になっていて衝突してると言う事はない?
UART2として初期化せず、GPIO15を直に0/1にしてオシロで見てみるとか
0500774ワット発電中さん
垢版 |
2020/03/15(日) 01:28:09.49ID:vGYwjq9F
STM32->UART->ESP8266->?->PC
というような経路なのだと想像するが、それすら質問者は明確にしてない。
仮にこの経路だとして、どこまでは確認できているのかもわからない。
何か測定値が示されたけどどこを測ったのかもわからない。
回路図は出せない。

これじゃ、アドバイス出来ん。
0504481
垢版 |
2020/03/15(日) 08:05:17.16ID:3eSo9zfn
使ってるのはCQ出版社が出してるこのボードで、回路図はトラ技の2020年3月号に載ってる
https://shop.cqpub.co.jp/hanbai/books/I/I000336.html

回路図をアップしないのは回路図の著作権を俺が持ってないのと
著作権を持ってるであろうCQ出版社が公開を容認しているか知らないから

測定個所は写真の丸を付けた端子の箇所
どこもほぼ同じ形の波形が出ていて、どこかで測ると0-3.3Vのきれいな波形が出てるわけではない
0505774ワット発電中さん
垢版 |
2020/03/15(日) 08:07:48.27ID:JG6SmBl7
>>500
テスターとUSBオシロ持ってる(これだけでも初心者としてはスバラシイ!)みたいだし、自分もレスしようとして何度も読み返したけど、よく分からない
回路図も全部は必要無いから、例えば接続してる部分だけを(端子名・番号も)手書きで出せば著作権関係無いし、遥かに適切なレスが付くと思うんだよなあ
まっ言い方は、人に依ってはムカつくかも知れないけど。。
0506774ワット発電中さん
垢版 |
2020/03/15(日) 08:28:33.81ID:JG6SmBl7
>>501
ほんと日本語めんど臭いよね?
本来は君=天皇陛下・皇帝陛下(!)なんだし
ちなみに中国でも○○先生と呼ぶけど、先生=ミスターらしい
おっと、スレ汚しスマソ
0507774ワット発電中さん
垢版 |
2020/03/15(日) 08:58:11.31ID:JG6SmBl7
>>504
接続図+アルファみたいなの手書きで書いて出せないの?
それから「どこも同じ」って「どの端子でも」ってこと?それとも時間軸上のどのタイミングでもってこと?
先ず各ユニット単独で、STM32のTX端子、8266のTX端子に、簡単な8ビットデータ、例えば0x55や0xAA、を無限ループで出してオシロで見るとどうなる?
この状態でキレイな波形が出てれば、後はポートの設定(入力端子を出力に設定?)か配線の(隣接端子のショートや半田不良)の不具合だと思うけどな。。
0508774ワット発電中さん
垢版 |
2020/03/15(日) 09:24:52.24ID:m2LVGJb0
なんかコピペでよく見るエンジンが掛からなくなった彼女との会話みたいだな。

この手のボードは動作確認に使えるデモ用ソースがあるものなんだが試してみた?
0509774ワット発電中さん
垢版 |
2020/03/15(日) 11:16:31.42ID:3eSo9zfn
回路図の一部だけアップした
こっちが本体側
https://i.imgur.com/xjfwm21.png
こっちがEPS8266ボード側
https://i.imgur.com/bpwcY8G.png

赤丸でくくったところにプローブを当てて信号を見たところ、このすべてで大した差はなくて、
それが、これ
https://i.imgur.com/Ha6s6CB.png

>>508
MicroPythonを使ったサンプルコードはあるんだけど、pythonを使う気は全くないんだ
0511774ワット発電中さん
垢版 |
2020/03/15(日) 11:37:44.77ID:m2LVGJb0
回路図ではwroom-02のGPIO1,3だよね。これはUART0じゃないの?
0512774ワット発電中さん
垢版 |
2020/03/15(日) 11:46:34.64ID:m2LVGJb0
貼ってたソースはUART2だったよね
0513774ワット発電中さん
垢版 |
2020/03/15(日) 12:00:26.93ID:EdNE8WoX
>>509
そのボードを買ったということは当然、トラ技の2020年3月号は持ってるんだよね?
その記事にあるネットラジオのプログラムは動くの?
それが動くならSTM32の方のプログラムが悪いのかと思う
0514774ワット発電中さん
垢版 |
2020/03/15(日) 12:01:27.94ID:EDtkgROs
マイコンの型番教えてくれ。ピンが正しいか確認したい。
0516774ワット発電中さん
垢版 |
2020/03/15(日) 12:09:28.77ID:EdNE8WoX
あと、やっぱりネットラジオの記事のプログラムを参考にすれば
そのARM Firstのボードからの使い方はよくわかると思うよ
その8266モジュールのBeeFirstはXBee互換みたいだけど
0517774ワット発電中さん
垢版 |
2020/03/15(日) 12:10:08.60ID:3eSo9zfn
>>514
STM32F405RGT

>>513
ネットラジオは8266のファームウェアを書き変えてるんでちょっと敷居が高い。
同じセットを2つ持っててどちらでも同じ症状が起きてることからおそらく、基板の設計や実装ミスじゃなくて
俺が作ったコードが悪いんだと思う。
だけどどこが悪くてどうすればよくなるのかが分からないんだ。
0519774ワット発電中さん
垢版 |
2020/03/15(日) 12:14:02.52ID:EDtkgROs
回路図でUARTのRXが2箇所に接続されてるけど、これはなんだ?
STM32基板とESP基板を同じ回路図上に書いたということか?

ESPのTXが異なる2つのICに入力されてるのか?
0520774ワット発電中さん
垢版 |
2020/03/15(日) 12:24:51.87ID:3eSo9zfn
>>519
何の説明もないんで勝手な想像だけど
P9の1,2ピンを使うならESP8266ボードは使うな
ESP8266ボードを使うならP9の1,2ピンは使うなって意味かと

スタブになるのは高周波では問題だけど、UARTくらいでは大したことないでしょ
0521774ワット発電中さん
垢版 |
2020/03/15(日) 12:25:59.45ID:EdNE8WoX
>>517
MicroPythonのサンプルから使ってるUARTと使ってるPINがどれかはわからないの?
あと動作確認の意味でMicroPythonを入れてみるのはありかも
ARM FirstはPybord用のMicroPythonが入るみたいだからね
0522774ワット発電中さん
垢版 |
2020/03/15(日) 12:27:34.35ID:7UKx+/kf
あぁ、、ただのESPとデバッグ用?のコネクタか。
0523774ワット発電中さん
垢版 |
2020/03/15(日) 12:49:58.33ID:EdNE8WoX
トラ技2020年3月号の69ページにArduinoからATコマンドを送るサンプルが載ってるね
UARTはUART2みたいだけど
8266のファームウエアのバージョンは「AT+GMR」で調べられたはず

8266のATコマンドでのWiFiの接続はファームウエアのバージョンにもよるけど
AT+CWLAP             アクセスポイントを表示
AT+CWMODE_CUR=1         Stationモード
AT+CWDHCP_CUR=1,1        StationモードでDHCP取得
AT+CWJAP_CUR="SSID","PASSWORD"            接続

AT+CIPSTA?            StationモードのIPアドレス、ゲートウェイ、サブネットマスクを表示
AT+PING="www.google.com"     PINGコマンド

切断は
AT+CWQAP
0524774ワット発電中さん
垢版 |
2020/03/15(日) 12:53:11.73ID:VMLWTLxJ
一個づつばらして確認しなよ。
最初から全部載せて動かそうなんぞ、無理に決まってるがね。
0525774ワット発電中さん
垢版 |
2020/03/15(日) 13:05:47.19ID:EdNE8WoX
あと、8266の改行は0x0d,0x0aね
0x0dだけとか0x0aだけだと応答帰ってこないよ
0526774ワット発電中さん
垢版 |
2020/03/15(日) 13:16:34.25ID:3eSo9zfn
>>523,524
そんな高度なところ以前の問題で、ESP8266が動作していればどんな設定でもとりあえず答えてくれるATのみのコマンド、
AT[CR][LF]
と出力して

AT[CR][LF]
[CR][LF]
OKAT[CR][LF]
が返ってくるところで躓いてるの

それも、まったく返ってこないわけじゃなくて、返っては来てるっぽいんだけど
波形が異常でマイコンが、返ってきてると認識していない。

じゃあ、8266が故障してるのかというと、PCと8266の間では同じやり取りが成立しているので壊れてるわけではない
じゃあ、マイコンボードが故障しているのかというと、同じ型番で別のマイコンボードに俺が作ったソフトを入れると
どちらも同じような波形が返ってくるので、故障しているとは考えにくい。
じゃあ、回路図がおかしいのかというと、アップしたのをレスしてくれた人以外も見ただろうけど、誰も何も言ってないということは
おそらくパッと見ただけでわかるような不具合はなさそう。
じゃあ、実装がおかしいのかというと、それはパータン図が手に入らないので何とも言えない。
とりあえず、設計も実装も問題ないという前提に立つと、俺の作ったソフトに問題がありそうなんだけど、
じゃあそれのどこに問題があるの?というところではまってるの。

現象から推測するに、HAL関数の使い方が間違ってるとかいう上層の話ではなく、IOポートの設定が間違ってるとかいう
下層の話っぽいんだけど、そこらへんがよく分からないんだよね
0527774ワット発電中さん
垢版 |
2020/03/15(日) 13:21:05.11ID:VMLWTLxJ
だからあ 配線切った状態でシリアルが出てるのは確認できたのか?
0528774ワット発電中さん
垢版 |
2020/03/15(日) 13:24:53.56ID:EdNE8WoX
あと、ESP8266のリセットはちゃんとやってるのだろうか?
RESETピンに接続されてるピンがあるはずだから
それをちょっとの時間、LOWにする必要があると思うけど
0531774ワット発電中さん
垢版 |
2020/03/15(日) 13:34:19.92ID:m2LVGJb0
>>515
すまんwroom-02側のソースと勘違いしてたよ。

>>528
RESET以外に8266の動作モードのio0,2も一応見といた方がいいかな。
0532774ワット発電中さん
垢版 |
2020/03/15(日) 13:34:36.90ID:3eSo9zfn
>>528が何言ってるのかやっとわかった気がする
8266を基板から外して、必要なピンを全部ジャンパで飛ばしてRXをオープンにして測ったら波形が出てる
https://imgur.com/OXCsdST.png
だから、マイコンボードかソフトのどっちかが悪いんだ
0533774ワット発電中さん
垢版 |
2020/03/15(日) 13:34:51.23ID:EdNE8WoX
69ページのArduinoのサンプルでは100ms間PB1をLOWにして
HIGHに戻してから初期化が終わるまで5秒間待機してるね
0534774ワット発電中さん
垢版 |
2020/03/15(日) 13:41:49.59ID:3eSo9zfn
>>531
IO2は3.3Vに吊ってあって、マイコンボードからはつながってないので常時HI
IO2はQ1がOFFなら3.3V
Q1はIO13がHIならONなので、C言語風に書くと、IO2 = !IO13だね
IO2もマイコンボードにはつながってない
0535774ワット発電中さん
垢版 |
2020/03/15(日) 13:50:40.42ID:7UKx+/kf
>>532
そこまで出来てるなら話は早い。そのときの解放されてるRXピンに抵抗を介して電圧3V3でも入力して、何Vまで下がるか確認すればどうか。

入力インピーダンスが低いか高いかわかるぞ。

ここまで書いて思ったんだが、プルダウンされてる可能性があるな。
CubeMXでUART2のRXの詳細を見てみ。
0536774ワット発電中さん
垢版 |
2020/03/15(日) 13:54:56.99ID:3eSo9zfn
>>533
それだ!
これをやってなかったというか、リセットを放置してたから多分出力が宙ぶらりんになってたんだと思う
ちゃんとLO→HIにしてやったら波形が出るようになったよ
https://imgur.com/W7R6G6t.png

みんなありがとう
0537774ワット発電中さん
垢版 |
2020/03/15(日) 13:55:26.10ID:EdNE8WoX
だからENがHIGH、IO0がHIGH、IO2がHIGH、
RESETは平常時HIGHで使う前に100ms間LOWにするわけ
リセットはきちんと行わないと動作が不安定になるよ
0539774ワット発電中さん
垢版 |
2020/03/15(日) 14:15:07.07ID:7UKx+/kf
見当違いだったか。恥ずかしいぜ。
0542774ワット発電中さん
垢版 |
2020/03/15(日) 14:51:49.11ID:JG6SmBl7
自分も巻き込まれたけど、なんかさ、言葉使いまで指摘されて大騒ぎした挙げ句に原因がリセットだったって、ホント笑えるよな?
って言うか、正に初心者のトラブルの典型、かつ紆余曲折が有り過ぎて近年稀に見る流れだったわ
ホント >>475 から >>541 までの一連なレスを永久保存したいくらい。。
0543774ワット発電中さん
垢版 |
2020/03/15(日) 15:09:49.62ID:EDtkgROs
でもなんか変だな。
>8266を基板から外して、必要なピンを全部ジャンパで飛ばしてRXをオープンにして測ったら波形が出てる
この時は、リセット端子は接続してたんじゃないのか?
0544774ワット発電中さん
垢版 |
2020/03/15(日) 15:24:43.43ID:2KbovSkQ
>>537
そうなん?
RTCメモリ消したいからENだけLOWにしてておかしくなったことはないんだけど
RSTもしたほうがいいんかな?
0545774ワット発電中さん
垢版 |
2020/03/15(日) 15:58:17.14ID:b/z6kCXg
>>543
それな
でも、問題の切り分けの概念が無さそうだから、いちいち説明すんの面倒
>>489を書いて、以後黙って観てた俺正解、予想もほぼ的中
0547774ワット発電中さん
垢版 |
2020/03/15(日) 16:18:00.08ID:a+0ZjxhN
結果、ESP8266の使い方の話だったわけだから、スルーが正解
0548774ワット発電中さん
垢版 |
2020/03/15(日) 17:46:08.70ID:UqVsxpNR
espラジオが動かない
相手鯖に繋がるとこまでいくんだけどデータが落ちてこないってエラーでる
エスパーよろ
0553774ワット発電中さん
垢版 |
2020/03/15(日) 23:36:56.77ID:36v3GFKa
>>546
俺、STM32住人だが、あそこは基本的に雑談をするためのスレ
だから、このスレに戻ってアドバイスもらえと助言した
0555774ワット発電中さん
垢版 |
2020/03/16(月) 13:03:57.83ID:423072IO
ESP32のDACで音だすの昔やったはずなのにもう一度やるとノイズまみれになる
ワーニングでてるし何かのupdateで動かなくなってんのかと
デバッグログ追加してデータみたり2日くらい悩んでたけどGNDの場所変えらノイズなくなったw
なんだこれw
0556774ワット発電中さん
垢版 |
2020/03/16(月) 16:17:09.50ID:9ERHkEAB
>>555
うちもノイズ酷くてこんな物かと諦めてたけど、まじか
0x00を出力すれば無くなるんだけど、0x7fや鳴らしてる最中はずっとプップップッって変な周期ノイズが入る

Lolin32とDevkit両方で同じ様に入るから仕様かと思ってた
0557774ワット発電中さん
垢版 |
2020/03/16(月) 16:22:46.20ID:IXsVF3Hn
>GNDの場所変えらノイズなくなった
ごく定番の結論だと思うが?
0559774ワット発電中さん
垢版 |
2020/03/16(月) 20:01:09.16ID:MxOfcdUJ
>>557
まぁ、そうなんだけど、デジタルで入った人は分かっててもなかなかたどり着けない
頭で分かってても心で分かってないからな
0560774ワット発電中さん
垢版 |
2020/03/16(月) 20:59:37.41ID:E1r1DH37
その変なノイズは信号線でなく、GND線から這い上がっている
GND線はどこでも同電位ではない
電流の流れているところには電位差が発生している
シビアな信号線の場合は変な所からGNDを取ってはいけない
0561556
垢版 |
2020/03/17(火) 06:19:53.55ID:TULw9tvJ
うちのノイズはGND関係ない見たいだ 残念
PAM8403+スピーカでは無音時以外あまり目立たないけど、圧電ブザーだと鳴ってる最中も凄い目立つ
0562774ワット発電中さん
垢版 |
2020/03/19(木) 21:24:23.71ID:7yYfU9oM
すいません、ESP8266なんすけど
単純にHTTPSのサイトのhtmlソースを取得したいんですけど、
検索しても全然出てこないんですけど、
なんなんっすか?
0563774ワット発電中さん
垢版 |
2020/03/19(木) 21:27:19.64ID:7yYfU9oM
一応こちらのサイトを参考にしたんすけど
https://saitetu.net/entry/2019/02/10/134051
コネクションできないんっすけど、
なんなんっすか
0564774ワット発電中さん
垢版 |
2020/03/19(木) 22:06:19.84ID:7yYfU9oM
BearSSLで出来たっす
0568774ワット発電中さん
垢版 |
2020/03/20(金) 15:48:43.33ID:jEQPP1X1
htmlソースのサイズが350kbぐらいなんだけど、ESP32でも無理っすかねー
必要なのはhtmlソースの真ん中あたりの10kbぐらいなんだけど、
そこだけ.getString()できないもんなのかな

.writeToStream.(&Serial)でシリアルモニタには全部表示できたけど意味ないし
0570774ワット発電中さん
垢版 |
2020/03/20(金) 18:41:11.51ID:ED89Wac/
そう言うでかいデータ扱いたい時はaliで8MB$0.4とかのSPI接続のSRAMを使えば良いらし
0572774ワット発電中さん
垢版 |
2020/03/21(土) 12:56:38.20ID:NrnhQEg+
こういうRAMって自分の好きなアドレス空間にマッピングしたり
気軽にコンパイラから使えるようになったりするの?
0574774ワット発電中さん
垢版 |
2020/03/21(土) 14:15:58.81ID:ahZCPMFh
ESP32-WROOVER-Bを使ったESP32-DevkitC-VBなら税抜き1276円mouserで買える
ただし、送料無料になる税抜き価格で6000円以上買わないと送料2000円かかるけど
0576774ワット発電中さん
垢版 |
2020/03/21(土) 14:52:59.87ID:ahZCPMFh
あと、WiFiないけど、ArduinoでRAMを大量に使えるボードとしてはMaixBitがあるね
Flashが16MBでそのうち8MBがプログラム用に使えるのとRAMが6MBもある
QVGAのLCDとカメラが付いて秋月で3000円
0578774ワット発電中さん
垢版 |
2020/03/22(日) 06:48:21.90ID:Aufwx5lr
ESP8266くらいでも昔のポケコンを再現出来そうなもの
キーボードが面倒くさいか
0580774ワット発電中さん
垢版 |
2020/03/26(木) 23:48:05.76ID:I2GlE/Dd
BTが無いのは良いけど、シングルコアってのがちょっとな
ESP8266の代わりには良いのかな
0581774ワット発電中さん
垢版 |
2020/03/27(金) 08:08:19.81ID:gENL9DRK
マイコンでマルチコア合っても使いこなせないのでは?(笑)
0582774ワット発電中さん
垢版 |
2020/03/27(金) 08:39:28.19ID:fmsABj7P
>>581
ESP32はarduino IDE使ってるとRTOS上で動いてるから
マルチコアもマルチスレッドも簡単に扱えるよ
0583774ワット発電中さん
垢版 |
2020/03/27(金) 08:49:22.92ID:fmsABj7P
ほいマルチコアのサンプル

#include "esp32-hal-log.h"
#include "freertos/task.h"

/*
BaseType_t xTaskCreatePinnedToCore(
TaskFunction_t pxTaskCode, //タスクの関数ポインタ
const char * const pcName, //タスク名
const uint16_t usStackDepth, //タスクのスタックサイズ
void * const pvParameters, //タスク関数に渡す引数
UBaseType_t uxPriority, //タスクの優先度
TaskHandle_t * const pxCreatedTask, //タスクのハンドル
const BaseType_t xCoreID //コア番号
);
*/

void setup() {
Serial.begin(112500);

Serial.println("Hello, this is ESP32:)");
xTaskCreatePinnedToCore(task0, "Task0", 8192, NULL, 1, NULL, 0);
xTaskCreatePinnedToCore(task1, "Task1", 8192, NULL, 1, NULL, 1);
}

void loop() {
}

void task0(void *arg) {
while (1) {
Serial.println("This is Core 0");
delay(1000);
}
}

void task1(void *arg) {
while (1) {
Serial.println("This is Core 1");
delay(1500);
}
}
0586774ワット発電中さん
垢版 |
2020/03/27(金) 16:22:06.85ID:4KgVq6K9
へー、これはいいね。
通信中もボタン入力受付ができるね
0588774ワット発電中さん
垢版 |
2020/03/27(金) 17:48:39.14ID:FDBYdHCC
全く独立したものならいいけど、
volatile 変数を共有するような場合、
割り込まれてほしくないところで排他かけないととか考え出すと意外に面倒
0589774ワット発電中さん
垢版 |
2020/03/27(金) 17:54:05.62ID:fmsABj7P
>>588
そそ
このサンプルも同じシリアルポート使ってるから
実はあまり良くない
0591774ワット発電中さん
垢版 |
2020/03/27(金) 22:16:23.29ID:9Lkq3CGJ
なんか2コア目を使ったらいきなり消費電力が五倍くらいになったけど
しょうが無いのかな
0592774ワット発電中さん
垢版 |
2020/03/27(金) 23:25:37.12ID:HUwVvzT/
>>588-589
マルチコア、マルチスレッドは大変で簡単ではないが、でも、
espを使う奴はすごいレベルの奴が普通・esp用ライブラリが超すごいから
マルチコアもマルチスレッドも簡単に扱えるんだよ。(ちなみに俺はesp使たことがない)
>Serial.println("This is Core 1");
普通は排他的制御をしないといけないシリアルアクセスもesp用ライブラリがすごいから
普通に書いて全く問題ないんだよ。
これから判断するに、esp用ライブラリは複数のスレッドからread-writeする変数
だってアトミック変数にしないでOK・アトミック操作でアクセスしなくても
普通のアクセスで全く問題ないんだよ、きっと。
0593774ワット発電中さん
垢版 |
2020/03/27(金) 23:36:41.28ID:6tmWvzUE
>>592
まあリソースの排他は必要なんだけど、さっきの説明の中では本質では無いし。後で補足もあるよね。
大人になろうよ。
0594774ワット発電中さん
垢版 |
2020/03/27(金) 23:45:13.70ID:HUwVvzT/
>>593
マルチコア、マルチスレッドで大変なのが排他制御の部分だろ
それをしていないマルチコア、マルチスレッド例を出してもな
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況