About Smart Dust
This application is a simulated software component to Smart Dust. Smartdust is a system of many tiny microelectromechanical systems (MEMS) such as sensors, robots, or other devices, that can detect, for example, light, temperature, vibration, magnetism, or chemicals.
This was a final semester project that simulates the embedded system and network sensing of smart dust.
An article explaining the capabilites and utilization of smart dust. https://www.wired.com/2003/06/what-is-smart-dust-anyway/
Autonomous sensing and communication in a cubic millimeter. https://people.eecs.berkeley.edu/~pister/SmartDust/
Problem Description, Design, and Implementation Plan Smart Dust are a number of sensors of various types (acoustic, thermal, pressure, radio, radiation) that are scattered and used to remotely monitor for enemy combatant activities.
Design:
class objects
signal, Dust, Flechettes, target
signal is simply a type (acoustic and a magnitude)
signals are generated by the target
signals may or may not be received by the sensors (dust)
signals are gathered by the flechettes from the dust
the flechettes generate a report
the report will be read by gnuplot and an image will be generated
the target will move and then the process is repeated.
the gnuplot images will be combined into an animated gif.
class signal
{ private: char t (type), double mag (magnitude)}
class target
{private double x, double y;
public function: a signal generator}
Target will talk to all the dust, providing its location and signal to each dust
the dust will determine if it can "hear" the signal, the attenuation of the signal ( decrease) will be with the square of the distance.