Difference between revisions of "Maduino Zero SIM800C"

From MakerFabsWiki
Jump to: navigation, search
(GSM Connectivity)
(Interface Function)
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Warning:this page in progress, not completed yet ==
 
  
 
== Introduction ==
 
== Introduction ==
Maduino Zero SIM800C is a one-stop solution for IOT (Internet of Things) projects, it integrate a micro Controller SAMD21G18A-AU, GRRS/GSM module SIM800C, on-board power management and storage, to make the Maduino Zero SIM800C ready for real project for IOT projects such as smart-home, outdoor monitoring, shared bicycle, etc. The GRPS/GSM module A6 support quad-band 850/900/1800/1900MHz, that covers any GSM network, after inserting a SIM card, then you will able to use the SMS/GPRS service of Cellular connectivity.<br>
+
Maduino Zero SIM800C is a one-stop solution for IoT (Internet of Things) projects, it integrates a micro Controller SAMD21G18A-AU, GRRS/GSM module SIM800C, on-board power management, and storage, to make the Maduino Zero SIM800C ready for real project for IoT projects such as smart-home, outdoor monitoring, shared bicycle, etc. The GRPS/GSM module A6 support quad-band 850/900/1800/1900MHz, that covers any GSM network, after inserting a SIM card, then you will able to use the SMS/GPRS service of Cellular connectivity.<br>
The Maduino Zero SIM800C based on the Arduino, users can program it with Arduino IDE, which is very easy especially suit for the none-programmers. There are also detailed guide for users to learn how to create the first IOT project with Maduino Zero SIM800C board, with which the starters can learn the hardware and programming skill quickly.
+
The Maduino Zero SIM800C based on the Arduino, users can program it with Arduino IDE, which is very easy especially suit for the none-programmers. There are also detailed guides for users to learn how to create the first IoT project with Maduino Zero SIM800C board, with which the starters can learn the hardware and programming skills quickly.
  
'''Model: [https://makerfabs.com/maduino-zero-gprs-gsm-sim800c.html OAC800SIM]'''<br>
+
'''Model: [https://www.makerfabs.com/maduino-zero-gprs-gsm-sim800c.html OAC800SIM]'''<br>
[[File:Maduino Zero SIM800C.jpg|500px]]
+
[[File:Maduino_Zero_SIM800C_00.png|500px]]
  
 
== Features ==
 
== Features ==
Line 20: Line 19:
  
 
== Interface Function ==
 
== Interface Function ==
[[File:Maduino Zero SIM800C_1.JPG|700px]]<br>
+
[[File:MaduinoZeroSIM800CV1.0_SilTop.jpg]]<br>
①PWR: Power Indicator<br>
+
①Micro USB: 5V Power Input, USB to serial Communication<br>
②CHG: Charge Status Indicator<br>
+
②CHG: 5V power Input Connector, connect to the solar panel to charge the battery.<br>
 
③VBAT: Lipo Battery Connector<br>
 
③VBAT: Lipo Battery Connector<br>
④CHG: 5V power Input Connector, connect to the solar panel to charge the battery.<br>
+
④PWR: Power Indicator<br>
⑤Micro USB: 5V Power Input, USB to serial Communication<br>
+
⑤CHG:Charge Status Indicator<br>
⑥RESET: Reset Button for SAMD21G18A-AU<br>
+
⑥GSM: Antenna IPX Connector<br>
⑦Serial Port Select: <br>
+
⑦BT: Bluetooth IPX Connector<br>
D0&D1: Hardware serial port; <br>
+
⑧SWD: Used for Bootloader Updates<br>
⑧A6 Serial Port for Firmware Updates<br>
+
⑨RESET: Reset Button for SAMD21G18A-AU<br>
⑨GSM: Antenna IPX Connector<br>
 
 
 
[[File:Maduino Zero SIM800C_2.JPG|700px]]<br>
 
  
 +
[[File:SIM800C_SilkBot.jpg]]<br>
 
