Of course IPv6 multicast in rust embedded is a proper challenge

#RustLang #RustEmbedded #embedded #IPv6

I think I’ve got this sorted.

I can make the devices figure out their IPs as per IPv6.

Have a multicast group for general messages across the network.

Then setup a management interface to configure multicast groups.

I should make a testing app in @ratatui_rs that can visualise the network!

I should get some WiFi Halow boards to test this out for longer range as well

I’ve got so many applications in the experience space this could be used for

Literally being kept awake because my mind is racing to keep up

I did apply for a position at Morse Micro last year but didn’t get an interview. So they can suffer in their jocks, but I would like to get some of their development kits
I need to not get side tracked too much this early. Supporting multiple PHY will be possible regardless
Halow is interesting because it has quite long range and data rates at up to 43.33Mbps
@voided HaLoW is so sick, I wish there were more devkits for it. I was literally buying random modules from AsiaRF and trying to reverse engineer MM's binary firmwares , to use with a fleet of agricultural robots. It solves so many connectivity issues, running at ~900Mhz !
@leighleighleigh that’s so cool! It really does seem like a sort of under-utilised technology
@voided watchya doing with multicast 👀

@arichtman crimes in the name of easy setup multi-room audio. I don’t want to have to deal with Linux so I’m just building little boards that can be either producers or consumers and then be configured accordingly.

A lounge setup with a speaker bar and satellites could be one group each with a number of small receiver amp boards. And the tv could have its audio out sent to a producer board to connect them.

@voided neat!
@arichtman yeah! It could be pretty useful for other things that need time synced data consumption like ad-hoc outdoor installations for cheap
@voided @dentangle is doing cool things in this space I hear...
@voided Interesting. Is it due to Rust or poor support from the manufacturer/underlying hardware?
@teotwaki I think it’s probably due to not a lot of focus? I’ve not gotten super deep yet. Trying out with esp-hal and embassy-net. So far not a whole lot of examples or articles about it.

@voided I haven’t looked into this for a couple years, but last time I was involved in esprs, embassy did indeed support ipv6, but it was another dependency that didn’t. Smoltcp maybe?

It’s quite disheartening that even for these tiny embedded systems we favour IPv4.

@teotwaki smoltcp should support it now as well. I think I just need to very manually manage setting up the IP layer since there’s only a static config available. Which I think I need to use to set the Mac mapped IPv6 link-local unicast address.

But the lack of any IPv6 focused docs make it harder

@voided Yeah, that was my issue as well. I wanted to just SLAAC it, but couldn’t.
@teotwaki I have got a connection to my wifi network to work and a static fe80 ip address working. So it might be possible these days.
@teotwaki allegedly slaac is now implemented in smoltcp, however, the latest release of that crate is quite out of date with the repo
@voided I'm intrigued - I did real-time multicast on #vxWorks using Ethernet MAC directly years ago.

@michalfita oh, very interesting. I’ve done some near-real time audio sync work before and did a prototype of large scale outdoors audio soundscapes.

I’m thinking of trying things out in this vein after learning about snapcast and realising the protocol is very similar to something I already had developed myself in previous job.