Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Internet of Things-technologie

Interfacing van industriële Modbus-sensoren met een open source IIoT-gateway

Industriële internet of things (IIoT)-toepassingen vereisen doorgaans een edge gateway om Modbus-randapparatuur en andere apparaten te integreren, maar het implementeren van een gateway kan kostbaar en tijdrovend zijn. Dit artikel biedt een case study van het koppelen van een industriële sensor aan een open source edge computing-framework dat de implementatie aanzienlijk kan vereenvoudigen.

Industrial Internet of Things (IIoT) technologie groeit snel. IIoT-toepassingen op het gebied van monitoring op afstand en geavanceerde analyses brengen een revolutie teweeg in bedrijven en bieden hen voorbeeldige voordelen. De edge computing vindt meestal direct plaats op de apparaten waarop de sensoren zijn aangesloten of een gateway-apparaat dat zich fysiek dicht bij de sensoren bevindt.

In industriële gebruikssituaties, waar een aantal sensoren moeten worden gekoppeld aan edge-gateways, moeten oplossingsarchitecten en ontwikkelaars beslissen over softwareontwerp en -ontwikkeling van edge-gateways en hoe gegevens van verschillende sensoren moeten worden verwerkt en gegevensanalyse moeten worden uitgevoerd tijdens ontwerp en ontwikkeling fase. In een dergelijke situatie, als er geen open source-framework is, kan de ontwikkeling van nieuwe software en het oplossen van bugs veel inspanningen en kosten vergen.

Het eerste artikel in deze tweedelige serie beschrijft industriële sensoren met use-cases en geeft een overzicht van de vereisten van een edge-gateway, samen met een discussie over hoe aan de edge-gatewayvereisten kan worden voldaan met EdgeX Foundry:een open source edge computing-framework dat dienst doet als edge-gateway. middleware tussen het fysiek waarnemen en activeren van "dingen" en een informatietechnologie (IT)-systeem (Figuur 1).


Figuur 1. EdgeX Foundry (Bron:www.edgexfoundry.org)

Dit artikel biedt een case study van het koppelen van een industriële sensor aan EdgeX voor het bereiken van edge computing-functionaliteit.

Het doel van deze casestudy is om een ​​van de edge computing-frameworks, EdgeX Foundry genaamd, op een Raspberry Pi-gateway te evalueren door een industriële temperatuur- en vochtigheidssensor te koppelen. Hier is het blok- en datastroomdiagram op hoog niveau waarmee de case study wordt uitgelegd:

klik voor afbeelding op volledige grootte

Figuur 2. Blokdiagram op hoog niveau (Bron:www.edgexfoundry.org)

Modbus

Modbus is een open protocol en transporten zijn standaard. Het vereist geen specifieke fysieke laag, in tegenstelling tot veel propriëtaire protocollen, dus Modbus-netwerken zijn gebouwd op goedkope en gemeenschappelijke infrastructuur zoals RS-485-links.

Modbus implementeert een zeer eenvoudige gegevensweergave en is gemakkelijk te begrijpen. Het primaire doel is eenvoudig om gegevens tussen Modbus-master- en slave-apparaten te verplaatsen. Er zijn slechts twee soorten gegevens om te verplaatsen, registers en spoelen. Registers zijn 16-bits integers zonder teken die worden gebruikt om de analoge waarden op te slaan, zoals temperatuur-, vochtigheids- en drukwaarden. Spoelen zijn enkele bits die worden gebruikt om de digitale waarden op te slaan in de Modbus-geheugenkaart, meestal statuswaarden zoals schakelaarstatus (AAN of UIT), motorbedrijfsstatus (OMHOOG of OMLAAG) en klepstatus (OPEN of DICHT).

Het vereiste weinig coderuimte, vaak slechts 1K. RAM varieerde met de grootte van uw gegevensruimte. Eenvoudige automatiseringsapparaten met kleine stukjes gegevens kunnen worden geïmplementeerd met nauwelijks RAM-ruimte.

