int main(int argc, char **argv){ MqttsClient mqtts = MqttsClient(); mqtts.init("mbed-01"); mqtts.begin(9600); mqtts.setQos(1); mqtts.setClean(true); mqtts.setWillTopic(willtopic); mqtts.setWillMessage(willmsg); mqtts.setKeepAlive(60); mqtts.subscribe(tp1, blinkIndicator); XTimer tm = XTimer(); while(true){ for(int i = 0; i < 10; i++){ tm.start(10000); while(!tm.isTimeUp()){ mqtts.exec(); } } } }
void MqttsnClient::delayTime(uint16_t maxTime){ #ifdef ARDUINO srand((uint32_t)millis( )); uint32_t tm = rand() % (maxTime * 1000); #else srand((uint32_t)time( 0 )); uint32_t tm = (rand() % (maxTime * 1000)); #endif XTimer delayTimer; delayTimer.start(tm); while(!delayTimer.isTimeUp()){ // _zbee->readPacket(); } }