Jeffrey Cross
Jeffrey Cross

Asiasisältö: Sinisen (hammas) kääntäminen Edges?

Olitpa sitten tarkkailemassa kotiasi lomallasi tai lämmittämällä viikonloppu talosi ennen matkaa sinne - tavaroiden Internet-sovellus käyttää Internet-protokollia kommunikoimaan täällä ja siellä. Tästä syystä määrittelin IoT: n ”Internet-protokollien kautta yhdistettyjen tietokoneiden, anturien ja toimilaitteiden maailmanlaajuiseksi verkoksi” omassa esineeni internetissä -kirjastossa kolme vuotta sitten.

Tämä on huomattavasti yksinkertaistettu, ideaalisoitu kuva kehittyvästä IoT: stä. Se on visio kauniista kirkkaasta teknologia-maisemasta, jossa IP-paketit voivat kulkea lämpötila-anturista pilvetietokeskukseen ja takaisin lämmittimen ohjaukseen. Ilman raskaita protokollamuutoksia välillä, ilman monimutkaisia ​​yhdyskäytäviä, jotka ovat vaikeuksia konfiguroida tai ohjelmoida.

Nykyinen kuva on aivan päinvastainen: hämmentävä eläintarha, jossa on joskus täydentäviä, usein kilpailevia standardeja ("mitä enemmän, merrier"):

Olen usein miettinyt, miten kuva näyttää vielä kolmessa vuodessa tai kymmenessä vuodessa. On hauskaa lisätä vielä lisää tekniikoita kuvaan. On vähemmän hauskaa sijoittaa vedot tiettyihin teknologioihin sijoittamalla ystäväni ja elämäni ja vereni, hiki ja kyyneleet niihin. Tai antaa suosituksia asiakkaille, jotka vain saattavat osoittautua kauheasti vääriksi.

Korkea tie tai matala tie?

Olen havainnut pääasiassa kaksi tapaa, joilla ihmiset reagoivat tähän epävarmuuteen. Yksi tapa on pilkata ja sitten kääntää hihoja ”teemme kaikkemme, jotta lähestymme ideaa; tuomme IP-protokollia kaikkialla - IP-protokollat ​​ovat lopulta voittaneet kaikki kilpailevat protokollat ​​”. Toinen tapa on hartioida ”sitä, miten maailma toimii; Kilpailu on hyvä asia, ja mitä kaikkea Internet-protokollaa kohtaan herättää - kentällä on niin paljon muita todistettuja tekniikoita, valitsemme yksilöllisesti oikea työtehtävä.

Kutsumme tätä "suureksi tielle" verrattuna moniin "mataliin teihin". Se on kiehtova sota, jossa on monia lämmitettyjä kiistoja: ”Tarvitset optimaalisen langattoman protokollan anturiverkkoon, joka on suunniteltu alusta lähtien pieneen virrankulutukseen, muuten sinulla on liikaa virrankulutusta, jotta se olisi käytännöllinen - unohda IP-protokollat "Vastaan" voimme tehdä IP-otsikon pakkaus ja muita temppuja, joten emme tuhlaa paljon virtaa langattomassa hopissa antureista reitittimeen - IP on lippu tulevaisuuteen ”.

Tekniset riidat keskittyvät tyypillisesti joihinkin arkkitehtuurin ominaisuuksiin, jotka ovat erityisen tärkeitä esineiden internetin viimeiselle mailille tai pikemminkin viimeiselle pari metriä. Siellä IoT "saa fyysisen": akkukäyttöisen laiteanturin tehonkulutuksen puutarhassasi, reaaliaikainen determinismi kuljetinhihnan ohjaamiseen, järjestelmän hallinnon helppous, jossa sysadminit ovat teknisiä aloittelijoita ja kahdeksankymmentä vuotta vanhoja keskimäärin ( yksi asiakkaistamme tuottaa kuulolaitteita…), vähimmäisvalmennettujen kenttäteknikoiden tekemien koneenohjainten avainhallinnan helppous jne.

