Соединение Bluetooth через Raspberry Pi не работает.server_socket.bind ((bind_ip, port)) возвращает ошибку - PullRequest
0 голосов
/ 04 марта 2019

Я работаю над тем, чтобы помочь кому-нибудь отладить код для проекта Raspberry Pi, где он может управлять сценарием через соединение Bluetooth, связанное с их телефоном.При запуске я получаю сообщение об ошибке server_socket.bind((bind_ip,port)) с ошибкой OSError: An attempt was made to access a socket in a way forbidden by its access permissions.. Я ищу либо ответ о том, как решить проблему, либо альтернативу для той же цели.Полный код здесь:

import bluetooth
import RPi.GPIO as GPIO        #calling for header file which helps in using GPIOs of PI
GPIO.setmode(GPIO.BCM)

LED=26
servoPin=8
GPIO.setup(servoPin, GPIO.OUT)
pwm=GPIO.PWM(servoPin, 50)
pwm.start(0)

GPIO.setwarnings(False)
GPIO.setup(LED,GPIO.OUT)  #initialize GPIO21 (LED) as an output Pin
GPIO.output(LED,1)
print ("init GPIO")


server_socket=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
print ("init socket")


port = 1
server_socket.bind(("",port))
server_socket.listen(1)

print ("server_socket.bind")

client_socket,address = server_socket.accept()
print "Accepted connection from ",address
while 1:

 data = client_socket.recv(1024)
 print "Received: %s" % data
 if (data == "1"):    #if '0' is sent from the Android App, turn OFF the LED
  print ("GPIO 26 LOW, LED OFF")
  GPIO.output(LED,0)
  QR=1./18.*(5)+2
  pwm.ChangeDutyCycle(QR)
 if (data == "0"):    #if '1' is sent from the Android App, turn OFF the LED
  print ("GPIO 26 HIGH, LED ON")
  GPIO.output(LED,1)
  DC=1./18.*(45)+2
  pwm.ChangeDutyCycle(DC)
 if (data == "5"):
  print ("CLOSE")
  QR=1./18.*(5)+2
  pwm.ChangeDutyCycle(QR)
 if(data=="45"):
  print ("OPEN")
  DC=1./18.*(45)+2
  pwm.ChangeDutyCycle(DC)
# break

client_socket.close()
server_socket.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...