ZeroMQ Pre-FOSDEM Hackaton (Thu 2 + Fri 3 Feb 2017)

ZeroMQ Pre-FOSDEM Hackaton (Thu 2 + Fri 3 Feb 2017)

When?

Thu 2 and Fri 3 February 2016, from 9am to late in the night :-)

Where?

Hackerspace Brussels (HSBXL)
Rue de manchester 21 / Manchesterstraat 21
1080 Molenbeek
Brussels
Belgium
Web: http://www.hsbxl.be
GSM: +32 484 566109 (zoobab)

Drinks and food

HSBXL has a decent bar (beers, tea, soft drinks, etc…).

For the food, bring your own, and we will order suchis, pizzas, etc… when needed.

Agenda

  • libzmq on ESP8266
  • malamute on openwrt and memory limitations tests
  • p2p openssh replacement
  • rsyslog zeromq improvements
  • zproto client/server native python support
  • port glar150 to the raspberry pi | let in blink :) https://github.com/CodeJockey/glar150
  • add zmq encryption support to zyre (and other projects?) to enable encryption and/or auth, so the PoCs like cluster-ssh via zmq can proceed to practical management of healthily paranoid systems
  • zproject installation/snippet model
  • docker logs via malamute
  • craft an example project for zeromq repo that allows a newcomer to easily clone one repo, build the Z-ecosystem (pulled via submodules) and an example well-commented project - this helps both validate new platforms and get started with / wrap the head around the different bits and terms like libzmq, czmq, malamute, zyre, agents, protocols, gsl, zproject etc. The git+Make part is easy (port the ready solution from another project), but a coherent example project is the hard part :)
  • your topic here

Attendees

Please do add your name to ensure a seat:

  1. NAME surname (github user optionally)
  2. HENRION Benjamin (zoobab)
  3. SAPPER Kevin (sappo)
  4. LUCA Boccassi (bluca)
  5. KNOX Brian (taotetek)
  6. LOONSTRA Arnaud (sphaero)
  7. HERTER Hugo
  8. Michal Vyskocil (vyskocilm)
  9. Evgeny Klimov (jimklimov)
  10. Barbora Stepankova (bstepankova)
  11. Karol Hrdina (karolhrdina)
  12. HOOVER Tom

Costs

There are some costs for the heating system (we might need to rent one), so participants will be invited to make a small donation to cover those.

ESP8266

First, you have to install and build the esp-open-sdk:

$ git clone —recursive https://github.com/pfalcon/esp-open-sdk.git

Then:

$ cd esp-open-sdk
$ make

And go for a coffee, it takes around 30 mins.

Then try to build:

$ git clone https://github.com/jeelabs/esp-link

You need to have 2 directories:

$ ls -1
esp-link/
esp-open-sdk/

You might need to adapt the Makefile of esp-link to point to the sdk directory, or run:

$ SDK_BASE=`pwd`/../esp-open-sdk/sdk/ make

And reflash with:

$ SDK_BASE=`pwd`/../esp-open-sdk/sdk/ make flash

Conclusion

ESP-8266 is running FreeRTOS, which is posix incompatible operating system. Most notably syscalls
close, send, recv are missing and FreeRTOS applications does need to use callbacks.

Example from mqtt: how recv does work on FreeRTOS
/**
* @brief Client received callback function.
* @param arg: contain the ip link information
* @param pdata: received data
* @param len: the length of received data
* @retval None
*/
static void ICACHE_FLASH_ATTR
mqtt_tcpclient_recv(void* arg, char* pdata, unsigned short len);

BTW: just found out there's a group developing posix-layer for FreeRTOS
https://interactive.freertos.org/hc/en-us/community/posts/210029046-POSIX-Wrapper-for-FreeRTOS

Contiki-zmtp

ContikiOS is different system for small embeded boards, however does not and will not support ESP-8266
https://github.com/contiki-os/contiki/issues/1248

The programming model for contiki-os is incompatible with FreeRTOS, thus this port can't be used on ESP-8266@FreeRTOS

MQTT

MQTT[1] (MQ Telemetry Transport) is an ISO standard (ISO/IEC PRF 20922)[2] publish-subscribe-based "lightweight" messaging protocol for use on top of the TCP/IP protocol.

Usefull links:
* https://mosquitto.org/download/
* http://test.mosquitto.org/

First task

1. Download and build mosquitto (mkdir build; cd build; cmake ../; ./src/mosquitto)
2. Connect some clients using pure MQTT
3. Design first PoC of MQQT->Malamute thinkg
4. see https://github.com/ZMQers/zmosq

See also

There is gonna be some "Pieter Hintjens in Memoriam" speeches during FOSDEM:

Comments: 1

Add a New Comment