SORACOM 3G Module support in UI Flow



  • Hi.

    Is there any support for SORACOM 3G Module in UI Flow?

    I found the Cellular module is implemented in some recent version of UI Flow.
    But I cannot make it work with the SORACOM 3G Module, since the gprsConnect() always returns False.

    getSimState() returns True, so the SIM is inserted and recognized by the 3G module correctly.

    By the way, I've made the 3G module work with customized MicroPython whose PPP module is enabled.
    I think all you have to do is to just enable the PPP module of MicroPython in order to support the SORACOM 3G Module, and other GSM/3G/LTE modules may also be supported with a few python code to enter these modules to PPP mode.

    So there is another question.
    Do you have any plan to enable the PPP module of MicroPython in the UI flow firmware?
    It, I think, expands the UI flow communication capability greatly.

    Thanks in advance.



  • Please post this on the UIFlow bug report page on github.

    https://github.com/m5stack/UiFlow-Bug-Report/issues



  • Do you mean that the Cellular module should be work with SORACOM 3G module but it's currently not working due to some bugs?
    Or should I request enabling PPP module as a feature request?



  • @ciniml just add a feature request, sorry just woke up.



  • @ajb2k3 Thanks for your suggestion. I've posted a new feature request to request enabling PPP module.
    https://github.com/m5stack/UiFlow-Bug-Report/issues/29



  • @ciniml You can try to run this example soracom_time.m5f



  • @ozbk Thanks for sharing the example.
    I've tried the example with my M5Stack BASIC + SORACOM 3G module, with SORACOM plan-d SIM.
    But I found that it does not proceed to "connecting host" state, since the gprsConnect() always returns False.

    Does this example work in Japan?



  • @ozbk Thanks a lot for sharing the example.
    Could you please provide explanation or point me where each cellular block of UIFlow are described to understand their usage and succeed to manage the COM.LTE module since from its first installation onto M5S-Core?

    In what order those blocks are supposed to be called in a more general flow? E.g do I have to start with cellular.init (you did not use it and instead call for restart after SIM is checked)

    I complain that that entire palette of blocks is not documented at all :-(



  • @teiafra said in SORACOM 3G Module support in UI Flow:

    @ozbk Thanks a lot for sharing the example.
    Could you please provide explanation or point me where each cellular block of UIFlow are described to understand their usage and succeed to manage the COM.LTE module since from its first installation onto M5S-Core?

    In what order those blocks are supposed to be called in a more general flow? E.g do I have to start with cellular.init (you did not use it and instead call for restart after SIM is checked)

    I complain that that entire palette of blocks is not documented at all :-(

    I continue to dig and compared your Soracom flow with the example on SI800 available here.
    If I may guess many blocks of module.CELLULAR library, the biggest doubt is about modem initialization and communciation ports setting.

    The SIM800 flow clearly set the UART rx/tx channels in the init function while I do not understand in your Soracom example if the cellular.init or cellular.restart block of the library avoid to do this UART setting. Do the Core and the Module communicate each other automatically?

    Similarly, Arduino code to drive COMx.LTE also sets up the tx/rx as reflected by the dip switches: does the Cellular UIflow blocks avoid the user to care of it, instead? That would be wonderful!

    What difference is between "send" and "sendline" function block?

    Any help is really appreciated!!



  • @ciniml could you please explain the new Cellular UIfow blocks and give an example on how to use them in sequential order?

    I also saw the Soracom m5f example and I wonder if the flow can start as it did, checking the SIMstate without setting any UART communication in advance?

    If I start running just the first two instructions, shall I expect returned True as you?

    I'm chasing who can help me in using the COMx.LTE module with those UIflow methods

    Thanks