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

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

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

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

2回答

9183閲覧

Arduinoでwifi通信がならない

mizugasira

総合スコア29

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2017/01/12 06:08

編集2017/01/13 07:36

・実現させたいこと
ArduinoでのWifi通信

・機器

osoyoo arduino uno r3 (5V)
ESP-WROOM-02 Wi-Fi シールド (5V or 3.3V どちらも可)

・問題点
arduino unoを使用して、その上に半田ごてをしたESP-WROOM-02 Wi-Fi シールドをのせていてpwrは点灯してるのですが、シリアルモニタからATコマンドを打っても反応がありません。(打ってもATコマンド自体がシリアルモニタに反映されていません。)いろいろ調べてみたのですがESP-WROOM-02 Wi-Fi シールドの記事があまり見つからずに苦戦しています。

自分の知識不足も承知していますが、どこがどういけないのか検討もつきません。
お力添えよろしくお願いいたします。

・開発環境
Mac OS X Yosemite 10.10.4

#include <HttpClient_ESP8266_AT.h> // Arduino UNO の場合は、例えばデジタル入出力の 11 番, 12 番ピンを利用して // ESP-WROOM-02 とシリアル通信するように設定します。 const byte rxPin = 12; // Wire this to Tx Pin of ESP8266 const byte txPin = 11; // Wire this to Rx Pin of ESP8266 HttpClient_ESP8266_AT httpClient(rxPin, txPin); void setup() { // PC と通信する HardwareSerial の baudrate を設定します。 // ESP-WROOM-02 の baudrate とは関係ありません。 Serial.begin(115200); // ESP-WROOM-02 との接続確認を行います。 while(true) { if(httpClient.statusAT()) { Serial.println("AT status OK"); break; } else { Serial.println("AT status NOT OK"); } delay(1000); } // SSID と PASSWORD でアクセスポイントに接続します。 while(true) { if(httpClient.connectAP("SSID", "PASSWORD")) { // <- 書き換えてください。 Serial.println("Successfully connected to an AP"); break; } else { Serial.println("Failed to connected to an AP. retrying..."); } delay(1000); } } void loop() { // 本サンプルでは特に通信はせず、WiFi の接続が切れていないかどうかを // 1 秒毎に確認して結果を出力しつづけます。 if(httpClient.statusWiFi()) { Serial.println("WiFi status OK"); } else { Serial.println("WiFi status NOT OK"); } delay(1000); }

arduino shield
arduino
arduino

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

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

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

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

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

coco_bauer

2017/01/12 07:23

ハードウェア的な接続は大丈夫ですか? ArduinoとシールドのI/O電圧(3.3Vか5Vか)は一致していますか?
mizugasira

2017/01/13 05:15 編集

情報の修正依頼ありがとうございます。一応改善いたしました。あと、シールドが5V、3.3Vどちらも可能なので、電圧自体は一致していると思います。
ozwk

2017/01/13 05:20 編集

JP2を5V側にしてます?
ozwk

2017/01/13 05:35 編集

「pwrは点滅」しているそうですが、シールドのLED(PWR)ですか?そもそも点滅が正しい動作なんですか?
mizugasira

2017/01/13 05:48

ご指摘ありがとうございます。JP2は5V側にジャンパソケットをつけています。「pwrは点滅」については誤りがありました。正しくは「点灯している」でした。ありがとうございます。
ozwk

2017/01/13 05:58 編集

コードください。あと簡単でいいんで接続図も
mizugasira

2017/01/13 06:17

接続図に関しましては書いておらずunoと同じ位置にあるところにピンヘッダーを差し込み半田しています。コードは編集で付け加えました。
ozwk

2017/01/13 06:35

11,12番ピンを使った理由は?
mizugasira

2017/01/13 06:45

そこもサンプルとして持ってきたのでよく分かっていません
ozwk

2017/01/13 06:47

サンプルの出処はwebサイトですか?
coco_bauer

2017/01/13 08:02