Modbus zou zo gemakkelijk kunnen worden begrepen door niet-programmeurs. Ingenieurs die lijmmachines, meters, meetapparatuur en dergelijke bouwden, konden het concept van spoelen/registers en de eenvoudige commando's om ze te lezen en te schrijven gemakkelijk begrijpen.

Vaak zijn meerdere instrumenten aangesloten op hetzelfde Modbus-netwerk. Geen enkel instrument ondersteunt alle instrumentatienetwerkprotocollen, maar bijna allemaal ondersteunen ze Modbus. Door voor Modbus te kiezen, heeft u een goede kans om compatibiliteitsproblemen en toekomstige upgradeproblemen te voorkomen.

Temperatuurbewaking

Een IoT-temperatuurbewakingssysteem stelt een industrie in staat om de omgevingsparameters te volgen op een beveiligd web/mobiel-gebaseerd platform en biedt onmiddellijke meldingen in realtime. Deze temperatuursensorgegevens zijn toegankelijk vanaf een extern uiteinde.

De gegevens die worden verzameld van de temperatuursensoren kunnen worden gebruikt om statistische inzichten te creëren. Dit zal de industrieën helpen om de betrouwbaarheid van hun magazijn en koude opslag te verbeteren.

Veel industriële use-cases gebruiken deze applicatie:

  • Digitale temperatuurbewaking in laboratoria en klinieken,
  • Voldoet aan voedselveiligheid,
  • Magazijn- en voorraadbeheer,
  • Goederen in transit,
  • Apparatuurbewaking.

Voor dit soort gebruikssituaties is de toepassing van temperatuur- en vochtigheidsbewaking zeer relevant. Deze applicatie heeft een gateway nodig om de temperatuur en vochtigheid te bewaken. De gateway vereist een edge computing-framework. De gebruikte Modbus-sensor, gateway en edge computing-framework zijn respectievelijk de SHT20 industriële temperatuur- en vochtigheidssensor, Raspberry Pi 4 en EdgeX Foundry.

Hoe wordt Edgex gebruikt?

Modbus Device Service Validatie met Modbus Slave Simulator (ModbusPal)

ModbusPal is een Modbus-slavesimulator, gratis en open source, uitgebracht onder de GPL-licentie. Het doel is om een ​​gebruiksvriendelijke interface te bieden met de mogelijkheid om complexe en realistische Modbus-omgevingen te reproduceren. Het ondersteunt standaard TCP/IP en ondersteunt seriële communicatie als de RxTx-bibliotheek op de computer is geïnstalleerd.

ModbusPal kan tot 247 Modbus-slaves simuleren. Elke slave kan holdingregisters en spoelen hebben. Elk register of spoel kan worden geanimeerd door te worden gekoppeld aan een dynamische waardegenerator, genaamd "automatisering".

De validatie van de modbus-apparaatservice met behulp van de ModbusPal-simulator met een slave-apparaat als vermogensmeter wordt gedaan door de onderstaande stappen te volgen. Op dezelfde manier kunnen we elke soort door Modbus ondersteunde omgeving simuleren met slave-apparaten zoals temperatuur-, vochtigheids- en druksensoren.

  1. ModbusPal-omgeving instellen,
  2. Slaafapparaten toevoegen en hun adresseerbare, waarden en automatiseringen configureren,
  3. Een Modbus-apparaatprofiel in EdgeX plaatsen,
  4. Een Modbus-apparaat in EdgeX plaatsen,
  5. Gegevens verzenden naar of bedienen van slave-apparaat (PUT),
  6. Gegevens ontvangen van slave-apparaat (GET).
  7. Installeer elk besturingssysteem dat docker en docker-compose kan installeren. In dit voorbeeld gebruiken we Ubuntu 20.04.2 LTS om EdgeX te implementeren met docker.


Figuur 3. Een omgeving opzetten voor ModbusPal Simulator

  1. Voeg slave-apparaten toe, configureer holdingregister(s), voer waarden en namen in en bind ze aan de juiste automatisering(en).


