Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    Pymesh updates

    Scheduled Pinned Locked Moved Firmware
    loraenhancementpymesh
    73 Posts 13 Posters 12.8k Views 18 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      Jordan Reyes @catalin
      last edited by Jordan Reyes

      @catalin with both deployed is orignial lopy, not lopy4 would this be any difference with about 12 nodes. it was running for a bit and then would crash, but we weren't getting stable communication either, some were more consistent then others.

      1 Reply Last reply Reply Quote 0
      • J Offline
        Jordan Reyes @catalin
        last edited by

        @catalin deployed rc8 upon boot up nodes hit (outside With Line of sight ) and they are suppose to respond every ten seconds, some responsive more than others but after some time they do not send data anymore. Sometimes it lasts an hour sometimes a day but it is not reliable. What is environment you are running your set upon. We are covering about 2.25-2.5 km.

        catalinC 1 Reply Last reply Reply Quote 0
        • catalinC Offline
          catalin @Jordan Reyes
          last edited by

          @jordan-reyes I did not properly tested Pymesh on Lopy1, mainly because the scripts that I use, occupy lots of RAM.
          What LoRa params are you using, spreading-factor, bandwidth? I would start tests with fastest datarate (SF7, BW 250). Are you printing the RSSI values, if they are at the border (for that SF, for ex: lower than -115), there could be corrupted packets, that Node could exit/re-enter the Mesh.
          10 seconds is a small waiting time; Mesh internally sends, every 32 seconds, sends a keepalive between each pair of neighbours (last communication is in the age field from Mesh.neighbors() and Mesh.routers()).

          Catalin,

          Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
          Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

          J 2 Replies Last reply Reply Quote 1
          • J Offline
            Jordan Reyes @catalin
            last edited by

            @catalin SF is 7, Bandwidth is 125. The RssI values were not being printed.

            1 Reply Last reply Reply Quote 0
            • catalinC Offline
              catalin
              last edited by

              Hi community 🙌,
              I've been busy lately making Pymesh application protocol more robust ⚙.
              I've just released a relatively large 🐘 micropy project using Pymesh: https://github.com/pycom/pycom-libraries/tree/master/lib/pymesh
              It was tested on a 20+ Mesh network on Lopy4 and Fipy (sorry Lopy1 can't work with these scripts, due to scripts size and RAM requirements).
              I am really waiting for your comments and PRs, I foresee tons of improvements 🤓.

              Heads-up, I am working on a visual tool, like a Pymesh viewer to actually click buttons and follow Pymesh evolution. Most probably connecting Pymesh to Pybytes 🌥.

              Catalin,

              Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
              Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

              R 1 Reply Last reply Reply Quote 0
              • catalinC Offline
                catalin
                last edited by

                Just a small note, the v1.20.0.rc8 for Fipy and Pybytes scripts doesn't have Mesh class inside LoRa (so no Pymesh feature included).
                Due to an error, Pymesh was excluded on Lopy4 rc8 builds, too; this is about to be fixed as I speak.

                Catalin,

                Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
                Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

                1 Reply Last reply Reply Quote 0
                • R Offline
                  rfinkers @catalin
                  last edited by rfinkers

                  @catalin said in Pymesh updates:

                  It was tested on a 20+ Mesh network on Lopy4 and Fipy (sorry Lopy1 can't work with these scripts, due to scripts size and RAM requirements).

                  Does it work on the L01? It has the same amount of RAM and flash as the Lopy4.

                  catalinC 1 Reply Last reply Reply Quote 0
                  • catalinC Offline
                    catalin @rfinkers
                    last edited by

                    @rfinkers yes, it should work fine with L01, due to increased RAM+Flash.

                    Catalin,

                    Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
                    Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

                    1 Reply Last reply Reply Quote 0
                    • catalinC Offline
                      catalin
                      last edited by catalin

                      Hi community,

                      I've released a beta version of the Pymesh mobile app:

                      • iOS(>v12.1, TestFlight app from Apple is required): https://testflight.apple.com/join/PIxwbTKp
                      • Android(>v4.4): https://github.com/pycom/pymesh_apps/tree/master/mobile_app/android

                      In this repo there are firmware binaries (but latest development should work too), and micropy scripts (but https://github.com/pycom/pycom-libraries/tree/master/lib/pymesh should be also fine).

                      Catalin,

                      Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
                      Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

                      1 Reply Last reply Reply Quote 1
                      • R Offline
                        ricardolima
                        last edited by

                        Any news about pymesh ? Any example how the border router can connect to the internet and provide it to the rest of the network ?

                        catalinC 1 Reply Last reply Reply Quote 0
                        • catalinC Offline
                          catalin @ricardolima
                          last edited by

                          Hi @ricardolima,

                          Here is the example of the Border Router: https://docs.pycom.io/tutorials/lora/pymesh-br/, more precisely at this line rcv_data contains the info to be sent to Internet.

                          In class WLAN and socket you can see how to send data on Wifi.
                          Similar examples are on NBIoT/CatM1/BLE/Sigfox/LoRaWAN.

                          Does this answers your question?

                          On a side note, I am working on some micropython scripts on which any Pymesh node can connect to Pybytes, if connection is done then they declared itself as Border Router, the other nodes see they have a BR in network (as a new IPv6 appears on them). Probably I'll release these in the next couple of weeks.

                          Also, a separate Pymesh firmware binary release will be done next week (separate from already existing flavours development/stable/pybytes).

                          Catalin,

                          Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
                          Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

                          R 1 Reply Last reply Reply Quote 0
                          • R Offline
                            ricardolima @catalin
                            last edited by

                            @catalin Thank you for your quick answer. I will wait a bit to see what that news firmwares brings :D

                            catalinC 1 Reply Last reply Reply Quote 0
                            • catalinC Offline
                              catalin @ricardolima
                              last edited by

                              Small update, the Pymesh iOS app was rebuilt, and it's available again in TestFlight, using the same link: https://testflight.apple.com/join/PIxwbTKp
                              The Pymesh Android app is in this repo.
                              Also builds with Pymesh included are here, the binaries include micropython scripts.

                              Catalin,

                              Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
                              Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

                              robert-hhR 1 Reply Last reply Reply Quote 0
                              • robert-hhR Offline
                                robert-hh @catalin
                                last edited by

                                @catalin So I installed these images https://github.com/pycom/pymesh_apps/tree/master/custom_fw_bin on two LoPy4's and a FiPy. They run, see each other, declare themselves as leader, router, and child, and have chats. But what else? Are these sample images good for anything beyond that?
                                And yes: they all seem to have a fixed location in Eindhoven. Using a pytrack does not change that.

                                catalinC 1 Reply Last reply Reply Quote 0
                                • catalinC Offline
                                  catalin @robert-hh
                                  last edited by

                                  hi @robert-hh,
                                  I think, there is the flow of sending pictures across Pymesh also implemented; by sending message dog a 12KB picture of a dog is sent.

                                  More features are to come:

                                  • binary release with Pymesh flavour
                                  • having included frozen scripts, so a mesh can be started using 3-4 lines of micropython
                                  • any node can be declared as Border Router and it can be connected to Pybytes, or other IoT platform
                                  • any node accepts BLE connections, so using Pymesh mobile app, one can see diagnostics info within the Mesh.

                                  And, of course, we're waiting for more suggestions on Pymesh wishlist.

                                  Catalin,

                                  Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
                                  Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

                                  robert-hhR 2 Replies Last reply Reply Quote 0
                                  • robert-hhR Offline
                                    robert-hh @catalin
                                    last edited by

                                    @catalin My question was more, what to do with the actual pymesh firmware images you pubished. They run and connect, but I see no path to use it for other purposes. There is a single > prompt. If I push Ctrl-D at it, I get the message:

                                    Unhandled exception in thread started by <bound_method>
                                    Traceback (most recent call last):
                                      File "cli.py", line 36, in process
                                    EOFError: 
                                    

                                    So there is a function cli.py, which seems to wait for commands. But which one?

                                    catalinC 1 Reply Last reply Reply Quote 0
                                    • robert-hhR Offline
                                      robert-hh @catalin
                                      last edited by

                                      @catalin Onother issue:
                                      I had one LoPy4 with your pymesh image running over night. This morning it was in a reboot loop with messages like these:

                                      Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.
                                      Core 0 register dump:
                                      PC      : 0x400966f0  PS      : 0x00060033  A0      : 0x80094c5a  A1      : 0x3ffc09c0  
                                      A2      : 0x3ffc1910  A3      : 0x00000000  A4      : 0x3ffc56f4  A5      : 0x000005ab  
                                      A6      : 0x3ffc5914  A7      : 0x00000000  A8      : 0x3ffe3964  A9      : 0x3ffc0990  
                                      A10     : 0x00000001  A11     : 0x00060021  A12     : 0x3ffdc468  A13     : 0x00000001  
                                      A14     : 0x000000fe  A15     : 0x00060023  SAR     : 0x0000001f  EXCCAUSE: 0x0000001c  
                                      EXCVADDR: 0x00000008  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  
                                      Core 0 was running in ISR context:
                                      EPC1    : 0x400966f0  EPC2    : 0x00000000  EPC3    : 0x00000000  EPC4    : 0x4008b8b4
                                      
                                      Backtrace: 0x400966f0:0x3ffc09c0 0x40094c57:0x3ffc09e0 0x40097675:0x3ffc0a00 0x40083b16:0x3ffc0a10 0x40201af3:0x3ffdc3b0 0x400965b5:0x3ffdc3d0
                                      
                                      

                                      No clue what happened. Re-flashing it brought it back to normal operation. This is new, because normally these devices are very reliable.

                                      J 1 Reply Last reply Reply Quote 0
                                      • catalinC Offline
                                        catalin @robert-hh
                                        last edited by

                                        @robert-hh, the micropython scripts which are frozen in those binaries is in the same repo: https://github.com/pycom/pymesh_apps/tree/master/pymesh_micropy_scripts

                                        The cli commands can be seen in the code, sorry for not having then documented:
                                        https://github.com/pycom/pymesh_apps/blob/0063271c910c78d0d4832286494eb49f96242eca/pymesh_micropy_scripts/lib/cli.py#L43
                                        Nicer is to install the Android or iOS mobile app(link opened by TestFlight mobile app).

                                        Regarding the crush, I've pushed the memory heap usage to the max in those binaries, this is solved by the newest IDF_v3.2 from development.

                                        Catalin,

                                        Have you checked out our docs for the answer? (Now with an easy search function) https://docs.pycom.io
                                        Check out our newly revamped device management platform, Pybytes! https://pybytes.pycom.io/

                                        robert-hhR 2 Replies Last reply Reply Quote 0
                                        • robert-hhR Offline
                                          robert-hh @catalin
                                          last edited by

                                          @catalin OK. Thanks. It looks like the LoPy4 devices crash all the time. The FiPy seems stable.

                                          1 Reply Last reply Reply Quote 0
                                          • robert-hhR Offline
                                            robert-hh @catalin
                                            last edited by

                                            @catalin Two things about the crashes: as long as I have at least two devices in the local mesh, it seems stable. Having just one device running causes a crash each time after a few minutes. Normally, the device just reboots and it will start over. Nor perfect, but acceptable. But after a few hours it will end up with a corrupted flash firmware, causing core dumps like the one below. At that point I have to re-flash the firmware. The file system is not affected.

                                            ets Jun  8 2016 00:22:57
                                            
                                            rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
                                            configsip: 0, SPIWP:0xee
                                            clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                                            mode:DIO, clock div:1
                                            load:0x3fff8028,len:8
                                            load:0x3fff8030,len:2156
                                            ho 0 tail 12 room 4
                                            load:0x4009fa00,len:19208
                                            entry 0x400a05f4
                                            Guru Meditation Error: Core  1 panic'ed (InstrFetchProhibited). Exception was unhandled.
                                            Core 1 register dump:
                                            PC      : 0x00000000  PS      : 0x00060031  A0      : 0x40083b04  A1      : 0x3ffc13f0  
                                            A2      : 0x3ffc5c6c  A3      : 0x00800000  A4      : 0x00000000  A5      : 0x00000000  
                                            A6      : 0x3ffdd308  A7      : 0x000006f4  A8      : 0x8008456a  A9      : 0x0000018c  
                                            A10     : 0x3ffda984  A11     : 0x3ffdda09  A12     : 0x80098d18  A13     : 0x3ffe32b0  
                                            A14     : 0x3ffda974  A15     : 0x3ffdd304  SAR     : 0x00000013  EXCCAUSE: 0x00000014  
                                            EXCVADDR: 0x00000000  LBEG    : 0x4009dc28  LEND    : 0x4009dc33  LCOUNT  : 0xffffffff  
                                            Core 1 was running in ISR context:
                                            EPC1    : 0x00000000  EPC2    : 0x00000000  EPC3    : 0x00000000  EPC4    : 0x4008b78e
                                            
                                            Backtrace: 0x00000000:0x3ffc13f0 0x40083b01:0x3ffc1410 0x4000bfed:0x3ffe3320 0x40095da3:0x3ffe3330 0x400d2f7b:0x3ffe3350 0x400d2fc1:0x3ffe33b0 0x4015edfd:0x3ffe33e0 0x400e2af1:0x3ffe3400 0x400ddd48:0x3ffe3420
                                            
                                            ================= CORE DUMP START =================
                                            oB0AAAoAAABsAQAA
                                            KND9P/Be/j8cYP4/
                                            8F7+P7Bf/j+lpaWl9Fr8P5xX/D8o0P0/lFf8PxQAAAClpaWlpaWlpSjQ/T8AAAAA
                                            BQAAACBQ/j9TZXJ2ZXJzAKWlpaWlpaUAAQAAABxg/j8AAAAApaWlpQUAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAAAAAAABA6v0/qOr9PxDr/T8AAAAAAAAAAAEAAAAAAAAA
                                            W0VBPwAAAAC84glAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWlpQ==
                                            nDgIQKjhDUAwAAUAAAAAALBf/j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAANCT+j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAC8X/4/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                                            AAAAAAAAAAAAAAAA
                                            
                                            
                                            catalinC 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • First post
                                              Last post

                                            Pycom on Twitter

                                            Pycom