写真を見ると、シールドのSW3 (ソフトウェアUARTとハードウェアUARTの切り替え(?))が、ソフトウェアUART側になっているように見えます。スケッチはハードウェアUARTを使うようになっているようですが。
guest

回答2

0

ベストアンサー

秋葉原の千石電商で同じものが有ったので買ってみました。(スイッチサイエンス製ですね)
’画像で貼り付けてみたのですが恐らくPinの2と4の部分を半田付けしてしまっているのですがそこに半田をしてしまってはいけなかったのでしょうか。’いいえ正しいですよ。
ozwk氏が指摘されている通りソフトウエアシリアルではPin2とPin4ですね。シールドにSW<==>HWのスライドスイッチが有りますのでSW側にすればOKです。HWにするとUSBのシリアルとスケッチ書き込み時に衝突しますので、先ずはSWで試されてください。

イメージの追加。
イメージ説明
ピンソケットを立ててみて、プローブ装着。

イメージ説明
シールド装着。
イメージ説明
紹介したヘッダーの場合。

イメージ説明
さらにUNOの上にイーサー&SDシールドとWifiシールドそしてコネクターシールドと重ねてみた。

/* ハンダ付けの仕方(アフターサービス)*/

イメージ説明
安価なシールドの汎用(秋月電子で200円なり)に予めピンソケットをはんだ付け。(もしくは市販のシールドでピンソケットを使っている物を使用)

イメージ説明
そのピンにピンソケットのセット(6PIN,8PINx2,10PIN)をそれぞれ差し込む。

イメージ説明
ピンソケットの位置を調整して基板と隙間が無く、歪みが無いことを確認して20W程度のハンダごてでハンダが解けたら5秒位待って離す(ピンソケットのピン付近のハンダが毛細管現象で裏面にちょうど良い感じで流れる)
で簡単、きれいに仕上がります。

投稿2017/01/13 07:55

編集2017/01/14 11:10
MasahikoHirata

総合スコア3747

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

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

mizugasira

2017/01/13 08:31

言われた通りスイッチの部分を切り替えてozwkさんのpinの変更をしましたらwifiへの接続ができました。(Wifi status OKが帰ってきました。) みなさん本当にありがとうございます。
MasahikoHirata

2017/01/13 09:00

写真で気になったのが、‘ピンヘッダー‘。arduino用の上にも差し込めるタイプをお勧めします。将来の拡張やデバッグの際のピンの信号確認が容易です。秋葉原ならば秋月電商が手軽な値段。6PIN、8PINx2,10PINの物をそろえておけば。ピンの長さが長い物もあり、コネクターなどの干渉も対応できます。ネットで’秋月’で検索すると安価なシールドも多いですよ。
mizugasira

2017/01/13 15:20

MasahikoHirataさん 参考ありがとうございます。ちょうどそのことで話をしていました。 それと気になっているのが、シールドに半田ごてした部分の横の穴にその差し込むタイプを半田するとそこからの信号が受け取れるようになれるのでしょうか。
MasahikoHirata

2017/01/14 02:17

信号を取るには、”GND"と取りたい信号の部分に測定用の端子などが出ていれば。使いやすいのが秋月のスクリューシールドボード(Screw Shield For Arduino) http://akizukidenshi.com/catalog/g/gM-07039/ 店頭には置いていないので通販で。ついでに ピンソケット 1x6 ( 6P) リード長10mm http://akizukidenshi.com/catalog/g/gC-04045/ http://akizukidenshi.com/catalog/g/gC-04046/  ピンソケット 1x10 (10P) リード長10mm http://akizukidenshi.com/catalog/g/gC-07199/ Arduino用ユニバーサル基板 ガラスコンポジット http://akizukidenshi.com/catalog/g/gP-06877/ を用意すると便利です。
mizugasira

2017/01/14 03:44

参考資料をたくさんありがとうございます。パーツなども取りそろえようと思います。 それと測定用の端子というのは上に書かれた、ピンソケット 1 * 6 リード長10mmでよろしいのでしょうか。
MasahikoHirata

