Raspberry与ESP32之间的通信

时间:2019-04-10 08:13:03

标签: python raspberry-pi

目前我在一个学校的项目中工作,目前的目标是使ESP的超声波传感器能够与Raspberry pi 3B +通信。因此,目标是当Sensor检测到对象时,应向树莓派发出信号。

当Raspberry收到信号后,他会制作一张照片并将其本地保存在Raspberry上。

首先,我尝试过Raspberry用不同的名称保存每个图像。在我向这个小组寻求帮助后,它可以工作。其次,我尝试使用GPIO作为ESP与Raspberry之间的通信。当然,我的ESP代码已经完成,但是它们之间的通信不起作用。

import time
import os                                                                                       
from picamera import PiCamera                                                                   
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)                                                                          

GPIO.setup(18, GPIO.IN)                                                                         

if __name__=='__main__':
    while True:
        if(GPIO.input(18) == GPIO.HIGH):



            cam = PiCamera()


            os.chdir('/home/pi/Desktop/image/')                                                  
            images = [i for i in os.listdir(os.getcwd()) if i.lower().startswith('image')]       



            if images:
                newest = max(images, key=os.path.getmtime)                                      

            else:
                newest = 'image0.jpg'


            number = int(''.join([i for i in newest if i.isdigit()]))                           
            newimagen = 'image'+str(number+1)+'.jpg'                                            

            cam.resolution = (2592,1944)                                                        

            cam.capture('/home/pi/Desktop/image/'+newimagen)                                    




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


long duration;
int distance;

boolean triggered = false;

double activateDistance = 10;

void setup() {
  pinMode(trigPin, OUTPUT); 
  pinMode(echoPin, INPUT); 
  pinMode(ledPin, OUTPUT);

  Serial.begin(9600); 

}

void loop() 
{

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);


digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);




  duration = pulseIn(echoPin, HIGH);


  distance = duration * 0.034 / 2;


  if (distance <= activateDistance)
  {
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
    delay(500);
  }
  else
  {
    digitalWrite(ledPin, LOW);
  }

}

正如我所说,我希望当传感器检测到物体时,Raspberry会拍照。 我认为,重要的是,esp借助我连接在Esp引脚和Raspberry引脚上的电缆来发出信号。

0 个答案:

没有答案