LogoLogo
  • OVERVIEW
  • QUICK START
  • CONNECT A DEVICE
  • ARDUINO COMPATIBLE DEVICES
  • OVERVIEW
  • SDK SETUP
    • Arduino IDE
    • Visual Studio Code
  • DEVICES
    • ESPRESSIF ESP32
    • ESPRESSIF ESP8266
    • ARDUINO ETHERNET
    • ARDUINO WIFI
    • ARDUINO GSM
    • OTHER DEVICES
  • CODING GUIDE
  • TROUBLESHOOTING
  • REMOTE OTA
  • REMOTE CONSOLE
  • LPWAN DEVICES
    • SIGFOX
    • LoRaWAN (TTN)
  • OTHER DEVICES
  • HTTP DEVICES
  • MQTT CLIENTS
  • LINUX / RASPBERRY PI
  • PLATFORM FEATURES
    • DEVICES ADMINISTRATION
    • DATA BUCKETS
    • DASHBOARDS
    • ENDPOINTS
    • ALARMS
    • ACCESS TOKENS
    • GEOFENCING
    • ASSET TYPES & GROUPS
  • BUSINESS FEATURES
    • PLUGINS MARKETPLACE
    • PRODUCTS
      • Product Profile
        • Properties
        • Buckets
        • API Resources
        • Scripts
        • Payloads
      • Product Dashboard
      • Product Services
      • Examples
        • Shelly Plug S
        • Kunbus RevPi
        • Shelly Plus 1 PM
    • FILE STORAGES
    • PROJECTS MANAGER
    • USER ACCOUNTS
    • WHITE-LABELING
    • CUSTOM WEB DOMAIN
    • OAUTH2 CLIENTS
    • PROXIES
  • Server
    • SERVER DEPLOYMENT
      • Thinger.io Cloud
      • On-Premise
    • SERVER ADMINISTRATION
      • License Setting
      • Server Settings
      • Cluster / Server Status
      • Server Logs
    • SERVER API
    • CHANGELOG
  • Others
    • OTHER SOFTWARE
      • Server Monitoring Client
    • THINGER.IO HARDWARE
      • Thinger M2IoT Modem
      • Thinger32 NB-IoT
      • ClimaStick
      • WiFi Button
    • SMARTPHONE APP
  • ABOUT
    • Community & Social Links
    • Branding
    • Terms & Conditions
    • Privacy Policy
    • Service Level Agreement
Powered by GitBook
On this page
  • Connection Troubleshooting
  • Enabling DEBUG
  • Possible Errors
  • Support / Find help
  • Community Discussion Forum
  • Extended Support

Was this helpful?

Edit on GitHub

TROUBLESHOOTING

This section explains how to identify and solve connection issues

Connection Troubleshooting

Several scenarios may lead to the malfunctioning of the software client, thereby impeding or destabilizing its connection with the IoT platform. However, Thinger.io's software client is equipped with various tools to identify and prevent such issues.

Enabling DEBUG

If a newly programmed device is showing problems to be "online" on Thinger.io Server or even is being locked, the debug function will help to identify the issue. Include the following definition in your sketch, but make sure it comes first, before any other includes. When using Arduino framework it is necessary to enable Serial communication, as all the debugging information is displayed over Serial.

#define THINGER_SERIAL_DEBUG

#include "Thinger.h" //use the proper thinger.io library for each processor

void setup() {
  Serial.begin(115200);
}

When you incorporate this command, the program will display all communication traces on the device Serial port. The following section demonstrates a successful connection for an ESP8266 device.

[NETWORK] Connecting to network my_wifi_SSID
[NETWORK] Connected to WiFi!
[NETWORK] Getting IP Address...
[NETWORK] Got IP Address: 192.168.1.61
[NETWORK] Connected!
[_SOCKET] Connecting to iot.thinger.io:25202...
[_SOCKET] Using secure TLS/SSL connection: yes
[SSL/TLS] Warning: use #define _VALIDATE_SSL_CERTIFICATE_ if certificate validation is required
[_SOCKET] Connected!
[THINGER] Authenticating. User: my_user_name Device: my_device_ID
[THINGER] Writing bytes: 29 [OK]
[THINGER] Authenticated

With the debug traces is it possible to determine what is happening inside the sketch.

Enable DEBUG traces for a better troubleshooting. Don't forget to open the Serial port.

Possible Errors

Cant connect to network

  • On WiFi, check the network credentials as WiFi SSID, PASSWORD.

  • On Ethernet, ensure the cable is properly plugged to a network.

  • On GSM, ensure you are setting the correct APN and the module is correctly powered. Check network signal and antennas.

Cant connect to Thinger.io Server

Error while connecting Thinger.io Server

  • Disable the secure TLS/SSL connection by placing#define _DISABLE_TLS_ on the top of your code. If it works, please review how you can include proper TLS/SSL certificates on your device for a secure connection.

  • Using MQTT try to test non SSL connection through 1883 port.

Authentication Error

  • Check the username, Device ID and Device Credentials are the same as the platform configuration.

No Debug Traces

  • Delete any delay() instructions.

  • Verify sensors connection and other libraries behavior. Ensure the setup function is able to end.

  • Identify and delete while(1) loops.

Support / Find help

If you're unable to find a solution even after following these instructions, we've established additional resources to assist you:

Community Discussion Forum

Optimizing the use of this resource involves browsing for existing topics related to your query before starting a new one. However, if creating a new topic is necessary, please consider the following:

  • It is preferable to write in English, as it broadens the pool of people who can understand and potentially provide diverse opinions or solutions to your problem.

  • Choose an engaging and descriptive title and select the most suitable category.

  • Compose a comprehensive description of your issue, which includes context, use case, or project objectives. This will help others grasp your situation.

  • Don't forget to supply all the necessary information to recreate the problem, such as: Source code, Libraries and PCB specifications, Compiler output and Debug connection trace, as well as Thinger.io configuration.

  • Always be polite, remember that other developers are under no obligation to assist you, and if they do, it is out of goodwill.

  • If you wish to share some source code, kindly utilize the Preformatted text option for optimal display.

Extended Support

PreviousCODING GUIDENextREMOTE OTA

Last updated 1 year ago

Was this helpful?

The device is trying to connect to standard Thinger.io server. On private server instances, set your server address by using the definition #define THINGER_SERVER "acme.thinger.io" on top of your code. .

If you are using a private server instance, ensure your device is pointing to your server by using the definition #define THINGER_SERVER "acme.thinger.io" on top of your code.

is a forum, designed to provide developers a platform to exchange ideas, share their projects, and seek advice among fellow Thinger.io users. It is currently the best avenue for quick and free assistance with development issues, as many queries have likely been previously asked and resolved by other developers. So, your first step should be to use the search bar to locate a similar post:

For professional developers who require swift assistance with development or maintenance procedures, Thinger.io private instance licenses can be supplemented with an extended support service. Additionally, an SLA service is available for large infrastructure customers, which can be contracted separately. If interested, please contact us via .

Community Discussion Forum
this webpage
More details
More details.
Ask our community
Thinger.io community forum
Use preformatted text when sharing source code