Figuur 4. Toevoegen en configureren van slave-apparaten in ModbusPal-simulator (Bron:www.edgexfoundry.org)

  1. Plaats het apparaatprofiel met de POST-opdracht.
curl –X POST http://
:48081/api/v1/deviceprofile/uploadfile -F file=@ 
 


Figuur 5. Een apparaatprofiel posten in EdgeX

  1. Plaats het apparaat met de POST-opdracht. Gebruik de onderstaande opdracht om als een bestand te uploaden of gebruik de opdracht die een screenshot is om als inhoud te uploaden.
curl –X POST http://
:48081/api/v1/device/uploadfile -F “file=@ 
 


Figuur 6. Een apparaat posten in EdgeX

  1. Voer het PUT-commando uit om de gegevens te verzenden.
curl –X PUT http://
:48082/api/v1/device//command/ -H “Content-Type:application /json” –d '{“”:“”,“”:“”}'      
 


Figuur 7. PUT-opdracht uitvoeren in EdgeX

  1. Voer het GET-commando uit om de gegevens te ontvangen.
curl –X GET http://
:48082/api/v1/device/name//command/Configuration | json_pp 
 

klik voor afbeelding op volledige grootte

Figuur 8. Uitvoering van het GET-commando in EdgeX

Apparaatprofiel

Het apparaatprofiel beschrijft een type apparaat binnen het EdgeX-systeem. Elk apparaat dat door een apparaatservice wordt beheerd, is gekoppeld aan een apparaatprofiel, dat dat apparaattype definieert in termen van de bewerkingen die het ondersteunt. Het apparaatprofiel definieert de waarden en bedieningsmethode van het apparaat, die Lezen of Schrijven kunnen zijn. Een apparaatprofiel bestaat uit de volgende tags:

  1. Identificatie: Het profiel bevat verschillende identificatievelden. Het veld Naam is verplicht en moet uniek zijn in een EdgeX-implementatie. Andere velden zijn optioneel – ze worden niet gebruikt door apparaatservices, maar kunnen voor informatieve doeleinden worden ingevuld,
  2. DeviceResources: Een deviceResource specificeert een sensorwaarde binnen een apparaat die afzonderlijk of als onderdeel van een deviceCommand kan worden gelezen of geschreven. Het heeft een naam voor identificatie en een beschrijving voor informatieve doeleinden,
  3. Apparaatopdrachten: DeviceCommands definiëren toegang tot lezen en schrijven voor meerdere gelijktijdige apparaatbronnen. Elk genoemd deviceCommand moet een aantal get en/of set resourceOperations bevatten, die respectievelijk het lezen of schrijven beschrijven,
  4. Kernopdrachten: CoreCommands specificeren de commando's die beschikbaar zijn via de core-command microservice, voor het lezen en schrijven naar het apparaat. Zowel deviceResources als deviceCommands kunnen worden weergegeven door coreCommands (de naam van de coreCommand verwijst naar de naam van de deviceCommand of deviceResource).

Apparaatprofiel van Modbus-temperatuur- en vochtigheidssensor (Scroll om de volledige lijst te bekijken)