①Micro SIM Card Holder<br>
 
①Micro SIM Card Holder<br>
 
②Micro SD Card Holder<br>
 
②Micro SD Card Holder<br>
Line 62: Line 59:
  
 
===GPRS/GSM test===
 
===GPRS/GSM test===
SIM800C is a GPRS/GSM Quad-band module, with this board, we can use it as a data acquisition, remote control and a lot of IOT project or smart home project.<br>
+
SIM800C is a GPRS/GSM Quad-band module,and the update version support Bluetooth 3.0 EDR(some functions of SPP, OPP, HFP/HSP ), so The Maduino Zero SIM800C can be capable of the GPRS connectivity for Internet, to upload/download data with internet. With this board, we can use it as a data acquisition, remote control and a lot of IOT project or smart home project. Such as '''we want to know the temperature and humidity of home/office/storage cabinet/ or other some place at anytime, anywhere''' that have a network.<br>
 +
So, this tutorial is for the beginners to learn how to get temperature and humidity remotely by using Maduino Zero SIM800C with detailed guide, it is for the starters to create a simple IOT project with a few time of learning.<br>
 +
 
 +
 
 +
Step 1: Set Up Arduino IDE<br>
 +
1.1. Follow the guide to setup Arduino IDE for Maduino Zero SIM800C.<br>
 +
 
 +
Select board -> Arduino/Genuino Zero(Native USB Port). And the correct Port.<br>
 +
 
 +
[[File:Maduino Zero SIM800C_01D.PNG|500px]]<br>
 +
 
 +
If you not find it, you can click -> Boards Manager as the screen snap below. Nest search “arduino zero” and install Arduino SAMD Boards(32-bit ARM Cortex-M0+).<br>
 +
 
 +
[[File:Maduino_Zero_SIM800C_01.png]]<br>
 +
 
 +
1.2 install dependent library<br>
 +
Click Sketh->Include Library->Manage Library… Nest search “dht sensor library” install “DHT sensor library by Adafruit” like the image below.<br>
 +
 
 +
[[File:Maduino_Zero_SIM800C_01E.png|700px]]<br>
  
1.Insert a Micro SIM card<br>
+
[[File:Maduino_Zero_SIM800C_01F.png|700px]]<br>
 +
 
 +
 
 +
Step2: Hardware Connection<br>
 +
 
 +
2.1.Insert a Micro SIM cardc<br>
 
The Maduino Zero SIM800C board uses the micro SIM card that is widely used in Android phone, install the Micro SIM card to the holder as below picture.<br>
 
The Maduino Zero SIM800C board uses the micro SIM card that is widely used in Android phone, install the Micro SIM card to the holder as below picture.<br>
 
[[File:Maduino_Zero SIM800C_03.png|700px]]<br>
 
[[File:Maduino_Zero SIM800C_03.png|700px]]<br>
 
Note that some fee maybe needed for each SMS depends on your local GSM Operator, make sure that the SIM Card is active and enough money left for this application.<br>
 
Note that some fee maybe needed for each SMS depends on your local GSM Operator, make sure that the SIM Card is active and enough money left for this application.<br>
2.Connect the GSM Antenna and the 3.7V battery<br>
+
2.2. Connect the Sensor<br>
 +
First you need to find a DHT11 sensor or purchase one from https://www.makerfabs.com/dht11-temperature-humidity-module.html<br>
 +
 
 +
Sensor's GND -> Board's GND(Black line)
 +
 
 +
Sensor's DATA -> Board's D3(White line)
 +
 
 +
Sensor's Vcc -> Board's 3V(Grey line)<br>
 +
 
 +
[[File:4.png|700px]]<br>
 +
 
 +
[[File:Maduino_Zero SIM800C_03A.png|700px]]<br>
 +
 
 +
2.3. Connect the GSM Antenna and the 3.7V '''battery'''<br>
 
[[File:Maduino Zero SIM800C_04.PNG|700px]]<br>
 
