ケーブルを使用してESP32からRaspberrypiに信号を送信するにはどうすればよいですか?

DizzySailor

ESPが超音波センサーで物体を検出したときにESP32がラズベリーに信号を送るようにしたい。信号を受信した後、ラズベリーは写真を作ります。

私の問題は、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

すでにidを使用して修正しようとしましたapp.run(host = '0.0.0.0')が、同じ問題が発生します。

これが私のPythonコードです:

import time
import os                                                                                       # import the time
from picamera import PiCamera                                                                   # import image from the camera into the Raspberry
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)                                                                          # define pins

GPIO.setup(11, GPIO.IN)                                                                         # setup pin 11 as input


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



            #Variables
            cam = PiCamera()
                                                                                                # make the variable cam 

            #Define how newimagen is made of (Variable)                                         # make the variable fname which give us the date and Time 
            os.chdir('/home/pi/Desktop/image/')                                                 # Define where we are working now 
            images = [i for i in os.listdir(os.getcwd()) if i.lower().startswith('image')]      # define what images is : 
                                                                                                # os.listdir returns a list containing of the entries in the directory os.getcwd...
                                                                                                # os.getcwd returns the current working directory of a process --> '/home/pi/Desktop/'

            if images:
                newest = max(images, key=os.path.getmtime)                                      # max() is a method that returns the largest item of sth
                                                                                                # os.path.getmtime return the time of last modification
            else:
                newest = 'image0.jpg'


            number = int(''.join([i for i in newest if i.isdigit()]))                           #number is the number of the newest image : image1 --> number = 1. This method look up if there is an image and which number it has
            newimagen = 'image'+str(number+1)+'.jpg'                                            # newimagen is the variable that decide which image it will be(image1 or image2...)

            #Camera Code changing 
            cam.resolution = (2592,1944)                                                        # method to change the resoltuion

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

これが私のArduinoコードです:

// 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をオンにするだけであり、私は(友人もそうですが)ラズベリーに信号を送るために同じコードを使用することが可能であると思いました。

このコミュニティの人々が私を助けてくれたらとても素晴らしいです。何か問題があれば、遠慮なく訂正してください。

マフムードエルシャハット

問題の原因を最小限に抑えるようにしてください。

私が見るエラーから、問題はPiCameraモジュールが正しく動作しなかったことです。したがって、piをテストして、ここからこのテストコードソースで正しく動作するかどうかを確認する方が良いと思います

import time
import picamera

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

それが機能しない場合は、実際の問題にのみ焦点を当てることができます。

また、cam = PiCamera()内部のwhileループの存在が問題である可能性があると思われるので、ループの前に移動して、もう一度確認してください。

if __name__=='__main__':
# make the variable cam
    cam = PiCamera()

    while True:
        if(GPIO.input(11) == GPIO.HIGH):
        # and the rest of your code 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パブリックIPとSSLを使用してESP32をMQTTサーバーに接続するにはどうすればよいですか?

分類Dev

esp8266wifiモジュールを介してarduinounoからWebページにデータを送信するにはどうすればよいですか?

分類Dev

USBポートからHTMLWebサイトに信号を送信するにはどうすればよいですか?

分類Dev

JavaでTCP / IPを介してmodbusに信号を送信するにはどうすればよいですか?

分類Dev

JavaScriptを使用して即座にメールを送信するにはどうすればよいですか?

分類Dev

今すぐespを使用してNodeMcu(ESP266)からESP32にデータを送信しますか?

分類Dev

PHPを使用してZOHOAPI経由でメールを送信するにはどうすればよいですか?

分類Dev

Djangoを使用してHTMLをメールで送信するにはどうすればよいですか?

分類Dev

MFMailComposeViewContollerを使用してPDFを電子メールで送信するにはどうすればよいですか?

分類Dev

SMTPを使用してGrails3でメールを送信するにはどうすればよいですか?

分類Dev

SMTPを使用してGrails3でメールを送信するにはどうすればよいですか?

分類Dev

PHPでGmailAPIを使用してメールを送信するにはどうすればよいですか

分類Dev

テーブルから特定のmax(id)を使用してPostgreSQLのシーケンスを変更するにはどうすればよいですか?

分類Dev

Ajaxを使用してPHPからJavaScriptに変数を送信するにはどうすればよいですか?

分類Dev

PHPを使用してメールを送信するにはどうすればよいですか?