Ovatko Internet-protokollat ​​tarpeeksi hyvät jopa tällaisissa tilanteissa? Kuinka hyvä on tarpeeksi hyvä? Monien argumenttien ja tutkimustyökalujen lukemisen jälkeen minusta tuntuu, että molemmilla osapuolilla on hyvät perustelut, mutta se on edelleen hämärä minulle, joka on oikeassa pitkällä aikavälillä. Toisinaan olen shuddering itseäni, toisinaan olen shrugging. Internet-yhteyskäytännöillä on varmasti vaikuttava ennätys omien protokollien, esimerkiksi IBM: n Token Ringin, poistamisessa ja jopa sellaisten kenttien valloittamisessa, jotka eivät ole ilmeisesti sopivia heille: esimerkiksi Ethernetiä on muokattu onnistuneesti, jotta taataan reaaliaikainen käyttäytyminen teollisissa sovelluksissa . (Vaikka tällä hetkellä yli 20 (!) Ehdotuksen joukosta voi olla vaikeaa valita, että kronoinnissa on reaaliaikaisia ​​Ethernet-wannabe-standardeja…)

Onko siis vain ajan kysymys, ennen kuin Internet-protokollat ​​syrjäyttävät kaikki muut ”vanhat” protokollat, koska niiden historia näyttää viittaavan?

Bluetooth Low Energy

On olemassa ainakin kaksi vasta-esimerkkiä. Viestintätekniikat, jotka ovat onnistuneet Internetin rinnalla: USB ja Bluetooth. He ovat osoittautuneet melko immuuneiksi Internet-protokollia vastaan, vaikka IP-protokollien tunnelointi on mahdollista. Joten ehkä vain IoT: n viimeiset metrit saattavat pysyä immuuneina?

Vuonna 2005 asiakkaan CTO kertoi minulle eksoottisen langattoman teknologian kehittämisen Nokia Research Centerissä, nimeltään Wibree. Se näytti erittäin lupaavalta lyhyen kantaman, pienitehoisten skenaarioiden osalta kotiautomaatioissa, lääketieteellisissä sovelluksissa ja muissa käyttötapauksissa. Muutama vuosi myöhemmin, erittäin älykkäässä liikkeessä, Nokia lähti valvomaan Wibreeä Bluetooth-erityisryhmälle. Teknologiaa muutettiin myöhemmin sopivaksi olemassa olevaan Bluetooth-standardiin, ja vuonna 2010 siitä tuli virallinen osa 4.0: ta. Sen nykyinen nimi on Bluetooth Low Energy (BLE), tai Bluetooth Smart markkinointimerkkinä.

BLE: n yksi piirre, joka tekee siitä räjähdysmäisen kasvun - IP-protokollien yhteensopimattomuuden - on sen pienin lisäkustannus verrattuna klassiseen Bluetooth-ratkaisuun: nykyisen Bluetooth-tuotteen päivittäminen maksaa hyvin vähän BLE: n tukemiseksi. IPhone 4: stä alkaen Apple on alkanut tukea BLE: tä kaikissa tuotteissaan. Ei vain sisällyttämällä uudempia Bluetooth-siruja, vaan myös API: lla, jota voit käyttää BLE-sovellusten kehittämiseen. Tällaista sovellusta yhdessä sen yhteyden muodostavan laitteen kanssa kutsutaan joskus "lisälaitteeksi". Esimerkiksi kenttäteknikko voi käyttää älypuhelintaan perustamaan uuden pumpun BLE: n päälle - pumppu ei tarvitse omaa LCD-näyttöään tätä tarkoitusta varten ei edes USB-liitintä. Sovellus voi tarvittaessa toimia myös väliaikaisena yhdyskäytävänä tulostuslaitteesta Internetiin, esim. niin, että tulostuskone voi hakea uutta laiteohjelmistoa.

Tietenkin lisävarusteiden ei tarvitse olla kaikkea liiketoimintaa: yksi ensimmäisistä uutuuksista tähän uuteen kenttään oli sähköinen adventin seppele ajoissa jouluun 2012. Se oli mielenkiintoinen harjoitus. Apple odottaa, että lähetät ne jollekin laitteellesi, muuten ne eivät hyväksy sovellusta sovellusmyymälään. Mietimme miettimättä, olisiko BMW, jos he aikovat koskaan rakentaa BLE: n tukea johonkin luksusautoistaan, lähettää tällaisen auton myös Applelle?

Viime vuonna Google lisäsi viimein myös BLE-tuen Android API: lle, ja tänä vuonna Microsoftin pitäisi seurata Windows Phone -palvelua. Tämä tekee BLE: stä todellisen monikäyttöisen teknologian apuvälineille, kuntoilulaitteista, kuten kenkäantureista tai sykemittareista älykelloon, ja kaikkeen läheisyyteen, jota haluat ehkä hallita: ovet, televisiot, sprinklerit puutarhassa jne.

