Nadia Zryanina EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING - - PowerPoint PPT Presentation

nadia zryanina
SMART_READER_LITE
LIVE PREVIEW

Nadia Zryanina EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING - - PowerPoint PPT Presentation

Nadia Zryanina EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG HARDWARE COMPONENTS SOFTWARE DEMO FUTURE THE GRISP BOARD SPECS EMBEDDED WIRELESS DEVICE REAL ERLANG ON REAL BARE METAL CONNECTORS FOR SENSORS & ACTUATORS


slide-1
SLIDE 1
slide-2
SLIDE 2

Nadia Zryanina

slide-3
SLIDE 3
slide-4
SLIDE 4

ROBOTICS AND SENSORS USING ERLANG

EMBEDDED SYSTEMS WITH

slide-5
SLIDE 5

HARDWARE COMPONENTS SOFTWARE FUTURE

DEMO

slide-6
SLIDE 6

SPECS

THE GRISP BOARD

slide-7
SLIDE 7
slide-8
SLIDE 8

EMBEDDED WIRELESS DEVICE

slide-9
SLIDE 9

REAL ERLANG ON REAL BARE METAL

slide-10
SLIDE 10

CONNECTORS FOR SENSORS & ACTUATORS

slide-11
SLIDE 11

300 MHZ 64 MiB RAM WIFI MICROSD

slide-12
SLIDE 12

RGB LEDS SWITCHES

slide-13
SLIDE 13

GPIO UART SPI

slide-14
SLIDE 14
slide-15
SLIDE 15

I2C

slide-16
SLIDE 16

MASTER SLAVE PROTOCOL 1 DATA LINE 1 CLOCK LINE POWER & GROUND ADRESSABLE

slide-17
SLIDE 17

1-WIRE

slide-18
SLIDE 18

DALLAS 1-WIRE 1 DATA + POWER LINE GROUND ADDRESSABLE MICROLAN

slide-19
SLIDE 19

WIRELESS COMMUNICATION

slide-20
SLIDE 20
slide-21
SLIDE 21

WIFI

slide-22
SLIDE 22

802.11N 2.4 GHZ UP TO 150 MBPS POWER SAVING

slide-23
SLIDE 23

PMODRF2 IEEE 802.15.4 2.4GHZ ZIGBEE, MIWI

slide-24
SLIDE 24

PMODS

ACCESSORIES

slide-25
SLIDE 25

TEXT

slide-26
SLIDE 26

TEXT

CON3

slide-27
SLIDE 27

TEXT

NAV

slide-28
SLIDE 28

TEXT

GYRO

slide-29
SLIDE 29

TEXT

ACL2

slide-30
SLIDE 30

TEXT

HB3

slide-31
SLIDE 31

TEXT

HB5

slide-32
SLIDE 32

TEXT

GPS

slide-33
SLIDE 33

SOFTWARE

TOOLCHAIN, OS & RUNTIME

slide-34
SLIDE 34

RTEMS RTOS “OS-AS-A-LIBRARY” POSIX

slide-35
SLIDE 35

PERFORMANT SMP PROCESSES VIA THREADS FREEBSD NETWORKING

slide-36
SLIDE 36

BEAM COMPILED WITH RTEMS STARTS FROM BOOTLOADER OS APIS PROVIDED BY RTEMS

slide-37
SLIDE 37

HARDWARE BEAM GRiSP RUNTIME APPLICATION OTP RTEMS

slide-38
SLIDE 38

GRiSP RUNTIME HARDWARE ABSTRACTION LOW LEVEL DRIVERS HIGH LEVEL DRIVERS

slide-39
SLIDE 39

SPI DRIVER (C)

void grisp_spi_output (ErlDrvData drv_data, char *buf, ErlDrvSizeT len) { // … // Grab first byte as chip select cs = buf[0]; buf++; len -= 1;

slide-40
SLIDE 40

// … msg.cs = cs; msg.tx_buf = buf; msg.rx_buf = res; msg.len = len; rv = ioctl(grisp_spi_data.fd, SPI_IOC_MESSAGE(1), &msg); assert(rv == 0); driver_output(grisp_spi_data.port, res, len); }

SPI DRIVER (C)

slide-41
SLIDE 41
  • module(grisp_spi_drv).
  • export([open/0, command/3]).
  • pen() ->
  • pen_port({spawn_driver, "grisp_spi_drv"},

[binary]). command(Port, Slot, Command) -> Slot = slave_select(Slot), # gpio1 -> 2 Command = <<Slot, Command/binary>>, Port ! {self(), {command, Command}}.

SPI DRIVER (ERLANG)

slide-42
SLIDE 42

1> Command = <<16#0B, 16#0E>>. <<16#0B, 16#0E>> 2> Raw = <<Command/binary, 0>>. <<16#0B, 16#0E, 0>> 3> grisp_spi_drv:command(Port, spi1, Raw). {<0.132.0>,{command,spi1,<<11,14,0>>}} 4> flush(). Shell got {<0.127.0>,{data,<<0,0,172>>}}

  • k

5> grisp_spi:send_recv(spi1, Command, 2, 1). <<"¬">>

SPI DRIVER (SHELL)

slide-43
SLIDE 43

DEMO

slide-44
SLIDE 44

ISSUES <…>

slide-45
SLIDE 45

ROADMAP <…>

slide-46
SLIDE 46

UPDATES

WHAT WE’RE WORKING ON

slide-47
SLIDE 47

MQTT MQTT SMART HOME

https://github.com/mqtt-smarthome/ mqtt-smarthome

slide-48
SLIDE 48

GENERIC LIBRARY EDITABLE DASHBOARD PERSISTED MORE WIDGETS

slide-49
SLIDE 49

FEBRUARY 2018 HARDWARE SHIPS SOFTWARE 1.1

slide-50
SLIDE 50

WIFI WPA2 ERLANG 20.2 ALL BASIC DRIVERS

slide-51
SLIDE 51

INTERNET OF THINGS CRDTs SYNCHRONIZATION-FREE PROGRAMMING HYBRID GOSSIP PROTOCOLS

slide-52
SLIDE 52

ROADMAP MORE DRIVERS PREBUILT CROSS OTP PREBUILT CROSS TOOLCHAIN FIXING ERLANG DISTRIBUTION

slide-53
SLIDE 53

THANK YOU!

grisp.org github.com/grisp #grisp irc.freenode.net #grisp erlang-slack.herokuapp.com

20% DISCOUNT WITH lambda2018

https://www.grisp.org/shop.html