Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <RF24Network.h>
- #include <RF24.h>
- #include <SPI.h>
- ///==============
- #include <stdlib.h>
- #include <SoftwareSerial.h>
- #define SSID "floor_3"
- #define PASS "diy_108_T3"
- #define IP "184.106.153.149" // thingspeak.com
- #define key "26NHXK4NUS1RW9C7"
- //----------------
- float t,t1,t2,t3,t4,t5,t6;
- float payloa_1; //temperature from onboard sensor
- float payloa_2; //temperature from onboard sensor
- float payloa_3; //temperature from onboard sensor
- float payloa_4; //temperature from onboard sensor
- float payloa_5; //temperature from onboard sensor
- float payloa_6; //temperature from onboard sensor
- float payloa_7; //temperature from onboard sensor
- RF24 radio(9,10);
- RF24Network network(radio);
- const uint16_t thisNode = 00;
- //=============
- String response;
- boolean debug = true;
- SoftwareSerial esp8266(6, 7); // RX, TX
- unsigned long time;
- // Structure of our payload coming from router and end devices
- struct Payload
- {
- float payloa_1; //temperature from onboard sensor
- float payloa_2; //temperature from onboard sensor
- float payloa_3; //temperature from onboard sensor
- float payloa_4; //temperature from onboard sensor
- float payloa_5; //temperature from onboard sensor
- float payloa_6; //temperature from onboard sensor
- float payloa_7; //temperature from onboard sensor
- };
- void setup(void)
- {
- Serial.begin(57600);
- esp8266.begin(115200);
- delay(500);
- if (debug == false){Serial.print("Debug switched off - no messages");};
- data_send("AT");
- response_read();
- wifi_connect();
- Serial.println("Coordinator is online.....");
- SPI.begin();
- radio.begin();
- network.begin(90, thisNode);
- }
- void loop(void)
- {
- //check network communication regularly
- network.update();
- RF24NetworkHeader header; //create header variable
- Payload payload; //create payload variable
- // Any data on the network ready to read
- while ( network.available() )
- {
- // If so, grab it and print it out
- network.read(header,&payload,sizeof(payload));
- Serial.print("The node this is from: ");
- Serial.println(header.from_node);
- Serial.print("1: ");
- t= payload.payloa_1;
- Serial.print("2: ");
- t1=payload.payloa_2;
- Serial.print("3: ");
- t2=payload.payloa_3;
- Serial.print("4: ");
- t3=payload.payloa_4;
- Serial.print("5: ");
- t4=payload.payloa_5;
- Serial.print("6: ");
- t5=payload.payloa_6;
- Serial.print("7: ");
- t6=payload.payloa_7;
- }
- if((unsigned long) (millis() - time ) > 10000)
- {
- read_and_send();
- time = millis();
- }
- }
- void read_and_send(){
- String cmd;
- String cmd2;
- if (debug==true){Serial.println("****************************************");};
- cmd = "AT+CIPSTART=\"TCP\",\"";
- cmd += IP;
- cmd += "\",80";
- delay(1000);
- data_send(cmd);
- delay(1000);
- response_read();
- cmd = "GET /update?key=";
- cmd += key;
- cmd += "&field1=";
- cmd += t;
- cmd += "&field2=";
- cmd += t1;
- cmd += "&field3=";
- cmd += t2;
- cmd += "&field4=";
- cmd += t3;
- cmd += "&field5=";
- cmd += t4;
- cmd += "&field6=";
- cmd += t5;
- cmd += "&field7=";
- cmd += t6;
- cmd2 = "AT+CIPSEND=";
- cmd2 += (cmd.length()+2);
- delay(1000);
- data_send(cmd2);
- delay(1000);
- response_read();
- delay(1000);
- data_send(cmd);
- delay(1000);
- response_read();
- }
- /*****************************************************************
- * wifi_connect()
- *****************************************************************/
- boolean wifi_connect(){
- delay(1000);
- data_send("AT+CWMODE=1");
- delay(1000);
- response_read();
- String cmd="AT+CWJAP=\"";
- cmd+=SSID;
- cmd+="\",\"";
- cmd+=PASS;
- cmd+="\"";
- delay(1000);
- data_send(cmd);
- delay(7000);
- response_read();
- }
- /*****************************************************************
- * data_send
- *****************************************************************/
- void data_send(String cmd){
- esp8266.println(cmd);
- response = "";
- response_read();
- }
- /*****************************************************************
- * response_read
- *****************************************************************/
- void response_read(){
- char chr;
- while(esp8266.available())
- { chr = esp8266.read();
- if (debug == true){Serial.write(chr);};
- response += chr;
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement