如何用TCP与esp通信,esp使用arduino语言作为客户端,raspberry pi使用python作为服务器,通过wifi连接到同一路由器

2024-05-21 03:40:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在建立raspberry pi和esp8266之间的连接。我想把esp8266连接到树莓皮作为服务器。在那里似乎两者之间没有联系。连接到同一路由器时,如何将两者连接起来?你知道吗

我在做一个项目,esp通过WIFI与raspberry pi通信。一开始我把树莓皮连接到esp上,效果很好。所以我决定尝试通过将esp连接到raspberry pi来交换连接,这样我就可以将raspberry pi连接到多个esp。 我试着绑定我自己的地址,但总是出现错误。你知道吗

树莓皮的代码

import socket

host = '192.168.42.1'
port = 8888

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(5)
print(socket.gethostname())


def Main():
    while True:
        print("listening to client....")
        conn, addr = s.accept()
        print("connected to: " + addr)
        print(conn)
    s.close()


if __name__ == '__main__':
    Main()

esp的代码

#include <ESP8266WiFi.h>

#define SendKey 0  //Button to send data Flash BTN on NodeMCU
int ledPin = 5;

int port = 8888;  //Port number
IPAddress staticIP848_100(192,168,1,20);
IPAddress gateway848_100(192,168,1,1);
IPAddress subnet848_100(255,255,255,0);
WiFiServer server(port);

//Server connect to WiFi Network
const char *ssid = "MW40VD_19E7";  //Enter your wifi SSID
const char *password = "Cazp2x6U7t3A9jXg";  //Enter your wifi Password

int count=0;

void setup() 
{
  Serial.begin(115200);
  pinMode(SendKey,INPUT_PULLUP);  //Btn to send data
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.println();

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password); //Connect to wifi

  // Wait for connection  
  Serial.println("Connecting to Wifi");
  while (WiFi.status() != WL_CONNECTED) {   
    delay(500);
    Serial.print(".");
    delay(500);
  }

  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  WiFi.config(staticIP848_100, gateway848_100, subnet848_100);

  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());  
  server.begin();

我期望python代码运行,esp8266连接到raspberry pi,但实际输出是

Traceback (most recent call last):
  File "tcpClient.py", line 7, in <module>
    s.bind((host, port))
OSError: [Errno 99] Cannot assign requested address

Tags: tohostportserialpisocketraspberry树莓