Skip to Content
Tworzenie aplikacji IoTZbuduj swoją pierwszą aplikację

Zbuduj swoją pierwszą aplikację

Ten przewodnik prowadzi przez typowy przepływ pracy budowania aplikacji IronFlock, która zbiera dane z urządzeń brzegowych i wyświetla je na panelach w czasie rzeczywistym.

1. Zaprojektuj model danych

Zacznij w pliku .ironflock/data-template.yml. Pomyśl o dwóch kategoriach tabel:

  • Tabele encji — śledzą aktualny stan rzeczy (urządzeń, maszyn, połączeń). Wiersze są dołączane przy każdej zmianie; maintainLatestFlagFor deklaruje, które kolumny identyfikują encję, dzięki czemu najnowszy wiersz każdej encji można odczytać na żądanie.
  • Tabele szeregów czasowych — zbierają pomiary w czasie (odczyty czujników, metryki). Każdy wiersz to nowy punkt danych ze znacznikiem czasu.
data: tables: # Tabela encji: jeden wiersz per urządzenie, aktualny stan zawsze dostępny - tablename: devices maintainLatestFlagFor: ['device_key'] columns: - id: tsp dataType: timestamp - id: device_key dataType: string - id: status dataType: string - id: device_name dataType: string - id: deleted dataType: boolean # Tabela szeregów czasowych: okresowe odczyty z podłączonego sprzętu - tablename: readings columns: - id: tsp dataType: timestamp - id: server_id dataType: string - id: metric dataType: string - id: value dataType: numeric

2. Skonfiguruj środowisko testowe

Aby testować swoją aplikację, potrzebujesz środowiska deweloperskiego w projekcie z co najmniej jednym urządzeniem online:

  1. Kliknij Develop na stronie szczegółów aplikacji, aby otworzyć Cloud IDE.
Strona szczegółów aplikacji pokazująca przycisk Develop
  1. Wybierz urządzenie online z dowolnego projektu, do którego masz dostęp.
Selektor urządzeń pokazujący dostępne urządzenia w projektach
  1. Kliknij Create Backend w panelu bocznym, aby stworzyć środowisko deweloperskie w bazie danych tego projektu.
Panel boczny z kontrolkami Edge Development i przyciskiem Create Backend

To tworzy instancje tabel zdefiniowanych w data-template.yml w bazie danych projektu.

Cloud IDE z edytorem kodu i panelem Edge Development

3. Napisz kod brzegowy

Twój kontener Docker działa na urządzeniu i używa SDK IronFlock do interakcji z bazą danych projektu.

Rejestruj urządzenie przy uruchomieniu

Gdy komponent brzegowy się uruchamia, dołącz wiersz do tabeli encji devices:

import asyncio from ironflock import IronFlock async def main(): await flock.append_to_table("devices", { "device_key": os.environ.get('DEVICE_KEY'), "tsp": now, "status": "online", "device_name": os.environ.get('DEVICE_NAME'), "deleted": False }) flock = IronFlock(mainFunc=main) flock.run()

Zbieraj dane szeregów czasowych

Po nawiązaniu połączeń sprzętowych przeprowadzaj cykliczne polling i zapisuj odczyty do tabeli readings:

async def polling_loop(server_id, client): while True: values = client.read_registers() for metric, value in values.items(): await flock.publish_to_table("readings", { "server_id": server_id, "metric": metric, "value": value }) await asyncio.sleep(5)

4. Zbuduj panel

Otwórz edytor paneli i dodaj widgety połączone z tabelami backendu danych.

Pokaż status urządzenia

Dodaj widget Tabela połączony z tabelą devices. Włącz przełącznik latest w ustawieniach filtrów widgetu, aby zawsze pokazywał aktualny stan każdego urządzenia.

Wizualizuj dane szeregów czasowych

Dodaj widget Wykres liniowy połączony z tabelą readings. Ustaw oś X na kolumnę tsp i oś Y na value. Filtruj według metric, aby pokazywać odczyty dla konkretnej metryki.

5. Przetestuj i zopublikuj

  1. Użyj terminala Cloud IDE, aby uruchomić kod brzegowy na urządzeniu testowym.
  2. Sprawdź czy dane pojawiają się na panelu.
  3. Gdy wszystko działa, utwórz Wydanie, aby wdrożyć aplikację na urządzenia produkcyjne.
Last updated on