Communication in wireless sensor network using nesC - wireless

I have a base station and a sensor node. I want to establish communication between these two. The base station should poll the sensor node requesting temperature data captured by the sensor node. The sensor node replies with the temperature data to the base station. I can confirm that the base station and sensor node are in relative proximity to send/receive the data.
I want to write a code in nesC which can programmatically do this. Where can I find a good guide to do this?
Specifications:
Sensors- MTS400
Programming board- MIB520
Mote: Iris

You can read the TinyOS tutorials about various subjects here:
http://tinyos.stanford.edu/tinyos-wiki/index.php/TinyOS_Tutorials
Oscilloscope is an example application included in TinyOS distribution that performs what you are trying to do. You can read the code in apps/Oscilloscope.
See also some help on installing and using Oscilloscope here:

Related

Vivado routing metrics

I'm trying to gather metrics to measure routing utilization on a set of different designs. Any pointers would help a lot!
In the Router Utilization Summary, what does "Global Vertical/Horizontal Routing Utilization" measure?
Global Vertical Routing Utilization = 15.3424 %
Global Horizontal Routing Utilization = 16.3981 %
Routable Net Status*
*Does not include unroutable nets such as driverless and loadless.
Run report_route_status for detailed report.
Number of Failed Nets = 0
Number of Unrouted Nets = 0
Number of Partially Routed Nets = 0
Number of Node Overlaps = 0
Is there any way to access the per CLB metrics mentioned here (especially the "Horizontal/Vertical routing congestion per CLB") through tcl? I've searched far and wide to no avail.
Routing report
Since CLBs in an FPGA are connected through configurable switches to redirect traffic, as shown in this source:
Also quoting it:
A vertical (horizontal) channel is defined as a set of tracks between two consecutive columns (rows) of CLBs; wire segments connecting CLB pins are aligned into tracks running in the channel.
So it seems that the Vivado report means how much the switches are used in vertical and horizontal configuration. I don't know how much this information could be useful to the end user, maybe a big disproportion of these percentages might indicate that some particular hard IPs are overutilized and all the connections follow one direction, but other than that I would expect the percentages to be quite similar, and together an indication of how "crowded" your design is.
Metrics
For the second question, I believe you can't access the metrics because the link you have shown is just a heat map over the device, that is drawn by Vivado.
You can however access to the underlying data used to generate the map, for instance by running the time report
report_timing_summary -delay_type min_max -report_unconstrained -check_timing_verbose -max_paths 10 -input_pins -routable_nets -name timing_1
You can access to the Min Slack per placed BEL.

How to change the behavior of nodes (cars), rsu in Omnet++ Veins project

I have setup my environment using omnet++, sumo and veins in ubuntu. I want to reduce packet loss in an emergency situation among vehicles and improve packet delivery time and cost. My project is about choosing the suitable processing position among cluster head (nodes), road side unit (rsu) and cloud. I want to achieve certain tasks that is need to implement my veins project. I have configured 50 nodes and 4 rsu and provide data rate about 6mbps and assign the packet size upto 2MB.
Therefore, how can I change the behavior of vehicles (nodes), road side unit (rsu) and cloud in order to implement the following parameters?
processing rate of clusters (nodes) = 3 Mbps.
processing rate of RSUs = 7 Mbps.
processing rate of cloud = 10 Mbps.
the range of clusters (nodes) = 60 m.
the range of RSU = 120 m.
the range of cloud = 500 m.
If you could help with building these parameters I will appreciate it.
Thank you
If you are talking about transsmision rate, then you can set the bit rate in the ini file (check veins example) but if you meant processing delay then it is usually simulated by scheduling self messages (check tictoc example). In terms of transsmsion range, veins uses Free Space Propagation model and the related parameters are set in the ini file so you can change them to decide the required range. Finally, I recommand to read more about veins and how it deal with the parameters you asked about. There are alot of answered questions on StackOverFlow about your questions.

send to the nearest node in a wireless network

In a wireless simulation with omnet++ inet 3.6, how can I manage sensor nodes to send the packets to the nearest mobile nodes? There are several sensor and mobile nodes in the field and thus cannot choose a specific destination like *.host[*].udpApp[0].destAddresses="host[0]"
Thanks for your answer.
If you have specific needs in the behavior of the application you are using, you need to implement that application. I assume you want to send UDP traffic (as TCP is connection oriented). Take a look at UdpBasicApp and modify it in a way that instead of reading the destination address once during the initialization, it must calculate the destination IP on each new packet (based on the position of nodes).

How to get lane statistics (Scalars or Vectors) using Veins

I am trying to collect the following data using Veins towards each single lane, including throughput, density, mean speed, delay and collision. I know TraCI has the Simulation Value Retrieval, which can provide some information that I need. Also, the Lane Value Retrieval can help. But I have no clue where should I put the customized codes, so that the statistics can be recorded properly. For example, I want to collect the density and the mean speed of each lane every minute of the simulation time, which class should I put my codes to? TraCISenarioManager?
Any suggestion is appreciated.
I think putting the code in TraCIScenarioManager is entirely reasonable. If you want per-vehicle statistics I'd recommend putting them in the vehicles' application code, the way VEINS already collects some statistics out of the box.

How to collect traffic data and macroscopic statistics in Veins?

Hello StackEx community.
I am implementing certain scenarios in Veins 3.0 and I wish to collect certain traffic statistics such as the Average Waiting Time, the Average Energy consumption, etc from my simulation.
Please help on how to generate and interpret these information.
Thanks
TraCIMobility already records some statistics that you can directly use or build on. See, for example totalCO2Emission. Other statistics you might have to implement yourself, e.g., after detecting that a car was stopped for a certain time. See the OMNeT++ user manual pages on result recording and analysis for general information on how to do that and the Tic Toc tutorial for a concrete example.

Resources