Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <MKRNB.h>
- #include <Base64.h>
- #define PINNUMBER ""
- NBSSLClient client;
- GPRS gprs;
- NB nbAccess;
- // modem verification object
- NBModem modem;
- char server[] = "https://firehive.azurewebsites.net";
- char path[] = "/sensordata";
- int port = 443; // port 443 is the default for HTTPS
- String iccidVar = "";
- String tidVar = "2020-01-20T00:00:00";
- float tempVar1 = 24.00;
- float tempVar2 = 12.00;
- String username = "firefly";
- String password = "0#92)FaG_S!(jkisf#5SD";
- char toEncode[] = "firefly:0#92)FaG_S!(jkisf#5SD";
- int inputLen = sizeof(toEncode);
- String data = "{\"id\":\"" + iccidVar + "\",\"t\":\"" + tidVar + "\",\"t1\":" + tempVar1 + ",\"t2\":" + tempVar2 + "}";
- void setup(){
- Serial.begin(9600);
- modem.begin();
- Serial.println("Starting Arduino web client.");
- boolean connected = true;
- while(!connected) {
- if ((nbAccess.begin(PINNUMBER) == NB_READY) &&
- (gprs.attachGPRS() == GPRS_READY)) {
- connected = true;
- } else {
- Serial.println("Not connected");
- delay(1000);
- }
- }
- Serial.println("NB initialized");
- createBase64();
- }
- char* createBase64(){
- int encodedLen = base64_enc_len(inputLen);
- char encoded[encodedLen];
- base64_encode(encoded, toEncode, inputLen);
- Serial.print("Base64 Encoded = ");
- Serial.println(encoded);
- return encoded;
- }
- void findICCD(){
- if(iccidVar == "") {
- iccidVar = modem.getICCID();
- Serial.print("ICCID = ");
- Serial.println(iccidVar);
- }
- }
- void postData(){
- Serial.println("Connecting to server...");
- if (client.connect(server, port)){
- Serial.println("connected");
- client.print("POST");
- client.print(path);
- client.println(" HTTP/1.1");
- client.print("Host: ");
- client.println(server);
- client.print("Authorization: ");
- client.println("Basic ");
- client.print(auth);
- client.println("Connection: close");
- client.println("Content-Type: application/json");
- client.print("Content-Length: ");
- client.println(data.length()); // TODO?
- client.println(data);
- Serial.println("Disconnecting from server...");
- client.stop();
- }
- else{
- Serial.println("unable to connect");
- client.stop();
- }
- }
- void loop(){
- findICCD();
- postData();
- }
- /*
- void loop(){
- if (client.available()) {
- postData();
- }
- if (!client.available() && !client.connected()) {
- Serial.println();
- Serial.println("disconnecting.");
- client.stop();
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement