<

Peer Stritzinger

Real bare metal Erlang with GRiSP, Board member Erlang Ecosystem Foundation

Peer ported Erlang to Hard-Realtime Operating system RTEMS (www.grisp.org). He developed the Hydraprog automotive control unit flashing device, which has been used successfully all over the world for over a decade. Since 2007 the firmware of the device is written mainly in Erlang - including protocol stacks for all existing automotive protocols. He currently serves as Board member in the Erlang Ecosystem Foundation.

Peer's previous experience ranges from low level device drivers to functional languages in industrial and automotive applications, he initially mastered in physics at the Technical University Munich. He has been working self-employed as a developer since 1987 and also consulted in applied cryptography and protocol design and implementation. He is currently living and working in the idyllic countryside west of Munich, Bavaria.

Upcoming Activities

Peer Stritzinger / Frank Hunleth
Code BEAM SF
04 Mar 2020
09.00 - 17.00

Tour the embedded BEAM with GRiSP and Nerves

If you're considering using Erlang or Elixir for your next IoT device or just wanting to learn more about embedded systems, this class will give you a tour of the two major BEAM-powered embedded system projects. Both projects build on the rock solid reliability and productivity of the Erlang VM, and are used in industrial projects around the world.

 

OBJECTIVES

  • To get real practical experience with embedded systems
  • Know why the BEAM virtual machine is a good fit for such projects
  • Understand the basic concepts and characteristics of embedded systems
  • Familiarity with Nerves and GRiSP platforms, including the foundation to keep developing your own project
  • Have fun!

 

PREREQUISITES

  • A Mac or Linux laptop. Windows laptops with a Linux VM can work, but verify USB connectivity
  • Have a working installation of Erlang and Elixir
  • Working USB ports - check if blocked by a corporate firewall or if you have USB C, bring an adapter
  • No hardware needed! We'll provide a software installation checklist a week before the training

 

TARGET AUDIENCE

This tutorial is for those with: * basic knowledge of Erlang or Elixir * familiarity with gen_server/GenServer * none or only a little experience with either GRiSP or Nerves)

COURSE OUTLINE

This is a unique class led by the creators of both Nerves and GRiSP that will not only get you started with both projects, but will also help you understand the differences and tradeoffs. The class is hands-on.

We'll provide hardware and labs for you that cover the basics, interacting with low level hardware, networking devices, and interoperability.

Peer Stritzinger / Barbara Chassoul
Code BEAM SF

Building a IDE, compiler and runtime for a graphical distributed data flow language in Erlang

Control systems have their own programming languages and paradigms. Progammable Logo Controllers (PLCs) are used to control everything from a garage door opener to a whole factory. We have built a compiler for a distributed variant of PLC programming language (IEC 61499) that compiles to BEAM files which run in Erlang VMs. As a web frontend to a Erlang node we built a IDE for the textual and graphical representation. PLC programme run distributed from small embedded systems to the cloud unchanged.

THIS TALK IN THREE WORDS

IoT

PLC

IDE

OBJECTIVES

Show how a complete graphical IDE, compiler and runtime can be built with Erlang and run in a small embedded system.

TARGET AUDIENCE

Elixir and Erlang devs interested in web based IDE's, PLCs and IoT

Past Activities

Adam Lindberg / Peer Stritzinger
Code BEAM Lite Munich 2018
Tutorial/ 06 Dec 2018
09.00 - 17.00

GRISP training - IoT Lab with GRiSP, Bare Metal Erlang, Sensors and Actuators

  • Want to learn how to run Erlang without a OS kernel?
  • Want to deploy software to a small wireless embedded system?
  • Want to interact with hardware such as accelerometers, thermometers, hygrometers, stepper motors and a little robot?

Then this is the course for you!

Join this full day free tutorial and learn how to create and deploy Erlang projects on the GRiSP embedded board.

Learn how to connect to GRiSP using Wi-Fi and how to interact with and write your own drivers for hardware peripherals.

We will provide access to hardware such as GRiSP boards, PMOD devices and other accessories.

Knowledge about programming is required and some basic knowledge of Erlang is a plus.

This free tutorial is limited to 10 attendees only, so book now.

This free tutorial is Sponsored by Peer Stritzinger GmbH

Peer Stritzinger / Adam Lindberg
Code BEAM STO 2018
Tutorial/ 30 May 2018
09.25 - 17.00

GRISP training - IoT Lab with GRiSP, Bare Metal Erlang, Sensors and Actuators

9:00 - 17:00

Want to learn how to run Erlang without a OS kernel? Want to deploy software to a small wireless embedded system? Want to interact with hardware such as accelerometers, thermometers, hygrometers, stepper motors and a little robot?

Then this is the course for you!

Join this full day course and learn how to create and deploy Erlang projects on the GRiSP embedded board. Learn how to connect to it using Wi-Fi and how to interact with and write your own drivers for hardware peripherals.

We will provide access to hardware such as GRiSP boards, PMOD devices and other accessories. You will be able to buy the GRiSP board at a discount to take home with you after the course to continue developing your projects.

Knowledge about programming is required and some basic knowledge of Erlang is a plus.

