산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 사물 인터넷 기술

IIoT 에지 개발 – WebSockets 사용

편집자 주:산업용 사물 인터넷(IIoT)은 산업 운영에 대한 깊은 통찰력을 제공하고 연결된 기계 및 시스템의 효율성을 향상시킬 것을 약속합니다. 대규모 IIoT 애플리케이션은 계층화된 아키텍처에 의존하여 광범위한 센서에서 데이터를 수집하고, 데이터를 안정적이고 안전하게 클라우드로 이동하고, 통찰력과 효율성을 제공하는 데 필요한 분석을 수행합니다. 산업용 인터넷 애플리케이션 개발에서 저자는 IIoT 아키텍처에 대한 자세한 조사를 제공하고 이러한 시스템과 관련된 광범위한 요구사항을 충족하기 위한 접근 방식에 대해 논의합니다.

Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli의 Industrial Internet Application Development에서 각색


3장. IIoT Edge 개발(계속)
Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli 작성

애플리케이션 수준 프로토콜 – WebSocket

이 섹션에서는 Raspberry Pi 허브와 WebSocket 프로토콜을 사용하여 XD-80 광 센서 모듈에서 수신기 장치로 데이터를 전송하기 위한 간단한 IoT 앱을 빌드하려고 합니다.


XD-80 센서에서 수신기 장치로의 데이터 흐름

WebSocket은 실시간 데이터의 빠른 전송이 필요한 경우에 가장 널리 사용됩니다. 이 프로토콜은 클라이언트와 서버 간의 양방향 상호 작용을 허용하고 동일한 TCP 연결을 사용하여 여러 메시지를 스트리밍하여 통신 오버헤드를 낮춥니다.

다음 표에서 프로토콜이 귀하의 요구 사항에 적합한지 여부를 이해하기 위해 더 자세한 설명을 찾을 수 있습니다.

가치 Open sourceYesThe OSI layerApplicationData typesStringLimitations대량의 바이너리 데이터에 적합하지 않음 가능한 작업데이터 보내기/받기대기 시간매우 낮음사용실시간 통신SecurityYesCompressionYes

표 3:WebSocket 프로토콜 사양

애플리케이션을 구축하려면 다음이 필요합니다.

필요한 소프트웨어:

<울>
  • Node.js 6+(https:/ /nodejs.org/en/download/ )
  • RPIO(https://www.npmjs.com/package/rpio )
  • 웹소켓(https://www.npmjs.com/package/ws )
  • 도커(https://docs.docker.com/engine/installation/ )
  • 필요한 하드웨어:

    <울>
  • 라즈베리 파이 3(모델 B)
  • 전원 어댑터(2A/5V)
  • microSD 카드(8GB 이상) 및 SD 어댑터
  • XD-80 광 센서 모듈
  • 브레드보드와 듀폰 케이블 세트
  • 유선 네트워크 연결용 이더넷 케이블

  • 기기 조립

    애플리케이션을 빌드하기 전에 브레드보드를 ​​통해 XD-80 센서를 Raspberry Pi에 연결해야 합니다.

    SD 카드 준비

    SD 카드를 준비하려면 설명된 일련의 작업을 따르세요.

    <올>
  • 최신 Raspbian LITE 이미지 다운로드(https://raspberrypi.org/downloads/raspbian/에서 사용 가능) ).
  • SD 카드를 컴퓨터에 연결하고 Etcher(https://io/ ) Raspbian .img 파일을 SD 카드에 저장합니다.
  • 다음 명령을 사용하여 SSH를 활성화합니다.
  • <글꼴 스타일 ="글꼴 크기:13px;" face ="Courier New">
    cd /볼륨/부트
    ssh 터치

    <올 시작 ="4">
  • Wi-Fi를 활성화하려면 conf 다음 콘텐츠 포함:
  • <글꼴 스타일 ="글꼴 크기:13px;" face ="Courier New">
    network={
    ssid=”YOUR_SSID”
    psk=”YOUR_WIFI_PASSWORD”
    }

    Linux 콘솔에서 파일을 생성하려면 GNU nano 편집기를 사용할 수 있습니다. 대부분의 Linux 배포판에 사전 설치되어 있습니다. 나노 FILE_NAME 명령을 실행하고 표시된 지침을 따르십시오. <올 시작 ="5">
  • /home/pi/sensor
  • /home/pi/sensor/package.json 다음 콘텐츠가 포함된 파일:
  • <글꼴 스타일 ="글꼴 크기:13px;" face ="Courier New">
    {
    “이름”:“센서”,
    “버전”:“1.0.0”,
    “설명”:“”,
    “main”:“index.js”,
    “scripts”:{
    “start”:“node index.js”,
    “test”:“echo “오류:지정된 테스트 없음" &&exit 1″
    },
    "author":"",
    "license":"ISC",
    "dependencies":{ "rpio":"^0.9.16",
    "ws":"^2.3.1"
    }
    }

    <올 시작 ="7">
  • /home/pi/sensor/index.js 파일을 다음 내용으로 대체하여 REMOTE-SERVER-ADDRESS.com 실제 가치:
  • <글꼴 스타일 ="글꼴 크기:13px;" face ="Courier New">
    var WebSocket =require('ws');
    var rpio =require('rpio');

    var ws;
    var 수신기 ='ws://REMOTE-SERVER-ADDRESS.com:8080';
    rpio.open(11, rpio.INPUT);

    var 수립연결 =기능() {
    ws =새로운 WebSocket(수신기);
    ws.on('close',establishConnection);
    ws.on('error',establishConnection);
    };
    establishConnection();

    var sendStatus =function () {
    var status =rpio.read(11) ===0;
    console.log('빛 상태:' + status);
    var data =JSON.stringify({
    device:'raspberry',
    timestamp:Date.now(),
    > light:});

    { ws.send(data); }
    catch (e) {console.log('데이터를 ' + 수신자에게 전송하지 못했습니다.)> sendStatus();

    <올 시작 ="8">
  • /home/pi/sensor/Dockerfile 다음 콘텐츠가 포함된 파일:
  • <글꼴 스타일 ="글꼴 크기:13px;" face ="Courier New">
    hypriot/rpi-node:boron-onbuild에서


    사물 인터넷 기술

    1. 초연결에는 더 넓은 시야가 필요합니다
    2. 에지 컴퓨팅:5가지 잠재적인 함정
    3. 산업용 IoT 개발 전망
    4. 에지 분석으로 Industry 4.0 업그레이드
    5. 10대 IIoT 플랫폼
    6. IIoT 동향 및 주목해야 할 과제
    7. 엣지 컴퓨팅과 IIoT가 데이터에 대한 우리의 생각을 바꾸고 있습니까?
    8. IIoT란 무엇입니까?
    9. 엣지는 이제 액션의 중심입니다.
    10. AI 및 ML을 사용하여 에지 애플리케이션에서 실행 가능한 통찰력 추출