格安wifiモジュール「esp8266」「esp32」 2個目 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
今、注目の格安wifiモジュール「esp8266」と「esp32」
前スレ
格安wifiモジュール「esp8266」
http://wc2014.2ch.net/test/read.cgi/denki/1432042649/ 組込み系のパーツが簡単にディスコンになったらエンジニアが過労死するでしょw ルネサスがこの類のマイコンを葬ったから
何かと家電向けに売れている印象がある
旧世代プロセスルールの壊れにくいタフマイコンと言えばもう消去法でそれになるのかな
少し前に分解掃除をした食洗機に使われているのを確認したよ
他人のブログで見かけたのは冷蔵庫のドアにある操作パネル
そこにも使われてた >>393
Raspi には、MicroSD とは別の SD/SDIO コントローラーがあって、 40 pin ヘッダに割り当てられている。
13 SD_D3 GPIO27
15 SD_CLK GPIO22
16 SD_CMD GPIO23
18 SD_D0 GPIO24
22 SD_D1 GPIO25
37 SD_D2 GPIO26
ESP12F のやつもこれを使っている。
ただし Zero W とか これらのピンと Wifi チップが接続されているような・・・要注意である。 ウチでも未だにH8やPIC16C84載った製品が量産で流れてる
簡単にディスコンされたら設計者が詰む うちはもうH8は使っていないけどATmegaはまだまだ現役
つい最近もRS485通信で特定のデータにのみアクションを起こすユニットを作ってくれとオーダーが来て
ATmegaを使用した
ここにESPが入ってくるのはまだまだ信頼性の観点から先のお話だな >>410
ルネなんとかのマイコンはもう全く使わなくなったなー
営業「このマイコンは割高ですがその引き換えにまだまだ今後10年は余裕なので長期保証の用途にお勧めです」
俺「あ、ほんま?なら前向きに検討させて貰うわ」
一年後
営業「すまん実は作ってる工場が閉鎖でディスコンんごwwwwすまんなwwww」
俺「笑い事じゃない 在庫はどのぐらいもつのか?」
営業「知らんゴwwwwワイもリストラだから後のこと知らんゴwwww」
俺「」
何年も前だけど本当にあった話。本当に吹っ切れてて菓子折り持って笑いながら報告しに来た
そして月二回は必ず来ていた彼は本当に来なくなった。
これのおかげで様々なマイコンに触れるきっかけになり
ESPにも触れるという趣味の広がる結果に至った訳だけど >>405
試したら書かれている症状が再現された
フォーラムでも随分前に報告されている方がいるが
serial.ptintを使えとの事 転職やリストラ予定の営業が顔見せに来たことなんて一度もないわ
いつの間にか見掛けなくなって、連絡したら知らん奴が担当になってるだけ >>405
試したら本当に送信したのを自分で数バイト受信するな
これはなかなかひどいw SerialEvent()ではどんな挙動するの?
それもwriteで送信する度に呼び出されてしまうのかな 何処で聞いたら良いか分からんけど、esp8266での話なのでここで聞いてみる。
ESP8266(master)とATmega328PB(slave)をI2Cで通信しようと
色々やってみているんだけど、slave(328pb)からmaster(ESP)への通信でなぜか、受信したデータがなぜか右1シフトされる。
// slave
byte send = 4;
Wire.write(send);
//master
byte receive
receive = Wire.read();
Serial.print( receive);
抜粋だが、ようするに単純に1byteの送受信で試してるんだけど、上の結果receiveの中身が2に・・・
11→5,9→4,8→4,5→2,1→0 こんな感じで明らかに受信データがシフトしてる。
ロジアナで通信覗くと、正しい値流れてるからESPの中でシフトされてるんだけど、何が悪いんだろ?
ちなみに、逆(master→slave)は正しく送れる。 推奨値ではプルアップが弱くて不安定なので抵抗値を下げたらよくなった経験はある。 >>422
3.3vと5vのロジレベと違いで化けてない?
マイコン同士I2C通信させる回路は俺の場合
簡易的ではあるけど前回のバイトと今回のバイトを足した数値を
化けてないかのチェックサムもどきにしてる 今発売のトラ技SPECIAL読んだ
つまらなかった お騒がせして申し訳ない。
原因はデバック用のコードが悪さしてたorz
取り除いたらちゃんとデータ出てきたよ、esp疑って悪かった。
なんでデバックしてたかと言えば、328pbからマルチバイトの送信が上手くいかなかったから。
シングルバイトが正しく送れる事が分かったので、
Wireを追っかけて見た。
328pbはMinicore使ってるをだけど、こいつのWireが公式のバグ持ちをベースにしてて、
修正が入って無かった。
最新のコードに置き換えたら、ちゃんと動いたよ。 そんなことより、
>ロジアナで通信覗くと、正しい値流れてる
の後の
>ロジ穴じゃなくてオシロで見るべし
が笑えた。 デジタル通信は、まずオシロで波形品質を確認し、ロジアナで通信内容を確認すべし
って俺は思う
まあみんながどう考えるかは知らんけど俺はいつもそうしています
では >>432
理由がないとあなたの主張は伝わりません >>431
波形のエッジが訛ってないか程度は確認しておきたいねぇ
マイコンの使う通信帯域は20MHz程度の3万から買えるオシロで十分だから
持ってない人はあると便利だよ 屁理屈並べてる暇あったらさっさとプローブ当てて波形見てみぃや
びっくりするような糞波形なんやでぇ 幾度も出てる話だけど、
ロジアナ8ch+アナログ1chの中華製送料込み4000円程度
ので十分だし、とても重宝しています。
ソフトはPulsViewが使えてもちろん無料。 >>436
もう解決してるの。
もちろん、オシロなんか無関係な原因でね。 >>437
その書き込み以前にも見かけて興味持ったまま忘れてたわ
思い出させてくれてありんこ これってぶっちゃけどんな機器なの?
シリアルにセンサ繋いで母艦にすっ飛ばす感じで使われてるの?
しかも簡単なプログラミングは出来る的な? >>437の情報をもとに自分で探せない人はやめとく方がいい
その程度のスキルも無いなら素直に数万円出してオシロ買え >>442
そんなにいいもので自慢気に語るなら
アラ探してやるから晒してみろよ
っていってんのが分かんない? >>443
探して来れない程度のスキルのくせにアラ探しはお得意なんですか。
気長にお待ちしています。 何万円もする高いオシロ使ってる人が、なぜ数千円の中華製に興味持ってんの?
それがとても不思議。 デジタル全盛、アナログ衰退、斜陽な日本電々
オーバースペックの機器抱えて活かしどころも無く憤懣やるかたないのでしょう
安い中華測定器は格好の目の敵ってとこ
とても喰いつきがいいのですw >>442
メンドイわw
大したこと無い情報を勿体ぶるアホが居るからなあ
少なくともお前が想像力が足り無いオツムだってのは判ったから興味も無くなった 安い測定器か。それこそ ESP32 で作れそうな感じなんだけどなぁ。誰か作ってないかなぁ。
- 波形キャプチャに 8ch の RMT が使えるはずで、80MHz の精度までいける。バッファに使えるメモリもある。
- ADC もスループットだけはかなり高くできそうだ。DMA も使えるし、2 個同時も多分いける。
- PulsViewのドライバ書けば、ソフトもいけそうだ。 >>444
ゴミと分かってる情報を調べる程のバイタリティーは持っていないです。 >>454
ゴミと分かってるのに日をまたいでまで粘着するバイタリティーはあるのね。 >>455
巡回したら噛みついてる野良犬がいてさ
ちょっと相手しただけだよ このチップのBTは不安定すぎて使えない
オマケレベル。 easy esp megaのNormal IR版が特定の板で起動出来ない
dev版やtest版は問題ないんだけども何でやろか?
Wemos NodeMCU V3って言う勝手バージョンらしい怪しい板 8266の頃は、リセット、フリーズ、速度が極端に落ちるとか酷かったけど
32になって問題なくなったってきいたぞ
もう今は使う理由がないから触って無いが 家のはwifi接続が不安定・・
レギュレーターがかなり熱もってる >>462
電源入れる度に挙動が異なる。
特定のAPIで時間が立つと必ずコールバックが帰って来なくなる。
突然リブートするw >>466
ふうん、で、原因はチップにあり、
自分の回路設計は完璧だって自信があるわけね。 wroom02 20個足らず使ってみて、最初動いていたのがいつの間にかダメになっている、
再プログラムができないのとできるのとあるが、まともにWiFi通信できない
というものが10個くらい出てしまった。 標準のプロトコルスタックがBluedroidなんで
これをbtstackに変えてみるとどうだろう
と雑なアドバイス ESP Easyで赤外線受信使ってるんだけど
データの正誤率が半分くらいしかない
センサーのデータシート通りに抵抗とコンデンサ入れてるんだけどな
センサーの実力だろうか? >>470
受信信号オンオフの時間をシリアル出力とかで確認してる?コードとか使ってるセンサがわからんと答えようが無い >>472
こういう奴に限って偉そうにしてるけどクソみたいな間違いをしてる
間違いを認めない
指摘されても謝らない ハードの製にしているけど、ほんとはプログラムが糞何だろうねww 再現する事象ならデバッグ出力ぐらいは確認しろよとは思う。開発環境にバグがある場合もあるけど。古いバージョンのesp8266arduinoでhttpclientのメモリリークのバグに引っかかったときはコード確認しても原因がわからなくて困った。 Rev0とRev1でも大分挙動が違うし
公開されているエラッタだけではない気はするな。
使う機能にもよるが、正直使いにくい。 再現するに必要な最低限の部分だけでもソースを晒したらいいのに
それ出来ないのは、推して知るべしだわなぁ 普通にBLEとかのサンプル実装すれば再現するだろうw サンプルでも落ちると言ってるから待機してるんだけど、まだ? ArduinoIDE でのライブラリはうちでもまだ安定利用できてないけど(centralに使う場合)
明らかにハード関係無いところ(notify コールバック関数の登録とか)でも heap corrupt でリセットかかったりするので
ESP32 の問題ではないような気がしている、が調査中 そいえば、めっちゃ disconnect くらうので(BLE_client の sampleでは端折られている) ClientCallback 入れて onDisconnect を厳しく監視してないと
切断後のオブジェクトを接続前提の操作しようとしてエラーからのリセット行きが多かった
onDisconnect が来るタイミングは毎回違う=毎回挙動が違ってたが、監視入れて、 registerForNotify を呼ばないようにしたらリセットかかるような死に方はなくなった
registerForNotify も通ったり通らなかったりなので調べないとという状況 チップRev何でやってますか?
Rev0に耐えかねてモジュールだけ載せ変えたんですが、またもRev0を引き当ててしまって^_^
これは落とし穴から這い上がるのが好きな人には
たまらない材料かもしれませんね。
もう小休止してNordic蝉を攻めてますが。 こんなところにメモリリークの原因があるとはあまり思えないが
BLEAdvertising.cpp
BLEAdvertisementData::setName
を1100回ぐらい実行するとおかしくなる。
ちなみに独自に関数を追加して
m_payload=="";
して毎回m_payloadは空にしている。
今は
BLEAdvertisementData::addData
でName追加して逃げてる。 >>482
それのどれで落ちるの?
テスターなら、最短の再現手順を示すもんだろ ArduinoIDE で複数の処理を同時にやろうとしたら Heap corrupt というのはたくさん報告があるけど
うちは同時になにもしてないのになぁ……と思っていたが起動直後に時刻合わせに WiFi 使ってたのを放置してたわ
WiFi.disconnect(true); したらBLE 切断ラッシュもなくなり目的のものが完成
無駄電波飛ばさせてた俺がアホってことでおさわがせしました 俺はURL貼った奴では無いけど
URLのUARTのやつを、対抗側と只管ずっとループバックで送受信してただけで、リセット、フリーズ体験したぞ
arduino ideのスケッチ例にあったやつだから、多分URLのUARTのやつ このクラスの石ならArduinoじゃなくて普通にRTOS使ったらアカンの? 俺はURL貼った奴だけど
Rev0チップならどれでも激しく再現する。
Gpio でもバグってるとかゴミw
Rev1チップはそれなりに動くが、ライブラリに
メモリリークがあったり(apiレベルでは今のところ問題は発見してないが)基本apiのコールバックを確認してからつぎのapiに行くように調停しないと安定しない。だからまー今のところそのまんまサンプル動かしても望んだ結果にはならんと思うよ。
それからおんぶに抱っこもここまでだ^_^ Arduino IDE についてるライブラリやサンプルが腐ってるのを >>460 のように言うから反発くらったんじゃないの?っていう >>491
それでも問題ないよ
コンパイラも揃ってるしやって出来なくはない ふつうの頭してたらArduino版のライブラリが腐ってるならESP-IDF版で試そうとするもんだと思うけど 凝った使い方する訳でもなく、サンプルが動かないってところで
環境なりライブラリなり石が問題ってわかるものか?
つかARDUINO IDEのサンプルが不安定とか初めて知ったぞ
でて随分経つのに今でもなのか? 取っ掛かりArduinoの方がやり易いが
結局問題あるとapiまで行くからどっちでも一緒。
サンプルのままではダメだね。
まー生半可動いてるようには見えるけどw IDF版の .c がコンパイルされて .o を経て .a という拡張子なライブラリファイルになってarduino版でリンクされるので
基本的には挙動はIDF版と同じなんだけど、arduinoのライブラリが更新されないという点がarduino版の問題だと思う。 つまり7月から放置されてるのが諸悪の根源って意味ね ただいま、約1時間でWI-FI Clientがフリーズするバグの試験中。 アプリのアクセス周期が100msで、メモリリークが発生していると推測。
楽しいなESP32 Arduino、、、 キターー フリーズ 1時間2分
変な記号羅列が出たのみで、期待していたレジスター表示無し。
client.read()辺りで吹っ飛んでいるようだ。
-------------------------
Client Disconnected.
New Client.
{
"COMMAND": "READ_IN",
"VALUE": ""
}<EOF>[D][WiFiClient.cpp:452] connected(): Disconnected: RES: 0, ERR: 128
Client Disconnected.
New Client.
{
"COMMAND": "READ_IN",
"VALUE": ""
}<EOF>[D][WiFiClient.cpp:452] connected(): Disconnected: RES: 0, ERR: 128
Client Disconnected.
New Client.
---------------------------------------
void loop() {
WiFiClient client = server.available(); // listen for incoming clients
if (client) { // if you get a client,
#ifdef DEBUG
Serial.println("New Client."); // print a message out the serial port
#endif
String currentLine = ""; // make a String to hold incoming data from the client
while (client.connected()) { // loop while the client's connected
if (client.available()) { // if there's bytes to read from the client,
char c = client.read(); // read a byte, then
#ifdef DEBUG
Serial.write(c); // print it out the serial monitor
#endif >>506
秋月から購入のDev0開発キット。 Dev1キットは未購入 ガベージコレクション発生しないようにいたわってやれよ >>508
ん? String currentLineのようにスタックに切るなという事? ■ このスレッドは過去ログ倉庫に格納されています