foulab / project-cogsworth Goto Github PK
View Code? Open in Web Editor NEWAn attempt to be able to see wifi router locations.
An attempt to be able to see wifi router locations.
I'm not super familiar with how the gnuradio settings map to hackrf settings, but... it seems like having "automatic gain enabled" wouldn't work out so well when you're trying to work out the absolute power level of a location?
I'd suggest trying this without automatic gain, and manually calibrating the gain.
I'd also suggest:
hackrf_sweep
does. ๐Project-COGSWORTH/What_Does_The_Scouter_Say_About_His_Power_Level.grc
Lines 620 to 621 in aab8da1
Awesome project!
But I'm a bit puzzled as to why you decided to use a Helical antenna design for your Wifi Telescope?
AFAIK, Helical antenna designs are primarily used for Circularly polarized radiation, which again are mostly used by SatCom and intranet broadcasting. I believe you would get far better results by using a dish, also as the radiation pattern for helical's are awful in comparison to the much cleaner and focused ones for dishes.
I have been trying to find the parts for this to print but cant find them. Do you have a 3d stl for this project?
This might be too much work but if you mount for example a yagi off axis and a helical antenna you can experiment with seeing what results you get. The off-axis yagi will pick up more reflected signal and less directly from the antenna. Not sure how it would compare with the helical. Another option would be to use two yagis in different orientations and then make a graphics filter to take the weaker signal in "strong" spots and the stronger signal in "weak" spots for more detail.
First pull an image the normal way you do, then have it scan by starting at the top and going left to right, dropping a level and doing it again. Average the two images.
GNU radio has been updated and the older GRC file you gave is showing error
can you provide New GRC file for updated GNU radio ?
Back in the day I was inspired by this project and made some visualization from the raw data. Forgot about it until I stumbled upon my old repository. So here a cross reference to tie things together.
I've noticed that you get these 'pockets' of density from the output of the image processing. I've dealt with some density stuff before and I used something called a Kernel Density Estimator. You can see an example of this on on Sci-kit learn's documentation page for their implementation of a KDE.
It can be used to create smooth heatmaps of your wifi data and generally would look prettier. I'd love to play around with some of the data if you upload it somewhere.
If you use a high dynamic range filter you might be able to get more detail out of the bright spots and dark spots.
moc.liamtoh nrobsogd
instead of processing the image after process it while you are getting data in another thread, you can even use this to display it live, i will make you a nice tkinter ui if you want that in your project
Hi. I rewrote your "manip.py" for Python3/numpy/matplotlib. No chance to test it yet, but this should run way faster than your current version, even without threads or multiprocessing. If you like, give it a try and let me know if it works, if not, nevermind ;)
import numpy as np
# adapt the following line whatever backend you have available, or remove it for auto
import matplotlib as mpl; mpl.use("Qt5Agg")
from matplotlib import pyplot as plt
import argparse
def process_data_to_img(stamp, width, height):
img = np.zeros((height, width))
for i in range(width):
for j in range(height):
with open('SAMPLE_{}_{}_{}.dmp'.format(stamp, i, j), 'rb') as f:
data = np.fromfile(f, dtype=np.float32)
colour = int(data.mean()/100*255)
reverse = height - 1 if i % 2 else 0
img[width-1-i, abs(j-reverse)] = colour
return img
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Process antenna data to image.')
for argname in ["stamp", "horizontal", "vertical"]:
parser.add_argument(argname, type=int)
args = parser.parse_args()
img = process_data_to_img(args.stamp, args.horizontal, args.vertical)
print("done.")
plt.imshow(img, cmap="jet", interpolation="none")
plt.show()
Not for visualizing wifi, but for visualizing your environment. At each plotted point take measurements from multiple bands - wifi, gsm, cdma, etc. Use the different bands for false color.
If you do these, please please please send me the resulting image.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.