0

目標: Arduino IDE を使用して ESP8266 経由で Arduino Nano からインターネットに 2 つの整数値を送信する

私は組み込みプログラミングが初めてで、現在、esp8266 を介して Arduino アナログ ピンからオンライン データベース (IP アドレス、ポート) に整数値を送信するプロジェクトに取り組んでいます。

現時点では、ESP8266 から ESP をクライアント モードに維持する IP に個別にデータを送信する方法を知っています。しかし、Arduno Nanoで生成されたデータをESP8266に転送する方法がわかりません。

#include <ESP8266WiFi.h>
#include<Wire.h>

const char *ssid = "SSID";
const char *password = "asdfghjkl";

const char* host = "192.222.43.1";
int portNum = 986;

WiFiClient client;
WiFiServer server(portNum);

void setup() {
  Serial.begin(115200);
  Wire.begin();
  delay(10);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("WIFI OK");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  Serial.println("Connected to Wifi");
}

String message="";

void loop() {  
message = "12,13"; // Message to be sent to ESP8266

  if(!client.connected())
      {
        client.connect(host,portNum);
      }
      if(message.length()>0)
      {
        Serial.println(message);
        client.println(message);

        message="";
    }

データを渡すには、Arduino - ESP の TX-RX ピンを接続する必要があることは理解できます。しかし、何らかの理由で私はそれを機能させることができません。

簡単な例でプロセスを理解するのを手伝ってくれる人がいれば、本当に感謝しています。

ありがとう。

PS:私が Arduino を使用しなければならなかった理由は、私が使用しているセンサーには 2 つのアナログ ピンが必要であり、ESP には 1 つしかないためです。

4

2 に答える 2

1

Arduino Tx を Esp Rx に接続します

ESP Tx を PC のシリアル デバイスに接続します (ターミナル ウィンドウで ESP からのメッセージを読むことができます)。

ESP では、ロードした Wire ライブラリを使用します。

Serial オブジェクトを使用して、ESP の Rx ピンで着信データをリッスンします。

void loop()
{
     while (Serial.available()) 
     {
         Do something;
     }
}

これは Arduino から Arduino へのシリアル通信とまったく同じように機能し、素晴らしいチュートリアルがここにあります: Arduino から Arduino への通信

警告: ESP は 3.3V を使用し、Arduino は Tx および Rx ピンで 5V を使用します。ESP のピンに 5v が到達しないようにしてください。

このチュートリアルでは、安全な配線図を示します。 安全配線図

于 2016-11-27T16:57:54.060 に答える
-1

1) このサンプルを試してください:見栄えの良い単純なサンプル

2) ループ関数に論理的な問題がある a) ループ関数を出た後、関数に再び入るため、メッセージはできるだけ早く送信されます b) 着信データを待たない

サンプルがお役に立てば幸いです。代わりに AT コマンドを直接使用したため、試していません。

于 2016-11-27T22:19:18.820 に答える