# Whats the way to send data to server from remote place

**URL:** <https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923>\
**Category:** General Electronics\
**Created:** [December 29, 2021, 9:50pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923 "2021-12-29T21:50:46Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Floduino](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@Floduino](https://forum.arduino.cc/u/Floduino)\
**Post date:** [December 29, 2021, 9:50pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/1 "2021-12-29T21:50:46Z")

</div>

Hello,  
I´m searching for a way to send data every minute to a server. The place where the Arduino is going to be will be far away from any wifi, so I thought about using an SIM Card.

I tried to use the SIM800L module to simply send the temperature of a sensor to thingspeak server but I failed. And also I read that its not possible to send data this fast with this module.

Can you recommend any way?

Thank you!

---

<div class="post-metadata">

**Author:** ![SteveMann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@SteveMann](https://forum.arduino.cc/u/SteveMann)\
**Post date:** [December 29, 2021, 10:09pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/2 "2021-12-29T22:09:07Z")

</div>

> [@Floduino](#):
>
> far away

As in a galaxy far, far away?

No one can answer your question without more details. How far is "far away"? How much data? What is at the "remote place"?

---

<div class="post-metadata">

**Author:** ![groundFungus](https://avatars.discourse-cdn.com/v4/letter/g/73ab20/32.png) [@groundFungus](https://forum.arduino.cc/u/groundFungus)\
**Post date:** [December 29, 2021, 10:12pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/3 "2021-12-29T22:12:50Z")

</div>

What is the data? How many bytes at a time? How many bytes per second?

---

<div class="post-metadata">

**Author:** ![Floduino](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@Floduino](https://forum.arduino.cc/u/Floduino)\
**Post date:** [December 29, 2021, 10:25pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/4 "2021-12-29T22:25:56Z")

</div>

Its from an electrical meter chip (ADE9000). I want to send 3 Phase current, voltage, watts, pf. I want to use multiple ADE9000 on one Arduino. I thought about sending it every 2 - 4 seconds.

---

<div class="post-metadata">

**Author:** ![groundFungus](https://avatars.discourse-cdn.com/v4/letter/g/73ab20/32.png) [@groundFungus](https://forum.arduino.cc/u/groundFungus)\
**Post date:** [December 29, 2021, 10:34pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/5 "2021-12-29T22:34:56Z")

</div>

> [@Floduino](#):
>
> Its around 10 chips on one Arduino.

Sorry, I don't know what that means.

And the distance?

To what are you sending?

What Arduino board are you using?

---

<div class="post-metadata">

**Author:** ![Floduino](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@Floduino](https://forum.arduino.cc/u/Floduino)\
**Post date:** [December 29, 2021, 10:41pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/6 "2021-12-29T22:41:21Z")

</div>

I edited it. I want to use multiple ADE9000 chips on one Arduino DUE. (or Zero).

It´s really remote up to hundreds of km. I send the values to a server.

---

<div class="post-metadata">

**Author:** ![Paul\_B](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paul_b/32/216376_2.png) [@Paul\_B](https://forum.arduino.cc/u/Paul_B)\
**Post date:** [December 29, 2021, 11:19pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/7 "2021-12-29T23:19:40Z")

</div>

> [@Floduino](#):
>
> It´s really remote up to hundreds of km.

So it doesn't have cellular phone access?

---

<div class="post-metadata">

**Author:** ![Floduino](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@Floduino](https://forum.arduino.cc/u/Floduino)\
**Post date:** [December 29, 2021, 11:30pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/8 "2021-12-29T23:30:54Z")

</div>

Its one option but the module I tried to use is just trash I think (or I am to stupid to use it). Do you know any module which would fit my needs?

---

<div class="post-metadata">

**Author:** ![groundFungus](https://avatars.discourse-cdn.com/v4/letter/g/73ab20/32.png) [@groundFungus](https://forum.arduino.cc/u/groundFungus)\
**Post date:** [December 29, 2021, 11:42pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/9 "2021-12-29T23:42:27Z")

</div>

I think that you need to tell us exactly which module of which you speak. A link to a data sheet or where you got it would help.

I don't think that you answered the question about how much data (in bytes) and how fast (bytes per second) the data have to be transmitted.

If you post the code that you tried, maybe someone can help you to get it to work better. [Read the forum guidelines](https://forum.arduino.cc/t/how-to-get-the-best-out-of-this-forum/679966) to see how to properly post code and some hints on how to get the most from this forum.  
Use the IDE autoformat tool (ctrl-t or Tools, Auto format) before posting code in code tags.

---

<div class="post-metadata">

**Author:** ![anon57585045](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@anon57585045](https://forum.arduino.cc/u/anon57585045)\
**Post date:** [December 30, 2021, 12:46am UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/10 "2021-12-30T00:46:21Z")

</div>

Why is it so important that the data rate be fast, if you're only sending data once per minute?

---

<div class="post-metadata">

**Author:** ![anon94801460](https://avatars.discourse-cdn.com/v4/letter/a/278dde/32.png) [@anon94801460](https://forum.arduino.cc/u/anon94801460)\
**Post date:** [December 30, 2021, 12:50am UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/11 "2021-12-30T00:50:30Z")

</div>

**Do you have cell phone access?**

If not, a satellite modem is about the only option. Easy to use, Arduino compatible.

> **[RockBLOCK Mk2 - Iridium SatComm Module - WRL-13745 - SparkFun Electronics](https://www.sparkfun.com/products/13745)**
>
> The RockBLOCK Mk2 allows you to send and receive short messages from anywhere with a clear view of the sky & it works far beyond the reach of WiFi & GSM.

---

<div class="post-metadata">

**Author:** ![Floduino](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@Floduino](https://forum.arduino.cc/u/Floduino)\
**Post date:** [January 1, 2022, 7:49pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/12 "2022-01-01T19:49:34Z")

</div>

Hey, sorry for the delay.  
So I tried to use the module called SIM800L. I used an external GSM Antenna on it. Not this cheap one.

Actually I don´t know exactly how much data it´s going to be in the end. I think I have to ask this question again if I can clarify this.

Thanks for the link with the satellite module!  
How about 4G (LTE) Modules? Are there some which are working easily and reliable?

Code:

```cpp
#include <SoftwareSerial.h>
#include <DHT.h> 
SoftwareSerial debug(7, 8); // RX, TX
 
#define DHTPIN A0
 

#define Messintervall 15 // in Sekunden
 DHT dht(DHTPIN, DHT11);

float humidity;
float temperature;
 
String myReadString() // Eine Zeile über serielle Schnittstelle einlesen
{
  unsigned long startTime = millis();
  char c = 0;
  String message = "";
  while (c != '\n' && (millis() - startTime <= 1000))
  {
    yield();
    if (Serial.available()) {
      c = Serial.read();
      message += c;
    }
  }
  return message;
}
 
void setup()
{

  Serial.begin(115200); // SIM800L Kommunikation
   dht.begin();
  delay(500);
  debug.begin(115200); // PC Kommunikation
  debug.println("");
  debug.println("Start");
  delay(5000); // Zeit um SIM800L hochzufahren
  Serial.println("AT"); // Kommunikation mit SIM800L prüfen
  delay(1000);
  char inser;
  while (Serial.available()) // antwort einlesen
  {
    inser = Serial.read();
    debug.write(inser);
    if (inser == 'O')
    {
      inser = Serial.read();
      if (inser == 'K') goto weiter; // ist "OK" entchalten?
    }
  }
  
  debug.println("OK fon SIM800L Fehlt");
  debug.println("Gehe schlafem Z.z...");
  delay(2000);
weiter:
 
  while (Serial.available()) debug.write(Serial.read()); //inputbuffer leern
  humidity = dht.readHumidity();
  temperature = dht.readTemperature();
  debug.println(humidity);
  debug.println(temperature);
  int i = 0;
  String dataIn;
  delay(20000); // Zeit für SIM800L um sich im GPRS netz anzumelden
  boolean Status = false;
  int TimeoutZaeler = 0;
  do
  {
    TimeoutZaeler++;
    delay(10000);
    Serial.println("AT+CGATT?"); // bei Mobilen Internet GPRS eingebucht?
    delay(100);
 
    while (Serial.available())
    {
      dataIn = myReadString();
      if (dataIn.indexOf("CGATT: 1") >= 0) Status = true;
      debug.println(dataIn);
    }
    if (TimeoutZaeler > 10)
    {

      delay(2000);
    }
  } while (!Status); // Versuche 10 mal in GPRS netz anzumelden
 
 
  Serial.println("AT+SAPBR=1,1");
  delay(100);
  while (Serial.available())
  {
    dataIn = myReadString();
    debug.print(dataIn);
  }
 
  Serial.println("AT+HTTPINIT"); // Aktiviere HTTP-Kommunikation
  delay(100);
  while (Serial.available())
  {
    dataIn = myReadString();
    debug.print(dataIn);
  }
 
  String url = "https://api.thingspeak.com/update?api_key=TFJGWTU8FZCJUO84&field1=" + String(temperature, 1) + "&field2=" + String(humidity, 0);
  Serial.println("AT+HTTPPARA=\"URL\",\"" + url + "\""); // Sende HTTP Anfrage
  delay(100);
  while (Serial.available())
  {
    dataIn = myReadString();
    debug.print(dataIn);
  }
 
  Serial.println("AT+HTTPACTION=0");
  delay(1000);
  while (Serial.available())
  {
    dataIn = myReadString();
    debug.print(dataIn);
  }
  delay(200); // Warten auf Serverantwort 
 
  Serial.println("AT+HTTPREAD=0,20");
  while (Serial.available())
  {
    debug.write(Serial.read());
  }
  delay(2000);
  while (Serial.available())
  {
    debug.write(Serial.read());
  }
 
  Serial.println("AT+HTTPTERM"); // Beende HTTP-Verbindung
  delay(1000);
  while (Serial.available())
  {
    dataIn = myReadString();
    debug.print(dataIn);
  }
 
  Serial.println("AT+SAPBR=0,1");
  delay(2000);
  while (Serial.available())
  {
    debug.write(Serial.read());
  }
  delay(2000);
  
}
 

 
void loop() {
  yield();
}

```

![Bildschirmfoto 2022-01-01 um 20.46.25](https://europe1.discourse-cdn.com/arduino/original/4X/d/a/a/daa474e10781c20bb2c5529a7f7f04fb3d08ad99.png)

---

<div class="post-metadata">

**Author:** ![Floduino](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@Floduino](https://forum.arduino.cc/u/Floduino)\
**Post date:** [January 4, 2022, 9:24pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/13 "2022-01-04T21:24:08Z")

</div>

I want to have it every second...

---

<div class="post-metadata">

**Author:** ![Floduino](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@Floduino](https://forum.arduino.cc/u/Floduino)\
**Post date:** [March 6, 2022, 9:59pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/14 "2022-03-06T21:59:27Z")

</div>

As an update: I´m using a sim800l module. Power source is important to be constant and 2A

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 2, 2022, 9:59pm UTC](https://forum.arduino.cc/t/whats-the-way-to-send-data-to-server-from-remote-place/940923/15 "2022-09-02T21:59:49Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
