What is the easiest way to send data via bluetooth?
In all the Bluetooth modems I have worked with, the interface to the modem was over a serial link connected to a UART inside a microcontroller.  The signals, although using the same protocol as one would see over RS-232, are TTL levels, not RS-232 levels -- therefore you can connect the TX/RX leads of the modem directly to the TX/RX leads of the microcontroller.  There may be Bluetooth modems out there that use SPI or I²C, but I have not worked with any.

The commands sent to the Bluetooth modem use ASCII commands such as INQUIRY, CALL, PAIR, SET etc.  Unfortunately, the commands will be similar but not identical across different manufacturers' Bluetooth devices.

Data is sent over this same link, and there is either an escape sequence (1 second guard band, followed by "+++", followed by another 1 second guard band -- same as used in the original Hayes modems 30 years ago) or a pin on the Bluetooth device to switch from commands to data and back.

Data mode is usually entered automatically after a valid connection.

e.g.

CALL 00:60:57:a6:56:49 1103   &lt;- cell another Bluetooth device by MAC id     
CONNECT 0                     -&gt; modem reports call connected    
(data mode entered here)    
[+++]                         &lt;- escape sequence to re-enter command  mode    
CLOSE 0                       &lt;- command to close connection
NO CARRIER 0                  -&gt; modem reports connection lost


After the CONNECT response from the modem, it is automatically put into data mode.  Binary data is sent over the same UART link as the commands.  The +++ sequence, mentioned earlier, is used to terminate data mode and return to command mode.

In addition to the ASCII oriented command set described here, there is another binary packetized interface called the Host Controller Interface (HCI) which is much more difficult to work with, but will be the same across different devices.