botletics / sim7500-lte-shield Goto Github PK
View Code? Open in Web Editor NEWBotletics SIM7500 LTE CAT-1 Shield for Arduino
Home Page: https://www.botletics.com/products/sim7500-shield
License: GNU General Public License v3.0
Botletics SIM7500 LTE CAT-1 Shield for Arduino
Home Page: https://www.botletics.com/products/sim7500-shield
License: GNU General Public License v3.0
Hello,
Do you plan to release at least schematics and Linux driver for SIM7500? I know there is already things for SIM7000, but I need also voice support. It would be really nice to have this.
Thank you
hello, can I ask the new firmware file for sim7600, i have not found until now..
thanks, mr. timothy
In Android 7, 4G should be used for telematic only. I want set up some restrictions to use telematic server only.
For any other purposes: no WiFi – no internet (do not use 4G). Special case is hotspot on the device. In this case I should not share 4G internet to user.
I need some fix. If it possible please provide the MQTT commands to avoid share the 4g to the user.
MQTT commands available for SIM7500
https://simcom.ee/documents/SIM7500E/SIM7500_SIM7600%20Series_MQTT_ATC_V1.01.pdf
PCb files are missing
I would like to see how you implement RF tuning from the Chip to the SMS connector ,
quite new to this
also is there a mode on the ship to show how well the VSWR or signal reception is ?
Thank you
Hello,
I am following the AT command manual for the SIM7600 to make a HTTP Request to my server, however It never connects to my server using the HTTP AT commands and nothing shows up on wireshark.
After: AT+HTTPACTION=1, i get OK, but then after the timeout i get a 714 error code (Connect socket failed)
I am unsure why
If i setup a TCP connection and use CIPSEND, it shows up in wireshark.
Here is my code:
void PostImage(const char *host, const char *resource, int port, const char *uuid, const char *name, uint8_t *payload,
size_t length) {
// start https
Serial.println("Closing any previous HTTPS sessions");
sendCommandWaitforMatch("AT+HTTPTERM", "OK");
Serial.println("starting HTTPS...");
ATCommandResponse started = sendCommandWaitforMatch("AT+HTTPINIT", "OK");
Serial.println(started ? "HTTPS started" : "HTTPS start failed");
if (!started) {
return;
}
//! look into caveat for this
ATCommandResponse setUrl = sendCommandWaitforMatch(
String(String("AT+HTTPPARA=\"URL\",\"") + "http://" + host + resource + ":" + port + "\"").c_str(), "OK",
1000U);
Serial.println(setUrl ? "HTTPS URL set" : "HTTPS URL set failed");
ATCommandResponse setContentType =
sendCommandWaitforMatch("AT+HTTPPARA=\"CONTENT\",\"multipart/form-data; boundary=----boundary\"", "OK");
Serial.println(setContentType ? "HTTPS Content-Type set" : "HTTPS Content-Type set failed");
ATCommandResponse setConnTimeout = sendCommandWaitforMatch("AT+HTTPPARA=\"CONNECTTO\",20", "OK");
ATCommandResponse setRecTimeout = sendCommandWaitforMatch("AT+HTTPPARA=\"RECVTO\",10", "OK");
//! 153600 max size
// image id
// total size
String imageHead = String("----boundary\r\n") +
"Content-Disposition: form-data; name=\"image\"; "
"filename=\"PotWatcherImage.jpg\"\r\nContent-Type: image/jpeg\r\n";
String imageIdHead = String("----boundary\r\n") + "Content-Disposition: form-data; name=\"imageId\"\r\n\r\n";
String totalSizeHead = String("----boundary\r\n") + "Content-Disposition: form-data; name=\"totalSize\"\r\n\r\n";
String tail = "\r\n----boundary--\r\n";
// perform POST
Serial.println("Performing HTTP POST request...");
size_t body_size = imageIdHead.length() + String(name).length() + totalSizeHead.length() + String(length).length() +
imageHead.length() + length + tail.length();
Serial.println(String("Sending length of: ") + body_size);
ATCommandResponse startSend =
sendCommandWaitforMatchRetry(String(String("AT+HTTPDATA=") + body_size + ",10000").c_str(), "DOWNLOAD");
Serial.println(String("Start send: ") + String(startSend == ATCommandResponse::Status::OK));
Serial.println("Sending Payload");
sendString(imageIdHead.c_str());
sendString(name);
sendString(totalSizeHead.c_str());
sendString(String(length).c_str());
sendString(imageHead.c_str());
uint8_t *fbBuf = payload;
size_t remaining = length;
while (remaining > 0) {
size_t chunkSize = std::min(remaining, (size_t)TINY_GSM_RX_BUFFER);
sendData(fbBuf, chunkSize);
fbBuf += chunkSize;
remaining -= chunkSize;
}
Serial.println("Sending Tail");
sendCommandWaitforMatch(tail.c_str(), "OK");
ATCommandResponse sendRequest = sendCommandWaitforMatch("AT+HTTPACTION=1", "+HTTPACTION:", 20000U);
ATCommandResponse readHead = sendCommandWaitforMatchRetry("AT+HTTPHEAD", "OK");
// close https
Serial.println("Close HTTPS session");
ATCommandResponse close = sendCommandWaitforMatch("AT+HTTPTERM", "OK");
Output:
Closing any previous HTTPS sessions
AT+HTTPTERM
OK
starting HTTPS...
AT+HTTPINIT
OK
HTTPS started
AT+HTTPPARA="URL","http://xx.x.xx.x/api/img:3000"
OK
HTTPS URL set
AT+HTTPPARA="CONTENT","multipart/form-data; boundary=----boundary"
OK
HTTPS Content-Type set
AT+HTTPPARA="CONNECTTO",20
OK
AT+HTTPPARA="RECVTO",10
OK
Performing HTTP POST request...
Sending length of: 280
AT+HTTPDATA=280,10000
DOWNLOAD
Start send: 1
Sending Payload
Sending Tail
----boundary
Content-Disposition: form-data; name="imageId"
image12
----boundary
Content-Disposition: form-data; name="totalSize"
6
----boundary
Content-Disposition: form-data; name="image"; filename="PotWatcherImage.jpg"
Content-Type: image/jpeg
hello␀
----bo
OK
AT+HTTPACTION=1
OK
+HTTPACTION: 1,714,0
AT+HTTPHEAD
ERROR
AT+HTTPHEAD
ERROR
AT+HTTPHEAD
ERROR
Close HTTPS session
AT+HTTPTERM
OK
Hi,
I am going to use the following module.
https://www.aliexpress.com/item/4G-Breakout-board-in-American-with-SIM7500A-on-board-SIM7500A-breakout-board-1PC-free-shipping-no/32851163595.html
The SIM card I am using is IoT sim card from Aeris. https://www.aeris.com/
I am going to write a code to send the simple post request.
I want to know if I can use your Adafruit Fona library directly without any change.
And I want to know which example of your codes I should use for my simple POST request code.
I am a beginner, so I hope you will let you know the way for it.
One more thing! The BK-SIM7500 breakout board has SLEEP pins instead of reset pin.
I don't know how to consider the sleep signal in my code.
Thanks in advance!
why the updater is empty, where I can find that ??
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.