[[File:Maduino Zero SIM800C_04.PNG|700px]]<br>
3.Programming and Download<br>
+
 
[[File:Maduino Zero SIM800C_05.PNG|700px]]<br>
+
Note:We should ensure that the input voltage never drop below 3.0V even when current consumption rises to 2A in the transmit burst. That's the reason why we need a battery rather than just supply power via micro USB cable.<br>
The Codes for this application is very simple, define the SIM800C Power control pins:
+
 
 +
Step3.Programming and Downloading<br>
 +
3.1 Sign up an account in https://thingspeak.com/ . If you already have one, sign in directly.<br>
 +
3.2 Click New Channel to create a new ThingSpeak channel.<br>
 +
[[File:Maduino_Zero_SIM800C_08.png|700px]]<br>
 +
 
 +
3.3 Input name, Description, Select Field 1 and Field 2. Then save channel on the bottom.<br>
 +
 
 +
[[File:Maduino_Zero_SIM800C_08A.png|700px]]<br>
 +
 
 +
[[File:Maduino_Zero_SIM800C_08B.png|700px]]<br>
 +
 
 +
 
 +
3.4 Copy the API Key, we will use it in the program<br>
 +
 
 +
[[File:Maduino_Zero_SIM800C_09.png|700px]]<br>
 +
 
 +
 
 +
The Codes for this application is very simple, define the SIM800C Power control pins:<br>
 
<pre>
 
<pre>
 
//define the power control pin of SIM808:
 
//define the power control pin of SIM808:
Line 94: Line 145:
 
</pre>
 
</pre>
  
Select the right port and Arduino board: Arduino Zero(Native USB Port) to upload the firmware to Maduino Zero SIM808 GPS board<br>
+
Download the *[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_HTTP_POST_V1.1.zip POST Temperature&Humidity Demo], select the right port and Arduino board: Arduino Zero(Native USB Port) to upload the firmware to Maduino Zero SIM808 GPS board<br>
 
[[File:Maduino Zero SIM800C_01D.PNG|500px]]<br>
 
[[File:Maduino Zero SIM800C_01D.PNG|500px]]<br>
 +
 
4.Test Result<br>
 
4.Test Result<br>
Open the link: https://thingspeak.com/channels/825092 it will show the data as below:<br>
+
If the GPRS service accessible, the Maduino board post data to the site, open the Serial Tool we can see the logs as shown below:<br>
 +
[[File:Maduino_Zero_SIM800C_07A.png|700px]]<br>
 +
 
 +
 
 +
Of course you can open the link: https://thingspeak.com/channels/825092 it will show the data:<br>
 
[[File:Maduino_Zero_SIM800C_05.png|700px]]<br>
 
[[File:Maduino_Zero_SIM800C_05.png|700px]]<br>
  
Open the Serial Toolwe can see the los:<br>
+
 
[[File:Maduino_Zero_SIM800C_07A.png|700px]]<br>
 
  
 
Note: AT Command:
 
Note: AT Command:
Line 116: Line 171:
 
More details you can refer to the document ''SIM800 Series_AT Command Manual.pdf''.
 
More details you can refer to the document ''SIM800 Series_AT Command Manual.pdf''.
  
=== GPRS Connectivity===
+
===Cell ID Location test===
 
+
You can use *[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_AT_Commands_V1.0.zip Maduino Zero SIM800C AT Commands Demo] to send AT commands via Serial Monitor or other serial tools, such as we can use AT+CENG=3 and AT+CENG? to get MCC,MNC,LAC and CI. <br>
Of course the Maduino Zero SIM800C can be capable of the GPRS connectivity for Internet, to upload/download data with internet.  The following simple example shows the starters how to access a website on the internet (Users need check the AT commands for how to access an website):
+
[[File:Maduino_Zero_SIM800C_07B.png|500px]]<br>
<pre>
+
Then we can show a rough location via GSM Cell ID shown as below image.<br>
  sendData("AT+CCID",3000,DEBUG);
