Как получить изображение в приложении Android от Raspberry pi через Bluetooth и отобразить его в виде изображения в формате jpg

#android #python #image #bluetooth

#Android #python #изображение #bluetooth

Вопрос:

Я хочу захватить изображение с помощью камеры Raspberry pi и отправить это изображение в мое приложение для Android через соединение Bluetooth RFCOMM канала… Я отправляю изображение в виде байтов из скрипта python, но я не знаю, как я могу получить его в Android в виде байтов и отобразить его в виде изображения???

Я пытаюсь получить строку и добиться успеха в ней, но я не знаю, как получить изображение в приложении для Android???

это мой скрипт на python, есть ли какие-либо предложения на стороне Android, пожалуйста??

 import os
import picamera
import lightblue 
import glob
import time
import RPi.GPIO as GPIO
from bluetooth import *
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(23,GPIO.IN)
GPIO.setup(25,GPIO.IN)
GPIO.setup(24,GPIO.OUT)
camera=picamera.PiCamera()
prev_input=0
input1=GPIO.input(23)
input2=GPIO.input(25)
connection=False
server_sock=BluetoothSocket(RFCOMM)
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)
port=server_sock.getsockname()[1]
uuid="94f39d29-7d6d-437d-973b-fba39e49d4ee"
advertise_service(server_sock,"BagPiServer",service_id=uuid,service_classes=[uuid,SERIAL_PORT_CLASS],profiles=[SERIAL_PORT_PROFILE])
while True:
      if(connection==False):
              print("Waiting for connection on RFCOMM channel %d" %port)
              client_sock,client_info=server_sock.accept()
              connection=True
              print("The Bag accepted connection from ",client_info)
              GPIO.output(24,1)
      try:
              data=client_sock.recv(1024)
              if(data=="disconnect"):
                    print("Client wanted to disconnect")
                    client_sock.close()
                    connection=False
              elif(data=="connect"):
                  msg="nothing"
                  time.sleep(5)
                  if((not prev_input) and input1):
                      msg="B"
                      image=camera.capture(stream,'a1.jpeg')
                      try:
                      myfile=open(image,'rb')
                      bytes=myfile.read()
                      client_sock.sendall(bytes)
                      finally:
                      connectiom.close()
                  else:
                      msg="F"
                  client_sock.send(msg)
                  time.sleep(5)
                  client_sock.close()
                  except IOError:
                  print("Connection disconnected")
                  GPIO.output(24,0)
                  client_sock.close()
                  connection=False
                  pass
                  except BluetoothError:
                  print("something want error with bluetooth")
                  except KeyboardInterrupt:
                  print("nDisconnected")
                  client_sock.close()
                  server_sock.close()
                  break
  

Комментарии:

1. Привет, вы должны использовать Android Bluetooth SDK, который использует BluetoothSocket и Inputstream / Outputstreams для чтения / записи байтов из / через соединение RFCOMM Bluetooth. Это руководство поможет вам понять, как использовать Bluetooth на Android: github.com/googlesamples/android-BluetoothChat . Затем вы можете использовать класс Bitmap для декодирования массива байтов и загрузки его в ImageView 🙂

2. @Mackovich Спасибо, я пытаюсь это сделать, но у меня нет никакого результата или ошибки для решения. Мой код: drive.google.com /…

3. Трудно помочь, когда у нас есть только сторона python, а не сторона Android кода Bluetooth.

4. У меня есть Android-версия, но она не дает результата или ошибки, поэтому я спросил, есть ли какая-либо попытка или успех в этом, прежде чем решить мой код Android или внести предложения другим способом @Mackovich