name :"Temperatuurvochtigheidssensor"fabrikant :"ROBOKITS"model :"RKI-4879"labels :- "SHT20"beschrijving :"Industriële temperatuur- en vochtigheidszender SHT20-sensor High Precision Monitoring Modbus RS485"deviceResources :- naam :"TemperatureDegC" beschrijving :"Kamertemperatuur in graden Celsius." attributen : { primaryTable :"INPUT_REGISTERS", startAddress:"2", rawType:"INT16" } eigenschappen : waarde : { type :"Float32", readWrite:"R", schaal:"0.1", floatEncoding:"eNotation" } eenheden : { type :"String", readWrite:"R", defaultValue:"graden Celsius" } - naam :"HumidityPercentRH" beschrijving :"Kamervochtigheid in %RH." attributen : { primaryTable :"INPUT_REGISTERS", startAddress:"3", rawType:"INT16" } eigenschappen : waarde : { type :"Float32", readWrite:"R", schaal:"0.1", floatEncoding:"eNotation" } eenheden : { type :"String", readWrite:"R", defaultValue:"%RH" }deviceCommands :- naam :"TemperatureDegC" get : - { index :"1", bewerking:"get", deviceResource:"TemperatureDegC" } - naam :"HumidityPercentRH" get : - { index :"2", bewerking:"get", deviceResource:"HumidityPercentRH" }coreCommands :- naam :"TemperatureDegC" get : pad :"/api/v1/device/{deviceId}/TemperatureDegC" reacties :- code :"200" beschrijving :"Krijg de temperatuur in graden C" verwachte waarden :["TemperatureDegC"] - code :"503" beschrijving :"service niet beschikbaar" ExpectedValues :[] - naam :"HumidityPercentRH" get : pad :"/api/v1/device/{deviceId}/HumidityPercentRH" reacties :- code :"200" beschrijving :"Haal de vochtigheid in %RH" verwachte waarden :["HumidityPercentRH"] - code :"503" beschrijving :"service niet beschikbaar" ExpectedValues :[]

1.1.1.1 Apparaatprofiel van GPIO-apparaat – 1 (rode LED) (Scroll om de volledige lijst te bekijken)

name :"device-gpio12"fabrikant :"Jiangxing Intelligence"model :"SP-01"labels :- "gpio12"beschrijving :"gpio12 automatisch exporteren op commando"deviceResources :- naam :"waarde" beschrijving :"systeem gpio-waarde instellen of ophalen" eigenschappen : waarde : { type :"Int8", readWrite:"RW", minimum:"0", maximum:"1", defaultValue:"0" } eenheden : { type :"String", readWrite:"R", defaultValue:"high:1; low:0" }deviceCommands :- naam :"waarde" krijgen : - { operatie :"get", deviceResource:"value" } set : - { operatie :"set", deviceResource:"value", parameter:"0" }coreCommands :- naam :"waarde" zet : pad :"/api/v1/device/{deviceId}/value" parameternamen :["waarde"] reacties :- code :"200" beschrijving :"" - code :"500" beschrijving :"service niet beschikbaar" ExpectedValues :[] halen : pad :"/api/v1/device/{deviceId}/value" reacties :- code :"200" beschrijving :"" verwachte waarden :["waarde"] - code :"500" beschrijving :"service niet beschikbaar" ExpectedValues :[]

Apparaatprofiel van GPIO-apparaat – 2 (blauwe LED) (Scroll om de volledige lijst te bekijken)

name :"device-gpio14"fabrikant :"Jiangxing Intelligence"model :"SP-01"labels :- "gpio14"beschrijving :"gpio14 automatisch exporteren op commando"deviceResources :- naam :"waarde" beschrijving :"systeem gpio-waarde instellen of ophalen" eigenschappen : waarde : { type :"Int8", readWrite:"RW", minimum:"0", maximum:"1", defaultValue:"0" } eenheden : { type :"String", readWrite:"R", defaultValue:"high:1; low:0" }deviceCommands :- naam :"waarde" krijgen : - { operatie :"get", deviceResource:"value" } set : - { operatie :"set", deviceResource:"value", parameter:"0" }coreCommands :- naam :"waarde" zet : pad :"/api/v1/device/{deviceId}/value" parameternamen :["waarde"] reacties :- code :"200" beschrijving :"" - code :"500" beschrijving :"service niet beschikbaar" ExpectedValues :[] halen : pad :"/api/v1/device/{deviceId}/value" reacties :- code :"200" beschrijving :"" verwachte waarden :["waarde"] - code :"500" beschrijving :"service niet beschikbaar" ExpectedValues :[]

Configuraties

Het configuratiebestand om apparaten te definiëren en taken te plannen. De microservices (d.w.z. device-modbus) genereert een relatieve instantie bij het opstarten. Het heeft details zoals het type protocol, gatewaynaam, protocol, adres, poort en pad (unit-ID).

