design and implementation of an its station to bridge
play

Design and implementation of an ITS station to bridge automotive and - PowerPoint PPT Presentation

Design and implementation of an ITS station to bridge automotive and IoT systems Master Thesis in Computer Science and Networking Supervisors: Prof. Piero Castoldi, Dr. Paolo Pagano Candidate: Michele Carignani OUTLINE OUTLINE BACKGROUND


  1. Framework design ItsEventInjector, • Component based design <<extends>>) <<extends>>) • Abstracting events ItsService, ItsApplica/on, management <<extends>>) <<extends>>) <<extends>>) <<extends>>) • Introducing Services Service1, ServiceN, …) …) Applia/on1, Applica/onN, • ItsStation Interface, Interface, • Wrap event loop <<implements>>) <<refers>>) <<refers>>) • Refer service and ServiceN, <<refers>>) …) ItsSta/on, application registries Implementa/on1,

  2. Framework design ItsEventInjector, • Component based design <<extends>>) <<extends>>) • Abstracting events ItsService, ItsApplica/on, management <<extends>>) <<extends>>) <<extends>>) <<extends>>) • Introducing Services Service1, ServiceN, …) …) Applia/on1, Applica/onN, • ItsStation Interface, Interface, • Wrap event loop <<implements>>) <<refers>>) <<refers>>) • Refer service and ServiceN, <<refers>>) …) ItsSta/on, application registries Implementa/on1,

  3. Framework design ItsEventInjector, • Component based design <<extends>>) <<extends>>) • Abstracting events ItsService, ItsApplica/on, management <<extends>>) <<extends>>) <<extends>>) <<extends>>) • Introducing Services Service1, ServiceN, …) …) Applia/on1, Applica/onN, • ItsStation Interface, Interface, • Wrap event loop <<implements>>) <<refers>>) <<refers>>) • Refer service and ServiceN, <<refers>>) …) ItsSta/on, application registries Implementa/on1,

  4. Framework design ItsEventInjector, • Component based design <<extends>>) <<extends>>) • Abstracting events ItsService, ItsApplica/on, management <<extends>>) <<extends>>) <<extends>>) <<extends>>) • Introducing Services Service1, ServiceN, …) …) Applia/on1, Applica/onN, • ItsStation Interface, Interface, • Wrap event loop <<implements>>) <<refers>>) <<refers>>) • Refer service and ServiceN, <<refers>>) …) ItsSta/on, application registries Implementa/on1,

  5. Framework design ItsEventInjector, • Component based design <<extends>>) <<extends>>) • Abstracting events ItsService, ItsApplica/on, management <<extends>>) <<extends>>) <<extends>>) <<extends>>) • Introducing Services Service1, ServiceN, …) …) Applia/on1, Applica/onN, • ItsStation Interface, Interface, • Wrap event loop <<implements>>) <<refers>>) <<refers>>) • Refer service and ServiceN, <<refers>>) …) ItsSta/on, application registries Implementa/on1,

  6. IMPLEMENTATION

  7. Framework implementation • The core library of nodejs, “non-blocking I/O” in C language • Portable wrapping over epoll , asynchronous model (asynchronous handling of file descriptors, timers) • Thread pool, work dispatch, threading and sync primitives

  8. Events management EVENTS API • By means of the ItsStation (I/O) • timer() and ItsEventInjector (event • periodically() engine) • asynchronously() • Abstracts using of std::Function • shutdown() • Different events handled • on() asynchronously • trigger()

  9. Example: CAN Service Interface • Controlled Area Network: manufacturer in-vehicle network • A service to retrieve information from the car such as RPM, speed, odometer class CanServiceInterface : public noes::StationService { public: CanServiceInterface(); CanServiceInterface(noes::ItsStation* s); virtual can_data_t get () = 0; virtual void print(can_data_t d) = 0; };

  10. Example: CAN Service implementation • HW: Implemented via OBDII adapter over serial (i.e. /dev/ttyS1 ) • SF: Query periodically and cache data structure OBDIIServiceImpl::OBDIIServiceImpl(noes::ItsStation *s): CanServiceInterface(s) { try { update(); this-> periodically (1000, [this](int k){ this->update(); } ); } catch (SerialException &e) { // … } }

  11. CA facility implementation API • generate() : collection and encapsulation • encode() : serialization in ASN.1 Unaligned- PackedEncodingRules • decode() : deserialization from bytes • start_dissemination() : manage CAMs dissemination • send() : request from GN/BTP

  12. CA facility implementation Implementation details API • Extension of CAM PDU • generate() : collection and encapsulation LoadingZoneContainer ::= SEQUENCE { vin UTF8String SIZE ((18)), • encode() : serialization in engineStatus EngineStatus, ASN.1 Unaligned- PackedEncodingRules authorizationID AuthorizationID, cargoVolume CargoVolume • decode() : deserialization } from bytes • start_dissemination() : manage CAMs dissemination • send() : request from GN/BTP

  13. CA facility implementation Implementation details API • Extension of CAM PDU • generate() : collection and encapsulation LoadingZoneContainer ::= SEQUENCE { vin UTF8String SIZE ((18)), • encode() : serialization in engineStatus EngineStatus, ASN.1 Unaligned- PackedEncodingRules authorizationID AuthorizationID, cargoVolume CargoVolume • decode() : deserialization } from bytes • ASN.1, asn1c , CAM_t type • start_dissemination() : LANG. DECL manage CAMs dissemination ASN.1 ASN.1 DEFS COMP • send() : request from GN/BTP ENCOD. & DECOD

  14. BTP Gateway implementation • Using 802.11p board in bridge typedef struct btp_pci_s { mode int btp_type; int packet_type; • Implemented ETSI Protocol Control int store_and_forward; Information (PCI) int latitude; int longitude; • PCI serialization int macAddr_i[6]; int dport; • Gateway module on the IWCUv5 int sport; } btp_pci_t;

  15. BTP Gateway implementation • Using 802.11p board in bridge typedef struct btp_pci_s { mode int btp_type; int packet_type; • Implemented ETSI Protocol Control int store_and_forward; Information (PCI) int latitude; int longitude; • PCI serialization int macAddr_i[6]; int dport; • Gateway module on the IWCUv5 int sport; } btp_pci_t; Station 11p GW 11p GW Station PCI+Data Data BTP BTP UDP GN/BTP UDP Btp Btp Gateway Gateway Gateway Gateway Facility Facility

  16. IoT Gateway implementation

  17. IoT Gateway implementation • PHY and MAC, native Linux available ( wpan layer 2 socket)

  18. IoT Gateway implementation • PHY and MAC, native Linux available ( wpan layer 2 socket) • Contiki: “the operating system for the IoT”, containing uip (6LoWPAN) and CoAP implementations

  19. IoT Gateway implementation • PHY and MAC, native Linux available ( wpan layer 2 socket) • Contiki: “the operating system for the IoT”, containing uip (6LoWPAN) and CoAP implementations • Implementation on ItsStation: Contiki as a Linux process + virtual tunnel interface (i.e. /dev/net/tun0 )

  20. IoT Gateway implementation • PHY and MAC, native Linux available ( wpan layer 2 socket) • Contiki: “the operating system for the IoT”, containing uip (6LoWPAN) and CoAP implementations • Implementation on ItsStation: Contiki as a Linux process + virtual tunnel interface (i.e. /dev/net/tun0 ) • Therefore IoT is available usual sockets API (via libuv wrapper)

  21. RESULTS

  22. URBELOG Project • Last mile logistic optimization: • real time tracking of goods to enforce good practices • reduce emissions • Loading zone application • Parking slots real time discovery, booking • Parking slot status monitored and advertised

  23. Parking slot use case • URBELOG use case: real time tracking of parking lot status with vehicle authentication • Smart cameras network (IoT segment) • Vehicle acknowledgment and free spots advertisement via CAMs (802.11p + GeoNet) • Notification of change status to Service Center (also notifies infringements)

  24. URBELOG: Developed devices

  25. URBELOG: Developed devices IoT segment: Smart camera • Exposes calculated data (EMPTY, BUSY) as a REST Resource • Reachable over 6LoWPAN

  26. URBELOG: Developed devices IoT segment: Smart camera • Exposes calculated data (EMPTY, BUSY) as a REST Resource • Reachable over 6LoWPAN Road Side ITS Station, UrbelogRSU : • Monitors smart cameras (IoT Gateway) • Listens to CAM dissemination (BTP Gateway) • Implements timers (handshake timeout, parking expiration) • Forwards events to the Smart City Center (SCC Gateway, MQTT)

  27. URBELOG: Developed devices IoT segment: Smart camera • Exposes calculated data (EMPTY, BUSY) as a REST Resource • Reachable over 6LoWPAN Road Side ITS Station, UrbelogRSU : • Monitors smart cameras (IoT Gateway) • Listens to CAM dissemination (BTP Gateway) • Implements timers (handshake timeout, parking expiration) • Forwards events to the Smart City Center (SCC Gateway, MQTT) Vehicular ITS Station, UrbelogOBU : • Disseminates CAM (BTP Gateway) • Reads vehicle data (rpm) to include in CAM (OBDII Service)

  28. “A prototype bridge between automotive and IoT” by Carignani et al. will be presented at IEEE World Forum on Internet of Things, Automotive workshop on Dec 14th 2015

  29. On field demo on Nov. 13th

  30. On field demo on Nov. 13th

  31. On field demo on Nov. 13th

  32. On field demo on Nov. 13th

  33. On field demo on Nov. 13th

  34. On field demo on Nov. 13th

  35. On field demo on Nov. 13th WSN

  36. On field demo on Nov. 13th WSN

  37. On field demo on Nov. 13th WSN CAM -VANET (11.p)

  38. On field demo on Nov. 13th Service Center WSN CAM -VANET (11.p)

  39. On field demo on Nov. 13th Service Center WSN CAM -VANET (11.p)

  40. On field demo on Nov. 13th Service Center MQTT (3G) WSN CAM -VANET (11.p)

  41. Conclusions

  42. Conclusions • New system integrating IoT and C-ITS was implemented

  43. Conclusions • New system integrating IoT and C-ITS was implemented • Feasibility of one ITS application

  44. Conclusions • New system integrating IoT and C-ITS was implemented • Feasibility of one ITS application • Soundness of the IoT/C-ITS architecture was demonstrated on field

  45. Conclusions • New system integrating IoT and C-ITS was implemented • Feasibility of one ITS application • Soundness of the IoT/C-ITS architecture was demonstrated on field • The designed framework led to a fast and easy implementation on the URBELOG use case

Recommend


More recommend