В моем проекте IOT мое приложение для панели управления подключается к разъему bluetooth, работающему в приложении python с использованием RFCOMM.Это мой код инициализации для сервера сокетов Bluetooth
self.server_sock=BluetoothSocket( RFCOMM )
self.server_sock.bind(("",PORT_ANY))
self.server_sock.listen(1)
self.port = self.server_sock.getsockname()[1]
self.uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"
advertise_service( self.server_sock, "SampleServer",
service_id = self.uuid,
service_classes = [ self.uuid, SERIAL_PORT_CLASS ],
profiles = [ SERIAL_PORT_PROFILE ],
#protocols = [ OBEX_UUID ]
)
self.connected_client = None
И как только клиент подключен, я отправляю начальные значения в приложение, но иногда одно или два сообщения теряются.Я отправляю сообщение следующим образом
print("Waiting for connection on RFCOMM channel %d" % self.port)
client_sock, client_info = self.server_sock.accept()
self.connected_client = client_sock
print("Accepted connection from ", client_info)
init_connection(10,"03:00", 0, 0,"Temperature 80degrees","Temperature 30degress");
set_color("S1","#FF0000");
set_color("S2","#FF0000");
set_flashing("S1", True);
set_flashing("S2", True);
Последние пять строк отправляют сообщение в гнездо Bluetooth, иногда один или два сообщения теряются