Configuratiebestand van temperatuur- en vochtigheidssensor (Scroll om de volledige lijst te bekijken)

[Writable]LogLevel ='DEBUG'[Service]BootTimeout =30000CheckInterval ='10s'Host ='localhost'ServerBindAddr ='' # blanco waarde is standaard ingesteld op Service .Host valuePort =49991Protocol ='http'StartupMsg ='apparaat-modbus gestart'Timeout =5000ConnectRetries =10Labels =[]EnableAsyncReadings =trueAsyncBufferSize =16[Register]Host ='localhost'Port =8500Type ='consul'[Logging]FiableRemote =false ='./GPIO.LOG'[Clients] [Clients.Data] Protocol ='http' Host ='localhost' Port =48080 [Clients.Metadata] Protocol ='http' Host ='localhost' Port =48081 [Clients. Logging] Protocol ='http' Host ='localhost' Port =48061 [Apparaat] DataTransform =true InitCmd ='' InitCmdArgs ='' MaxCmdOps =128 MaxCmdValueLen =256 RemoveCmd ='' RemoveCmdArgs ='' ProfilesDir ='./res' UpdateLastConnected =false# Apparaten vooraf definiëren[[DeviceList]] Name ='TemperatureHumiditySensor' # bestandsnaam apparaatprofiel Profile ='TemperatureH umiditySensor' Description ='Industrial Grade Temperature &Humidity Transmitter SHT20 Sensor High Precision Monitoring Modbus RS485' labels =[ 'TemperatureHumiditySensor','modbusRTU' ] [DeviceList.Protocols] [DeviceList.Protocols.modbus-rtu] Address ='/dev/ ttyUSB0' BaudRate ='9600' DataBits ='8' StopBits ='1' Parity ='N' UnitID ='1' [[DeviceList.AutoEvents]] Frequency ='5s' OnChange =false Resource ='TemperatureDegC' [[DeviceList .AutoEvents]] Frequentie ='5s' OnChange =false Resource ='HumidityPercentRH'

Configuratiebestand van GPIO-apparaten (rode led en blauwe led) (Scroll om de volledige lijst te bekijken)

[Writable]LogLevel ='DEBUG'[Service]BootTimeout =30000CheckInterval ='10s'Host ='localhost'ServerBindAddr ='' # blanco waarde is standaard ingesteld op Service .Host valuePort =49950Protocol ='http'StartupMsg ='apparaat gpio gestart'Timeout =5000ConnectRetries =10Labels =[]EnableAsyncReadings =falseAsyncBufferSize =16[Registry]Host ='localhost'Port =8500Type ='consul'[Logging]FiableRemote =false ='./GPIO.LOG'[Clients] [Clients.Data] Protocol ='http' Host ='localhost' Port =48080 [Clients.Metadata] Protocol ='http' Host ='localhost' Port =48081 [Clients. Logging] Protocol ='http' Host ='localhost' Port =48061 [Apparaat] DataTransform =true InitCmd ='' InitCmdArgs ='' MaxCmdOps =128 MaxCmdValueLen =256 RemoveCmd ='' RemoveCmdArgs ='' ProfilesDir ='./res' UpdateLastConnected =false# Apparaten vooraf definiëren [[DeviceList]] Name ="gpio12" Profile ="device-gpio12" Description ="gpio12 gebruiken" Labels =['gpio1 2'] [DeviceList.Protocols] [DeviceList.Protocols.other] Address ="device-gpio12"[[DeviceList]] Name ="gpio14" Profile ="device-gpio14" Description ="use gpio14" Labels =['gpio14 '] [DeviceList.Protocols] [DeviceList.Protocols.other] Adres ="device-gpio14"

Setup en uitvoering met resultaten

  1. Sluit de SHT20 industriële temperatuur- en vochtigheidszender aan op de Raspberry Pi (waarin de EdgeX Foundry is geïnstalleerd) via de RS485-interface naar USB-converter en LED's met behulp van jumpers en weerstanden zoals weergegeven in onderstaande afbeelding.

