#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