Peer Stritzinger / Adam Lindberg
Code BEAM Lite Berlin
Tutorial/ 10 Oct 2019
09.00 - 17.00

Hands on Embedded-Systems with GRiSP - Sensors, Actuators and Robots!

COURSE OUTLINE

The one day GRiSP tutorial will get you familiar with the GRiSP hardware boards and its capabilities running embedded Erlang and Elixir applications. We'll learn how to set up an Elixir or Erlang application for the GRiSP board, deploy it and interact with different hardware components directly from Erlang. After the tutorial, there will be a workshop where you can develop prototype embedded applications together with the group, having access to the GRiSP hardware and many sensors and actuators and we’ll also bring some robotics hardware to work with! We have tasks for every level.

Embedded Hardware will be provided and the tutorial price includes a GRiSP board to take with you.

More information at https://www.grisp.org/

 

 

 

AUDIENCE

  • Elixir and Erlang developers who want to learn about the platform and embedded systems development
  • Embedded systems engineers who want to try out Erlang or Elixir for systems

 

OBJECTIVES

  • Learn how to use our rebar3 and mix based advanced development tools to develop embedded or IoT systems for the GRiSP board
  • Interact and work with real hardware
  • Develop example embedded applications together

 

PREREQUISITES

Programming skills in Erlang or Elixir.

Please bring your laptop. Micro USB cables and Micro SD-card readers are helpful but not necessary (we will bring some).

José Valim / Miriam Pena / Peer Stritzinger / Francesco Cesarini
Code BEAM STO 2019
16 May 2019
17.45 - 18.30

Introducing the Erlang Ecosystem Foundation

Thursday evening keynote is extra special this year, you can hear all about the newly formed Erlang Ecosystem Foundation. Founding members of the Erlang Ecosystem Foundation will join us to share the journey and goals of the foundation!

The Erlang Ecosystem Foundation's goal is to grow and support a diverse community around the Erlang and Elixir ecosystem, encouraging the continued development of technologies and open source projects based on/around its runtime and languages.

Peer Stritzinger / Adam Lindberg
Code BEAM STO 2019
17 May 2019
10.35 - 11.20

Erlang distribution: going beyond the fully connected mesh

In our search to improve Erlang distribution as cluster sizes grow and topologies become more dynamic, we have tried many things: prototyping solutions to ahead-of-line blocking using fragmented packages, using UDP for distribution, and experimenting with Time Sensitive Networking (TSN) for real-time Erlang in industrial settings.

We will talk about our experiences so far and build upon the work of the OTP team by experimenting with a generic behaviour to make custom Erlang distribution implementations easier.

OBJECTIVES

Give a brief overview of the history and problems with Erlang distribution, look at the current state of the art and propose areas for further work and research.

AUDIENCE

People interested in Erlang internals, improved distribution protocols and who want to participate in enhancing Erlang's distribution.

José Valim / Miriam Pena / Fred Hebert / Francesco Cesarini / Peer Stritzinger
Code BEAM SF 2019
28 Feb 2019
17.45 - 18.30

Introducing the Erlang Ecosystem Foundation

Thursday evening keynote at the Code BEAM SF where you can hear all about the newly formed Erlang Ecosystem Foundation. A talk from Jose Valim, Peer Stritzinger, Fred Hebert, Miriam Pena and Francesco Cesarini who are sharing the journey and goals of the foundation that we've all waited for!

The Erlang Ecosystem Foundation's goal is to grow and support a diverse community around the Erlang and Elixir ecosystem, encouraging the continued development of technologies and open source projects based on/around its runtime and languages.

Peer Stritzinger
Code BEAM SF 2019
01 Mar 2019
14.30 - 15.15

Erlang Distribution via UDP combined with Ethernet TSN

After some initial experiments we now are looking at using UDP for Erlang Distribution. Ethernet TSN (=Time Sensitive Networking) is a set of new standards that extends Ethernet by controlling latency and redundancy on Layer-2 making it possible to implement hard real-time reliable datagram service.

TARGET AUDIENCE

These topics have IoT and Industrial use cases in mind. Attendees can learn about the technology described.

Peer Stritzinger / Adam Lindberg
Code BEAM STO 2018
01 Jun 2018
16.15 - 17.00

1000 nodes, large messages, we want it all! Prototype with new OTP 21 API

Distribution has always been a strong side of Erlang, but it has its own limitations. Projects with specific requirements often resort to external or application-level workarounds to circumvent them. As we want to keep using Erlang distribution even in extreme use-cases, we are focusing on fixing these issues.

We explain how the new API for custom distribution in Erlang 21 lets you build your own distribution protocol.  This helps us especially to prototype our extensions to Erlang distribution to scale it better and make it more universally usable.

A well-known limitation is Head-of-Line blocking. It makes the latency of messages unpredictable and it gets even worse with mesh networks.  We show the results of our prototype to fix this problem.

This prototype also is the first step to more scalability by enabling message routing between nodes.  We explain how link state routing protocols work and show how one of them which is very extensibe and which we plan to use for solve routing, discovery and maybe even global process registry.