klik voor afbeelding op volledige grootte

Figuur 9. Details hardwareconnectiviteit

    1. Upload het apparaatprofiel hierboven naar metadata met een POST naar http://localhost:48081/api/v1/deviceprofile/uploadfile en voeg het bestand als sleutel "bestand" toe aan de body in form-data formaat, en de gemaakte ID wordt teruggestuurd. De volgende voorbeeldopdracht gebruikt curl om het verzoek te verzenden:
      curl –X POST http://
      :48081/api/v1/deviceprofile/uploadfile -F file=@ 
       
    2. Zorg ervoor dat alle verplichte apparaatservices actief zijn.


Afbeelding 10. Actieve apparaatservices verifiëren

c. Voeg het apparaat met een POST toe aan http://localhost:48081/api/v1/device, de body ziet er ongeveer zo uit:(Scroll om de volledige lijst te bekijken)

curl -X POST http://localhost:48081/api/v1/device  -H "Content-Type:application/json" -d '{ "naam"  :"Temperatuurvochtigheidssensor", "beschrijving" :"Industriële temperatuur- en vochtigheidszender SHT20-sensor High Precision Monitoring Modbus RS485", "adminState" :"UNLOCKED", "operatingState" :"ENABLED", "protocollen" :{ "modbus-rtu" :{ "Adres"  :"/dev/ttyUSB0", "BaudRate"  :"9600", "DataBits"  :"8", "StopBits"  :"1", "Pariteit"  :"N", "UnitID"  :"1" } }, "labels" :[ "Temperatuurvochtigheidssensor", "modbusRTU" ], "service" :{"name":"edgex-device-modbus"}, "profiel" :{"name":"Temperatuurvochtigheidssensor"}, "autoEvents" :[ { "frequentie" :"5s", "onChange" :false, "bron" :"TemperatureDegC" }, { "frequentie" :"5s", "onChange" :false, "bron" :"HumidityPercentRH" } ]}'

Het apparaat kan worden toegevoegd met de POST-opdracht of als onderdeel van het configuration.toml-bestand.

  1. De apparaatservice haalt elke 5 seconden de temperatuur- en vochtigheidsgegevens van de sensor. De ontvangen gegevens worden naar de kernservice verzonden en opgeslagen op de Redis-server.
2021/03/02 05:03:33 modbus:verzenden 01 04 00 01 00 01 60 0a2021/03/02 05:03:33 modbus:ontvangen 01 04 02 01 4d 78 95

Tabel 1. Modbus-verzoek en antwoord decoderen

Verzonden Decodering Ontvangen Decodering 01Slave-ID 01Slave-ID04Functiecode 04Functiecode00 01Registeradres 02Bytes Count00 01Aantal registers 01 4dData (0x014d =333)60 0aCRC 78 95CRC
  1. De kernservice stuurt de gegevens naar de applicatieservice. De onderstaande afbeelding toont de gegevens in de kernservice.


Figuur 11. Temperatuur- en vochtigheidsgegevens opgeslagen in Core Service

  1. De applicatieservice stuurt de gegevens naar de cloud. Hier gebruiken we de IBM cloud. De onderstaande afbeelding toont de gegevens in IBM cloud.

klik voor afbeelding op volledige grootte

Figuur 12. Temperatuur- en vochtigheidsgegevens in IBM Cloud verzonden vanuit Application Service

  1. Aan de andere kant, van noord naar zuid, stuurt de toepassingsservice de gegevens naar de regelengine (hier gebruiken we de Kuiper-regelengine). De volgende regels zijn ingesteld.

Tabel 2. Regels

Regels nr. Regels LED Status Regel #1TemperatureDegC> 30°CRed1 (ON)Regel #2TemperatureDegC <30°CRed0 (OFF)Regel #3TemperatureDegC> 28°CBlue0 (OFF)Regel #4TemperatureDegC <28°CBlue1 (ON)


Figuur 13. Regel #1


