API SensorThings
Skrót | OGC STA |
---|---|
Status | Specyfikacja implementacji standardu OGC |
Rok rozpoczęty | 2015 |
Ostatnia wersja | 1.0 |
Redaktorzy | Steve Liang ( SensorUp ), Chih-Yuan Huang ( National Central University ), Tania Khalafbeigi ( SensorUp ) |
Normy bazowe | JSON , OGC/ISO 19156:2011 O&M |
Domena | Otwarte Konsorcjum Geoprzestrzenne , Internet Rzeczy |
Strona internetowa | Standardowa strona GitHub API OGC SensorThings |
Skrót | OGC STA |
---|---|
Status | Specyfikacja implementacji standardu OGC |
Rok rozpoczęty | 2018 |
Ostatnia wersja | 1.0 |
Redaktorzy | Steve Liang ( SensorUp ), Tania Khalafbeigi ( SensorUp ) |
Normy bazowe | OGC SPS |
Domena | Otwarte Konsorcjum Geoprzestrzenne , Internet Rzeczy |
Strona internetowa | Standardowa strona GitHub API OGC SensorThings |
Skrót | OGC STA |
---|---|
Status | Dokument do dyskusji OGC |
Rok rozpoczęty | 2018 |
Ostatnia wersja | 1.0 |
Redaktorzy | Steve Liang ( SensorUp ), Tania Khalafbeigi ( SensorUp ), Kan Luo (Uniwersytet Calgary) |
Normy bazowe | OGC SensorRzeczy |
Domena | Otwarte Konsorcjum Geoprzestrzenne , Internet Rzeczy |
Strona internetowa | Strona pobierania podstawowego dokumentu dyskusyjnego OGC SensorThings API Tasking |
SensorThings API to standard Open Geospatial Consortium (OGC) zapewniający otwartą i ujednoliconą platformę do łączenia urządzeń wykrywających IoT , danych i aplikacji przez Internet. Jest to otwarty standard dotyczący interoperacyjności składniowej i semantycznej interoperacyjności Internetu przedmiotów. Uzupełnia istniejące protokoły sieciowe IoT, takie jak CoAP , MQTT , HTTP , 6LowPAN . Podczas gdy wyżej wymienione protokoły sieciowe IoT odnoszą się do możliwości różnych systemów IoT do wymiany informacji, API OGC SensorThings dotyczy zdolności różnych systemów IoT do wykorzystywania i rozumienia wymienianych informacji. Jako standard OGC, SensorThings API umożliwia również łatwą integrację z istniejącymi Infrastruktury Danych Przestrzennych czy Systemy Informacji Geograficznej .
Interfejs API OGC SensorThings składa się z dwóch części: (1) Część I — Wykrywanie i (2) Część II — Zadania. OGC SensorThings API Part I — Sensing został udostępniony do publicznego komentowania 18 czerwca 2015 r. Komitet Techniczny OGC (TC) zatwierdza rozpoczęcie głosowania elektronicznego 3 grudnia 2015 r., a interfejs API SensorThings Part I — Sensing przeszedł głosowanie TC w lutym 1, 2016. Oficjalna specyfikacja standardu OGC została opublikowana online 26 lipca 2016 r. W 2019 r. API SensorThings zostało również opublikowane jako specyfikacja techniczna ITU-T Organizacji Narodów Zjednoczonych.
OGC SensorThings API Part II — Tasking Core został udostępniony do publicznego komentowania 20 lutego 2018 r. i przeszedł głosowanie TC 1 czerwca 2018 r. Oficjalna standardowa specyfikacja OGC dla SensorThings API Part II — Tasking Core została opublikowana online w styczniu 8, 2019.
Aby zapewnić lepszą obsługę programistów, dnia 18 grudnia 2018 r. opublikowano online dokument SensorThings API Part II — Tasking Core Discussion Paper. Dokument Tasking Core Discussion zawiera 15 przykładów w formacie JSON pokazujących, w jaki sposób można używać SensorThings API Part II — Tasking Core.
Projekt
Interfejs API SensorThings został zaprojektowany specjalnie z myślą o urządzeniach IoT o ograniczonych zasobach i społeczności programistów internetowych. Jest zgodny z zasadami REST , kodowaniem JSON oraz protokołem OASIS OData i konwencjami adresów URL. Ma również MQTT , które umożliwia użytkownikom/urządzeniom publikowanie i subskrybowanie aktualizacji z urządzeń, a oprócz HTTP może korzystać z CoAP .
Podstawą interfejsu API SensorThings jest jego model danych oparty na normie ISO 19156 (ISO/OGC Observations and Measurements ), która definiuje koncepcyjny model obserwacji i funkcji związanych z próbkowaniem podczas dokonywania obserwacji. W kontekście SensorThings funkcje są modelowane jako Things , Sensors ( tj . Procedury w O&M) oraz Feature of Interests . W rezultacie interfejs API SensorThings zapewnia interoperacyjny widok skupienia na obserwacji, który jest szczególnie przydatny do pogodzenia różnic między heterogenicznymi systemami wykrywania (np. in-situ i czujnikami zdalnymi).
Urządzenie lub system IoT jest modelowane jako Rzecz . Rzecz ma dowolną liczbę Lokacji (w tym 0 Lokacji ) i dowolną liczbę Strumieni Danych (w tym 0 Strumieni Danych ). Każdy strumień danych obserwuje jedną ObservedProperty za pomocą jednego czujnika i ma wiele obserwacji zebranych przez czujnik . Każda obserwacja dotyczy jednej konkretnej interesującej cechy . Model oparty na O&M umożliwia SensorThings dostosowanie się do heterogenicznych urządzeń IoT i danych gromadzonych przez te urządzenia.
SensorThings API zapewnia dwie główne funkcjonalności, z których każda jest obsługiwana przez część. Te dwa profile to część Wykrywanie i część Zadania. Część Sensing zapewnia standardowy sposób zarządzania i pobierania obserwacji i metadanych z heterogenicznych systemów czujników IoT, a funkcje części Sensing są podobne do usługi obserwacyjnej czujnika OGC . Część Tasking zapewnia standardowy sposób parametryzacji — zwany także przydzielaniem zadań — urządzeń IoT, które mogą wykonywać zadania, takich jak czujniki lub siłowniki. Funkcje części Tasking są podobne do usługi planowania czujnika OGC . Część wykrywająca została zaprojektowana w oparciu o ISO/OGC Obserwacje i pomiary (O&M) modelują i umożliwiają urządzeniom i aplikacjom IoT TWORZENIE, ODCZYTYWANIE, AKTUALIZOWANIE i USUWANIE ( tj . HTTP POST, GET, PATCH i DELETE) danych i metadanych IoT w usłudze SensorThings.
Podmioty (zasoby)
SensorThings API Part I — Sensing definiuje następujące zasoby. Ponieważ SensorThings jest usługą sieciową RESTful, każdą jednostkę można TWORZEĆ, CZYTAĆ, AKTUALIZOWAĆ i USUWAĆ za pomocą standardowych czasowników HTTP ( POST , GET , PATCH i DELETE):
-
Rzecz
: Przedmiot świata fizycznego (rzeczy fizyczne) lub świata informacyjnego (rzeczy wirtualne), który można zidentyfikować i zintegrować z sieciami komunikacyjnymi. -
Lokalizacje
: Lokalizuje rzecz lub rzeczy, z którymi jest powiązana. -
HistoricalLocations
: Zestaw zawiera aktualną (tzn. ostatnią znaną) i poprzednią lokalizację Rzeczy wraz z ich czasem. -
Datastream
: Zbiór obserwacji i obserwacje w strumieniu danych mierzą tę samą ObservedProperty i są tworzone przez ten sam czujnik . -
ObservedProperty
: Określa zjawisko Obserwacji . -
Czujnik
: Instrument, który obserwuje właściwość lub zjawisko w celu oszacowania wartości właściwości. -
Obserwacja
: Akt pomiaru lub innego określenia wartości nieruchomości. -
FeatureOfInterest
: Wynikiem obserwacji jest przypisanie wartości do zjawiska . Zjawisko jest właściwością cechy, przy czym ta ostatnia jest FeatureOfInterest obserwacji .
Oprócz powyższych zasobów związanych z wykrywaniem, SensorThings API Part II — Tasking Core definiuje następujące zasoby:
-
TaskingCapabilities
: Określa możliwe do zadania parametry siłownika. -
Zadania
: kolekcja zadań, która została utworzona. -
Siłownik
: rodzaj przetwornika, który przekształca sygnał w rzeczywiste działanie lub zjawisko.
Przykładowa ładowność
http://example.org/v1.0/Datastream(id)/Observations
{ "@iot.count" : 2 , "value" : [ { "@iot.id" : 1 , "@iot.selfLink" : "http://example.org/v1.0/Observations(1)" , "phenomenonTime" : "2016-01-01T05:00:00.000Z" , "result" : "-9" , "resultTime" : null , "[email protected]" :
"http://example.org/v1.0/Observations(1)/Datastream" , "[email protected]" : "http://example.org/v1.0/Observations(1)/FeatureOfInterest" } , { "@iot.id" : 2 , "@iot.selfLink" : "http://example.org/v1.0/Observations(2)" , "phenomenonTime" : "2016-01-01T04:00: 00.000Z" , "wynik" : "-10" , "czas wyniku"
: null , "[email protected]" : "http://example.org/v1.0/Observations(2)/Datastream" , "[email protected]" : "http://example.org/v1 .0/Observations(2)/CechaZainteresowania" } ] }
Rozszerzenia macierzy danych
Aby zmniejszyć rozmiar danych przesyłanych przez sieć, rozszerzenie tablicy danych SensorThings API umożliwia użytkownikom żądanie wielu jednostek obserwacji i formatowanie jednostek w formacie dataArray. Gdy usługa SensorThings zwraca odpowiedź dataArray, usługa grupuje jednostki Observation według Datastream lub MultiDatastream, co oznacza, że jednostki Observation, które łączą się z tym samym Datastream lub tym samym MultiDatastream, są agregowane w jednej tablicy dataArray.
Przykładowe żądanie tablicy danych
http://example.org/v1.0/Observations?$resultFormat=dataArray
Przykładowa odpowiedź tablicy danych
{ "value" : [ { "[email protected]" : "http://example.org/v1.0/Datastreams(1)" , "components" : [ "id" , "phenomenonTime" , "resultTime" , "wynik" ], "[email protected]" : 3 , "dataArray" : [ [ 1 , "2005-08-05T12:21:13Z" ,
0
"2005-08-05T12:21:13Z" , 20 ], [ 2 , "2005-08-05T12:22:08Z" , "2005-08-05T12:21:13Z" , 30 ], [ 3 , "2005 -08-05T12:22:54Z" , "2005-08-05T12:21:13Z" , ] ] } ] }
Ocena
Interoperacyjność między OpenIoT i SensorThings „ Wierzymy, że wdrożenie interfejsu API SensorThing będzie znaczącym ulepszeniem oprogramowania pośredniego OpenIoT. Zapewni OpenIoT znormalizowany i naprawdę łatwy w użyciu interfejs do wartości czujników. Uzupełni to bogate usługi wnioskowania semantycznego o prosty interfejs oparty na zasobach. Spójne mapowanie modelu danych zapewnia wspólny kontekst do opisu Internetu rzeczy ”.
Wydajność API SensorThings Kompleksowa ocena API SensorThings została opublikowana w Jazayeri, Mohammad Ali, Steve HL Liang i Chih-Yuan Huang. „Wdrożenie i ocena czterech interoperacyjnych otwartych standardów dla Internetu przedmiotów”. Czujniki 15.9 (2015): 24343-24373 .
cytaty
Interfejs API SensorThings został zademonstrowany w ramach projektu pilotażowego sponsorowanego przez Departament Nauki i Technologii Departamentu Bezpieczeństwa Wewnętrznego . Dr Reginald Brothers, Podsekretarz Nauki i Technologii Bezpieczeństwa Wewnętrznego, był „pod wrażeniem„ stanu praktycznego ”, w którym te różne czujniki przemysłowe można dziś zintegrować przy użyciu otwartych standardów, które usuwają ograniczenia związane z jednorazowymi technologiami.
Standardowa specyfikacja API OGC SensorThings
-
Interfejs API OGC® SensorThings, część 1: Wykrywanie
- Wewnętrzny numer referencyjny tego dokumentu OGC®: 15-078r6
- Data złożenia: 2015-06-18
- Data publikacji: 2016-07-26
- Redaktor: Steve Liang ( Uniwersytet Calgary / SensorUp )
- Współredaktorzy: Chih-Yuan Huang ( National Central University ) / Tania Khalafbeigi ( University of Calgary / SensorUp )
-
Interfejs API OGC® SensorThings, część 2: Rdzeń zadań
- Wewnętrzny numer referencyjny tego dokumentu OGC®: 17-079r1
- Data złożenia: 2017-10-13
- Data publikacji: 2019-01-08
- Redaktor: Steve Liang ( Uniwersytet Calgary / SensorUp )
- Współredaktorzy: Tania Khalafbeigi ( University of Calgary / SensorUp )
- Dokumentacja API programisty
- Piaskownica API SensorThings
- Pakiet testów zgodności SensorThings
Darmowe i otwarte implementacje API SensorThings
Wąsy
W marcu 2016 r. SensorUp i GeoSensorWeb Lab na Uniwersytecie Calgary przesłały do Fundacji Eclipse propozycję projektu oprogramowania open source, która została zatwierdzona. Projekt nazywa się Wąsy . Whiskers to framework API OGC SensorThings. Będzie mieć JavaScript i lekki serwer dla bramek IoT (np. Raspberry Pi lub BeagleBone). Whiskers ma na celu wspieranie zdrowego i otwartego ekosystemu IoT, w przeciwieństwie do ekosystemu zdominowanego przez zastrzeżone silosy informacyjne. Whiskers ma na celu ułatwienie rozwoju SensorThings dużemu i rozwijającemu się światu programistów IoT.
GOST
GOST to otwarta implementacja API SensorThings w języku programowania Go, zainicjowana przez firmę Geodan. Zawiera łatwe do wdrożenia oprogramowanie serwerowe i klienta JavaScript. Obecnie (czerwiec 2016) jest w fazie rozwoju, ale pierwszą wersję można już pobrać i wdrożyć. Oprogramowanie można zainstalować na dowolnym urządzeniu obsługującym Docker lub Go (np. Windows, Linux, Mac OS i Raspberry Pi). Domyślnie dane z czujników są przechowywane w PostgreSQL .
MRÓZ
FROST-Server to implementacja serwera Open Source API OGC SensorThings. FROST-Server implementuje całą specyfikację, łącznie ze wszystkimi rozszerzeniami. Jest napisany w Javie i może działać w Tomcat lub Wildfly i jest dostępny jako obraz Dockera. Wśród wielu jego funkcji jest możliwość używania identyfikatorów jednostek opartych na łańcuchach lub UUID.
FROST-Client to biblioteka kliencka Java do komunikacji z serwerem kompatybilnym z API SensorThings.
Zestaw SDK do tworzenia wykresów SensorThings HcDT
SensorThings HcDT to biblioteka wykresów JavaScript dla interfejsu API OGC SensorThings. Opiera się na otwartej bibliotece [ potrzebne wyjaśnienie ] Highcharts i DataTables . Jest to biblioteka wykresów typu front-end, która umożliwia programistom łączenie się ze strumieniami danych z dowolnej usługi API OGC SensorThings i wyświetlanie obserwacji czujników na wykresach, tabelach lub widżetach pulpitu nawigacyjnego dla aplikacji internetowych.
Mozilla STA
Mozilla opracowała implementację węzła API OGC SensorThings.
52° Północ STA
52N SensorThingsAPI to implementacja typu open source interfejsu API OGC SensorThings. Jego podstawowymi cechami są interoperacyjność z 52N SOS , wdrażająca usługę obserwacyjną czujnika OGC , konfigurowalne mapowania bazy danych i kilka wygodnych rozszerzeń. Może zostać wdrożony jako kontener Docker, wewnątrz Apache Tomcat lub jako samodzielna aplikacja.
Przykładowe zastosowania
Departamentu Bezpieczeństwa Wewnętrznego S&T Shaken Fury
W 2019 roku eksperyment operacyjny Shaken Fury dla programu DHS Next Generation First Responder przedstawia scenariusz trzęsienia ziemi powodującego częściowe zawalenie się konstrukcji i wyciek HAZMATu na stadionie. Interfejs API OGC SensorThings jest używany jako standardowy interfejs, który łączy wiele czujników i oferuje świadomość sytuacyjną w czasie rzeczywistym z obsługą IoT.
Inteligentni obywatele dla inteligentnych miast YYC — pomiar jakości powietrza pozyskiwany z tłumu
8 października 2016 r. grupa ochotników (inteligentnych obywateli) z Calgary zebrała się, zmontowała własne czujniki, zainstalowała je w swoich domach i utworzyła sieć czujników jakości powietrza. Wszystkie dane są publicznie dostępne za pośrednictwem interfejsu API OGC SensorThings. Dzięki tym wysiłkom obywatelskim liczba czujników jakości powietrza w Calgary wzrosła z 3 do ponad 50.
Inteligentny projekt emisji w Nijmegen, Holandia
Inteligentna emisja to projekt monitorowania jakości powietrza w mieście Nijmegen w Holandii. W ramach projektu wdrożono wiele czujników jakości powietrza w całym mieście. Dane są publikowane z wykorzystaniem otwartych standardów, w tym API OGC SensorThings. Częścią projektu jest silnik ETL typu open source do ładowania danych z czujników projektu do interfejsu API OGC SensorThings.
Pulpit nawigacyjny SensorThings
Ten pulpit nawigacyjny zapewnia łatwą w obsłudze wizualizację po stronie klienta danych z czujników Internetu rzeczy z serwerów zgodnych z interfejsem API OGC SensorThings. Na pulpicie nawigacyjnym można rozmieścić i skonfigurować różne typy widżetów. Jest to aplikacja internetowa, którą można osadzić na dowolnej stronie internetowej. Demo na żywo jest dostępne na stronie projektu . https://github.com/SensorThings-Dashboard/SensorThings-Dashboard
Panel kontrolny GOST v2
GOST Dashboard v2 to otwarta biblioteka niestandardowych elementów HTML (komponentów sieciowych) obsługująca API SensorThings. Elementy te ułatwiają tworzenie aplikacji HTML integrujących funkcjonalność i dane z usług kompatybilnych z API SensorThings. Komponenty zostały opracowane przy użyciu Predix-UI i Polymer .
Projekt AFarCloud OGC Connector
Złącze umożliwia interoperacyjność między źródłami danych zgodnymi z OGC a semantycznym oprogramowaniem pośrednim opracowanym w ramach projektu ECSEL AFarCloud w ramach programu Horyzont 2020 . Jest to modułowa aplikacja Java z wdrożeniem opartym na Dockerze, zaimplementowana zgodnie ze standardem implementacji 15-078r6 OGC SensorThings API 1.0.
Porównanie API OGC SensorThings i usług obserwacyjnych OGC Sensor
SensorThings API zapewnia funkcje podobne do OGC Sensor Observation Service , specyfikacji OGC zatwierdzonej w 2005 roku. Obie standardowe specyfikacje wchodzą w skład standardowego pakietu OGC Sensor Web Enablement . Poniższa tabela podsumowuje różnice techniczne między dwiema specyfikacjami.
Interfejs API OGC SensorThings | Usługa obserwacji czujnika OGC (SOS) | |
---|---|---|
Kodowanie | JSON | XML |
Styl architektury | Architektura zorientowana na zasoby | architektura zorientowana na usługi |
Wiążący | ODPOCZYNEK | MYDŁO |
Wstawianie nowych czujników lub obserwacji | HTTP POST (np. CRUD ) | przy użyciu interfejsów specyficznych dla SOS, np. RegisterSensor(), InsertObservation() |
Usuwanie istniejących czujników | USUŃ HTTP | przy użyciu interfejsów specyficznych dla SOS, tj. DeleteSensor() |
Paginacja | $top, $skip, $nextLink | Nieobsługiwany |
Obsługa publikacji/subskrypcji | Rozszerzenie MQTT i SensorThings MQTT | Nieobsługiwany |
Aktualizowanie właściwości istniejących czujników lub obserwacji | POPRAWKA HTTP i POPRAWKA JSON | Nieobsługiwany |
Usuwanie obserwacji | USUŃ HTTP | Nieobsługiwany |
Połączona obsługa danych | JSON-LD | Nieobsługiwany |
Zwróć tylko właściwości wybrane przez klienta | $wybierz | Nieobsługiwany |
Zwracaj wiele encji O&M (np. FeatureOfInterest i Observation) w jednym żądaniu/odpowiedzi | $rozwiń | Nieobsługiwany |
Spinki do mankietów
- Interfejs API SensorThings — GitHub
- Prezentacja : Czujniki podłączonych aplikacji za pomocą interfejsu API OGC SensorThings (FOSS4G)
- Rozdział: Mapowanie interfejsu API OGC SensorThings na oprogramowanie pośredniczące OpenIoT
- Samouczek w YouTube: pierwsze kroki, seria nr 1 , seria samouczków SensorThings nr 2 i seria samouczków SensorThings nr 3
- Zastosowanie : SensorThings Playground umożliwia zainteresowanym osobom i organizacjom eksperymentowanie z systemem SensorThings w przyjaznym procesie krok po kroku.
- ^ „API API OGC SensorThings” . Otwarte konsorcjum geoprzestrzenne . Źródło 2018-02-20 .
- ^ „OGC szuka publicznego komentarza na temat standardu API SensorThings dla Internetu przedmiotów | OGC” . www.opengeospatial.org . Źródło 2016-01-26 .
- ^ „Specyfikacja techniczna D3.2 — interfejs API SensorThings — wykrywanie” . www.itu.int . Źródło 2019-07-17 .
- ^ „OGC szuka publicznego komentarza na temat kandydującego standardu„ SensorThings API Part 2 - Tasking Core ”do użytku w Internecie rzeczy | OGC” . www.opengeospatial.org . Źródło 2018-02-21 .
- ^ „Odniesienie do interfejsu API” . www.sensorup.com . Źródło 2016-01-26 .
- ^ a b Liang, Steve; Huang, Chih-Yuan; Khalafbeigi, Tania, wyd. (2016-07-26). Interfejs API OGC® SensorThings, część 1: Wykrywanie .
- ^ „Model danych SensorThings” . ogc-iot.github.io . Źródło 2016-01-26 .
- Bibliografia _ „Y.2060: Przegląd Internetu rzeczy” . www.itu.int . Źródło 2016-01-26 .
- ^ a b „ISO 19156:2011 - Informacje geograficzne - Obserwacje i pomiary” . www.iso.org . Źródło 2016-01-26 .
- ^ a b Liang, Steve; Khalafbeigi, Tania, wyd. (2019-01-08). Interfejs API OGC® SensorThings, część 2: Rdzeń zadań .
- ^ „Język modelu czujnika (SensorML) | OGC” . www.opengeospatial.org . Źródło 2018-02-21 .
- ^ Schaaf, Hylke van der; Herzog, Reinhard (2015-01-01). Žarko, Ivana Podnar; Pripužić, Krešimir; Serrano, Martin (red.). Mapowanie interfejsu API OGC SensorThings na oprogramowanie pośredniczące OpenIoT . Notatki z wykładów z informatyki. Międzynarodowe wydawnictwo Springera. s. 62–70. doi : 10.1007/978-3-319-16546-2_6 . ISBN 9783319165455 .
- ^ „OGC ogłasza pomyślne zakończenie programu pilotażowego IoT dotyczącego udostępniania informacji o zarządzaniu incydentami” .
- ^ „Pilotażowy program S&T dotyczący Internetu przedmiotów demonstruje„ stan praktyczny ” ” . 2016-01-25 . Źródło 2016-02-14 .
- ^ „Whisker, propozycja projektu Eclipse” . 2016-03-11 . Źródło 2016-03-24 .
- Bibliografia _ _ GitHub . Źródło 2016-06-30 .
- ^ "Serwer FraunhoferIOSB/FROST" . GitHub . Źródło 2018-07-04 .
- ^ "Klient FraunhoferIOSB/FROST" . GitHub . Źródło 2018-07-04 .
- ^ "SensorThings Highchart and DataTable (HcDT) | SensorUp" . www.sensorup.com . Źródło 2016-08-31 .
- ^ "mozilla-sensorweb/sensorthings" . GitHub . Źródło 2017-03-05 .
- Bibliografia Linki zewnętrzne _ _
- ^ „Informacja prasowa: S&T, przemysł, partner ratowników w ocenie technologii” . Departament Bezpieczeństwa Wewnętrznego . 2019-06-10 . Źródło 2019-07-17 .
- ^ „Podręcznik integracji NGFR” . Departament Bezpieczeństwa Wewnętrznego . 2018-02-06 . Źródło 2019-07-17 .
- ^ „Pilot z czujnikiem Calgary pomaga zaplanować bieg z najlepszą jakością powietrza | Metro News” . metronews.ca . Źródło 2016-11-04 .
- ^ „Jakość powietrza w Calgary” . calgary-air.sensorup.com . Źródło 2016-11-04 .
-
^
współautorzy, Just van den Broecke - oryginał Geonovum: Mark Otto, Jacob Thornton i Bootstrap. „Inteligentna emisja” . data.smartemission.nl . Źródło 2016-11-04 .
{{ cite web }}
:|last=
ma nazwę ogólną ( pomoc ) - Bibliografia Linki zewnętrzne GitHub . Źródło 2016-11-04 .
- ^ Kepka, Michał; Černý, Lukáš; Brada, Premek (listopad 2020). „Otwarty system monitorowania zjawisk środowiskowych (streszczenie plakatu)” . Materiały z 18. Konferencji ACM na temat wbudowanych sieciowych systemów czujników (SenSys '20) . ACM. doi : 10.1145/3384419.3430443 . S2CID 227154703 .
- ^ „Porównanie interfejsu API SensorThings i usługi obserwacji czujników” . Źródło 2016-02-29 .