Uusi Google-sovellusliittymä oli mahdollisuus tehdä Android-sovellus myös kynnykselle kynnyksellä vuoden 2013 jouluun. Googlen BLE-toteutus oli hyvin varhainen eikä vielä yhtä kypsä kuin Apple, joka on vielä joitakin asioita. Mutta asiat paranevat tasaisesti, ja kehittäjät vaihtavat kokemuksiaan, esim. täällä Facebook-ryhmässä, jonka olemme perustaneet tähän tarkoitukseen.

Onko se täällä jäädä?

BLE on luultavasti se uusi viestintätekniikka, jota internet-juggernaut ei uhkaa. Jopa sen tarjoaman iän myötä on jo melko kiusaaja: Olen äskettäin kuullut tarjouksen rakennusautomaatiohankkeesta, jossa BLE: n tuki annettiin valaistusmateriaalille - alueelle, jossa olisin odottanut ZigBeeä. Näyttää siltä, ​​että väite "voit hallita sitä älypuhelimesta tai tabletista" voittaa lähes kaikki vastapainotukset, joita voit löytää BLE: tä vastaan. Joskus se tulee epärealistiseksi: olemme ottaneet yhteyttä käynnistykseen, joka on rakentanut liikeideansa olettaen, että on mahdollista yhdistää satoja BLE-antureita koko suuressa kaupallisessa rakennuksessa suoraan yhteen GSM-yhdyskäytävään. Valitettavasti BLE on tällä hetkellä viime vuosien parin tekniikka, se ei toimi luotettavasti useiden kerrosten ja kymmenen seinän yli.

Laitteiden palvelukeskeinen arkkitehtuuri

Minun hattuani ohjelmistoarkkitehtina pidän yhden BLE: n näkökohdan erityisen kiehtovalta ja joskus myös ärsyttävältä: se taittuu hyvin matalan tason optimointeihin erittäin korkean tason arkkitehtonisiin käsitteisiin. Se on suunniteltu optimoimaan pienen virrankulutuksen, yrittäen minimoida lähetettävien bittien ja tavujen määrän. Se määrittelee myös ns yleinen ominaisuusprofiili (GATT), joka sisältää ominaisuudet (esim. huoneen lämpötila tai venttiilin avoin / suljettu tila), kutsutaan vastaavia ominaisuuksia palvelutja niihin liittyvät palvelut profiilit. Profiili vastaa käyttötapausta, esim. verenpaineen mittausprofiili on hyvin, verenpaineen mittaaminen. Palvelu on uudelleenkäytettävä käyttöliittymä, esim. laiteinformaatiopalvelu, joka tarjoaa tietoja, kuten laitteen valmistaja ja mallinumero.

Firmware-helvetti: DLL-helvetti steroideilla

Palvelut ovat BLE: n keskeinen käsite. Palvelu määrittelee muuttumattoman joukon ominaisuuksia. Miksi muuttumaton? Ja millä tavalla tämä voisi olla merkityksellistä sinulle? Syynä on se, että useimmat edulliset laitteet eivät ole suunniteltu siten, että laiteohjelmistopäivitykset ovat helppoja tai mahdollisia. Siksi, kun aloitat tällaisen laitteen myynnin, sinulla on ongelma, jos haluat muuttaa palvelua, esim. jotta voidaan lisätä sille hyödyllinen ominaisuus. Uusi laiteohjelmisto ei saavu kaikkiin laitteisiin, jotka ovat siellä luonnossa. Ongelmana on, että kun päivitetty älypuhelinsovellus yrittää käyttää uutta ominaisuutta vanhassa laitteessa, mitään hyvää ei tapahdu. Tällainen komponenttien välinen ristiriitaisuus tunnetaan nimellä "DLL-helvetti" ohjelmistomaailmassa. Siellä epäsuhta voidaan ainakin korjata asentamalla yhteensopiva tiedostojoukko uudelleen. Jos sinulla on joukko yhteensopimattomia laitteita, joilla ei ole mitään mahdollisuutta päivittää laiteohjelmistoa, olet vielä pahempi "firmware hell".