Figuur 14. Script om de regels toe te passen

  1. Telkens wanneer drempeltemperaturen worden bereikt, stuurt de regelengine een commando naar het kerncommando.
  2. De kernopdracht activeert de GPIO-apparaatservice om de op LED's gebaseerde drempeltemperatuur in of uit te schakelen. Zodra we de regels uitvoeren, worden de regels toegepast. Hier bedoeld gpio12 voor rode LED en gpio14 bedoeld voor blauwe LED.

a. Laat de rode LED branden wanneer de temperatuur hoger wordt dan 30 °C.

Regels Engine Logs:

level=info msg="sink resultaat voor regel red_led_on:[{\"TemperatureDegC\":32.3}] bestand ="sinks/log_sink.go:16"rule=red_led_onlevel=info msg="sink resultaat voor regel blue_led_off:[{\"TemperatureDegC\":32.3}] file="sinks/log_sink.go:16"rule=blue_led_off

GPIO:

root@ubuntu:~# cat /sys/class/gpio/gpio12/value1root@ubuntu:~# cat / sys/class/gpio/gpio14/value0

b. Laat een blauwe LED branden wanneer de temperatuur lager is dan 28 °C.

Regelengine:

level=info msg="sink resultaat voor regel red_led_off:[{\"TemperatureDegC\":27.2}] bestand ="sinks/log_sink.go:16"rule=red_led_offlevel=info msg="sink resultaat voor regel blue_led_on:[{\"TemperatureDegC\":27.2}] file="sinks/log_sink.go:16"rule=blue_led_on

GPIO:

root@ubuntu:~# cat /sys/class/gpio/gpio12/value0root@ubuntu:~# cat / sys/class/gpio/gpio14/value1
  1. Ten slotte zorgt de GPIO-service ervoor dat de LED('s) aan of uit gaan.

Conclusie

Industries are in the need of interfacing sensors and actuators and monitoring and controlling the environmental parameters for long term. The EdgeX framework enables the temperature and humidity monitoring application versatile, has enabled the controlled environment in industries, datacenters and laboratories. Interfacing any other industrial sensors with EdgeX Foundry will also work similar to industrial grade temperature and humidity sensor. This will save a huge amount of developer effort, development cost and latency as the EdgeX framework handles data storage, analytics, device management and cloud connectivity and gateway is very near to the sensors.

Acronyms

Acronym Expansion AOFAppend Only FileAPIApplication Program Interface AWSAmazon Web ServicesBACnetBuilding Automation and Control NetworkBLEBluetooth Low EnergyCURLClient Uniform Resource LocatorGPIOGeneral Purpose Input OutputHTTPHypertext Transfer ProtocolIBMInternational Business MachinesIIoTIndustrial Internet of ThingsIoTInternet of ThingsITInformation TechnologyLEDLight Emitting DiodeLTSLong Term SupportM2MMan to MachineMQTTMessage Queuing Telemetry TransportRDBRedis DatabaseRedisREmote DIctionary ServerRESTRepresentational State TransferRS-485Recommended Standard – 485SCADASupervisory Control and Data AcquisitionSQLStructured Query LanguageTCP/IPTransmission Control Protocol/Internet Protocol

Internet of Things-technologie

  1. Inleiding tot open source-terminologie
  2. Cisco verenigt enterprise en industrial edge met nieuwe routers
  3. AT&T, Tech Mahindra werken samen aan nieuw open source AI-platform
  4. De kwaliteitsnormen verhogen met de 4.0 Industriële Revolutie
  5. Softwarerisico's:Open source beveiligen in IoT
  6. Industrie 4.0 upgraden met edge-analyse
  7. Advancing Edge Computing, IIC sluit zich aan bij OpenFog
  8. Open source IoT-ontwikkeltools versus door leveranciers ondersteunde tools
  9. De noodzaak van open source aan de rand (eBook)
  10. Open source stimuleert de acceptatie van IoT en Edge Computing
  11. Aan de slag met AI-inferentie aan de rand