- Co to jest API i do czego jest przydatne?
- 1. OpenHAB REST API
- 2. API Mozilla Web Things
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. Home Assistant API
- 8. Interfejsy API Things Network
- 9. ThingSpeak.io REST API
- 10. Odlewnia EdgeX
W dzisiejszym połączonym świecie Internet of Thins (IoT) nie jest już modnym słowem rzucanym przez ekspertów. To jest prawdziwe!! I można je znaleźć wszędzie wokół nas, zmieniając życie, ułatwiając lepsze usługi, ulepszając procesy, zapewniając nowe możliwości i zwiększając przychody.
Przy miliardach nowych urządzeń, które nie są jeszcze podłączone do Internetu, wpływ IoT z pewnością będzie przenoszony poza same urządzenia IoT do kilku innych aplikacji, wykorzystując dane dostarczane przez te urządzenia, aby osiągnąć wzrost społeczny i komercyjny. Dzieje się tak już teraz, ponieważ większość dzisiejszych organizacji, które nie mają wdrożonych rozwiązań IoT, nadal jest w stanie czerpać z tego korzyści, uzyskując dostęp do danych generowanych przez urządzenia wdrażane przez inne osoby przy użyciu ich interfejsów API.
Co to jest API i do czego jest przydatne?
Akronim API to skrót od Application Programming Interface, nie są one nowe i ograniczone do IoT, od dawna są używane w tworzeniu oprogramowania. Interfejsy API ułatwiają łatwą integrację różnych usług z produktami, umożliwiając używanie aplikacji napisanych w jednym języku przez oprogramowanie napisane w innym języku, pomagając w zmniejszeniu ogólnej infrastruktury i czasu potrzebnego na rozwój produktu. Te same zalety są obecnie przenoszone do aplikacji IoT z interfejsami API używanymi w różnych aplikacjach do ujawniania danych, które umożliwiają łączenie i łączenie wielu urządzeń w celu rozwiązywania nowych i interesujących przepływów pracy, ujawniając niewidoczne możliwości związane z IoT.
Podczas rejestracji w nowych usługach (powiedzmy Spotify), często spotykalibyśmy się z opcjami, takimi jak „Zaloguj się za pomocą Gmaila” lub „Zaloguj się za pomocą Facebooka”. To nic innego jak interfejsy API dostarczane przez Google / Facebook do Spotify, aby ułatwić procedurę rejestracji. Tutaj API udostępni Spotify podstawowe dane użytkownika, takie jak imię i nazwisko, identyfikator e-mail, numer telefonu itp. I pomoże Ci zaoszczędzić czas podczas procedury rejestracji. Podobnie dostępne są różne interfejsy API dla różnych potrzeb aplikacji.
Podobnie jak w przypadku oprogramowania, dostępnych jest kilka interfejsów API IoT do różnych zadań, ale większość z nich zwykle nie jest bezpłatna. W dzisiejszym samouczku przyjrzymy się 10 najlepszym, bardzo przydatnym (naszym zdaniem) API Open Source IoT, które pomogą Ci zmniejszyć koszty i czas tworzenia oprogramowania. Te interfejsy API są otwarte, bezpłatne (lub mają darmowe pakiety) i mogą być używane nie tylko przez profesjonalistów, ale także przez twórców, hobbystów i prawie każdego, kto uzna je za przydatne i zgadza się z warunkami użytkowania. Te interfejsy API nie są wymienione w określonej kolejności, zostały wybrane losowo w różnych branżach i prawdopodobnie nie są porównywalne, ponieważ wykonują różne zadania.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) to platforma automatyki domowej typu open source, niezależna od technologii, która pomaga łączyć i sterować inteligentnymi urządzeniami i „niezbyt inteligentnymi” urządzeniami domowymi w jednym miejscu. Umożliwia wykonywanie działań zdefiniowanych przez użytkownika przez urządzenia przy użyciu informacji zdefiniowanych przez użytkownika i narzędzi zdefiniowanych przez użytkownika. Aby to osiągnąć, openHAB segmentuje i dzieli pewne funkcje i operacje, do których dostęp można uzyskać za pośrednictwem interfejsu API REST openHAB.
Poprzez openHAB REST API użytkownicy mogą uzyskać dostęp do danych wszystkich urządzeń powiązanych z platformą, samych urządzeń (rzeczy) i powiązań, a także wydawać polecenia i akcje zmieniające stan, zachowanie lub właściwości urządzeń podłączonych do openHAB. Interakcja z API oparta jest na protokole; dlatego ważne jest, aby podczas pracy z nim zapewnić pewne i bezpieczne połączenia. Według strony internetowej openHAB, niektóre z interakcji możliwych za pośrednictwem openHAB REST API obejmują;
- Pobierz dane openHAB z aplikacji zewnętrznych
- Wstrzykiwanie danych i wyzwalanie zdarzeń w openHAB z zewnętrznych aplikacji (na przykład niektórych czujników ruchu lub kamer monitorujących)
- Sprawdź powiązania / rzeczy lub przedmioty openHAB, dowiedz się o aktualnych stanach, parametrach lub problemach
- Interakcja z openHAB z innych programów; Wiele języków programowania i narzędzi do automatyzacji może z łatwością korzystać z REST API
- Korzystanie z oprogramowania innych firm w telefonach komórkowych, takiego jak Tasker, do otwierania drzwi garażowych
Dokumentację, więcej przykładów i szczegółowe instrukcje dotyczące korzystania z API można znaleźć na stronie internetowej OpenHAB.
Aplikacje innych firm, takie jak Tasker, używane z openHAB to duży wskaźnik na to, jak interfejsy API otwierają ekonomię IoT, zapewniając możliwości tworzenia dodatkowej wartości w całym łańcuchu.
2. API Mozilla Web Things
Mozilla jest organizacją non-profit, której misją jest ochrona wolnej i otwartej sieci, a interfejs API rzeczy internetowych reprezentuje jej wysiłki zmierzające do rozszerzenia jej udziału w sieci na IoT. Według strony internetowej Web Things, interfejs API Web Things umożliwia użytkownikom dostarczanie unikalnych adresów URL do wszystkich podłączonych urządzeń w sieci WWW, dzięki czemu może być używany jako ujednolicająca warstwa aplikacji dla wszystkich urządzeń IoT.
Interfejs API Web Things, podobnie jak większość innych interfejsów API IoT, jest oparty na REST i umożliwia użytkownikom; uzyskać dostęp do właściwości urządzeń, określić aktualny stan każdego urządzenia i wydawać polecenia zmiany stanu urządzenia lub wykonywać akcje. Interfejs API WebThings ułatwia dostęp do zasobów reprezentujących każdy aspekt urządzenia, ponieważ do każdego zasobu odwołuje się niezależnie za pomocą adresu URL. Więcej informacji można znaleźć w witrynie Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap to usługa internetowa, która zapewnia dostęp do danych związanych z pogodą (temperatura, wilgotność, opady deszczu itp.), W tym aktualnej pogody, prognoz i danych historycznych dla twórców usług internetowych, aplikacji mobilnych i od niedawna IoT. Dane dostępne za pośrednictwem OpenWeatherMap pochodzą ze źródeł, takich jak stacje pogodowe dla majsterkowiczów, usługi transmisji meteorologicznej, lotniskowe stacje pogodowe i kilka innych źródeł. Omówiliśmy już, jak używać Openweather Map z Arduino do odczytu danych pogodowych z Internetu za pomocą ESP8266.
Dane są przetwarzane i sortowane w taki sposób, że poprzez API OpenWeatherMap można budować rozwiązania IoT, które wykorzystują te dane do informowania i automatyzowania zadań. Na przykład dane prognostyczne za pośrednictwem interfejsu API można wprowadzić do systemu / urządzenia alarmowego w celu ostrzeżenia rolników o możliwej ulewnej ulewie i kilku innych możliwościach.
Podczas gdy większość funkcji OpenWeatherMap jest płatna, bezpłatny pakiet ma niezwykle przydatne funkcje, które mogą całkiem dobrze obsługiwać większość projektów IoT. Dokumentację i inne szczegóły dotyczące API można znaleźć na stronie openWeatherMap.
4. EmonCMS API
EmonCMS to potężna aplikacja internetowa typu open source do przetwarzania, rejestrowania i wizualizacji danych. Jest to efekt starań grupy OpenEnergyMonitor, aby, jak sama nazwa wskazuje, ułatwić urządzenia do monitorowania energii typu open source poprzez analizę danych środowiskowych. Zasadniczo jest to narzędzie do wizualizacji danych, w którym dane z kilku monitorów energiiczujniki mogą być przeglądane. Aby ułatwić programistom dostęp do platformy, stworzono interfejs API łączności, który umożliwia interakcję z platformą podczas pracy na hoście lokalnym (LAN) lub przez Internet. EmonCMS API pozwala użytkownikom aktualizować stan urządzeń energetycznych na platformie, uzyskiwać odczyty i inne parametry wskazujące na stan urządzeń (jeśli urządzenie jest kompatybilne) z platformy oraz kilka innych funkcji.
Chcesz dodać wizualizację danych do swojego następnego rozwiązania IoT opartego na energii? EmonCMS może być właśnie tym, czego potrzebujesz. Więcej informacji na temat platformy i API można znaleźć na ich stronie internetowej.
5. Particle API
Particle API to interfejs programowania aplikacji opracowany przez Particle, aby umożliwić programistom łatwą pracę z ich platformą. Particle.IO to jeden z prawdziwych w branży dostawców kompleksowych rozwiązań IoT, który zapewnia sprzęt do urządzeń, komunikację komórkową, chmurę urządzeń i interfejsy aplikacji. Wcześniej używaliśmy Particle Cloud z Raspberry Pi do celów automatyki domowej.
Interfejs API Particle ułatwia programistom dostęp i integrację pełnej funkcjonalności Particle z innymi aplikacjami i urządzeniami. Według particle, API umożliwia programistom zapisywanie funkcji w oprogramowaniu ich urządzenia, a następnie wywoływanie ich w celu wykorzystania po stronie aplikacji w czasie rzeczywistym. Przykładowe metody API obejmują wyłączanie i włączanie Wi-Fi, podłączanie urządzeń, przełączanie stanu urządzeń, pozyskiwanie danych i ogólne zarządzanie urządzeniami.
Dokumentację i inne szczegóły dotyczące API można znaleźć na stronie ParticleIO.
6. Adafruit IO API
Adafruit to jedna z najpopularniejszych marek w świecie elektroniki dla majsterkowiczów, a ich decyzja o uruchomieniu platformy Adafruit IO dla rozwiązań IoT jakiś czas temu została dobrze przyjęta przez społeczność producentów / hobbystów elektroniki. Od tego czasu platforma stale się rozwija i służyła wielu twórcom, w tym mnie. Platforma Adafruit IO jest zasadniczo chmurą urządzeń z funkcjami wizualizacji danych, między innymi opartymi na interfejsie API Adafruit IO. Używaliśmy już Adafruit IO z PIC i innymi platformami programistycznymi, takimi jak ESP i Raspberry Pi.
Według Adafruit, Adafruit IO HTTP API zapewnia użytkownikom dostęp do ich danych Adafruit IO z dowolnego języka programowania lub środowiska sprzętowego, które obsługuje protokół HTTP. Dzięki temu mogą projektować systemy, które podejmują działania na podstawie danych i wprowadzają zmiany w urządzeniu, przesyłając informacje do urządzeń.
Platforma Adafruit IO jest jedną z najłatwiejszych w obsłudze platform i jest jedną z moich ulubionych w projektach DIY IoT. Dokumentację i więcej szczegółów można znaleźć na stronie internetowej Adafruit IO.
7. Home Assistant API
Home Assistant to prowadzony przez społeczność system automatyki domowej typu open source podobny do openHAB. Podobnie jak inne platformy, Home Assistant jest sterowany przez Home Assistant Python REST API, który zapewnia dostęp do metod danych dla usługi kontrolnej Home Assistant.
Umożliwia użytkownikom edycję konfiguracji, zwracanie podstawowych informacji o instancji Home Assistant, zwracanie wszystkich danych potrzebnych do bootstrapu, zwracanie tablicy obiektów zdarzeń i nie tylko. Interfejs API akceptuje i zwraca tylko obiekty zakodowane w formacie JSON, które zawierają nazwę zdarzenia, liczbę detektorów i inne. Opiera się na Pythonie 3 i pomaga w bezproblemowym śledzeniu i kontrolowaniu wszystkich zarejestrowanych urządzeń domowych, niezależnie od tego, czy rejestracja została dokonana za pośrednictwem sieci, czy aplikacji mobilnej. Dokumentację i więcej szczegółów na temat API można znaleźć na stronie Home Assistant.
8. Interfejsy API Things Network
LoRa staje się jednym z preferowanych kanałów komunikacji ze względu na duży zasięg, niskie zużycie energii oraz inne funkcje. Things Network (TTN) to inicjatywa społecznościowa typu open source, której celem jest zbudowanie globalnej otwartej sieci LoRaWAN w celu stworzenia otwartej infrastruktury ułatwiającej rozwój rozwiązań IoT opartych na LoRa. W związku z tym TTN zapewnia zestaw otwartych narzędzi i globalną, otwartą sieć zapewniającą maksymalne bezpieczeństwo i skalowalność. Jeśli jesteś nowy w Lorze, przeczytaj szczegółowy artykuł na temat wprowadzenia do LoRa i LoRaWAN.
Interakcja z platformą TTN jest sterowana przez dwa główne interfejsy API; TTN Data API i TTN Application Manager API. Data API umożliwia odbieranie zdarzeń i wiadomości z urządzeń, a także wysyłanie wiadomości do urządzeń, ogólnie, wymianę informacji z urządzeniami. Z drugiej strony Application Manager API służy do zarządzania aplikacjami, bramami i urządzeniami. Interfejs API danych jest oparty na protokole MQTT i może być używany do programowania za pośrednictwem zestawu SDK lub bezpośrednio z MQTT, podczas gdy interfejs API Menedżera aplikacji jest oparty na protokole HTTP. Więcej informacji na temat tych API można znaleźć w witrynie sieci Web The Things Network.
9. ThingSpeak.io REST API
ThingSpeak jest uważany za jedną z najlepszych platform chmurowych typu open source dla urządzeń IoT. Jest to jedna z najlepszych platform do przetwarzania danych z urządzeń, szczególnie ze względu na integrację z MATLABem po przejęciu jej przez Mathworks kilka lat temu. Pozwala użytkownikom przesyłać, agregować, analizować i wizualizować dane za pomocą MATLAB-abez konieczności oddzielnego nabywania oprogramowania MATLAB. Wszystko to ułatwia korzystanie z API ThingSpeak. Podobnie jak większość innych wymienionych powyżej interfejsów API, ThingSpeak API umożliwia użytkownikom; gromadzi i przechowuje dane z czujników, odzyskuje dane i aktualny stan podłączonych urządzeń, automatyzuje zdarzenia na podstawie danych, konfiguruje wyzwalacze w oparciu o stan urządzeń IoT i integruje się z platformami mediów społecznościowych, takimi jak Twitter, między innymi. Aby dowiedzieć się więcej o ThingSpeak, sprawdź poprzednie projekty IoT, w których ThingSpeak był używany z wieloma różnymi mikrokontrolerami, takimi jak Arduino, Raspberry PI, ESP itp:
- Monitorowanie temperatury i wilgotności na żywo przez Internet za pomocą Arduino i ThingSpeak
- Monitorowanie bicia serca przez Internet przy użyciu Arduino i ThingSpeak
- Stacja pogodowa Raspberry Pi: monitorowanie wilgotności, temperatury i ciśnienia przez Internet
- System monitorowania pacjenta oparty na IoT wykorzystujący ESP8266 i Arduino
Niektóre z funkcji ThingSpeak, które automatycznie przekładają się na korzyści płynące z używania jego API to;
- Łatwa konfiguracja urządzenia do przesyłania danych na platformę ThingSpeak przy użyciu standardowych platform IoT.
- Wizualizacja danych z czujników w czasie rzeczywistym i agregacja danych z wykorzystaniem źródeł zewnętrznych.
- Analiza IoT działa w oparciu o harmonogramy lub zdarzenia.
- Analityka MATLAB, API RESTful i MQTT.
- Umożliwia prototypowanie i budowanie systemów IoT bez jakiejkolwiek konfiguracji serwera i instalacji oprogramowania WWW.
- Zgodność z popularnymi platformami programistycznymi, takimi jak Arduino i Raspberry Pi
- Automatycznie działa na danych i automatyzuje zadania
- Integracja z usługami stron trzecich, takimi jak Twitter. Dobrym przykładem sytuacji, w której jest to przydatne, jest rozwiązanie IoT, które automatycznie tweetuje poziom wody.
Oprócz darmowego hostowanego API, ThingSpeak API jest open source i jest dostępne na GitHub do pobrania na prywatnych serwerach.
10. Odlewnia EdgeX
EdgeX Foundry to ekosystem platform IoT typu open source oparty na konfiguracjach open source. EdgeX Foundry API oferuje kilka punktów końcowych dla usług, w tym rejestrację klienta , planowanie i logowanie. Interfejs API ma architekturę REST i wykorzystuje OAuth 2.0 do uwierzytelniania. Edgex ma szereg mikro usług, które są dołączone do każdego urządzenia podłączonego do sieci.
Każda mikro usługa ma kilka ważnych wywołań API, których można użyć;
- Zarejestruj usługę urządzenia
- Przygotuj urządzenie
- Wysyłaj dane z urządzenia na platformę Edgex,
- Odczytywanie danych z platformy Edgex do wykorzystania w innych aplikacjach
- Eksport danych m.in.
Dokumentację i więcej szczegółów na temat API można znaleźć na stronie internetowej EdgeX Foundry.
To moja lista! Ta lista nie jest jednak w żaden sposób wyczerpująca, ponieważ przychodzą na myśl inne interfejsy API, takie jak IoT-Plotter i inne, które mogłem dodać do listy. Zachęcamy do komentowania interfejsów API Open IoT, z którymi pracowałeś. Twoje komentarze mogą pomóc innym w wyborze interfejsu API lub platformy do wykorzystania w ich projektach.
Do następnego razu.