void SourceNode::sendSensorValue () 
{
	unsigned short alertType = CommonValues::Alert::DEFAULT_ALERT_TYPE; 
	float sensorValue = 8.99;

	unsigned long timeStamp = millis();
	unsigned long delay = abs(timeStamp - _lastAlertTimestamp);

	if (delay >= CommonValues::Routing::SOURCE_DELAY) 
	{
		//store time of alert
		_lastAlertTimestamp = timeStamp;

		//prepare and send alert
		Alert alert(alertType, sensorValue);
		AlertMessage message(
			_myAddress,
			getSequenceNumber(),
			_level,
			alert
		);

		send(message);


        //new alert received
		String value = Utility::Convert::floatToString(sensorValue);
        Lcd::getInstance()->display("[A]: START");
        Lcd::getInstance()->display("[A:value]: "+value);

        Serial.println("Sending alert : "+ String(value));
	}
}
示例#2
0
void
submitJob(const char* modem, char* otag)
{
    u_long tts = 0;
    time_t t = time(0);
    struct tm* now = localtime(&t);

    sprintf(qfile, "%s/q%d", FAX_SENDDIR, seqnum = getSequenceNumber());
    qfd = fopen(qfile, "w");
    if (qfd == NULL) {
	syslog(LOG_ERR, "%s: Can not create qfile: %m", qfile);
	sendError("Can not create qfile \"%s\".", qfile);
	cleanupJob();
    }
    flock(fileno(qfd), LOCK_EX);
    fprintf(qfd, "modem:%s\n", modem);
    for (;;) {
	if (!getCommandLine())
	    cleanupJob();
	if (isCmd("end") || isCmd(".")) {
	    setupData(seqnum);
	    break;
	}
	if (isCmd("sendAt")) {
	    tts = cvtTime(tag, now, "time-to-send");
	} else if (isCmd("killtime")) {
	    fprintf(qfd, "%s:%lu\n", line, cvtTime(tag, now, "kill-time"));
	} else if (isCmd("cover")) {
	    coverProtocol(atoi(tag), seqnum);
	} else
	    fprintf(qfd, "%s:%s\n", line, tag);	/* XXX check info */
    }
    fprintf(qfd, "tts:%lu\n", tts);
    fclose(qfd), qfd = NULL;
    if (!notifyServer(modem, "S%s", qfile))
	sendError("Warning, no server appears to be running.");
    sendClient("job", "%d", seqnum);
}