[ell-i-developers] Re: Node management, discovery and such issues

  • From: Teemu Hakala <temmi@xxxxxx>
  • To: "ell-i-developers@xxxxxxxxxxxxx" <ell-i-developers@xxxxxxxxxxxxx>
  • Date: Sat, 15 Feb 2014 20:14:43 +0200

On 15.2.2014, at 19:31, Pekka Nikander <pekka.nikander@xxxxxx> wrote:
> I'm planning now to start porting the old SPI code to the new runtime, then 
> adding ENC28J60 Ethernet support.  If everything goes well, that should be up 
> and running mid next week or so.

Good. At that point we can start to call our platform network-enabled, even 
though it is only so at l2.


> Alternatively, we can write our own UDP/IP, and I believe that eventually we 
> will.  The base ARP, IPv4, and UDP is quite easy, shouldn't take more than a 
> few weeks.  IPv6 can be left for later.  What is harder is DHCP and any 
> management protocols we may need.

Right. I think that as of now we should aim for something that works soon and 
possibly getting more help from volunteers in doing so. V6 is not necessary yet 
but it is a necessity in near future.

About DHCP, I have experience debugging it using several different networking 
equipment and different debugging tools. While I’m not a C programmer, I can 
definitely help in XP mode somebody that has the C skills necessary.

Using somebody else’s codebase should in my view always be considered. It can 
always be refactored to better standards later on.

Relating to other management protocols, I have little experience in any but 
SNMP, which is definitely something we wish to avoid at all costs. I’ll have to 
ask around for this but I’m quite sure some decent smallish protocol exists for 
keeping track of things. Maybe COAP could be suited for this purpose.


> However, I don't know how up-to-date it is, and it may still be better for us 
> to write our own CoAP instead.

As a supporter for early and often releasing, I’m a bit wary on deciding to 
write everything in house. This slows us down as we have a bottleneck in low 
level C programming.


> I don't remember if HIP had any zero-configuration as such -- I guess others 
> have been doing something in that space.  But I wouldn't worry about that 
> still for some time.  

I referred to HIP as mainly means to achieve a method of trust between nodes, 
not as a tool for configuration discovery.


> One additional aspect we have that most others don't is also keeping track of 
> the detail physical location of each node, i.e. where exactly they are within 
> a building or other facility.

For this I really think we need to have some sort of management node, that also 
can act as HTTP/COAP translator and do other UX tasks. For now we can continue 
using the Raspberry Pi for this function and I think it would do us well to 
just write this software for a generic unixish platform in mind, letting the 
application developers choose where to run it themselves.

We can test this software on quite many platforms and this is something where 
we can truly hope for plenty of submits from developers as such high level 
programming skills are quite common for hackers.

For this reason, I’m not the slightest bit worried about getting a nice UI and 
management node software. Especially now that our recent findings indicate 
possibly writing it all for Node.JS, which seems really popular. I’m starting 
to like it myself after finding that CoffeeScript would allow functional 
development for Node.JS.

 - t

Other related posts: