Logo-amall

openbalena

Last active 4 months ago

39 replies

7 views

  • NI

    openbalena

  • NI

    @mention let's continue our discussion about openBalena here. This discussion start to be really interesting!

  • NI

    I never used openBalena so I'm not really comfortable with it.

  • NI

    I think Luos could be a block and all the other one could use it to exchange informations with others.

  • GO

    The first question I have is are there other ways to interface with Luos than USB? For example: I2C?

  • NI

    Natively Luos use half duplex connection as network.

  • NI

    The USB is used to control a Luos network trough a computer.

  • NI

    I think you will ahve a better understanding with this demo : https://www.youtube.com/watch?v=KHHBjfBDEY&t=165s&abchannel=Luos

  • NI

    perhaps you already watched it…

  • GO

    Yes, I already watched the demo 🙂
    It was actually all the demos that got me hooked.

    But if I understand correctly PC <-> Luos is over USB. Is this always the case or are there different options available to facilitate this M2M communication? I suspect PyLuos for example just emulates another device in the Luos network?

  • NI

    To be honest USB is massively used and we don't have other example available yet.

  • NI

    But Pyluos is already compatible with websocket.

  • NI

    So wifi or ethernet could work.

  • NI

    the only thing you have to change is the Pipe driver. Pipe allow any service on the network to send and receive information from any external communication way.

  • NI

    You you make a BLE Pipe or anything this will work.

  • CO

    Although I'd imagine writing an I2C driver might be a little tricker of a wrapper for Robus, right? Because there's limits on sending, you'd have to emulate an I2C address for the data, and isn't there a length limit for each address? (Been a while since I dug into the protocol side vs just using it)

    You'd need one as a flag, unique on the I2C network for each node as a sort of 'flag' to swap out the chunk of data being read at a different unique address, with the next part of the string Robus generates (same for BLE, I'd think? Or just the attribute based Bluetooth)

  • CO

    Ah wait no it doesn't have a limit on data length that's just Bluetooth -

  • CO

    But still would need a unique address for each node

  • CO

    Ble has a 20byte limit

  • CO

    So that method I mentioned for I2C isn't needed, but might work for BLE 🙃

  • CO

    (I too have been making wrappers for protocols - Bluetooth serial is much easier 😅 )

  • CO

    NRF24 also has limitations on message size depending on a few variables so perhaps a dynamic wrapper/message chunker isn't a bad idea though

  • NI

    For I2C to avoid dealing with unique address we could use broadcast instead.

  • NI

    This is a hack but it could work on most of the hardware…

  • CO
  • CO

    Wouldn't be so great in a multi-node network

  • CO

    Although some MCUs have multiple I2C lines, right?

  • NI

    yes probably.

  • NI

    Basically we have the same thing using serial every messages are broadcasted.

  • NI

    But we could optimise it a lot using ID for sure…

  • CO

    True, true - maybe no need for multiple IDs anyway, seeing you can't send data to multiple different addresses over the same line at once anyway

  • CO

    So it's like serial in that aspect anyway

  • CO

    Only thing non-broadcast does is save cycles in processing/filtering irrelevant data for each node not targeted.

  • NI

    yes exactly.
    Also we could use the acknowledgement feature of I2C.

  • NI

    ACK is the trickiest part of Robus because it's extremely time constrained…

  • NI

    anyway we are drifting, this thread is about OpenBalena 😉

  • CO
  • GO

    The reason I ask it is that we’ve noticed the USB ports sometimes wear out causing all sorts of issues. But I suppose using a cm4 for example the usb bud can just be routed over the pcb.

  • NI

    I think USB is pretty good to wear out, but you could use industrial connection instead…

Last active 4 months ago

39 replies

7 views