2017-06-11 19 views
3

私のESP8266デバイスからUART経由でArduino Unoボードにデータを送信したいとします。UART経由でESP8266(NodeMCU)からArduinoにデータを送信

ESP8266はNodeMCUファームウェアでフラッシュされました(ビルドには次のタイムスタンプがあります:nodemcu-master-8-modules-2017-05-30-19-21-49-integer)。ファームウェアは、次のモジュールのみを使用して構築されています。file, gpio, net, node, tmr, uart, websocket, wifi。 ESP8266ボード自体は、Adafruit Huzzahボードです。

ESPボードは、ラップトップUSBのシリアルケーブルで電源が供給されています。私が使用しているケーブルはthis oneです。私のボードに電源を供給するために5Vを供給しています.MacのUSBが500mAを供給することができます。

Arduinoは、コンピュータの他のUSBポートからも電源が供給されています。

ESPボードとのArduino次のように接続されている:TXピンはモジュールから出力され、3.3Vのロジックである

ESP8266 
TX  RX GND 
|   |  | 
|   |  | 
10  11 | 
RX  TX GND 
Arduino 

Adafruit Huzzahボードが主張しています。 RXピン モジュールに入力されるので、これら二つの間で変換レベルのために必要があってはならない

(このピンのレベル シフトがある)5V準拠しています。

私はinit.luaとして、ESP8266ボード上で実行していますコードされています。私はArduinoの上で実行しているコードがある

uart.setup(0,115200,8,0,1) 

tmr.alarm(0, 5000, 0, function() 
    uart.write(0, "A", 19) 
end) 

私はシリアルモニタに表示されるもの
#include <SoftwareSerial.h> 

#define rxPin 10 
#define txPin 11 

MeetAndroid meetAndroid; 
SoftwareSerial sSerial(rxPin, txPin); 
uint8_t lastByte; 
uint8_t serialBuffer[64]; 
int count = 0; 
int onboardLed = 13; 


void setup() { 
    pinMode(rxPin, INPUT); 
    pinMode(txPin, OUTPUT); 
    Serial.begin(115200); 
    sSerial.begin(115200); 
    pinMode(onboardLed, OUTPUT); 
    digitalWrite(onboardLed, HIGH); 

} 

void loop() { 
    while (sSerial.available() > 0) { 
    serialBuffer[count] = sSerial.read(); 
    count++; 
    } 
    for (int i = 0; i < count; i++) { 
    Serial.println(serialBuffer[i]); 
    } 
} 

Arduinoが私のESPボードをリセットしたら、ごみは

⸮⸮⸮⸮⸮⸮Z,⸮}⸮߿⸮ߏ⸮\⸮⸮LYLYLYLYL⸮L⸮L⸮L⸮L⸮L (((((⸮$⸮$⸮$⸮$⸮$⸮$⸮4⸮0⸮@⸮@⸮@⸮@⸮@⸮@⸮@⸮@⸮@⸮@⸮@⸮@ ((((⸮$:⸮&i(⸮⸮ 

この最初の行の後にゴミのラインにラインを印刷します。どこかに、不一致があることは明らかです。

私はこの問題について以前の質問を探しましたが、私の使用に最も近い唯一のものはone ought to read the docsと書いてありましたが、これはあまり役に立ちませんでした。

ここで気になることは誰にも分かりますか?

+0

こんにちは私はあなたと同様の状況でプロジェクトに取り組んでいます。あなたは解決策を見つけましたか?私は、ソフトウェアのシリアルが正しく115200のボーレートで動作しないと思いますか? –

答えて

1

適切なボーレートを設定する必要があります。ボーレートは、シリアルモニタの右下隅に設定できます。

9600の標準デバッグボーレートを使用することをお勧めします。

+1

私が追加する@captiveの唯一のことはボーレートが115200なので、9600を使うには両方のデバイスを変更する必要があります –

+0

はい、私は言及しませんでした、申し訳ありません。ありがとうNikhil! – anonjnr

関連する問題