2017/01/14 04:20

ピンソケットは本来はシールドにはんだ付けするのですが、”下駄をはかす”ことも出来ますので、ここから端子を出せます。具体的にはUNOの上に各ピンヘッダーを立てる(差し込む)。その上にシールドを差し込み、ピンの裸の部分(10mmの部分)に線を半田するなり、プローブ(ICクリップ)を接続。入手しやすいのは千石電商あたりのこれ。 ICクリップ小 https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=A24A-3BJ5
mizugasira

2017/01/14 05:04

各ピンヘッダーを差し込んで、その上にシールドを差し込むのはよくわかったのですが、 > ピンの裸の部分(10mmの部分)に線を半田する ピンソケットは使用しなくてもよろしいのでしょうか。ピンの裸の部分というのはピンヘッダーのことなのでしょうか。 理解が乏しくすいません。
MasahikoHirata

2017/01/14 05:11

実物の写真を上記の回答に追加しますね。
mizugasira

2017/01/14 05:20

色々とありがとうございます。
MasahikoHirata

2017/01/14 05:27

貴殿の場合、既にピンコネクターをはんだ付けされているので、間にピンソケットを立てるのが良いかと。私の場合はシールドに10mmのピンソケットを装着していますので。
mizugasira

2017/01/14 07:20

一番上の写真でwifiのシールドにピンソケットを付けられているのですが、自分はそこにピンヘッダーを半田してしまっているのですがそれは取り外してピンソケットを付けた方がよろしいでしょうか。
MasahikoHirata

2017/01/14 07:46

'取り外してピンソケット'。慣れていれば良いのですが、ハンダ吸い取り機などが無ければやめた方が良いです。新規にシールドを購入された際にはピンソケットを使うように。その代りに10㎜とか15㎜や20mmの足の長さのピンヘッダーを下に履かせれば信号は取り出しやすい訳です。
mizugasira

2017/01/14 09:19

わかりました。であれば自分の今の現状で開発することはできないのでしょうか。 自分が半田ごてしたPinの横の部分にピンソケットを半田してそこから値の取得などは可能なのでしょうか。 自分でもうまく説明ができてないと思うのですが、宜しくお願いします。
MasahikoHirata

2017/01/14 09:42

'自分の今の現状で開発することはできないのでしょうか。'工夫すれば可能と思いますが。それと無理にPINの値を拾うのではなくarduinoのIDE(開発ソフト)のシリアルモニターを使用して、途中の値を’Serial.begin(9600);'の'Serial.print(変数)’などで表示しながら進めれば?
mizugasira

2017/01/14 09:58

言い方を間違えていました。 > ピンソケットを半田してそこから値の取得 ではなく、 > ピンソケットを半田したら半田ごてした部分のPinと同じように使えるのでしょうか。
MasahikoHirata

2017/01/14 10:07

’ピンソケットを半田したら半田ごてした部分のPinと同じように使えるのでしょうか。’市販のシールドはほとんどがピンソケットタイプ。問題なく信号の伝達されています。つまりハンダ付けした貴殿のPINと同じように使用できます。
mizugasira

2017/01/14 10:14

半田ごてを既にしてしまったPinの横の穴に、ピンソケットを半田しても同様に使える戸言う解釈でよろしいですか。
MasahikoHirata

2017/01/14 10:54

