botletics / sim7000-lte-shield Goto Github PK
View Code? Open in Web Editor NEWBotletics SIM7000 LTE CAT-M1/NB-IoT Shield for Arduino
Home Page: https://www.botletics.com/products/sim7000-shield
License: GNU General Public License v3.0
Botletics SIM7000 LTE CAT-M1/NB-IoT Shield for Arduino
Home Page: https://www.botletics.com/products/sim7000-shield
License: GNU General Public License v3.0
I noticed that new Linux kernels (> 4.x I believe), already have SIM drivers in option.c.
Did you test it?
It apparently works, but sometimes the whole systems hangs and must be rebooted.
Any chance you could put a quick design for SIM7600E or similar modules like SIM7100? Would be very grateful. I guess the current pin-out may not support direct replacement.
Thanks
Hello,
I'm trying to use your library with a SIM5320A shield, but when I go to compile the LTE_Demo example, I get the following:
/var/folders/pq/c3qw6h7x0zd76hnxmt42d56m0000gp/T//ccMbhD8M.ltrans0.ltrans.o: In function
loop': /var/folders/pq/c3qw6h7x0zd76hnxmt42d56m0000gp/T/arduino_modified_sketch_679301/LTE_Demo.ino:799: undefined reference to
Adafruit_FONA_3G::enableGPRS(bool)'
/var/folders/pq/c3qw6h7x0zd76hnxmt42d56m0000gp/T/arduino_modified_sketch_679301/LTE_Demo.ino:810: undefined reference to `Adafruit_FONA_3G::enableGPRS(bool)'
I don't understand why it is doing that. Any help would be appreciated!
Hi,
SIM7000 units use GNS AT commands as per the manual. I know AT+CGPSPWR? mysteriously works on the 7000 at the moment but it might be worth changing enableGPS to this:
`boolean Adafruit_FONA::enableGPS(boolean onoff) {
uint16_t state;
// first check if its already on or off
if (_type == FONA808_V2 || _type == FONA_LTE_A || _type == FONA_LTE_C || _type == FONA_LTE_E) {
if (! sendParseReply(F("AT+CGNSPWR?"), F("+CGNSPWR: "), &state) )
return false;
} else {
if (! sendParseReply(F("AT+CGPSPWR?"), F("+CGPSPWR: "), &state))
return false;
}
if (onoff && !state) {
if (_type == FONA808_V2 || _type == FONA_LTE_A || _type == FONA_LTE_C || _type == FONA_LTE_E) {
if (! sendCheckReply(F("AT+CGNSPWR=1"), ok_reply)) // try GNS command
return false;
} else {
if (! sendCheckReply(F("AT+CGPSPWR=1"), ok_reply))
return false;
}
} else if (!onoff && state) {
if (_type == FONA808_V2 || _type == FONA_LTE_A || _type == FONA_LTE_C || _type == FONA_LTE_E) {
if (! sendCheckReply(F("AT+CGNSPWR=0"), ok_reply)) // try GNS command
return false;
} else {
if (! sendCheckReply(F("AT+CGPSPWR=0"), ok_reply))
return false;
}
}
return true;
}`
Hi,
Just tried the B05 firmware but couldn't setup PPP over UART anymore:
-> AT+CGREG?
<- OK
-> AT+CGATT?
<- ..+CGATT: 1....OK..
-> AT+CPSI?.
<- +CPSI: LTE CAT-M1,Online,240-XX,0x0086,7681025,0,EUTRAN-BAND1,1925,2,2,0,0,125,0 OK
-> AT+CGPADDR.
<- +CGPADDR: 1,10.41.136.51 OK
-> AT+CGNAPN.
<- +CGNAPN: 1,"xxx.com.xx" OK
-> ATD*99***1#.
<- ERROR
I had to downgrade to B03 again:
-> ATD*99***1#.
<- CONNECT 150000000
And PPP over UART works fine again. Any ideas?
Hi,
Thanks for sharing the work.
Will this library also support other modules like SIM7100, SIM750, SIM7600?
Hi,
I'd like to transmit GPS location to server.
The requirements is to transmit using "NB-IoT"
This example seems to use MQTT and allows the option to use NB-IoT/Cat-M module
https://github.com/botletics/SIM7000-LTE-Shield/blob/master/Code/examples/IoT_Example/IoT_Example.ino#L105
Is it true that all I need is an NB-IoT enabled SIM card and network
It will then automatically publish to my MQTT Broker somehow?
This module seems to support 2G all the way to LTE, supporting MQTT, FTP & HTTP
How do I know if NB-IoT is really being used?
Thanks!!
Hi all,
I am trying to make a diy 3G cellular data logger for my school project, I'm using a TinySine 3G/GSM/GPS module with an Arduino UNO and an AT&T sim card. I keep getting:
AT+HTTPTERM
ERROR
AT+HTTPINIT
ERROR
I used the Adafruit library and this one uploaded here, but keep getting the same results. Could you please help?
Thank you,
Hello @botletics
I have used SIM808 GPS module and successfully sent GPS data to the Azure IoT hub using HTTP protocol. Now I want to perform the same using the MQTT protocol.
I have used IoT_Example.ino code from your library. but I get the publishing error.
MQTT connection made successfully.
Serial monitor view:
AT+CIPSTART="TCP","test.mosquitto.org","1883"
<--- OK
<--- CONNECT OK
<---
---> 84 84 3 194 0 15 0 7 68 101 118 105 99 101 49 0 36 97 116 111 122 105 111 116 38 115 101 61 49 53 53 56 53 48 51 57 50 50 38 115 107 110 61 105 111 116 104 117 98 111 119 110 101 114 164
<--- SEND OK Publishing GPS data: Mydata
<--- ERROR Failed to publish data!
---> AT+CIPCLOSE <--- CLOSE OK
code is :
#elif defined(PROTOCOL_MQTT_MYSIGNAL) const char* MQTT_SERVER = "test.mosquitto.org"; const char* MQTT_SERVERPORT = 1883; // Connect to MQTT broker if (!fona.TCPconnect(MQTT_SERVER, MQTT_SERVERPORT)) Serial.println(F("Failed to connect to TCP/IP!")); if (!fona.MQTTconnect("MQTT","","","")) Serial.println(F("Failed to connect to MQTT broker!")); if (!fona.MQTTpublish("MyTopic", "Mydata")) Serial.println(F("Failed to publish data!"));
I want to send GPS data to the Azure using MQTT. But, for now, testing purpose, I have used mosquitto server.
Can you please help me to solve out this issue.
Thanks!!
Hi,
Which firmware version are you using for these examples? Some of the AT commands specified does not work on my SIM7000E.
When using the SIM7000E with an NB-IoT-only SIM (no GPRS support), CREG never returns the correct status, only 0,0 or 0,2.
CGREG however works as intended. Could this be changed in getNetworkStatus?
hi , sorry to open ticket for my question but actually I've intend to use 3g/4g link along side with my Ardupilot compatible hardware which is based on ESP32, but I don't know which SIM series suitable for this matter whereas any drone can fly above the telephone towers and hens communication quality may drop down , also co-working different radio frequencies (3g/4g, wifi, telemetry) would be an issue for itself , so I really appreciated to have your advises for this matter
Hello!
Thank you for sharing your valuable insight on this new, rather new chip! I am looking to use this SIM7000(E) as a modem on my OpenWRT router. I bought the chip on a mPCIE board, and its listed with PPP capability. But when installed, it lists a QMI dev, but I can not get it to work. I can not find the promised "Linux" driver for this chip either. So my question is: Do you know if the SIM7000 supports a QMI modem interface (with time, and kernel support), or is this some common simmcom interface, and not supported? Can not find proper documentation any place.. Thanks if you have any info to share. I`m also new to PPP, so I would be happy if anyone know of a working chatscript for SIM7000 and using CAT-M1.
Thanks,
Best regards
Benjamin Kruger
there is no at+cipshut at sim7500, so i cant do a tcp connect to mqtt
Hi add the calling features in your example
I had seen in adafruit fona lab there is a example on incoming call.
I need to send the GPS value through SMS when someone miss call me .
That is when the incoming call arrive than tack the phone number and send the SMS on that no. With the GPS coordinates.
What is the Reset PIN?
Hi...
Has there been significant changes on library regarding support on SIM5320 module.
Cause at this moment there comes compiling error 'class Adafruit_FONA_3G' has no member named 'setNetworkSettings'
Using LTE_DEMO example with correct changes to enable the SIM5320
Are there instructions about how to compile and link DAM applications for SIM7000 without having to buy the multi-thousand dollar ARM IDE?
Compiler GCC or Clang?
Simple makefile for demo code?
i have test this library with sim5320
network connection is works, but mqtt aio is not work
Attempting to open comm with ATs
---> AT
<--- OK
---> ATE0
<--- OK
---> ATE0
<--- OK
---> AT+CVHU=0
<--- OK
---> ATI
<--- Manufacturer: SIMCOM INCORPORATED
Model: SIMCOM_SIM5320E
Revision: SIM5320E_V1.5
IMEI: 861311005089171
+GCAP: +CGSM,+DS,+ES
OK
---> AT+CPMS="SM","SM","SM"
<--- +CPMS: 10,10,10,10,10,10
FONA is OK
Found FONA 3G (European)
---> AT+GSN
<--- 861311005089171
Module IMEI: 861311005089171
---> AT+NETCLOSE
<--- Network closed
---> AT+CGATT=1
<--- OK
---> AT+CGSOCKCONT=1,"IP","internet"
<--- OK
---> AT+CIPMODE=1
<--- OK
---> AT+NETOPEN=,,1
<--- Network opened
Enabled GPRS!
---> AT+CREG?
<--- +CREG: 0,1
Network status 1: Registered (home)
Connected to cell network!
---> AT+CIPSTATUS
<--- ERROR
Connecting to MQTT...
---> AT+CIPSHUT
<--- ERROR
Connection failed
Retrying MQTT connection in 5 seconds...
---> AT+CIPSTATUS
<--- ERROR
---> AT+CIPCLOSE
<--- ERROR
---> AT+CIPSHUT
<--- ERROR
Connection failed
i think there is no at command for at+cipstatus in sim5320
is there something iam missing?
can u add support for sim7600 ? the at command is a little bit different :)
sir as you update the IOT_Example on5/2/2018 it's best and now i can push/publish the data on adafruit io
But sir for disply the latitud longituted on Dashboard lat long must be in csv and it should be one feed.
please sir make the lat long in csv for display the lat long on wegit/dashboard .you are the best thanks a lot
Hi!
Im using the TinySine SIM5320A shield on a Uno board.
I removed old versions of the Fona Library and downloaded your latest one from github yesterday(8/24/18).
I changed the #define to SIMCOM_3G.
I updated the APN info since I'm using an AT&T sim card that belongs to a spare (working)phone I have.
It compiled and uploaded fine and ran, can turn on GPRS, can check the network etc, but I just can't get the dweet to work. I think I'm really close.
See the Serial output below.
Any words of wisdom you can share?
FONA>
OPL DONE
PNN DONE
SMS DONE
+VOICEMAIL: INIT_STATE, 1, 3
PB DONE
+STIN: 25
n
---> AT+CREG?
<--- +CREG: 0,1
Network status 1: Registered (home)
FONA> i
---> AT+CSQ
<--- +CSQ: 13,99
RSSI = 13: -88 dBm
FONA> G
---> AT+CGATT=1
<--- OK
---> AT+CGSOCKCONT=1,"IP","wap.cingular"
<--- OK
---> AT+CGAUTH=1,1,"[email protected]","cingular1"
<--- OK
---> AT+CIPMODE=1
<--- OK
---> AT+NETOPEN=,,1
<--- Network opened
FONA> 3
---> AT+CHTTPSSTART
<--- OK
Waiting 1s to ensure connection...
---> AT+CHTTPSOPSE="www.dweet.io",443,2
<--- OK
Waiting 1s to make sure it works...
---> AT+CHTTPSSEND=81
<--- >
---> GET /dweet/for/014682003952479?temp=678.96&batt=3700 HTTP/1.1
Host: dweet.io
<--- OK
---> AT+CHTTPSSEND
<--- OK
---> AT+CHTTPSRECV?
<--- +CHTTPSRECV: LEN,0
---> AT+CHTTPSRECV=0
<--- ERROR
---> AT+CHTTPSCLSE
<--- +CHTTPSSEND: 8
Failed to complete HTTP/HTTPS request...
FONA>
OK
SIMcom released a media statement [1] earlier this year about the SIM7000G, and it suggests that no external MCU is needed:
- Supports secondary development and saves costs: Without the need for an external MCU and by fully using the resources of SIM800/SIM900 wireless modules, it enables function to port and embeds programs that otherwise would have been implemented by the external MCU into the wireless module, achieving savings in costs. Moreover, RTOS multithreading, messages and other technologies are used for more efficient development. API interfaces of hardware are used for reduced difficulties in development.
It looks like you use an Arduino in all of your examples, but have you been able to use the shield standalone, or is the shield configuration limiting that feature of the SIM7000?
[1] http://www.simcomm2m.com/phone/En/media/detail.aspx?id=206
The board seems to intermittently reset the power and the PWR LED on your sim7000A board board goes off. I am sometimes able to get the chip to connect to the verizon hologram network and issues the n or 1 command in the LTE_demo example. Sometimes I get ctreg 0,2 which is searching. But eventually the PWR LED resets and I am unable to get any further responses from AT commands until I hit the reset button on the arduino mega 2650 board to establish a connection with it again. When it connects to the network it seems to be pretty stable for a while, until I issue the G command for gprs. It then gets to the SAPBR command, or sometimes as far as this:
---> AT+SAPBR=1,1
<--- OK
---> AT+CIICR
<--- +PDP: DEACT
But then the power resets and I am stuck unable to get a response again. When I first tried this a week ago I was able to reach the internet once or twice, after many failed attempts. I did not edit any of the code. I'm connected by USB power. The antenna is connected correctly and I have good signal. Any ideas?
Just wanted to inform you that the link for SIM7000C is broken on this page. It should be
http://simcomm2m.com/En/module/detail.aspx?id=167
instead of
http://m.simcomm2m.com/En/module/detail.aspx?id=167
is there a way to get sms delivery report with this ?
Case closed
Could I ask what is the firmware version use in the SIM7000A module?
Where could I download it? Thanks
I added the library and I uploaded the library but now I have another issue in the port monitor : Couldn't find FONA
I am using Hologram Sim card
I am trying the tutorial on https://www.hackster.io/botletics/real-time-2g-3g-lte-arduino-gps-tracker-iot-dashboard-01d471
when I try to upload the Iot_Example to the arduino I get this error:
Adafruit_FONA_LTE does not name a type
how can I fix this probleme
I am new to arduino
Hi,
This might be pretty lame to ask, but how do I use your sample code with my existing own MQTT server and not with Adafruit or CloudMQTT as described in the examples?
sir good afternoon,
i love your all project and i try all method of Iot_example like
#define PROTOCOL_HTTP_GET // Generic
#define PROTOCOL_HTTP_POST // Generic
#define PROTOCOL_MQTT_AIO // Adafruit IO
#define PROTOCOL_MQTT_CLOUDMQTT // CloudMQTT
Now i am Successfully Publish Data to CloudMQTT and i want to use NodeRed UI and now i can use Gauge,Chart etc but i am Geting Probleam in ploting worldmap in Node red as you Privies Help me a lot so this time also i need your help Last time
i am using the worldmap in ui iframe which is given - under the menu (top right) - Import - Examples - Worldmap in nodered
The co-ordinate is in node red debug tab and console look like this:
object topic: "location"
payload: "1,18.392378,76.593338,284.8"
qos: 0
retain: false
_msgid: "68d05896.c67388"
And in debug tab look :
location : msg.payload : string[27]
"0,18.394644,76.592491,224.7"
I want to convert it like this {name:"Art", lat:18.394606, lon:76.592514} to show the maker in world map
Please Help
Has there been a formal release of B05 as yet?
I noticed that Telstra (Australia) have recently issued an approval for the 7000E module for firmware rev. B05. Approval issued 28 May 2018.
Reference: http://simcomm2m.com/UploadFile/TechnicalFile/SIM7000E_Telstra_Certificate_2018.PDF (may require a login?)
Also worth noting that a Telstra approval is good news for shields sold in Australia.
APN Settings for Telstra:
fona.setGPRSNetworkSettings(F("telstra.internet")); // For Telstra (AU) SIM card - CAT-M1 (Band 28)
It seem that can not enable 3G for 5320E ?
The firmware folder doesn't have a version for the SIM7000A, do you have any?
I tried to reach out to Simcom without luck.
The modem I have is facing issues sending SMS when connected to Verison network directly, but it can establish a connection over Http.
appreciate your help
I am trying to support Raspberry Pi 3. The linux driver code has the 7100 but not the 7000 listed.
When I try to compile on raspberry - jesse it gives error:
make[1]: *** /lib/modules/4.9.59-v7+/build: No such file or directory. Stop.
The Simcom site says there are both linux and android drivers for the 7000, but I can not find them.
The module works perfectly with Arduino! Thanks.
Bob
I am getting this error for Adafruit_MCP9808.h: No such file or directory.
Compilation terminated.
I have added the MQTT library as well.
Sir good evening
I run the IoT example everything is great but the Arduino Uno r3 has 32kb of ROM and 2kb of RAM and the IoT example requires 80% of ROM and 81% of RAM so that I get a problem because I want to embade the impact sensor to detect the accident but because of memory I can't embade
Please reduce down the memory requirement by that I can connect extra sensor and improve my project
Sir if it possible than try please thanks
There got error " invalid conversion from 'const char*' to 'char*' [-fpermissive] " when I compiled your examples by using your latest version
In member function 'boolean Adafruit_FONA::postData(const char*, const char*, const char*, const char*)'
Adafruit_FONA.cpp error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
if (! sendCheckReply(body, ok_reply, 10000)) ,
anyone met the problem?
In the examples I read:
Go to boards manager and make sure you have 2.3.0 of esp8266 package! 2.4.0+ won't compile
But what is the issue and why doesn't it compile?
I have several projects for my esp8266 modules with the 2.4.x version, so I would rather not create a fully separated environment just to use 2.3.0.
Also, are there any constrains on the version of the arduino ide then?
Sir I want to subscribe to cloudmqtt because I am using 5 sensor in which two sensor need to subscribe I also know that the AIO support subscribe but it also need to much memory I know you are busy but as I am your follower and your my ideal person sir please update the ilt example I am trying to subscribe to cloudmqtt from last one month but I am not get success please allow the subscribe function in mqtt I bag you because I really need it please please please please please please update the subscribe function in cloudmqtt please please please please please
I also respect you if there is something I say you don't like than sorry but please please please please update the IoT example for your follower or your brother thanks I love your project and also many people love your project I also purchasing the sim7000
I hope you understand my feelings please I am doing my final year project after it I am going to open my business in bus tracking as a side business I am from India and I am doing my engineering in electronics and telecommunication so I am week in programming
Sir please please please update the IoT example I very appreciate you
Thanks
Working with SIm 7000c LTE DFRobot sheild and am getting this response "Couldn't find FONA" in the serial moniter
Hello,
It seems like I programmed a bug in my DAM App which causes the device to reset and then boot into Download/Sahara mode. In this mode I can download a firmware using qpst but it seems like the efs is untouched in this process. Is there a way to erase efs / recovery a factory image ?
After taking my fully working project apart and reassembling it, the SIM7000 module is no longer able to communicate sensibly.
When powering on the shield, while listening for any incoming data over serial, I get unintelligible data like this:
�
ø
Y
á�
p
ªÒ
ZÜÿÿ
=��
ÿõ
�Z
5¾
U�¬ÿ
Ýeÿ� !ß
@�
!7÷
)÷³
�ý
I
��¨ï
¸ "ð
÷ó
'��ú
B³Û��Æ
�Ø¿�@Ô
%!þ
��
�ÿPܺá
È ¾
Ò
f 5
©���ý
³
w¾
�Ðÿ
J
ýàÿ
þ
�
×
þ
À
¯ÿ
l�ü
ÿÿ
�1
cÁ
�
�Bôþ
k�"ÿ
What could be the cause? I've set the baud rate to 115200 (as it was before when it worked), and also tried the baud rate synchronization walz (AT until OK).
I did manage to get a reasonably sensible output once, when it just sent \x00
(null). That was promising, but also the only thing it said.
Sir good evening
I run the IoT example everything is great but the Arduino Uno r3 has 32kb of ROM and 2kb of RAM and the IoT example requires 80% of ROM and 81% of RAM so that I get a problem because I want to embade the impact sensor to detect the accident but because of memory I can't embade
Please reduce down the memory requirement by that I can connect extra sensor and improve my project
Sir if it possible than try please thanks
Hi,
First of all I would like to say your project is great, I love it. Here is some experience I did some firmware upgrade and I would like to share it.
I remembered I bought SIM7000E module before June 2017 and the module firmware is not very updated. So many AT command stated in manual can't be used. Been followed your guide on firmware update tool, I found that IMEI on module was missing after firmware upgrade.
To solve this, you will need restore QCN file attached follow the instruction under section How to update xQCN file if necessary in How to update SIM7000 FW version with QPST.pdf. The QCN file is standard and works for all SIM7000 series. Then run AT+SIMEI=your IMEI number. You can find IMEI number on top of SIM7000 module. Hope it helps.
MDM9206_SIM7000E_P1.02_20180118.xqcn.zip
** Better to confirm with SIMCOM engineer if the file works for all SIM7000.
I am testing "SIM7XXX_LTE_Demo", but unfortunately, In my environment, "[2] Post to dweet.io via LTE CAT-M / NB-IoT (SIM70000)" returns error code 601.
It seems network error, so I used AT commands to find out the reason, but I couldn't find out yet.
It seems on roaming network, but IP function couldn't work. What I should try next ?
FONA> 2
---> AT+HTTPTERM
<--- ERROR
---> AT+HTTPINIT
<--- OK
---> AT+HTTPPARA="CID",1
<--- OK
---> AT+HTTPPARA="URL","dweet.io/dweet/for/865233030122643?temp=600.24&batt=3600"
<--- OK
---> AT+HTTPACTION=0
<--- OK
HTTP status: 601
Data length: 0
Failed to complete HTTP GET...
at+cgnapn
+CGNAPN: 1,"apn.konekt.io"
OK
at+cops?
+COPS: 0,0,"440 20 Hologram",8
OK
at+creg?
+CREG: 0,5
OK
AT+CIPPING="8.8.8.8"
ERROR
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.