#!/bin/env python3 import requests from math import sin from time import sleep import numpy as np import pyaudio def sine(): x = 0.0 while True: requests.get(f"http://localhost:8080/add?chart=0&series=R1&x={x}&y={sin(x)}") x += 0.01 sleep(0.01) def sine_array(): start = 0 while True: x = np.linspace(start, start+0.5, 100) y = np.sin(x) start += 0.5 data = { "chart": 0, "series": "R1", "points": [ {"x": i[0], "y":i[1]} for i in zip(x,y) ] } r = requests.post("http://0.0.0.0:8080/add", json=data, headers={"Connection":"close"}) sleep(0.25) def star(): points = [ (2,2), (3,0), (0,1), (4,1), (1,0), (2,2) ] for point in points: requests.get(f"http://localhost:8080/add?chart=0&series=R1&x={point[0]}&y={point[1]}") def audio(): p = pyaudio.PyAudio() stream = p.open( input=True, input_device_index=0, format=pyaudio.paInt16, channels=1, rate=44100, frames_per_buffer=1024 ) stream.start_stream() while True: try: data = stream.read(1024, False) requests.post( "http://0.0.0.0:8080/add", json={ "chart": 0, "series": "audio", "points": [ {"x": i, "y": v} for (i, v) in enumerate(data) ] }, headers={"Connection":"close"}) except KeyboardInterrupt: break stream.stop_stream() stream.close() p.terminate() def main(): #sine() # sine_array() #star() audio() if __name__ == "__main__": main()