Platforma/Chmura IoT/IIoT (Internet Rzeczy) oraz IoE (Internet Wszechrzeczy)


Platforma IoE/IoT

IoT - Internet Rzeczy (Chmura platforma dekykowana tylko dla produktów i aplikacji iSys - Intelligent Systems) tj. Systemów @City, eHouse, bramek komunikacyjnych, produktów franchyzowych, re-brandingu
IoE - Internet Wszechrzeczy (Dedykowane Mini-Chmury dla indywidulanych partnerów i ich aplikacji)
Platforma Chmura IoT/IoE - dedykowana dla partnerów
  • Niskopoziomowe oprogramowanie serwerowe napisane w języku "C" (binarne/egzekucyjne) - zapewnia:
    • Konfiguracja zaszyta w aplikacji w celu zwiększenia bezpieczeństwa i wydajności
    • Bezpieczna aplikacja binarna zabezpieczona przed złamaniem algorytmu, przeniesieniem do innych lokalizacji.
    • Więcej niż 5 razy zmniejszenie zużycia pamięci w porównaniu do innych języków programowania dla oprogramowania serwerowego
    • Więcej niż 15 razy większa wydajność w porównaniu do rozwiązań serwerowych napisanych w innych językach programowania
    • Brak interpretowanych skryptów "otwartego-kodu" źródłowego
  • Platforma IoT/IoE może pracować na komputerach i mikrokomputerach z systemem operacyjnym Linux (Debian, Raspbian, Ubuntu):
    • W centrum danych (DC) - VPS (minimum 1 virtualny rdzeń procesora i 2GB RAM) lub dedykowane serwery. Wiele lokalizacji DC i wariantów sprzętowych komputerów.
    • Lokalnie - na mikrokomputerach (ARM, Raspberry Pi 3,4, Tinker Board) i komputerach PC (Intel/AMD x64, x86)
  • Dane przesyłane binarnie (minimalizujący rozmiar payloadu/pakietu i ogólny rozmiar danych przesyłanych przez medium transmisyjne.
  • Umożliwia komunikację przez LTE NBIoT (NB1/NB2) oraz LoRaWAN gdzie występują bardzo duże ograniczenia odnośnie wielkości pakietów i ilości przesyłanych danych.
  • Wielokrotna minimalizacja zużycia baterii podczas transmisji dzięki znacznie krótszym paczkom danych.
  • Dwukierunkowa transmisja z potwierdzeniami (ACK):
    • Serwer => Urządzenie (ACK, komendy sterujące, konfiguracja)
    • Urządzenie => Serwer (statusy, komendy sterujące, logi, ACK)
  • Zabezpieczenia przeciwko atakom:
    • Czasowe zablokowanie lub ignorowanie adresu IP urządzeń atakujących - wykrywane na podstawie wielokrotnych błędnych autoryzacji, powtórzonych lub błędnych pakietów
    • "Przeskakiwanie" na przypadkowy numer portu UDP dla wielokrotnych transmisji z tym samym urządzeniem
  • Różne rodzaje komunikacji: UDP, TCP lub HTTP
  • Wykorzystanie ogólnie znanych systemów bazodanowych (DB) MySQL lub MariaDB dla zapisu danych
  • Niezależne bramki komunikacyjne z bezpośrednim dostępem do baz danych dla zapewnienia stabilności, operacyjności, wydajności:
    • UDP <=> DB
    • HTTP <=> DB
    • TCP <=> DB
  • Opcjonalne buforowanie (cache) danych w plikach dla zapewnienia 100% przechwycenia danych.
  • Dane są szyfrowane zgodnie z protokołem IoT/IoE, z indywidualną tabelą szyfrującą dla każego partnera.
  • Opcjonalnie dostarczamy kompletne urządzenia IoT "Node" dla partnerów do bezpośredniej łączności z chmurą IoT/IoE do komunikacji, szyfrowania, weryfikacji, dla wielu interfejsów komunikacyjnych (WiFi, Ethernet, GSM, LoRaWAN, itd.).
  • Opcjonalnie dostarczamy bramki pozwalające na bezpośrednią łączność z chmurą IoT/IoE dla głównych interfejsów komunikacyjnych (UART/RS232/RS485/RS422,CAN, RF, IR, BlueTooth/BLE, SPI/I2C)
  • Opcjonalnie dostarczamy bramki pozwalające na bezpośrednią komunikację z chmurą IoT/IoE dla głównych protokołów wykorzystanych w automatyce (BACNet, MQTT, Modbus, DMX, Dali, standardy podczerwieni IR)
Protokół IoE/IoT:
  • Niezależność od protokołów i interfejsów komunikacyjnych (szyfrowanie + sprawdzenie danych)
  • Dane binarne i tekstowe
  • Mały wzrost payload'u danych do transmisji po zaszyfrowaniu
  • Dostarczony kod źródłowy w języku "C" dla mikrokontrolera (urządzeń "Nodes") dla każdego partnera po podpisaniu umowy zachowania tajemnicy NDA i wykupienia Licencji.
  • Wykorzystanie unikalnej i rotacyjnej tabeli szyfrowania (do 1024 Bytów) dla każdego partnera/aplikacji
  • Użycie podwójnej sumy kontrolnej (dla zaszyfrowanych i niezaszyfrowanych danych) do szybkiego sprawdzenia poprawności danych
  • Użycie wielopoziomowego algorytmu szyfrowania/deszyfrowania i weryfikacji danych
  • Znacznik czasu do ustawienia zegara, synchronizacji czasu, wykrycia pakietów powtórzonych, rozłożenia w czasie statusów przesyłanych z bardzo dużej ilości sterowników
  • Wykorzystanie dynamicznie zmienianego algorytmu do autoryzacji danych (zależne między innymi od znacznika czasu, typu urządzenia, unikalnego adresu, licznika transmisji)
Platforma @City IoT Back-End/Front-End