[zeromq-dev] ZeroMQ for Contiki OS
Lionel Orry
lionel.orry at gmail.com
Thu Jan 21 17:13:29 CET 2016
All those are great news IMO. Working in more or less constrained embedded
systems, I love where this work is going ! Great job !
Cheers,
Lionel
On Thu, Jan 21, 2016 at 7:53 AM, Axel Voitier <axel.voitier at gmail.com>
wrote:
> Thanks, it worked.
>
> The new repo is https://github.com/zeromq/contiki-zmtp.
>
> For reorganising the sources, it was next in my list ;). Contiki actually
> suggest a tree structure to be compatible with their conventions and build
> system: https://github.com/contiki-os/contiki/wiki/Out-of-Tree-Development
> .
>
> I will move most files into apps/zmtp, similarly to the other protocols
> they have in their main repo. And the examples in examples/zmtp.
>
>
> Cheers,
> Axel
>
> --
> Contact: axel.voitier at gmail.com
> Secure: axel.voitier at protonmail.ch
>
> 2016-01-20 21:47 GMT+01:00 Pieter Hintjens <ph at imatix.com>:
>
>> Try to create the repo now, it should work.
>>
>> Indeed, zmq.c/h is probably a bad filename to use and zmtp.c/h is
>> better. However I'd probably advise putting the sources into src and
>> prefixing them all with something like cz_
>>
>> On Wed, Jan 20, 2016 at 5:08 PM, Axel Voitier <axel.voitier at gmail.com>
>> wrote:
>> > Got it.
>> >
>> > It seems I don't have sufficient rights to create a repo in the
>> > organisation.
>> > Please, could you either add me the right, or create a repo named
>> > "contiki-zmtp"?
>> >
>> > By the way, there are zmq.c/h files in the current implementation in
>> which I
>> > have put things built on top of the ZMTP implementation (typically
>> socket
>> > related stuff, module initialisation).
>> > Should I merge what it contains to zmtp.c/h (for instance), or find
>> another
>> > name for it?
>> >
>> >
>> > Cheers,
>> > Axel
>> >
>> > --
>> > Contact: axel.voitier at gmail.com
>> > Secure: axel.voitier at protonmail.ch
>> >
>> > 2016-01-20 16:47 GMT+01:00 Pieter Hintjens <ph at imatix.com>:
>> >>
>> >> I've updated the trademark policy since it was slightly out of date.
>> >>
>> >> http://zeromq.org/docs:trademark-policy
>> >>
>> >> The goal of this policy is to ensure that users know what they're
>> >> getting. In your case I'd use -zmtp in the name, or call it something
>> >> else.
>> >>
>> >>
>> >> On Wed, Jan 20, 2016 at 4:20 PM, Axel Voitier <axel.voitier at gmail.com>
>> >> wrote:
>> >> > Hi Pieter,
>> >> >
>> >> > Neat! :)
>> >> >
>> >> > Yes, it would be nice if it spawns interest for other embedded
>> targets.
>> >> > I am all for the C4.1 policy, and for the move to the zeromq
>> >> > organization.
>> >> > Thanks for proposing!
>> >> >
>> >> > Could you enlighten me about what can be named zeromq actually? Is it
>> >> > the
>> >> > full set of ZMTP+all sockets behaviour, or is it just limited to
>> libzmq
>> >> > and
>> >> > its bindings?
>> >> > I guess the name of the project can then be changed to contiki-zmtp
>> (or
>> >> > contiki-libzmtp?) when moving to the organisation.
>> >> >
>> >> >
>> >> > Cheers,
>> >> > Axel
>> >> >
>> >> > --
>> >> > Contact: axel.voitier at gmail.com
>> >> > Secure: axel.voitier at protonmail.ch
>> >> >
>> >> > 2016-01-20 12:47 GMT+01:00 Pieter Hintjens <ph at imatix.com>:
>> >> >>
>> >> >> Oh, and I sent you your first pull request. :)
>> >> >>
>> >> >> On Wed, Jan 20, 2016 at 12:39 PM, Pieter Hintjens <ph at imatix.com>
>> >> >> wrote:
>> >> >> > Hi Axel,
>> >> >> >
>> >> >> > This is really cool... could be the basis for other embedded
>> >> >> > projects.
>> >> >> > I'd like to move this into the zeromq organization and use our
>> C4.1
>> >> >> > contribution policy, is that OK?
>> >> >> >
>> >> >> > The name suggests you ported libzmq, which is misleading. It'd be
>> >> >> > better to say "ZMTP" instead of "ZeroMQ".
>> >> >> >
>> >> >> > I've invited you to the ZeroMQ core team so you can move this
>> project
>> >> >> > (if you approve of this idea).
>> >> >> >
>> >> >> > -Pieter
>> >> >> >
>> >> >> >
>> >> >> > On Wed, Jan 20, 2016 at 11:47 AM, Axel Voitier
>> >> >> > <axel.voitier at gmail.com>
>> >> >> > wrote:
>> >> >> >> Yes, I actually started from libzmtp. Few things remain from it
>> now
>> >> >> >> (channels and msgs) as I had to adapt it to whatever Contiki
>> >> >> >> provides.
>> >> >> >> Contiki does not have a posix socket interface. But the hardest
>> was
>> >> >> >> t
>> >> >> >> adapt
>> >> >> >> to its threading model (protothreads) which were really
>> >> >> >> constraining...
>> >> >> >>
>> >> >> >> Also, I adapted the memory allocations to do use as much as
>> possible
>> >> >> >> preallocation (called memb in Contiki). A few malloc remains here
>> >> >> >> and
>> >> >> >> there,
>> >> >> >> but much less than initially.
>> >> >> >>
>> >> >> >>
>> >> >> >> However, if I was to restart this project, I would not pick
>> Contiki
>> >> >> >> anymore.
>> >> >> >> But rather give it a try with RIOT, which seems to have something
>> >> >> >> that
>> >> >> >> match
>> >> >> >> a POSIX interface. And a much saner threading model that behaves
>> a
>> >> >> >> bit
>> >> >> >> like
>> >> >> >> an event loop with a hub (and reusing features from the
>> underlying
>> >> >> >> MCU
>> >> >> >> to do
>> >> >> >> context switching, like the SVC instruction with ARM).
>> >> >> >>
>> >> >> >>
>> >> >> >> Cheers,
>> >> >> >> Axel
>> >> >> >>
>> >> >> >> --
>> >> >> >> Contact: axel.voitier at gmail.com
>> >> >> >> Secure: axel.voitier at protonmail.ch
>> >> >> >>
>> >> >> >> 2016-01-20 9:31 GMT+01:00 Benjamin Henrion <zoobab at gmail.com>:
>> >> >> >>>
>> >> >> >>> On Wed, Jan 20, 2016 at 4:01 AM, Axel Voitier
>> >> >> >>> <axel.voitier at gmail.com>
>> >> >> >>> wrote:
>> >> >> >>> > Hello,
>> >> >> >>> >
>> >> >> >>> > I have published an attempt at porting zeromq to Contiki OS:
>> >> >> >>> > https://github.com/Alidron/contiki-zeromq
>> >> >> >>> >
>> >> >> >>> > It has a few limitations still. However, I covered most
>> basics of
>> >> >> >>> > ZMTP
>> >> >> >>> > and a
>> >> >> >>> > handful of sockets. It is not entirely compliant with the RFCs
>> >> >> >>> > for
>> >> >> >>> > the
>> >> >> >>> > moment though (some parts prove to be harder to do than I
>> >> >> >>> > expected).
>> >> >> >>> >
>> >> >> >>> > I have been able to run it on a constrained setup: ARM
>> Cortext M3
>> >> >> >>> > running at
>> >> >> >>> > 32MHz, with 512KB of flash (the demo programs weight about
>> 130KB)
>> >> >> >>> > and
>> >> >> >>> > 80KB
>> >> >> >>> > of RAM. And with a sub-1GHz RF link.
>> >> >> >>> >
>> >> >> >>> > The implementation makes use of Contiki network stack, which
>> can
>> >> >> >>> > use
>> >> >> >>> > TCP,
>> >> >> >>> > IPv4, IPv6 and 6LoWPAN. I actually tested it over 6LoWPAN on
>> the
>> >> >> >>> > sub-GHz
>> >> >> >>> > link :).
>> >> >> >>> >
>> >> >> >>> > It is not has featured and fast as running zeromq between two
>> >> >> >>> > usual
>> >> >> >>> > computers. But I hope this implementation prove it is
>> feasible to
>> >> >> >>> > have
>> >> >> >>> > ZeroMQ on such constrained hardware :).
>> >> >> >>>
>> >> >> >>> Have you tried to compile libzmtp?
>> >> >> >>>
>> >> >> >>> One of my short-term goal is to make libzmptp running on esp8266
>> >> >> >>> and
>> >> >> >>> some cortex m3 board.
>> >> >> >>>
>> >> >> >>> --
>> >> >> >>> Benjamin Henrion <bhenrion at ffii.org>
>> >> >> >>> FFII Brussels - +32-484-566109 - +32-2-3500762
>> >> >> >>> "In July 2005, after several failed attempts to legalise
>> software
>> >> >> >>> patents in Europe, the patent establishment changed its
>> strategy.
>> >> >> >>> Instead of explicitly seeking to sanction the patentability of
>> >> >> >>> software, they are now seeking to create a central European
>> patent
>> >> >> >>> court, which would establish and enforce patentability rules in
>> >> >> >>> their
>> >> >> >>> favor, without any possibility of correction by competing
>> courts or
>> >> >> >>> democratically elected legislators."
>> >> >> >>> _______________________________________________
>> >> >> >>> zeromq-dev mailing list
>> >> >> >>> zeromq-dev at lists.zeromq.org
>> >> >> >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> _______________________________________________
>> >> >> >> zeromq-dev mailing list
>> >> >> >> zeromq-dev at lists.zeromq.org
>> >> >> >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >> >> >>
>> >> >> _______________________________________________
>> >> >> zeromq-dev mailing list
>> >> >> zeromq-dev at lists.zeromq.org
>> >> >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >> >
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > zeromq-dev mailing list
>> >> > zeromq-dev at lists.zeromq.org
>> >> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >> >
>> >> _______________________________________________
>> >> zeromq-dev mailing list
>> >> zeromq-dev at lists.zeromq.org
>> >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >
>> >
>> >
>> > _______________________________________________
>> > zeromq-dev mailing list
>> > zeromq-dev at lists.zeromq.org
>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160121/fe994f0c/attachment.htm>
More information about the zeromq-dev
mailing list