How to Connect SIM868 to MQTT Using AT Commands

What will you learn?

In this tutorial, you will discover how to establish a connection between your SIM868 module and an MQTT broker using AT commands. You’ll gain insights into configuring the module correctly, setting up GPRS for network access, and executing MQTT-specific commands effectively.

Introduction to the Problem and Solution

Connecting a SIM868 module to an MQTT broker can pose challenges, particularly when dealing with AT commands. The key lies in configuring the module accurately and ensuring proper setup of network parameters and MQTT protocol. To address this, we break down the process into manageable steps:

  1. Powering up the SIM868 module.
  2. Checking module status.
  3. Configuring GPRS for internet access.
  4. Connecting to an MQTT broker using specific AT commands.

Our solution follows a sequential approach, emphasizing each step’s significance in achieving successful connectivity. By providing practical code snippets and command sequences, we aim to deepen your understanding of the process.


1. Power ON the SIM868 module.
2. Check if the module responds by sending `AT` (should respond with `OK`).
3. Set full functionality mode: `AT+CFUN=1`.
4. Configure bearer settings for GPRS:
   - Set bearer profile connection type: `AT+SAPBR=3,1,"Contype","GPRS"`.
   - Set APN (Access Point Name): `AT+SAPBR=3,1,"APN","your_apn"`.
   - Enable bearer: `AT+SAPBR =1,1`.
5. Check IP address: `AT+SAPBR=2,1` (ensure you get a valid IP).
6. Connect to an MQTT server:
   - Initialize MQQT service: `AT+CMQTTSTART`.
   - Open an MQTT client instance: `AT+CMQTTACCQ=0,"clientID"`.
   - Set server URL & port: `AT+CMQTTCONNECT=0,"tcp://",1883,...`
7. Subscribe or Publish messages:
   - Subscribe to topic: `AT+CMQTTSUB=0,...`
   - Publish message: �`AT+CMQTTPUB=0,...`

# Copyright PHD


The steps outlined above provide a roadmap for establishing connectivity between your SIM868 module and an MQTT broker using AT commands:

  • Step 2 ensures device responsiveness.
  • Steps 3-5 are essential for enabling internet access through GPRS.
  • In Step 6, we interact with MQTT services directly by initializing them and creating a client instance.
  • Finally, Step 7 guides us on subscribing/publishing topics for interaction with the IoT cloud via MQTT.

This sequence not only establishes connectivity but also offers insights into managing communications over cellular networks efficiently.

    What does “MQTT” stand for?

    MQTT stands for Message Queuing Telemetry Transport � it’s a lightweight messaging protocol ideal for small devices in low-bandwidth situations.

    Why use AT commands?

    Using AT Commands allows direct hardware-level communication with modules like SIM868 without needing high-level programming interfaces or libraries which might not be available or feasible in certain environments.

    Can I use HTTPS instead of TCP for connections?

    While most examples use TCP (tcp://) URLs due to their simplicity and broad support across brokers including free ones like HiveMQ demonstrated above; technically speaking if supported by your modem firmware & chosen server/broker secure protocols like HTTPS (ssl://) could potentially be used as well though setup might differ slightly particularly relating security certificates etcetera necessitating additional steps beyond scope of current discussion focused primarily on principles rather than exhaustive every-case coverage.

    Is it necessary to initialize MQQT service every time after power-up?

    Yes! Initializing MQQT service post power-up is essential as this resets internal states preparing device fresh ensuring clean slate avoiding potential issues arising from residual configurations/states from previous sessions/use-cases possibly interfering unintentionally leading unpredictable behavior/errors hence recommended practice indeed!

    How do I find my APN?

    Your Access Point Name (APN) depends on your mobile network operator/ISP; typically public information readily available either directly contacting them browsing official website/support documentation alternatively forums community sites may offer clues yet official sources always recommended ensure accuracy reliability!

    What happens if I don’t get an IP address at step 5?

    If no valid IP is returned during step 5 verification implies lack successful GPRS connection establishment reasons ranging incorrect APN settings insufficient balance/account issues area coverage limitations among others troubleshooting entail verifying aforementioned aspects accordingly based context/specifics individual case basis consult network provider assistance may required certain scenarios too!

    How long does it take typically connect MQ…

    Typical connection times vary depending significantly upon factors such proximity cell towers quality signal interference levels present however assuming optimal conditions few seconds minute range reasonable expectation remember delays experienced beyond indicate potential issues highlighted earlier requiring attention resolve indeed patience virtue meanwhile analytical troubleshooting skills handy asset possess surely!


    By following these detailed steps closely while keeping common troubleshooting areas highlighted throughout FAQs section in mind, connecting your SIM868 Module to an MQTT Broker becomes a smoother experience leveraging IoT capabilities fully possible exciting venture embark upon together onward upwards shall we?

    Leave a Comment