如何使用电缆从ESP32向Raspberry pi发送信号

2024-06-16 10:08:08 发布

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

我想让ESP32在ESP用超声波传感器检测到物体时向树莓发出信号。收到信号后,树莓拍了一张照片。在

我的问题是,我试图使用LED“信号”的信号代码,但它不起作用。当Raspberry和ESP将此问题连接到镜像中时,它始终显示:

mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC
mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0x1d08dc0 (ENOSPC)
mmal: mmal_connection_enable: output port couldn't be enabled
Traceback (most recent call last):
  File "camera.py", line 18, in <module>
    cam = PiCamera()
  File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 433, in __init__
    self._init_preview()
  File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 513, in _init_preview
    self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])
  File "/usr/lib/python2.7/dist-packages/picamera/renderers.py", line 558, in __init__
    self.renderer.inputs[0].connect(source).enable()
  File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 2212, in enable
    prefix="Failed to enable connection")
  File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 184, in mmal_check
    raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources


------------------
(program exited with code: 1)
Press return to continue

我已经尝试过使用app.run(host = '0.0.0.0')修复id,但它显示了相同的问题。在

下面是我的Python代码:

^{pr2}$

这是我的代码:

// defines pins numbers

#define trigPin 12
#define echoPin 13
#define ledPin  14

// defines variables
long duration;
int distance;

boolean triggered = false;

double activateDistance = 10;

void setup() {
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
  pinMode(echoPin, INPUT); // Sets the echoPin as an Input
  pinMode(ledPin, OUTPUT);

  Serial.begin(9600); // Starts the serial communication

}

void loop() 
{
  // Clears the trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  // Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);



  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);

  // Calculating the distance
  distance = duration * 0.034 / 2;

  // Prints the distance on the Serial Monitor
  if (distance <= activateDistance)
  {
    digitalWrite(ledPin, HIGH);
    Serial.print("GOT");
    delay(1000);
    digitalWrite(ledPin,LOW);
  }else{
    digitalWrite(ledPin,LOW);
  }

}

目前它只会点亮一个LED灯,我想(我的一个朋友也是)用同样的代码给树莓发送信号是可能的。在

如果社区里的人能帮上忙的话。如果有什么问题,尽管纠正我。在


Tags: thetoinpyportenablelibusr
1条回答
网友
1楼 · 发布于 2024-06-16 10:08:08

尽量减少故障原因。在

从我看到的错误来看,问题是PiCamera模块无法正常工作,因此我认为最好测试您的pi,看看它是否能与来自here的测试代码源一起正常工作:

import time
import picamera

with picamera.PiCamera() as camera:
    camera.start_preview()
    time.sleep(10)
    camera.stop_preview()

如果它不起作用,那么你只能专注于真正的问题。在

{e>再次检查循环中是否存在问题

^{pr2}$

相关问题 更多 >