ook
import numpy as np
def int2bit(data):
data = int(data)
d = []
b = "{0:b}".format(data)
if len(b) < 8:
x = 8 - len(b)
for p in range(0,x):
d.append("0")
for i in range(0,len(b)):
d.append(b[i])
return d
def ook(bits):
data = []
for i in bits:
if i == "1":
for x in range(0,1): # 本以为要多发几次 经过实验 1 次就可以
data.append("0")
if i == "0":
for y in range(0,1):
data.append("127")
return data
def tx_data(data):
ret = []
txdata = []
for x in data:
ret.append(ook(int2bit(x)))
for a in ret:
for b in a:
txdata.append(str(b))
return np.array(txdata).astype(np.int8).tobytes()
buffer = [0xff,0x02,0xff] # 大家注意了 信号里 bit数据 127 就是 0 ,bit数据 0 就是 1
import pyhackrf2 as pyhackrf
import numpy as np
import ook as ook
from multiprocessing import Array
import threading
buffer = [0xff,0x09]
raw = ook.tx_data(buffer)
class hackrf_threading(threading.Thread):
def __init__(self):
self.hackrf = pyhackrf.HackRF()
self.hackrf.center_freq = 433.92e6
self.hackrf.lna_gain = 40
self.hackrf.txvga_gain = 62
self.hackrf.filter_bandwidth = self.hackrf.set_bw(1000000)
self.hackrf.buffer = bytearray(raw)
def run(self):
self.hackrf.start_tx()
h = hackrf_threading()
h.run()