Can puredata interpret wifi signal strength and convert it to midi?? Need this for a uni project. If not easy, would love help getting signal from analog sensors into pd. I am a total pd noob, so please assume I don't know what you're talking about. TIA
-
Wifi signal strength and carrier name converted to midi??
-
@pdnoob92 Pd can receive data and you can decide how it will then use that data to produce midi..... notes, control messages, program changes etc.
But something needs to send the data to Pd.
There are quite a few apps for analysing Wi-Fi on Phones and computers but they don't usually send data onwards.
Some will export data to a file though....... and that file could then be read into Pd.This.......
https://github.com/bportaluri/WiFiEsp/blob/master/examples/UdpSendReceive/UdpSendReceive.ino
is written for an Arduiono shield...... more info........ http://yaab-arduino.blogspot.com/p/wifiesp-example-client.html....... but mostly people having problems.
It will? send live data back to a server.You might be able to code for your hardware?
If you can get messages sent (containing the live Wi-Fi strength data) over a network (tcp/udp) then we can help you decode it to produce live midi messages in Pd.
If you can save a file from an app then parsing it into Pd can be easy or complicated depending on the format, but we can also help with that.Do you need live data or would a file written earlier from an app (as above) be sufficient?
But some good news........ again for the esp8266 chip........https://reso-nance.org/wiki/materiel/esp8266/communications/accueil
There you have the code to send from the chip and to receive the data in Pd.
OSC messages are fairly simple to handle.
Let me know if you need help with the French text.
David. -
Wow! Thank you so much for your detailed and speedy response. Greatly appreciated! I stupidly forgot to mention this has to run on a raspberry pi. I want to be able to walk around the city and have the changing carriers and signal strengths play different tones. Does this nullify the information you gave me If so, I'm very sorry. In any case, I will look into what you sent me.
-
Under OSX I am using [system.exe] from ceammc lib to run airport -I commands in a UNIX shell. Then I parse the rssi data in pd.
I guess you can do similar things in Raspbian if you can get [system.exe] from ceammc lib or [shell] from ggee.
-
In linux you can just use [ggee/shell] to run iwconfig, it provides all the needed data. I would probably use a bash script to run iwconfig and parse the output so pd only get the data it needs, easier than parsing it in pd. iwconfig is often not in the users path, depends on the distro, and needs to be run as root, but that can fixed with permissions or just copying iwconfig into the users path.
edit:
iw [interface name] link
might be a better command, easier to parse output than iwconfig. But iwconfig can still be useful for finding out the interface name if you do not know it.