+
https://cellidfinder.com/cells <br>
  sendData("AT+CREG?",3000,DEBUG);   
+
[[File:Maduino_Zero_SIM800C_05D.png|700px]]
  sendData("AT+CGATT=1",1000,DEBUG);
 
  sendData("AT+CGDCONT=1,\"IP\",\"CMNET\"",1000,DEBUG);
 
  sendData("AT+CGACT=1,1",1000,DEBUG);
 
  //**************Open internet connection************************* 
 
  sendData("AT+CGATT=1",1000,DEBUG);
 
  delay(2000);
 
  sendData("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"", 1000, DEBUG);
 
  sendData("AT+SAPBR=3,1,\"APN\",\"CMNET\"", 1000, DEBUG);
 
  sendData("AT+SAPBR=1,1", 1000, DEBUG);
 
 
 
  //***************************************************************
 
  sendData("AT+HTTPINIT", 1000, DEBUG);//initalize HTTP Service
 
 
 
  sendData("AT+HTTPPARA=\"URL\",\"http://api.thingspeak.com/update?api_key=OTI5YUPI0PALJR3F&field1=25.2&field2=67.5\"", 1000, DEBUG);
 
 
 
  sendData("AT+HTTPACTION=1", 1000, DEBUG);//0 get, 1 post, 2 head
 
 
 
</pre>
 
If the GPRS service accessible, the Maduino board post data to the site, you can view https://thingspeak.com/channels/825092 as below:<br>
 
[[File:Maduino Zero SIM800C 05.png]]<br>
 
 
 
Note: AT Command:
 
<pre>
 
AT
 
AT+CCID  //Show CCID, you can check weather the SIM card is ok
 
AT+CIMI  //
 
AT+CGATT=1  //Attach to GPRS service
 
AT+GSV  //
 
AT+CREG?
 
AT+CGREG?
 
AT+CSQ
 
AT+COPS=?
 
</pre>
 
<br>
 
More details you can refer to the document ''SIM800 Series_AT Command Manual_V1.09.pdf''.
 
  
 
== FAQ  ==
 
== FAQ  ==
Line 162: Line 182:
  
 
== Resources ==
 
== Resources ==
*[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_SCH.pdf Maduino_Zero_SIM800C_SCH]
+
*[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_SCH.pdf Maduino Zero SIM800C Schematic]
 
*[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_AT_Commands_V1.0.zip Maduino Zero SIM800C AT Commands Demo]
 
*[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_AT_Commands_V1.0.zip Maduino Zero SIM800C AT Commands Demo]
*[http://makerfabs.com/wiki/index.php?title=File:SIM800_Series_AT_Command_Manual_V1.09.pdf SIM800_Series_AT_Command_Manual]
+
*[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_HTTP_POST_V1.0.zip Maduino Zero SIM800C HTTP POST Demo]
*[http://makerfabs.com/wiki/index.php?title=File:SIM800C_Hardware_Design_V1.02.pdf SIM800C_Hardware_Design_V1.02]
+
*[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_HTTP_POST_V1.1.zip POST Temperature&Humidity Demo]
 +
*[http://makerfabs.com/wiki/index.php?title=File:Maduino_Zero_SIM800C_CID_Location_V1.0.zip Cell ID location Demo]
 +
*[http://makerfabs.com/wiki/index.php?title=File:SIM800_Series_AT_Command_Manual_V1.09.pdf SIM800 Series AT Command Manual]
 +
*[http://makerfabs.com/wiki/index.php?title=File:SIM800C_Hardware_Design_V1.02.pdf SIM800C Hardware Design]

Latest revision as of 08:47, 13 December 2019

Introduction

Maduino Zero SIM800C is a one-stop solution for IoT (Internet of Things) projects, it integrates a micro Controller SAMD21G18A-AU, GRRS/GSM module SIM800C, on-board power management, and storage, to make the Maduino Zero SIM800C ready for real project for IoT projects such as smart-home, outdoor monitoring, shared bicycle, etc. The GRPS/GSM module A6 support quad-band 850/900/1800/1900MHz, that covers any GSM network, after inserting a SIM card, then you will able to use the SMS/GPRS service of Cellular connectivity.
The Maduino Zero SIM800C based on the Arduino, users can program it with Arduino IDE, which is very easy especially suit for the none-programmers. There are also detailed guides for users to learn how to create the first IoT project with Maduino Zero SIM800C board, with which the starters can learn the hardware and programming skills quickly.

Model: OAC800SIM
Maduino Zero SIM800C 00.png

Features

  • Powered by lithium battery 3.4-4.2V or USB(5V)
  • SAMD21G18A: 32-bit ARM® Cortex®-M0 up to 48MHz, 256KB flash, 32KB SRAM, LQFP48
  • Integrated Power Control System
  • Quad-band: 850/900/1800/1900Mz
  • Interface: I2C/SPI/UART/ADC/DAC/I2S/38*GPIO
  • Arduino Compatible
  • Working Temperature: -20 ~ +85℃
  • Default baud rate: 115200bps
  • Size: 40*55mm

Interface Function

MaduinoZeroSIM800CV1.0 SilTop.jpg
①Micro USB: 5V Power Input, USB to serial Communication
②CHG: 5V power Input Connector, connect to the solar panel to charge the battery.
③VBAT: Lipo Battery Connector
④PWR: Power Indicator
⑤CHG:Charge Status Indicator
⑥GSM: Antenna IPX Connector
⑦BT: Bluetooth IPX Connector
⑧SWD: Used for Bootloader Updates
⑨RESET: Reset Button for SAMD21G18A-AU

SIM800C SilkBot.jpg
①Micro SIM Card Holder
②Micro SD Card Holder

Pins usage on Arduino

  • D0 – RX from SIM800C (Hardware Serial Communication Selected)
  • D1 – TX to SIM800C (Hardware Serial Communication Selected)
  • D2 - Unused
  • D3 - Unused
  • D4 - SD Card CS PIN(active Low)
  • D5 - connect to SIM800C UART1_DTR
  • D6 - Unused
  • D7 - Unused
  • D8 - Unused
  • D9 - Power ON Control of SIM800C (active High)
  • D10 - Unused
  • D11 - Unused
  • D12 - Unused
  • D13 - Unused
  • D14(A0) - Unused
  • D15(A1) - Unused
  • D16(A2) - Unused
  • D17(A3) - Unused
  • D18(A4) - Unused
  • D19(A5) – Unused

Usage

GPRS/GSM test

SIM800C is a GPRS/GSM Quad-band module,and the update version support Bluetooth 3.0 EDR(some functions of SPP, OPP, HFP/HSP ), so The Maduino Zero SIM800C can be capable of the GPRS connectivity for Internet, to upload/download data with internet. With this board, we can use it as a data acquisition, remote control and a lot of IOT project or smart home project. Such as we want to know the temperature and humidity of home/office/storage cabinet/ or other some place at anytime, anywhere that have a network.
So, this tutorial is for the beginners to learn how to get temperature and humidity remotely by using Maduino Zero SIM800C with detailed guide, it is for the starters to create a simple IOT project with a few time of learning.


Step 1: Set Up Arduino IDE
1.1. Follow the guide to setup Arduino IDE for Maduino Zero SIM800C.

Select board -> Arduino/Genuino Zero(Native USB Port). And the correct Port.

Maduino Zero SIM800C 01D.PNG

If you not find it, you can click -> Boards Manager as the screen snap below. Nest search “arduino zero” and install Arduino SAMD Boards(32-bit ARM Cortex-M0+).

Maduino Zero SIM800C 01.png

1.2 install dependent library
Click Sketh->Include Library->Manage Library… Nest search “dht sensor library” install “DHT sensor library by Adafruit” like the image below.

Maduino Zero SIM800C 01E.png

Maduino Zero SIM800C 01F.png


Step2: Hardware Connection

2.1.Insert a Micro SIM cardc
The Maduino Zero SIM800C board uses the micro SIM card that is widely used in Android phone, install the Micro SIM card to the holder as below picture.
Maduino Zero SIM800C 03.png
Note that some fee maybe needed for each SMS depends on your local GSM Operator, make sure that the SIM Card is active and enough money left for this application.
2.2. Connect the Sensor
First you need to find a DHT11 sensor or purchase one from https://www.makerfabs.com/dht11-temperature-humidity-module.html

Sensor's GND -> Board's GND(Black line)

Sensor's DATA -> Board's D3(White line)

Sensor's Vcc -> Board's 3V(Grey line)

4.png

Maduino Zero SIM800C 03A.png

2.3. Connect the GSM Antenna and the 3.7V battery
Maduino Zero SIM800C 04.PNG

Note:We should ensure that the input voltage never drop below 3.0V even when current consumption rises to 2A in the transmit burst. That's the reason why we need a battery rather than just supply power via micro USB cable.

Step3.Programming and Downloading
3.1 Sign up an account in https://thingspeak.com/ . If you already have one, sign in directly.
3.2 Click New Channel to create a new ThingSpeak channel.
Maduino Zero SIM800C 08.png

3.3 Input name, Description, Select Field 1 and Field 2. Then save channel on the bottom.

Maduino Zero SIM800C 08A.png

Maduino Zero SIM800C 08B.png


3.4 Copy the API Key, we will use it in the program

Maduino Zero SIM800C 09.png


The Codes for this application is very simple, define the SIM800C Power control pins:

//define the power control pin of SIM808:
int POWER_KEY=9; //D9: power on/off

Connect to GPRS/GSM network

sendData("AT+CGATT=1", 1000, DEBUG);

Initialize HTTP Service

sendData("AT+HTTPINIT", 1000, DEBUG);

Set HTTP parameters value

sendData("AT+HTTPPARA=\"URL\",\"http://api.thingspeak.com/update?api_key=OTI5YUPI0PALJR3F&field1=25.6&field2=78.5\"", 1000, DEBUG);

POST the data that set in command "AT+HTTPPARA"

sendData("AT+HTTPACTION=1", 1000, DEBUG);//HTTP POST success if get responce: +HTTPACTION: 1,200,0

Download the *POST Temperature&Humidity Demo, select the right port and Arduino board: Arduino Zero(Native USB Port) to upload the firmware to Maduino Zero SIM808 GPS board
Maduino Zero SIM800C 01D.PNG

4.Test Result
If the GPRS service accessible, the Maduino board post data to the site, open the Serial Tool we can see the logs as shown below:
Maduino Zero SIM800C 07A.png


Of course you can open the link: https://thingspeak.com/channels/825092 it will show the data:
Maduino Zero SIM800C 05.png


Note: AT Command:

AT+SAPBR=3,1,"CONTYPE","GPRS"  //
AT+SAPBR=3,1,"APN","CMNET"
AT+SAPBR=1,1
AT+HTTPINIT
AT+HTTPPARA="URL","http://api.thingspeak.com/update?api_key=OTI5YUPI0PALJR3F&field1=22.6&field2=73.8"
AT+HTTPACTION=1
AT+HTTPREAD
AT+HTTPTERM //Terminal the HTTP

More details you can refer to the document SIM800 Series_AT Command Manual.pdf.

Cell ID Location test

You can use *Maduino Zero SIM800C AT Commands Demo to send AT commands via Serial Monitor or other serial tools, such as we can use AT+CENG=3 and AT+CENG? to get MCC,MNC,LAC and CI.
Maduino Zero SIM800C 07B.png
Then we can show a rough location via GSM Cell ID shown as below image.
https://cellidfinder.com/cells
Maduino Zero SIM800C 05D.png

FAQ

You can list you question here or contact with support@makerfabs.com for technology support.

Resources