Thanks. The send is already has a loop.
#SEND SIDE
#Import Libraries
import time
import spidev
import bluetooth
# configure client BT
bd_addr = "B8:27:EB:F2:B3:7B"
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
#
https://pypi.org/project/spidev/
spi = spidev.SpiDev()
spi.open(0, 0) # Opens the SPI Slave State Port for communication
spi.mode = 0b11
spi.bits_per_word = 8
spi.max_speed_hz = 50000
def rotation_degrees(binary_value):
degree_of_rotation = round(int(binary_value, 2)/2.844, 1) # has 1024 positions/360 degrees = 2.844
degree_of_rotation = str(degree_of_rotation)
return degree_of_rotation
while True:
resp = spi.xfer2([0x10, 0x10]) #read 2 bytes
first_byte = '{0:08b}'.format(resp[0]) # format in binary
second_byte = '{0:08b}'.format(resp[1])# format in binary
extracted_data = first_byte[1:] + second_byte[:3] # remove first bit from first byte and keep first 3 bits from
extracted_data = str(extracted_data)
sock.send(extracted_data)
print("Degrees rotation = ", rotation_degrees(extracted_data))
time.sleep(.001)
spi.close()
sock.close()
#RECEIVE SIDE
import bluetooth
server_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
port = 1
server_sock.bind(("",port))
server_sock.listen(1)
client_sock,address = server_sock.accept()
print("Accepted connection from ",address)
data = client_sock.recv(1024)
print("received [%s]" % data)
client_sock.close()
server_sock.close()