Find Jobs
Hire Freelancers

code a 'Earthquake Monitoring Sensor Network' in C programming language

$10-30 AUD

Stengt
Lagt ut over ett år siden

$10-30 AUD

Betalt ved levering
program a "central processing node" that collects and collates data coming in from the various sensors on the monitoring network Measurements are sent at irregular intervals: each sensor message has time-stamp. The central processing node is responsible for recording and logging these messages so that they can be accessed it also fields incoming requests for various “summaries” of the data collected. The central processing node must read these incoming messages and respond back with the necessary data a hardware engineer has rigged up all incoming communications to be routed into the “standard in (stdin)” and all out-going messages to be collected via the “stdout” All messages are communicated via an ASCII string, which includes a header byte ‘#’, and are terminated by a new-line byte/character ‘\n’, in the following format: #ID<sensor_node_id>,time:<timestamp (2dp)>,temp:<temperature (2dp)>,seis:<seismic_data (2dp)> All floating point values are sent with 2 decimal places. For example, the following message: #ID20,time:245.50,temp:26.75,seis:0.48 Would indicate that a measurement from station ID 20 was sent at local time 245.50 seconds, the temperature was 26.75 deg C and the average measured seismic activity was 0.48 (arbitrary intensity scale units). the timestamp data within each message should be used to understand the order in which measurements have been made (not the order in which measurement messages are received) Incoming requests are routed into the stdin via ASCII messages which include a header byte ‘*’, a request type (as a string) and an optional list of comma-separated data relating to the request. Each request message is terminated by a new-line byte/character ‘\n’. There are several request types: Request: Send latest temperature (send_latest_temp): The request message is sent as:*send_latest_temp:with no additional request data. When received, the central processing node should return the most recent (according to timestamp) temperature measurement made by any sensor node on the network in the form: temp: <temperature (2dp)> (ID<sensor_node_id>) where <sensor_node_id> is the sensor ID that made the measurement, and <temperature (2dp)> is the actual temperature to 2 decimal places. For example, if the latest measurement made was from sensor ID 103 with a temperature of 23.4 deg C, the return message would be: temp: 23.40 (ID103) Request: Send latest seismic reading (send_latest_seis): The request message is sent as: *send_latest_seis with no additional request data. When received, the central processing node should return the most recent (according to timestamp) seismic measurement made by any sensor node on the network in the form: seis: <seismic (2dp)> (ID<sensor_node_id>) where <sensor_node_id> is the sensor ID that made the measurement, and <seismic (2dp)> is the actual seismic measurement to 2 decimal places. Request: Send average temperature (send_average_temp): The request message is sent as: *send_average_temp,<time1>,<time2> where <time1> and <time2> are two timestamp values, each sent to 2 decimal places. return an average temperature that is calculated using all available sensor readings, from any station ID, that were made within the time interval between <time1> and <time2>, in the form: avg. temp: <average temperature (2dp)> Occasionally, the measurements made by a sensor ID between a given time interval have been corrupted for some reason, and should be discarded. The request message is sent as: *del_measurements,ID<sensor_node_id>,<time1>,<time2> where ID<sensor_node_id> is the affected sensor node, and <time1> to <time2> is the time interval that the measurements have been corrupted. the central processing node should "remove" any logged measurements made by the affected sensor node between the given time intervals. These measurements should not factor into the responses or calculations used to field any future requests messages recevied. Request: Shutdown your program should exit
Prosjekt-ID: 34820115

Om prosjektet

3 forslag
Eksternt prosjekt
Aktiv ett år siden

Ønsker du å tjene penger?

Fordeler med budgivning på Freelancer

Angi budsjettet og tidsrammen
Få betalt for arbeidet ditt
Skisser forslaget ditt
Det er gratis å registrere seg og by på jobber
3 frilansere byr i gjennomsnitt $120 AUD for denne jobben
Brukeravatar
Hello, my name is tim, id like to work with you on this project. I have worked programming many sensors before including for the vivid light festival. I can deliver you a solution in C# using .net or dot net core
$300 AUD om 14 dager
0,0 (0 omtaler)
0,0
0,0
Brukeravatar
Hi, Dear. Nice to meet you. I'm very interesting your project and I am familiar for your one. I am a C/C++ programmer with rich experience of more than 8 years. I have ever done like this project. I will support technical skill. I'd like to work with you. Please, if you really want to work with me contact me now. Thank you!
$10 AUD om 2 dager
0,0 (0 omtaler)
0,0
0,0

Om klienten

AUSTRALIAs flagg
Sydney, Australia
0,0
0
Medlem siden aug. 29, 2022

Klientbekreftelse

Takk! Vi har sendt deg en lenke for at du skal kunne kreve din gratis kreditt.
Noe gikk galt. Vær så snill, prøv på nytt.
Registrerte brukere Publiserte jobber
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Forhåndsvisning innlasting
Tillatelse gitt for geolokalisering.
Påloggingsøkten din er utløpt og du har blitt logget ut. Logg på igjen.