Bluetooth: convert exchange message to string

The type of |value| RPC server received in exchange_messages is
instance, while we are expecting a base64 string. This CL fixes it by
converting the message to base64 string before sending to RPC server.

This CL also fixes a tiny typo in exchange_messages.

BUG=b:205934113
TEST=run bluetooth_AdapterLEBetterTogether.smart_unlock_test

Change-Id: I836a9d9212fcdc02153baabceb91b3787f1af9f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/3277994
Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org>
Commit-Queue: Yun-Hao Chung <howardchung@chromium.org>
Tested-by: Yun-Hao Chung <howardchung@chromium.org>
diff --git a/client/cros/multimedia/bluetooth_facade_native.py b/client/cros/multimedia/bluetooth_facade_native.py
index 69751dc..18d1bbb 100644
--- a/client/cros/multimedia/bluetooth_facade_native.py
+++ b/client/cros/multimedia/bluetooth_facade_native.py
@@ -3379,7 +3379,7 @@
         the response on another characteristic.
 
         @param tx_object_path: the object path of the characteristic to write.
-        @param rx_object_path: the object path of the characteristic ti read.
+        @param rx_object_path: the object path of the characteristic to read.
         @param value: A byte array containing the data to write.
 
         @returns: The value of the characteristic to read from.
@@ -3394,6 +3394,7 @@
 
         self._chrc_property = None
 
+        value = str(value)
         self._signal_watch = self._system_bus.add_signal_receiver(
                 self._property_changed,
                 signal_name='PropertiesChanged',