分類Dev

MailKitを使用してメールを送信するにはどうすればよいですか?

分類Dev

Laravelを使用してメールを送信するにはどうすればよいですか?

分類Dev

phpMailerを使用してx個のメールを送信するにはどうすればよいですか?

分類Dev

JavaScript / reactとfirebaseを使用してメールを送信するにはどうすればよいですか?

分類Dev

SMTPGmailを使用してメールを送信するにはどうすればよいですか

分類Dev

phpunitを使用してメール送信をテストするにはどうすればよいですか?

分類Dev

HTMLを使用してGoogleAppScriptのメールを送信するにはどうすればよいですか

分類Dev

PHPを使用してメールを送信するにはどうすればよいですか?

分類Dev

NLogを使用して電子メールを送信するにはどうすればよいですか?

分類Dev

QComboBox / QSpinBoxを停止して、それらを有効/無効にするときに信号を送信するにはどうすればよいですか?

分類Dev

ケースを使用して範囲をループするにはどうすればよいですか

分類Dev

Retrofitを使用してAndroidからFCM通知を送信するにはどうすればよいですか?

分類Dev

iPhoneを使用してPCからSMSを送信するにはどうすればよいですか?

分類Dev

Xamarinを使用してiOSからUIWebViewにフォームフィールドを送信するにはどうすればよいですか?

Related 関連記事

  1. 1

    パブリックIPとSSLを使用してESP32をMQTTサーバーに接続するにはどうすればよいですか?

  2. 2

    esp8266wifiモジュールを介してarduinounoからWebページにデータを送信するにはどうすればよいですか?

  3. 3

    USBポートからHTMLWebサイトに信号を送信するにはどうすればよいですか?

  4. 4

    JavaでTCP / IPを介してmodbusに信号を送信するにはどうすればよいですか?

  5. 5

    JavaScriptを使用して即座にメールを送信するにはどうすればよいですか?

  6. 6

    今すぐespを使用してNodeMcu(ESP266)からESP32にデータを送信しますか?

  7. 7

    PHPを使用してZOHOAPI経由でメールを送信するにはどうすればよいですか?

  8. 8

    Djangoを使用してHTMLをメールで送信するにはどうすればよいですか?

  9. 9

    MFMailComposeViewContollerを使用してPDFを電子メールで送信するにはどうすればよいですか?

  10. 10

    SMTPを使用してGrails3でメールを送信するにはどうすればよいですか?

  11. 11

    SMTPを使用してGrails3でメールを送信するにはどうすればよいですか?

  12. 12

    PHPでGmailAPIを使用してメールを送信するにはどうすればよいですか

  13. 13

    テーブルから特定のmax(id)を使用してPostgreSQLのシーケンスを変更するにはどうすればよいですか?

  14. 14

    Ajaxを使用してPHPからJavaScriptに変数を送信するにはどうすればよいですか?

  15. 15

    PHPを使用してメールを送信するにはどうすればよいですか?

  16. 16

    MailKitを使用してメールを送信するにはどうすればよいですか?

  17. 17

    Laravelを使用してメールを送信するにはどうすればよいですか?

  18. 18

    phpMailerを使用してx個のメールを送信するにはどうすればよいですか?

  19. 19

    JavaScript / reactとfirebaseを使用してメールを送信するにはどうすればよいですか?

  20. 20

    SMTPGmailを使用してメールを送信するにはどうすればよいですか

  21. 21

    phpunitを使用してメール送信をテストするにはどうすればよいですか?

  22. 22

    HTMLを使用してGoogleAppScriptのメールを送信するにはどうすればよいですか

  23. 23

    PHPを使用してメールを送信するにはどうすればよいですか?

  24. 24

    NLogを使用して電子メールを送信するにはどうすればよいですか?

  25. 25

    QComboBox / QSpinBoxを停止して、それらを有効/無効にするときに信号を送信するにはどうすればよいですか?

  26. 26

    ケースを使用して範囲をループするにはどうすればよいですか

  27. 27

    Retrofitを使用してAndroidからFCM通知を送信するにはどうすればよいですか?

  28. 28

    iPhoneを使用してPCからSMSを送信するにはどうすればよいですか?

  29. 29

    Xamarinを使用してiOSからUIWebViewにフォームフィールドを送信するにはどうすればよいですか?

ホットタグ

アーカイブ