Hacker News new | past | comments | ask | show | jobs | submit login

Just a couple of days ago I was searching for Erlang implementations for low-power mesh-networks.

Personally, for connectivity I wouldn't mind using a RFM69HW module or RFM9x [1] (868 Mhz / LoRa)

Creating a mesh-network with supervisors using Erlang seems like aa interesting and feasible idea. It's a good method to introduce actor systems to a new audience.

[1] http://www.hoperf.com/upload/rf/RFM69HW-V1.3.pdf [2] http://www.hoperf.com/upload/rf/RFM95_96_97_98W.pdf




I suspect you could accomplish this with NERVES without too much trouble. I'd start with an Erlang port[1] that uses Linux's built-in SPI support to interact with the device itself. If you need something a bit higher-level, you might adapt the RadioHead library.

[1] http://erlang.org/doc/tutorial/c_port.html


Actually, nerves has decent API support built in! The tricky part is getting all of the registers setup correctly for the radios. Alternately, there's a C++ library for it, that's gpl, but could be setup as a nif or a port.


Take a look at the RadioHead library [1]. It supports mesh networks on low power radios and runs on Arduino or pi's.

As mentioned in my sub comment, it'd be great to be able to either interface via ports or a nif. However, it gets trickier because the smallest erlang vm is either Grisp or LingVM. So if you want to use micro controllers you're out for erlang/elixir. Since I had another project at work relying on interacting and buidlding mesh networks on nerves devices, I figured starting with a Bert-rpc inspired Arduino library would be good a good start [2].

Let me know if you'd be interested in helping on an erlang/elixir native port of Radiohead or a ports wrapper. I'm thinking a nice BSD/MPL project would be a boon for others too... Plus how would you think OTP supervisors would help setup a mesh network?

[1]: http://www.airspayce.com/mikem/arduino/RadioHead/ [2]: https://github.com/elcritch/NanoBERT




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: