Elixir running on bare metal via GRiSP - and hello!

iot
grisp

#1

Hi everyone :slight_smile:

My ne is Igor and I live in Belgium. I have just graduated in CS a few months ago
I was given a chance to start working as a researcher for Prof. Peter Van Roy.
And boy does he know a few things about functional programming. He’s currently
coordinator of an EU H2020 project called LightKone
in which C. Meiklejohn, and some lf you probably know him for all his work.

In LightKone, I study the possibilities
for Self
-adaptive IoT general purpose computers

that combines the work of C. Meiklejohn with
the first embedded system ever that runs truly Erlang on
BARE METAL, It’s called the GRiSP base board
a small set of lightweight Real-Time OS (to some extent)
and years of black magic have allowed them to actually
do it.

Currently, a set of those nodes looks like :

What does a #cluster of #IoT
@grisporg
#wireless #sensing #devices with #Lasp #distributed #storage of #CRDTs made by
@cmeik
look like?
@LightKoneH2020
has allowed me to uncover that mystery !


Image


GRiSP and H2020 LightKone

And then comes the even fancier part ! Erlang/Elixir are interoperable, so are
So last year we have been able to demonstrate a live temperature monitorg example. With a
server written in Elixir, fetching sensor data from live bare metal Erlang nodes, and display them
with some aesthetic JavaScript such :

But then only a few millions of problems started showing up, and it leads to think that
IoT devices dissimulate much more practical difficulties in contrast to regular PC/laptops
that never encountered. But I am convinced that it will be achieved !

Anyway, nice to meet tou all :slight_smile:

PS : Did I mention that the GRiSP’s can alqso run Elixir on bare metal?
PPS : @theunsbontha actually demonstrated that so I highly recommend to
go check it out, as well as the grisp Wiki that is very helpful


Hello Elixir World (Introductions thread)
#2

Hi Igor, welcome to the forum :023:

Sounds like you’re working on some very cool stuff and your excitement is infectious :003:

I have split your post into a new thread because it has some great info in it :smiley:

Perhaps when you get a moment you could write up (or point us to) some guides on getting Elixir to work with GRiSP? That would be awesome.

Please also keep us posted on how you get on - feel free to use this thread as some kind of journal, I’m sure lots of others will be interested in your journey too :blush: good luck and well done on everything!! :+1:


#3

There was a talk about GRISP on the code beam light in munich last year, which also touches on the topics mentioned above.


#4

Dear Aston,

Thank you so much for the interest and support !
I have personally made quite few progress in my own project hence there is few things I am able to provide that could be of use to the community, and even less that I can guarantee are correct. Nevertheless everything I have done so far in Erlang, hence directly applicable to Elixir as well can be found here :

Achlys : master branch is as stable as I am able to provide so far, and develop branch is the playground for the current WIP :slight_smile:

Thankfully other people have been working very hard and I have very exciting news !

  • GRiSP V2.0 has been officially announced at CodeBEAMSF 2 days ago ! The GRiSP V2.0 Kickstarter is available at the provided link, :warning: but be warned :warning: I have pre-ordered seconds after the announcement during the presentation, yet I was already the 12th backer and in 24h nearly 30% of the target has been reached !
  • Collaboration with the Nerves Project and continuous work from both sides will allow Nerves support out-of-the-box on the GRiSP V2.0 platform !
  • Wi-FI AND Ethernet !!!
  • @Toensbotes’ Quality guides on medium are an excellent place to start directly in Elixir !
  • Much much more that I have not yet to summarize correctly based on the notes I’ve been able to take on the fly.
  • Retro-compatible : it is now possible to already prepare Elixir projects of the current model, and use them directly on the new models when they will be available !
  • For those interested in P2P communication i.e. boards directky talking to other boards without any infrastructure, it is also possible with almost no configuration. The project I am working on called Achlys uses a fork of the Grisp software stack that has been accepted and is ready to be merged in the official repository, and allows me to easily create an ad hoc wireless sensor network of GRiSP boards that do not require an Internet gateway, but still can benefit of it, for example with a laptop one can simply come close to any node and collect information or propagate some across the entire network through dissemination, and then leave the cluster running as before. And the node that is “tapped” can be any node that is a member of the cluster, the boards can provide strong eventual converge of data s.t. each node the latest state at some point, guaranteed !
  • Adam Lindberg (@eproxus) and (@peerst) Peer Stritzinger can provide much more accurate information about all of the above and I really strongly encourage anyone interested in the project to reach out to them, they are really helpful and have always went the extra mile when I needed something even if they have their own job to do as well.

The website : GRiSP
The official (very very good) Wiki

Stay tuned if you are still interested :slight_smile: But for those of you that are actually considering participarting in the Kickstarter, it will be as simple as it is now to run Elixir, while more resources will be available. And of course any GRiSP team member will can help you anytime, on their slack or GitHub :slightly_smiling_face:
And in the worst case where none of them is available, I am always happy to help but I am BAREly a user, while GRiSP team members are actual experts so it is possible that I cannot provide a valid answer to a question, but at least I always try :slight_smile:

Best,

Igor


#5

Hello all :slightly_smiling_face:

For those of you interested in getting on board for the GRiSP v2.0 Kickstarter, I just wanted to keep people updated :

Good news ! : 2/3 of the goal of the Kickstarter has been already been reached in only 2 weeks ! And the project has been awarded the “Projects we love” distinction on Kickstarter.

So there might be only a few spots left unless an extended goal is announced but I think that the GRiSP team is already preparing for the official release !

For further information you can check this tweet out if interested : :slight_smile:

Best,

Laymer


#6

This is very cool!

A question on how GRiSP and Nerves compare (and in any case awesome that they are both able to run on the new board, by the way):

  • Nerves is not meant to write real-time software with, since it depends heavily on the Linux kernel that is used under the hood. However, it does have some fancy features like over-the-air software updates.
  • GRiSP is (soft) real-time (and work is done right now to investigate the possibility of hard real-time). It does not include a Linux kernel, and does not allow for hot-code or over-the-air updates.

Is this correct?


#7

Yes it does, the Nerves team did an amazing job implementing this feature for example.

And I think that the WIP is all around TSN Ethernet but one must ask Peer Stritziinger about that for correct information I wouldn’t dare wandering in that area ^^ As for the OTA updates, I actually had volunteered to try to make it work on GRiSP based on the fwup tool from Nerves but couldn’t manage to do anything myself but if I am not mistaken in the GRiSP v2.0, the GRiSP team has partnered with the Nerves one to actually do the job.

Now I am only waiting for a GRiSP v2.0 to appear at my front door to try it out :smile:

Best,

Laymer