’Pinの横の穴’これは意味がないような気がします。ピンソケットは積み重ねる意味がありますが、隣のピンでは間隔が異なりますので。どうしてもピンソケットにする場合はハンダ吸い取り機(私の場合は https://www.amazon.co.jp/%E5%A4%AA%E6%B4%8B%E9%9B%BB%E6%A9%9F%E7%94%A3%E6%A5%AD-goot-GS-108-%E3%81%AF%E3%82%93%E3%81%A0%E5%90%B8%E5%8F%96%E5%99%A8/dp/B0016V5KHU)を使ってある程度ハンダを取り除いてあまり力を掛けずにピンを抜きます。もっと手っ取り早いのがピンヘッダーをニッパで壊してハンダ吸い取り機。ピンを一本ずつ抜けますから。そしてピンソケットをはんだ付け。うまく作成するコツは Arduino用ユニバーサル プロトシールド基板 ガラスコンポジット 金フラッシュ http://akizukidenshi.com/catalog/g/gP-07555/ などに先にピンソケットをはんだ付けして、このピンを利用して傾いたりしないようにピンの先にピンヘッダーを取り付けてはんだ付け。分かりにくいでしょうから写真を追加します。
mizugasira

2017/01/14 11:49

写真を参考にもう一度取り組もうと思います。 写真の基盤の二枚目のところに逆さにしたシールドを差し込んで半田で固定という考えでいいですか。
MasahikoHirata

2017/01/14 13:42

’逆さにしたシールドを差し込んで半田で固定’それで。まずは試してみるのが一番です。なので高いシールドよりプロトシールドなどで練習がおすすめです。
mizugasira

2017/01/14 13:52

わかりました。明日専門店に行き今回勧めてもらったもの一式揃えようと思います。 長々と教えていただきありがとうございます。
MasahikoHirata

2017/01/14 14:08

貴殿のように前向きで答え甲斐のある質問者に回答できましたことに”いいオジサン”回答者としてうれしく思います。 また何か質問があればコメントで。
mizugasira

2017/01/14 15:17

何も知りませんでしたが、今回いい勉強になりました。 また質問すると思うのでその時は宜しくお願いします。
退会済みユーザー

退会済みユーザー

2017/01/14 15:55

写真など使わせていだいていいですか
MasahikoHirata

2017/01/14 16:53

いいですよ。(ピントが気に入りませんが)
mizugasira

2017/01/16 02:30 編集

すいません。今回はコードの部分で少しお聞きしたいことがあります。 #include <HttpClient_ESP8266_AT.h> というヘッダファイルを使用して、Wifi通信を行い、このファイルの post() を使ってデータを自分のサーバのphpに値を送信しようとしているのですが、値の送信がうまくいきません。 現段階では、wifiの接続成功・サーバへのアクセス成功までは成功しています。 接続をしているコードは以下です。 httpClient.post("サーバのhost", // ex: www.◯◯.com "ファイルまでのパス", // ex: /Arduinos/wifi_communication/output.php "送信させる値", // ex: temp=100 <- たぶん自分はここが違うと思っています。 "application/x-www-form-urlencoded" // エンコードの指定 );
mizugasira

2017/01/16 02:45

そうですよね。お早いご対応感謝します。別質問として聞いてまいります。
mizugasira

2017/01/19 04:34

お久しぶりです。 前回は多くの質問に答えていただきありがとうございます。 いきなりですが、温度センサから取得した温度をデータベースに挿入し、webページからグラフで出力させることができました。 本当にありがとうございました。 所で、今回のノウハウをqiitaという所に投稿しようとしているのですが、投稿してもよろしいでしょうか。
MasahikoHirata

2017/01/19 08:09

いいですよ。公開された回答ですから。
mizugasira

2017/01/19 08:50

ありがとうございます。
guest

0

rxPin = 2, txPin = 4にしてみてください。

投稿2017/01/13 06:58

ozwk

総合スコア13521

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

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

mizugasira

2017/01/13 07:40 編集

画像で貼り付けてみたのですが恐らくPinの2と4の部分を半田付けしてしまっているのですがそこに半田をしてしまってはいけなかったのでしょうか。 言い訳になるようですが、店舗の方でシールドは購入したのですが「画像のように半田付けすればなる」と言われたので半田付けをしています。
ozwk

2017/01/13 07:54

Arduinoとの接続のためのピンヘッダつけただけですよね?
mizugasira

2017/01/13 07:56

そうですね。ピンヘッダ自体は接続のためにつけただけです。
mizugasira

2017/01/13 08:32

pinの変更をして、スイッチを切り替えたところうまく接続できました。本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問