This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
workshop [2014/07/06 10:25] dan.tudose [Afișarea datelor de la senzori cu Processing] |
workshop [2014/10/27 12:44] (current) dan.tudose |
||
|---|---|---|---|
| Line 589: | Line 589: | ||
| - | ===== Transmisia radio ===== | ||
| - | |||
| - | Pentru a folosi transceiver-ul radio cu care sunt dotate nodurile senzoriale, vom utiliza o bibliotecă scrisă pentru Arduino ce ne va smplifica foarte mult codul. Această bibliotecă se numește ZigduinoRadio și poate fi descărcată de {{:: | ||
| - | |||
| - | Instalarea bibliotecii este foarte facilă, trebuie doar să dezarhivați arhiva în // | ||
| - | |||
| - | Mai jos aveți un exemplu care vă permite să trimiteți și să recepționați date de pe interfața radio. | ||
| - | |||
| - | <code C> | ||
| - | /* | ||
| - | |||
| - | Run this sketch on two Zigduinos, open the serial monitor at 9600 baud, and type in stuff | ||
| - | Watch the Rx Zigduino output what you've input into the serial port of the Tx Zigduino | ||
| - | |||
| - | */ | ||
| - | |||
| - | #include < | ||
| - | |||
| - | void setup() | ||
| - | { | ||
| - | ZigduinoRadio.begin(11); | ||
| - | Serial.begin(9600); | ||
| - | | ||
| - | ZigduinoRadio.attachError(errHandle); | ||
| - | ZigduinoRadio.attachTxDone(onXmitDone); | ||
| - | } | ||
| - | |||
| - | void loop() | ||
| - | { | ||
| - | if (Serial.available()) | ||
| - | { | ||
| - | ZigduinoRadio.beginTransmission(); | ||
| - | | ||
| - | Serial.println(); | ||
| - | Serial.print(" | ||
| - | | ||
| - | while(Serial.available()) | ||
| - | { | ||
| - | char c = Serial.read(); | ||
| - | Serial.write(c); | ||
| - | ZigduinoRadio.write(c); | ||
| - | } | ||
| - | | ||
| - | Serial.println(); | ||
| - | | ||
| - | ZigduinoRadio.endTransmission(); | ||
| - | } | ||
| - | | ||
| - | if (ZigduinoRadio.available()) | ||
| - | { | ||
| - | Serial.println(); | ||
| - | Serial.print(" | ||
| - | | ||
| - | while(ZigduinoRadio.available()) | ||
| - | Serial.write(ZigduinoRadio.read()); | ||
| - | | ||
| - | Serial.println(); | ||
| - | Serial.print(" | ||
| - | Serial.print(ZigduinoRadio.getLqi(), | ||
| - | Serial.print(", | ||
| - | Serial.print(ZigduinoRadio.getLastRssi(), | ||
| - | Serial.print(" | ||
| - | Serial.print(ZigduinoRadio.getLastEd(), | ||
| - | Serial.println(" | ||
| - | } | ||
| - | |||
| - | | ||
| - | delay(1000); | ||
| - | } | ||
| - | |||
| - | void errHandle(radio_error_t err) | ||
| - | { | ||
| - | Serial.println(); | ||
| - | Serial.print(" | ||
| - | Serial.print((uint8_t)err, | ||
| - | Serial.println(); | ||
| - | } | ||
| - | |||
| - | void onXmitDone(radio_tx_done_t x) | ||
| - | { | ||
| - | Serial.println(); | ||
| - | Serial.print(" | ||
| - | Serial.print((uint8_t)x, | ||
| - | Serial.println(); | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | < | ||
| - | < | ||
| - | < | ||