Advertisement
Guest User

Untitled

a guest
Feb 16th, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #include <SoftEasyTransfer.h> // toto je tá pojebaná knižnica
  2. #include <SoftwareSerial.h>
  3. SoftwareSerial mySerial(2, 4); //Arduino RX - RS485 RO, Arduino TX - RS485 DI (zapojenie)
  4. #define TXenableRS485 3 //RE + DE (zapojenie)
  5.  
  6. // struktura na odosielanie dát
  7. struct PayloadTX {
  8. byte nodeID, address, command, func;
  9. int data1, data2, data3, data4, data5, data6, data7, data8;
  10. long data9, data10, data11, data12;
  11. };
  12. PayloadTX emontx; // vytvoreni instance
  13. SoftEasyTransfer ET;
  14.  
  15. void setup()
  16. {
  17. pinMode(TXenableRS485, OUTPUT);
  18. digitalWrite(TXenableRS485, LOW); // nastavenie pinov na ovladanie RS485 nič podstatné
  19.  
  20. mySerial.begin(9600);
  21. ET.begin(details(emontx), &mySerial); // nastavenie EasyTransfer
  22. }
  23.  
  24. void loop()
  25. {
  26. if (ET.receiveData())
  27. {
  28. // kontrola požiadania o data z emonHUBu
  29. if (emontx.nodeID == 15 && emontx.address == 12 && emontx.command == 5)
  30. {
  31. // naplneni struktury
  32. emontx.data1 = napeti;
  33. emontx.data2 = proud;
  34. emontx.data3 = vykon;
  35. emontx.data9 = vyroba; //vyroba ve Wh
  36. emontx.nodeID = nodeID; // ID solar inventoru
  37. emontx.command = 6; // odpoved na pozadavek
  38. emontx.address = 15; // data pro emonHUB
  39. delay(15);
  40.  
  41. // štruktúra je naplnená hodnotami a teraz sa odošle
  42.  
  43. digitalWrite(TXenableRS485, HIGH);//prepni prevodnik RS485 na vysilani
  44. ET.sendData(); // odesli data na emonHUB
  45. digitalWrite(TXenableRS485, LOW);
  46. delay(20);
  47. }
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement