Comments (11)
I have some of these NB boards too and have the same issue! Would love to know how to fix this.
from arduino-library.
Hi, do you need your devices to be permanently connected to the platform?
NB devices use to sleep most of the time, then wake up, connect to the internet, and transmit data, especially if they are powered by batteries.
Building reliable NB-IOT solutions requires some more engineering according to the specific use case, and probably the general-purpose Arduino library for thinger.io is not the best approach here.
- What are the specific requirements of your use case?
- Are you able to monitor the connection with the network, i.e., sending AT+CEREG?
- Did you test the connection stability without peripherals or surrounding code? Just the library with the keep alives.
- Did you try using an RTOS to run tasks in parallel to the thinger connection, so, the device is not blocked waiting for network connectivity?
- Did you check that the NB-modem is in its latest version?
from arduino-library.
Hi @alvarolb
Thanks for your reply.
Yes, we do indeed need to be connected to the platform permanently. Realise the NB device is not a good system to be using long term but we chose it so that we could get our system up and running as fast as possible and iterate quickly from there. The reliability doesn't need to be perfect but right now we are dependent on getting or current solution working as best we can so that we can demo it for an investment round. For that reason we would love to find a viable workaround or solution.
The requirements are:
- We will have 65 devices in field at one time
- The devices themselves need to be performing actions continuously
- They need to be able to send some sensor and location data up every 3 mins
- They need to be connect reliably and pull a bunch of properties from thinger on startup and also send some logging data up
- A few times a day they will receive commands to change actions
- They need to be able to reset if they have an issue.
- They also need to survive as long as possible on battery
Currently the problem is that the device loses connection so regularly that it needs to be reset with a watch dog timer so many times that it is unpractical and burns extra battery. Could you point me in a rough direction to try and fix this lockup? Like how could I get it to try again if I get this socket fail error?
I haven't tried to monitor the connection with AT+CEREG yet but I will try that. Could I then easily trigger a reconnect if I detect it has been lost?
We have tested the library without peripherals a while ago but will try test in the same scenario we are getting these issues.
I have a basic RTOS in place yes. There are not a crazy amount of tasks although the GPS task can take up to 100ms. What is the maximum time you would recommend between handle() runs?
All of our NB SARA chips get the latest firmware version (at least I think, it's L0.0.00.00.05.08,A.02.04) before we use them.
Thanks in advance!
from arduino-library.
Please, review the firmware as I think the latest is 05.12.
I have read many issues regarding the MKRNB1500 stability, especially when the modem hangs. In the meanwhile, I have released a new Arduino Library 2.26.0 to try to improve the connection stability. It has not been tested properly, so, try it and let me if it improves something.
I have a basic RTOS in place yes. There are not a crazy amount of tasks although the GPS task can take up to 100ms. What is the maximum time you would recommend between handle() runs?
100ms will not be a problem. You can call practically at any rate under a minute. But It will make the device less responsive to API requests, i.e., calling it every 5 seconds, you can expect a 5 seconds delay when calling a device function.
from arduino-library.
Hi @alvarolb
Thanks for the info, we have tried upgrading the firmware to 0.5.12 (was a mission) but it does not solve the issue.
The new version of which library exactly? How do I find it?
Thanks!
from arduino-library.
Hi, I released a new Arduino library for Thinger.io with version 2.26.0. Update it via Arduino IDE.
from arduino-library.
Hi @alvarolb
Just to update you, we have updated to the latest library version and we are still getting the same errors. Is there anything/anywhere you could point us to so that we could try and get to the bottom of this issue ourselves.
Thanks in advance.
Chris
from arduino-library.
I have an MKRNB1500 here and will test it today. Just curious, what is your network provider?
from arduino-library.
Just received an MKRNB1500 and have it connected with a basic sketch. I'll update you on its performance. Have you experimented with different SIM cards or antennas?
On another note, I've come across some issues related to the MKRNB1500, with numerous customers reporting errors, firmware problems, and hangs. It's concerning that Arduino doesn't seem to maintain or support this hardware, and there are no responses on their forums.
At thinger.io, we're using custom NB-IOT hardware based on ESP32 and Quectel BC660K for two different projects. Is there a specific reason you need to use the MRKNB1500? Perhaps we could explore alternative options.
from arduino-library.
Hi @alvarolb
Our network provider is KPN here in The Netherlands. We experimented with Tele2 but found KPN to be more reliable. We haven't experimented with antennas yet. Is there anything you would recommend?
Aware of the issues with the MKRNB, we also have problems with the device locking up and we have built circuitry in our device to perform a hard reset of the SARA module when we detect this issue and that seems to fix it. The problem outlined in this thread though I am reasonably certain that it is a software issue on the arduino side (and I think in the thinger library) as it is fixed buy just a software reset on the arduino.
We have chose the MKRNB systems for their speed to develop on for the particular prototypes we are building. We need these to work until the end of October so we can get investment and then we will look for more reliable alternatives so would be happy to discuss your solution then.
Curious on the results from your testing with the MKRNB?
Chris
from arduino-library.
I think it is not a problem with the Thinger.io Arduino library, but a bad implementation on the MKRNB libraries, those that are responsible for talking to the modem via AT commands. You can make your own tests: just create a simple sketch with other protocols, like MQTT, and check how it behaves. Looking at the number of issues on the forums with the MKRNB1500 (that are not using tinger.io), I am certainly sure the library is stuck somewhere else waiting for a response from the modem or something similar.
In my first attempt, the MKRNB1500 was connected for 8 hours, then disconnected. Will keep checking it those days.
from arduino-library.
Related Issues (20)
- Compile error - MKRWifi1010 HOT 2
- Compile Error for ThingerMKRGSM
- Error compiling for esp8266 HOT 1
- Erro at PlatformIO
- Bench of errors while compiling thinger code after updating to last version HOT 1
- Compiling issue on PIO / esp32 HOT 4
- Latest change has a constant Socket Connection Error HOT 1
- Teensy 4.1 NativeEthernet
- ESP32 Can't connect to Thinger.io HOT 1
- OTA support in "WebConfig/WiFiManager" HOT 1
- Check the connection status on Arduino mega with ethernet shield
- CA_ROOT_CERTIFICATE defined as a global variable
- Arduino + Ethernet compiling error HOT 3
- Using Thinger TinyGSM library with SIM7600 HOT 7
- arduino +tinygsm HOT 2
- Unable to update OTA anymore on Arduino RP2040
- Arduino-Library library loops when trying to connect to websocket via GSM HOT 1
- WiFiManager doesn't start the SoftAP if its not detecting the saved WiFi
- ThingerTinyGSM.h does not compile with FreeRTOS HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arduino-library.