Näin ollen ajatuksena on pitää palvelun määritelmä serviceâ muuttamattomana, kun tämän palvelun laitteita lähetetään *. Kun haluat myöhemmin muuttaa palvelua, lisäät uuden palvelun määritelmän ServiceA1, joka on serviceâ siinä on esimerkiksi lisäominaisuus. Uudet laitteet toteuttavat molemmat palvelut (halpa tehdä, jos molemmat ovat identtisiä lukuun ottamatta lisäominaisuuksia). On olemassa neljä konstellaatiota, joissa palvelun tarjoaja (”perifeerinen”) voi tavata tämän palvelun käyttäjän (”keskus”). Oletetaan, että keskus on älypuhelimesi:

  1. Älypuhelimesi, jossa on sovellus alkuperäinen palvelu täyttää alkuperäinen laite: se etsii serviceâ laitteessa, löytää sen, ja kaikki on hyvin.
  2. Älypuhelimesi, jossa on sovellus alkuperäinen palvelu täyttää laajennettu laite: se etsii serviceâ laitteessa, löytää sen, ja kaikki on hyvin. Koska sovellus ei tiedä laajennetun laitteen tukemasta lisäominaisuudesta, se ei voi käyttää sitä, mutta se on ok. Se voi silti tarjota alkuperäisen toiminnallisuuden.
  3. Älypuhelimesi, jossa on sovellus laajennettu palvelu täyttää laajennettu laite: se etsii ServiceA1 laitteessa, löytää sen, ja kaikki on hyvin. Sovellus tietää lisäominaisuudesta ja voi hyödyntää sitä.
  4. Älypuhelimesi, jossa on sovellus laajennettu palvelu täyttää alkuperäinen laite: se etsii ServiceA1 laitteessa, mutta laite vastaa ”huh? koskaan kuullut ServiceA1!”. Joten sovellus yrittää etsiä vanhempia serviceâ, ja voilà, se voi kauniisti palata tähän vanhempaan palveluun. Ei niin viileä kuin uuden laitteen kanssa, mutta se toimii.

Tässä nämä neljä konstellaatiota kaaviona:

Jos tiedät, että vanhempia laitteita ei enää käytetä tai et halua tukea niitä enää, seuraavan sovellusversiosi täytyy reagoida eri tavalla: jos laite ei tue ServiceA1, sovellus luopuu ja kertoo käyttäjälle, että tämä laite on yhteensopimaton. Joten sinun ei tarvitse kuljettaa vanhaa matkatavaraa ikuisesti, niin kauan kuin käyttäjät vaativat sitä edelleen.

Tämä mekanismi on olennainen tulevaisuuden kannalta, jossa kaikenlaiset laitteet ja sovellukset muodostavat yhteyden toisiinsa, ja nämä komponentit saattavat olla mitä tahansa uusia, ei uusia tai vanhoja versioita.

Internet-protokollat ​​ytimessä, muut tekniikat reunoilla

Näyttää siltä, ​​että matalien teiden sokkelo tulee olemaan kanssamme jo pitkään, ja eri ajotieltä pääsee tien varrelle. Erityisesti verkon “reunoilla” jotkin muut tekniikat jäävät meille jonkin aikaa. Niiden joukossa BLE, vaikka se ei tue Internet-protokollia, tai enemmän kehittyneitä ominaisuuksia, kuten verkon reititys. Toivon, että BLE: n suuri kiinnostus ei tule sen suurimmaksi ongelmaksi: on olemassa useita ryhmiä, jotka työskentelevät ehdotusten parissa BLE: n laajentamiseksi tavalla tai toisella; BLE-keskittimet ovat osa uutta Bluetooth 4.1 -määritystä; ja on jo yritetty käyttää IPv6: ta BLE: n kautta…

Mutta entäpä muut “IoT-reunateknologiat”, jotka voivat myös olla hyödyllisiä, mutta eivät myöskään saumattomasti integroitu IP-protokolla-maailmaan? Milloin niiden edut (esim. Helposti saatavilla, täydellisesti työhön sopivat jne.) Ovat suuremmat kuin niiden haitat (esim. Uuden tekniikan oppiminen, vähemmän verkkoefektejä jne.)? Samankaltainen kysymys nousee korkeammalle tasolle sovelluskerrosprotokollissa: milloin meidän pitäisi keskittyä HTTP: hen yhtenäisenä yhdistämisprotokollana "Web of Things": lle, ja milloin meidän pitäisi siirtyä MQTT: hen, XMPP: hen, AMQP: hen, ZeroMQ: hen ja Kuten?

Mitä mieltä olet näistä kysymyksistä? Haluaisin kuulla sinusta!

* Jos tiedät, että Microsoftin Component Object Model (COM), tunnistat idean. Samoin kuin BLE-palvelu, COM-rajapinta on muuttumaton kokoelma menetelmiä. Minulle, yksi innovatiivisimmista ja asiaankuuluvimmista ideoista, jotka koskaan tulevat ulos Microsoftista, vain eksyä niille, jotka myöhemmin kehittivät .NET: n, ja jotka äskettäin löysivät uudet Windows Runtime -käyttäjät.

Osake

Jättänyt Kommenttia