Git Product home page Git Product logo

Comments (11)

colinvdspek avatar colinvdspek commented on June 29, 2024

I have some of these NB boards too and have the same issue! Would love to know how to fix this.

from arduino-library.

alvarolb avatar alvarolb commented on June 29, 2024

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.

chrisbloomfieldcollie avatar chrisbloomfieldcollie commented on June 29, 2024

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.

alvarolb avatar alvarolb commented on June 29, 2024

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.

chrisbloomfieldcollie avatar chrisbloomfieldcollie commented on June 29, 2024

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.

alvarolb avatar alvarolb commented on June 29, 2024

Hi, I released a new Arduino library for Thinger.io with version 2.26.0. Update it via Arduino IDE.

from arduino-library.

chrisbloomfieldcollie avatar chrisbloomfieldcollie commented on June 29, 2024

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.

alvarolb avatar alvarolb commented on June 29, 2024

Hi @chrisbloomfieldcollie,

I have an MKRNB1500 here and will test it today. Just curious, what is your network provider?

from arduino-library.

alvarolb avatar alvarolb commented on June 29, 2024

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?

Image

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.

chrisbloomfieldcollie avatar chrisbloomfieldcollie commented on June 29, 2024

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.

alvarolb avatar alvarolb commented on June 29, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.