38
README.md
38
README.md
@@ -209,6 +209,7 @@ The general flow of your code should be:
|
|||||||
- ```modem.simUnlock(GSM_PIN)```
|
- ```modem.simUnlock(GSM_PIN)```
|
||||||
- If using **WiFi**, specify your SSID information:
|
- If using **WiFi**, specify your SSID information:
|
||||||
- ```modem.networkConnect(wifiSSID, wifiPass)```
|
- ```modem.networkConnect(wifiSSID, wifiPass)```
|
||||||
|
- Network registration should be automatic on cellular modules
|
||||||
- Wait for network registration to be successful
|
- Wait for network registration to be successful
|
||||||
- ```modem.waitForNetwork(600000L)```
|
- ```modem.waitForNetwork(600000L)```
|
||||||
- If using cellular, establish the GPRS or EPS data connection _after_ your are successfully registered on the network
|
- If using cellular, establish the GPRS or EPS data connection _after_ your are successfully registered on the network
|
||||||
@@ -252,6 +253,24 @@ Improving the power supply actually solves stability problems in **many** cases!
|
|||||||
- Do not put your wires next to noisy signal sources (buck converters, antennas, oscillators etc.)
|
- Do not put your wires next to noisy signal sources (buck converters, antennas, oscillators etc.)
|
||||||
- If everything else seems to be working but you are unable to connect to the network, check your power supply!
|
- If everything else seems to be working but you are unable to connect to the network, check your power supply!
|
||||||
|
|
||||||
|
### Broken initial configuration
|
||||||
|
|
||||||
|
Sometimes (especially if you played with AT commands), your module configuration may become invalid.
|
||||||
|
This may result in problems such as:
|
||||||
|
|
||||||
|
* Can't connect to the GPRS network
|
||||||
|
* Can't connect to the server
|
||||||
|
* Sent/received data contains invalid bytes
|
||||||
|
* etc.
|
||||||
|
|
||||||
|
To return module to **Factory Defaults**, use this sketch:
|
||||||
|
File -> Examples -> TinyGSM -> tools -> [FactoryReset](https://github.com/vshymanskyy/TinyGSM/blob/master/tools/FactoryReset/FactoryReset.ino)
|
||||||
|
|
||||||
|
In some cases, you may need to set an initial APN to connect to the cellular network.
|
||||||
|
Try using the ```gprsConnect(APN)``` function to set an initial APN if you are unable to register on the network.
|
||||||
|
You may need set the APN again after registering.
|
||||||
|
(In most cases, you should set the APN after registration.)
|
||||||
|
|
||||||
### Diagnostics sketch
|
### Diagnostics sketch
|
||||||
|
|
||||||
Use this sketch to help diagnose SIM card and GPRS connection issues:
|
Use this sketch to help diagnose SIM card and GPRS connection issues:
|
||||||
@@ -285,13 +304,13 @@ This library opens a TCP (or SSL) connection to a server.
|
|||||||
In the [OSI model](https://en.wikipedia.org/wiki/OSI_model), that's [layer 4](http://www.tcpipguide.com/free/t_TransportLayerLayer4.htm) (or 5 for SSL).
|
In the [OSI model](https://en.wikipedia.org/wiki/OSI_model), that's [layer 4](http://www.tcpipguide.com/free/t_TransportLayerLayer4.htm) (or 5 for SSL).
|
||||||
HTTP (GET/POST), MQTT, and most of the other functions you probably want to use live up at [layer 7](http://www.tcpipguide.com/free/t_ApplicationLayerLayer7.htm).
|
HTTP (GET/POST), MQTT, and most of the other functions you probably want to use live up at [layer 7](http://www.tcpipguide.com/free/t_ApplicationLayerLayer7.htm).
|
||||||
This means that you need to either manually code the top layer or use another library (like [HTTPClient](https://github.com/arduino-libraries/ArduinoHttpClient) or [PubSubClient](https://pubsubclient.knolleary.net/)) to do it for you.
|
This means that you need to either manually code the top layer or use another library (like [HTTPClient](https://github.com/arduino-libraries/ArduinoHttpClient) or [PubSubClient](https://pubsubclient.knolleary.net/)) to do it for you.
|
||||||
Tools like PostMan also works at layer 7, not layer 4/5 like TinyGSM.
|
Tools like [PostMan](https://www.postman.com/) also show layer 7, not layer 4/5 like TinyGSM.
|
||||||
If you are successfully connecting to a server, but getting responses of "bad request" (or no response), the issue is probably your formatting.
|
If you are successfully connecting to a server, but getting responses of "bad request" (or no response), the issue is probably your formatting.
|
||||||
Here are some tips for writing layer 7 (particularly HTTP request) manually:
|
Here are some tips for writing layer 7 (particularly HTTP request) manually:
|
||||||
- Look at the "WebClient" example
|
- Look at the "WebClient" example
|
||||||
- Make sure you are including all required headers.
|
- Make sure you are including all required headers.
|
||||||
- If you use PostMan, make sure you un-hide and look at the "auto-generated" headers; you'll probably be surprised by how many of them there are.
|
- If you are testing with PostMan, make sure you un-hide and look at the "auto-generated" headers; you'll probably be surprised by how many of them there are.
|
||||||
- Use ```client.print("")```, or ```client.write(buf, #)```, or even ```client.write(String(""))```, not ```client.write("")``` to help prevent text being send out one character at a time (typewriter style)
|
- Use ```client.print("...")```, or ```client.write(buf, #)```, or even ```client.write(String("..."))```, not ```client.write("...")``` to help prevent text being sent out one character at a time (typewriter style)
|
||||||
- Enclose the entirety of each header or line within a single string or print statement
|
- Enclose the entirety of each header or line within a single string or print statement
|
||||||
- use
|
- use
|
||||||
```cpp
|
```cpp
|
||||||
@@ -330,19 +349,6 @@ You will not be able to compile the HttpClient or HttpsClient examples with ESP3
|
|||||||
When using SAMD21-based boards, you may need to use a sercom uart port instead of `Serial1`.
|
When using SAMD21-based boards, you may need to use a sercom uart port instead of `Serial1`.
|
||||||
Please [refer to this comment](https://github.com/vshymanskyy/TinyGSM/issues/102#issuecomment-345548941).
|
Please [refer to this comment](https://github.com/vshymanskyy/TinyGSM/issues/102#issuecomment-345548941).
|
||||||
|
|
||||||
### Broken initial configuration
|
|
||||||
|
|
||||||
Sometimes (especially if you played with AT commands), your module configuration may become invalid.
|
|
||||||
This may result in problems such as:
|
|
||||||
|
|
||||||
* Can't connect to the GPRS network
|
|
||||||
* Can't connect to the server
|
|
||||||
* Sent/received data contains invalid bytes
|
|
||||||
* etc.
|
|
||||||
|
|
||||||
To return module to **Factory Defaults**, use this sketch:
|
|
||||||
File -> Examples -> TinyGSM -> tools -> [FactoryReset](https://github.com/vshymanskyy/TinyGSM/blob/master/tools/FactoryReset/FactoryReset.ino)
|
|
||||||
|
|
||||||
### Goouuu Tech IOT-GA6 vs AI-Thinker A6 confusion
|
### Goouuu Tech IOT-GA6 vs AI-Thinker A6 confusion
|
||||||
|
|
||||||
It turns out that **Goouuu Tech IOT-GA6** is not the same as **AI-Thinker A6**. Unfortunately IOT-GA6 is not supported out of the box yet. There are some hints that IOT-GA6 firmware may be updated to match A6... See [this topic](https://github.com/vshymanskyy/TinyGSM/issues/164).
|
It turns out that **Goouuu Tech IOT-GA6** is not the same as **AI-Thinker A6**. Unfortunately IOT-GA6 is not supported out of the box yet. There are some hints that IOT-GA6 firmware may be updated to match A6... See [this topic](https://github.com/vshymanskyy/TinyGSM/issues/164).
|
||||||
|
|||||||
Reference in New Issue
Block a user