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

IIoT edge-ontwikkeling – WebSockets gebruiken

Noot van de redactie:het Industrial Internet of Things (IIoT) belooft diepgaand inzicht te geven in industriële operaties en de efficiëntie van verbonden machines en systemen te verbeteren. Grootschalige IIoT-applicaties vertrouwen op gelaagde architecturen om gegevens van een breed scala aan sensoren te verzamelen, gegevens betrouwbaar en veilig naar de cloud te verplaatsen en analyses uit te voeren die nodig zijn om dat inzicht en die efficiëntie te leveren. In Industrial Internet Application Development geven de auteurs een gedetailleerd onderzoek van de IIoT-architectuur en bespreken ze benaderingen om te voldoen aan de brede vereisten die aan deze systemen zijn verbonden.

Aangepast van Industrial Internet Application Development, door Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli.


Hoofdstuk 3. IIoT Edge-ontwikkeling (vervolg)
Door Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli

Protocol op toepassingsniveau – WebSocket

In deze sectie zullen we proberen een eenvoudige IoT-app te bouwen voor het verzenden van gegevens van een XD-80-lichtsensormodule naar een ontvangerapparaat, met behulp van een Raspberry Pi-hub en het WebSocket-protocol:


Gegevensstroom van een XD-80-sensor naar een ontvangend apparaat

WebSocket wordt het meest gebruikt in het geval dat een snelle overdracht van realtime gegevens mogelijk moet zijn. Het protocol zorgt voor wederzijdse interactie tussen een client en een server en voor het streamen van meerdere berichten via dezelfde TCP-verbinding, wat de communicatie-overhead verlaagt.

In de volgende tabel vindt u een meer gedetailleerde beschrijving van het protocol om te zien of het geschikt is voor uw behoeften:

Sleutel Waarde Open sourceJaDe OSI-laagToepassingDatatypesStringBeperkingenNiet geschikt voor grote hoeveelheden binaire gegevensMogelijke bewerkingenVerzend/ontvang gegevensLatencyZeer laagGebruikRealtime communicatieBeveiligingjaCompressieja

Tabel 3:WebSocket-protocolspecificaties

Voor het bouwen van de applicatie hebben we het volgende nodig.

Vereiste software:

  • Node.js 6+ (https:/ /nodejs.org/en/download/ )
  • RPIO (https://www.npmjs.com/package/rpio )
  • WebSocket (https://www.npmjs.com/package/ws )
  • Docker (https://docs.docker.com/engine/installation/ )

Vereiste hardware:

  • Raspberry Pi 3 (model B)
  • Een voedingsadapter (2A/5V)
  • Een microSD-kaart (8 GB+) en een SD-adapter
  • Een XD-80 lichtsensormodule
  • Een breadboard en een set dupont-kabels
  • Een Ethernet-kabel voor een bekabelde netwerkverbinding


Een apparaat in elkaar zetten

Voordat je een applicatie bouwt, moet je een XD-80-sensor via een breadboard op een Raspberry Pi aansluiten.

Een SD-kaart voorbereiden

Om een ​​SD-kaart voor te bereiden, volgt u de volgorde van acties zoals beschreven:

  1. Download de nieuwste Raspbian LITE-afbeelding (beschikbaar op https://raspberrypi.org/downloads/raspbian/ ).
  2. Sluit uw SD-kaart aan op een computer en gebruik Etcher (https://io/ ) om de Raspbian .img bestand naar de SD-kaart.
  3. Schakel SSH in met de volgende opdracht:


      cd /Volumes/boot
      touch ssh

  1. Als je wifi wilt inschakelen, maak je conf met de volgende inhoud:


      network={
         ssid=”YOUR_SSID”
         psk=”YOUR_WIFI_PASSWORD”
      }

Om een ​​bestand in een Linux-console te maken, kunt u de GNU nano-editor gebruiken. Het is vooraf geïnstalleerd in de meeste Linux-distributieven. Het enige dat u nodig hebt, is het uitvoeren van de nano FILE_NAME commando en volg de weergegeven instructies.
  1. Maak de /home/pi/sensor
  2. Maak de /home/pi/sensor/package.json bestand met de volgende inhoud:


   {
      “name”:“sensor”,
      “version”:“1.0.0”,
      “description”:“”,
      “main”:“index.js”,
      “scripts”:{
         “start”:“node index.js”,
         “test”:“echo “Fout:geen test gespecificeerd” &&exit 1″
      },
      “author”:“”,
      “license”:“ISC”,
      “dependencies”:{ “rpio”:“^0.9.16”,
         “ws”:“^2.3.1”
      }
   }

  1. Maak de /home/pi/sensor/index.js bestand met de volgende inhoud, ter vervanging van REMOTE-SERVER-ADDRESS.com met een echte waarde:


      var WebSocket =required('ws');
      var rpio =required('rpio');
   
      var ws;
var receiver ='ws://REMOTE-SERVER-ADDRESS.com:8080';
      rpio.open(11, rpio.INPUT);
   
      var establishmentConnection =function () {
         ws =new WebSocket(receiver);
         ws.on('close', establishmentConnection);
         ws.on('error', establishmentConnection);
      };
      establishConnection();
   
      var sendStatus =function () {
         var status =rpio.read(11) ===0;
         console.log('light status:' + status);
         var data =JSON.stringify({
            device:'raspberry',
            timestamp:Date.now(),
          br >light:status });
   
         probeer { ws.send(data); }
         catch (e) {console.log('failed to send data to ' + receiver);}
   
         setTimeout(sendStatus, 1000);
      };
      sendStatus();

  1. Maak de /home/pi/sensor/Dockerfile bestand met de volgende inhoud:


      VAN hypriot/rpi-node:boron-onbuild


Internet of Things-technologie

  1. Hyperconnectiviteit vraagt ​​om een ​​breder perspectief
  2. Edge computing:5 mogelijke valkuilen
  3. Vooruitzichten voor de ontwikkeling van industrieel IoT
  4. Industrie 4.0 upgraden met edge-analyse
  5. Top 10 IIoT-platforms
  6. IIoT-trends en uitdagingen om te bekijken
  7. Veranderen edge computing en IIoT de manier waarop we over data denken?
  8. Wat is IIoT?
  9. De rand is nu het middelpunt van de actie
  10. AI en ML gebruiken om bruikbare inzichten in edge-applicaties te extraheren
  11. Automotive aan de rand