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

Modbus 산업용 센서를 오픈 소스 IIoT 게이트웨이와 인터페이스

산업용 사물 인터넷(IIoT) 애플리케이션은 일반적으로 다음이 필요합니다. Modbus 주변 장치 및 기타 장치를 통합하기 위해 edge 게이트웨이를 사용하지만 게이트웨이를 구현하는 것은 비용과 시간이 많이 소요될 수 있습니다. 이 기사에서는 배포를 크게 단순화할 수 있는 오픈 소스 에지 컴퓨팅 프레임워크와 산업용 센서를 인터페이스하는 사례 연구를 제공합니다.

산업용 사물인터넷(IIoT) 기술이 빠르게 성장하고 있습니다. 원격 모니터링 및 고급 분석 분야의 IIoT 애플리케이션은 비즈니스에 혁명을 일으키고 있으며 모범적인 이점을 제공하고 있습니다. 에지 컴퓨팅은 일반적으로 센서가 부착된 장치 또는 센서에 물리적으로 가까운 게이트웨이 장치에서 직접 발생합니다.

다수의 센서를 에지 게이트웨이와 인터페이스해야 하는 산업 사용 사례에서 솔루션 설계자와 개발자는 에지 게이트웨이의 소프트웨어 설계 및 개발과 다양한 센서의 데이터를 처리하고 설계 및 개발 중에 데이터 분석을 수행하는 방법을 결정해야 합니다. 단계. 이러한 상황에서 오픈 소스 프레임워크, 새로운 소프트웨어 개발, 버그 수정이 없다면 많은 노력과 비용이 소요될 수 있습니다.

2부로 구성된 이 시리즈의 첫 번째 기사에서는 사용 사례와 함께 산업용 센서를 설명하고 에지 게이트웨이 요구 사항에 대한 개요와 에지 역할을 하는 오픈 소스 에지 컴퓨팅 프레임워크인 EdgeX Foundry를 통해 에지 게이트웨이 요구 사항을 충족할 수 있는 방법에 대한 논의를 제공합니다. 물리적 감지 및 작동 "사물"과 정보 기술(IT) 시스템 사이의 미들웨어(그림 1).


그림 1. EdgeX Foundry(출처:www.edgexfoundry.org)

이 기사에서는 에지 컴퓨팅 기능을 구현하기 위해 산업용 센서를 EdgeX와 인터페이스하는 사례 연구를 제공합니다.

이 사례 연구의 목적은 산업용 온도 및 습도 센서를 인터페이스하여 Raspberry Pi 게이트웨이에서 실행되는 EdgeX Foundry라는 에지 컴퓨팅 프레임워크 중 하나를 평가하는 것입니다. 다음은 높은 수준의 블록 및 데이터 흐름 다이어그램입니다. 사례 연구 설명:

전체 크기 이미지를 보려면 클릭하세요.

그림 2. 하이 레벨 블록 다이어그램(출처:www.edgexfoundry.org)

모드버스

Modbus는 개방형 프로토콜이며 전송이 표준입니다. 많은 독점 프로토콜과 달리 특정 물리적 계층이 필요하지 않으므로 Modbus 네트워크는 RS-485 링크와 같은 저렴하고 일반적인 인프라에 구축됩니다.

Modbus는 매우 간단한 데이터 표현을 구현하고 이해하기 쉽습니다. 주요 목적은 단순히 Modbus 마스터와 슬레이브 장치 간에 데이터를 이동하는 것입니다. 이동할 데이터는 레지스터와 코일의 두 가지뿐입니다. 레지스터는 온도, 습도 및 압력 값과 같은 아날로그 값을 저장하는 데 사용되는 16비트 부호 없는 정수입니다. 코일은 Modbus 메모리 맵에 디지털 값을 저장하는 데 사용되는 단일 비트로, 일반적으로 스위치 상태(ON 또는 OFF), 모터 작동 상태(UP 또는 DOWN) 및 밸브 상태(OPEN 또는 CLOSE)와 같은 상태 값입니다.

코드 공간이 거의 필요하지 않으며 종종 1K도 필요합니다. RAM은 데이터 공간의 크기에 따라 다릅니다. 적은 양의 데이터가 있는 간단한 자동화 장치는 RAM 공간이 거의 없는 상태에서 구현할 수 있습니다.

Modbus는 프로그래머가 아닌 사람들도 쉽게 이해할 수 있습니다. 접착제 기계, 계량기, 측정 장치 등을 만든 엔지니어는 코일/레지스터의 개념과 이를 읽고 쓰는 간단한 명령을 쉽게 이해할 수 있었습니다.

종종 여러 기기가 동일한 Modbus 네트워크에 연결됩니다. 모든 계측 네트워크 프로토콜을 지원하는 계측기는 없지만 거의 모두 Modbus를 지원합니다. Modbus를 선택하면 호환성 문제와 향후 업그레이드 문제를 피할 수 있는 좋은 기회가 있습니다.

온도 모니터링

IoT 온도 모니터링 시스템을 통해 업계는 안전한 웹/모바일 기반 플랫폼에서 환경 매개변수를 추적하고 실시간으로 즉각적인 알림을 제공할 수 있습니다. 이러한 온도 센서 데이터는 원격 엔드에서 액세스할 수 있습니다.

온도 센서에서 수집된 데이터는 통계적 통찰력을 생성하는 데 사용할 수 있습니다. 이는 업계에서 창고 및 냉장 보관의 신뢰성을 개선하는 데 도움이 될 것입니다.

많은 산업 사용 사례에서 이 애플리케이션을 사용합니다.

이러한 종류의 사용 사례의 경우 온도 및 습도 모니터링 애플리케이션은 매우 관련이 있습니다. 이 애플리케이션은 온도와 습도를 모니터링하기 위한 게이트웨이가 필요합니다. 게이트웨이에는 에지 컴퓨팅 프레임워크가 필요합니다. 여기에서 사용된 Modbus 센서, 게이트웨이 및 에지 컴퓨팅 프레임워크는 각각 SHT20 산업용 온습도 센서, Raspberry Pi 4 및 EdgeX Foundry입니다.

Edgex는 어떻게 사용되나요?

Modbus 슬레이브 시뮬레이터(ModbusPal)를 사용한 Modbus 장치 서비스 검증

ModbusPal은 GPL 라이선스로 출시된 무료 오픈 소스인 Modbus 슬레이브 시뮬레이터입니다. 그 목적은 복잡하고 사실적인 Modbus 환경을 재현할 수 있는 기능과 함께 사용하기 쉬운 인터페이스를 제공하는 것입니다. TCP/IP를 기본적으로 지원하며 컴퓨터에 RxTx 라이브러리가 설치되어 있으면 직렬 통신을 지원합니다.

ModbusPal은 최대 247개의 Modbus 슬레이브를 시뮬레이션할 수 있습니다. 각 슬레이브는 홀딩 레지스터와 코일을 가질 수 있습니다. 각 레지스터 또는 코일은 "자동화"라고 하는 동적 값 생성기에 연결하여 애니메이션할 수 있습니다.

슬레이브 장치를 전력계로 사용하는 ModbusPal 시뮬레이터를 사용하는 모드버스 장치 서비스의 검증은 아래 언급된 단계에 따라 수행됩니다. 같은 방식으로 온도, 습도 및 압력 센서와 같은 슬레이브 장치를 사용하여 모든 종류의 Modbus 지원 환경을 시뮬레이션할 수 있습니다.

<올>
  • ModbusPal 환경 설정,
  • 슬레이브 장치 추가 및 주소 지정, 값 및 자동화 구성,
  • EdgeX에 Modbus 장치 프로필 게시,
  • EdgeX에 Modbus 장치 게시,
  • 슬레이브 장치(PUT)에 데이터 전송 또는 작동
  • 슬레이브 장치에서 데이터 수신(GET).
  • docker 및 docker-compose를 설치할 수 있는 모든 운영 체제를 설치합니다. 이 예에서는 Ubuntu 20.04.2 LTS를 사용하여 docker를 사용하여 EdgeX를 배포합니다.

  • 그림 3. ModbusPal 시뮬레이터 환경 설정

    1. 슬레이브 장치를 추가하고, 유지 레지스터를 구성하고, 값과 이름을 입력하고, 적절한 자동화에 바인딩합니다.


    그림 4. ModbusPal 시뮬레이터에서 슬레이브 장치 추가 및 구성(출처:www.edgexfoundry.org)

    1. POST 명령을 사용하여 기기 프로필을 게시합니다.
    curl –X POST http://
    :48081/api/v1/deviceprofile/uploadfile -F file=@ 
     


    그림 5. EdgeX에 기기 프로필 게시

    1. POST 명령을 사용하여 장치를 게시합니다. 아래 명령어를 사용하여 파일로 업로드하거나 스크린샷인 명령어를 사용하여 콘텐츠로 업로드하세요.
    curl –X POST http://
    :48081/api/v1/device/uploadfile -F “file=@ 
     


    그림 6. EdgeX에 기기 게시

    1. PUT 명령을 실행하여 데이터를 보냅니다.
    curl –X PUT http://
    :48082/api/v1/device//command/ -H “Content-Type:application /json” –d '{“<이름1>”:“<값>”,“<이름2>”:“<값>”}'      
     


    그림 7. EdgeX에서 PUT 명령 실행

    1. GET 명령을 실행하여 데이터를 수신합니다.
    curl –X GET http://
    :48082/api/v1/device/name/<이름>/command/Configuration | json_pp 
     

    전체 크기 이미지를 보려면 클릭하세요.

    그림 8. EdgeX에서 GET 명령 실행

    기기 프로필

    장치 프로필은 EdgeX 시스템 내의 장치 유형을 설명합니다. 장치 서비스에서 관리하는 각 장치는 장치 프로필과 연결되어 있으며, 장치 프로필은 지원하는 작업의 관점에서 해당 장치 유형을 정의합니다. 장치 프로필은 장치의 값과 작동 방법을 정의하며, 읽기 또는 쓰기가 가능합니다. 장치 프로필은 다음 태그로 구성됩니다.

    <올>
  • 신분증: 프로필에는 다양한 식별 필드가 있습니다. 이름 필드는 필수이며 EdgeX 배포에서 고유해야 합니다. 다른 필드는 선택 사항입니다. 장치 서비스에서 사용되지 않지만 정보 제공을 위해 채워질 수 있습니다.
  • DeviceResources: deviceResource는 개별적으로 또는 deviceCommand의 일부로 읽거나 쓸 수 있는 장치 내의 센서 값을 지정합니다. 식별을 위한 이름과 정보 제공을 위한 설명이 있습니다.
  • 장치 명령: DeviceCommands는 여러 동시 장치 리소스에 대한 읽기 및 쓰기에 대한 액세스를 정의합니다. 명명된 각 deviceCommand에는 읽기 또는 쓰기를 각각 설명하는 여러 get 및/또는 set resourceOperations가 포함되어야 합니다.
  • 핵심 명령: CoreCommands는 장치를 읽고 쓰기 위해 core-command 마이크로 서비스를 통해 사용할 수 있는 명령을 지정합니다. deviceResources와 deviceCommands는 모두 coreCommands로 나타낼 수 있습니다(coreCommand의 이름은 deviceCommand 또는 deviceResource의 이름을 나타냄).
  • Modbus 온도 및 습도 센서의 기기 프로필 (전체 목록을 보려면 스크롤)

    이름 :"TemperatureHumiditySensor"제조업체 :"ROBOKITS"모델 :"RKI-4879"라벨 :- "SHT20"설명 :"산업용 온도 및 습도 송신기 SHT20 센서 고정밀 모니터링 Modbus RS485"deviceResources :-이름 :"TemperatureDegC" 설명 :"실온(섭씨 온도)" 속성 : { 기본 테이블 :"INPUT_REGISTERS", startingAddress:"2", rawType:"INT16" } 속성 : : { 유형 :"Float32", readWrite:"R", scale:"0.1", floatEncoding:"eNotation" }단위 : { 유형 :"문자열", readWrite:"R", defaultValue:"섭씨도" } -이름 :"HumidityPercentRH" 설명 :"실내 습도(%RH)." 속성 : { 기본 테이블 :"INPUT_REGISTERS", startingAddress:"3", rawType:"INT16" } 속성 : : { 유형 :"Float32", readWrite:"R", scale:"0.1", floatEncoding:"eNotation" }단위 : { 유형 :"문자열", readWrite:"R", 기본값:"%RH" }장치 명령 :-이름 :"TemperatureDegC" get : - { 색인 :"1", 작업:"get", deviceResource:"TemperatureDegC" } -이름 :"HumidityPercentRH" get : - { 색인 :"2", 작업:"get", deviceResource:"HumidityPercentRH" }coreCommands :-이름 :"TemperatureDegC" get :경로 :"/api/v1/device/{deviceId}/TemperatureDegC" 응답 :- 코드 :"200" 설명 :"온도를 섭씨로 가져오기" expectedValues :["TemperatureDegC"] - 코드 :"503" 설명 :"서비스를 사용할 수 없음" expectedValues :[] - 이름 :"HumidityPercentRH" get :경로 :"/api/v1/device/{deviceId}/HumidityPercentRH" 응답 :- 코드 :"200" 설명 :"%RH로 습도 가져오기" expectedValues :["HumidityPercentRH"] - 코드 :"503" 설명 :"서비스를 사용할 수 없음" expectedValues :[]

    1.1.1.1 GPIO 장치의 장치 프로필 – 1(빨간색 LED) (전체 목록을 보려면 스크롤)

    이름 :"device-gpio12"제조업체 :"Jiangxing Intelligence"모델 :"SP-01"라벨 :- "gpio12"설명 :"명령으로 자동으로 gpio12 내보내기"deviceResources :-이름 :"값" 설명 :"시스템 gpio 값 설정 또는 가져오기" 속성 : : { 유형 :"Int8", readWrite:"RW", 최소값:"0", 최대값:"1", defaultValue:"0" }단위 : { 유형 :"String", readWrite:"R", defaultValue:"high:1; low:0" }deviceCommands :-이름 :"값"얻기 : - { 작업 :"get", deviceResource:"value" } set : - { 작업 :"set", deviceResource:"value", 매개변수:"0" }coreCommands :-이름 :"값" 넣어 :경로 :"/api/v1/device/{deviceId}/value" 매개변수 이름 :["값"] 응답 :- 코드 :"200" 설명 :"" - 코드 :"500" 설명 :"서비스를 사용할 수 없음" expectedValues :[] 얻다 :경로 :"/api/v1/device/{deviceId}/value" 응답 :- 코드 :"200" 설명 :"" 예상 값 :["값"] - 코드 :"500" 설명 :"서비스를 사용할 수 없음" expectedValues :[]

    GPIO 장치의 장치 프로필 – 2(파란색 LED) (전체 목록을 보려면 스크롤)

    이름 :"device-gpio14"제조업체 :"Jiangxing Intelligence"모델 :"SP-01"라벨 :- "gpio14"설명 :"명령으로 자동으로 gpio14 내보내기"deviceResources :-이름 :"값" 설명 :"시스템 gpio 값 설정 또는 가져오기" 속성 : : { 유형 :"Int8", readWrite:"RW", 최소값:"0", 최대값:"1", defaultValue:"0" }단위 : { 유형 :"String", readWrite:"R", defaultValue:"high:1; low:0" }deviceCommands :-이름 :"값"얻기 : - { 작업 :"get", deviceResource:"value" } set : - { 작업 :"set", deviceResource:"value", 매개변수:"0" }coreCommands :-이름 :"값" 넣어 :경로 :"/api/v1/device/{deviceId}/value" 매개변수 이름 :["값"] 응답 :- 코드 :"200" 설명 :"" - 코드 :"500" 설명 :"서비스를 사용할 수 없음" expectedValues :[] 얻다 :경로 :"/api/v1/device/{deviceId}/value" 응답 :- 코드 :"200" 설명 :"" 예상 값 :["값"] - 코드 :"500" 설명 :"서비스를 사용할 수 없음" expectedValues :[]

    구성

    장치를 정의하고 작업을 예약하기 위한 구성 파일입니다. 마이크로 서비스(즉, device-modbus)는 시작 시 상대 인스턴스를 생성합니다. 프로토콜 유형, 게이트웨이 이름, 프로토콜, 주소, 포트 및 경로(유닛 ID)와 같은 세부 정보가 있습니다.

    온도 및 습도 센서의 구성 파일 (전체 목록을 보려면 스크롤)

    [Writable]LogLevel ='DEBUG'[Service]BootTimeout =30000CheckInterval ='10s'Host ='localhost'ServerBindAddr ='' # 공백 값은 기본적으로 서비스로 설정됩니다. .Host valuePort =49991Protocol ='http'StartupMsg ='장치 모드버스 시작됨'Timeout =5000ConnectRetries =10Labels =[]EnableAsyncReadings =trueAsyncBufferSize =16[레지스트리]Host ='localhost'Port =8500Rem[메모] ='falseFile' ='./GPIO.LOG'[클라이언트] [Clients.Data] 프로토콜 ='http' 호스트 ='localhost' 포트 =48080 [Clients.Metadata] 프로토콜 ='http' 호스트 ='localhost' 포트 =48081 [클라이언트. 로깅] 프로토콜 ='http' 호스트 ='localhost' 포트 =48061[장치] DataTransform =true InitCmd ='' InitCmdArgs ='' MaxCmdOps =128 MaxCmdValueLen =256 RemoveCmd ='' RemoveCmdArgs ='' ProfilesDir =UpdateLastConnected =false# 사전 정의 장치[[DeviceList]] Name ='TemperatureHumiditySensor' # 장치 프로필 파일 이름 Profile ='TemperatureH umiditySensor' 설명 ='산업 등급 온도 및 습도 전송기 SHT20 센서 고정밀 모니터링 Modbus RS485' 레이블 =[ 'TemperatureHumiditySensor','modbusRTU' ] [DeviceList.Protocols] [DeviceList.Protocols.modbus-rtu] 주소 ='/dev/ ttyUSB0' BaudRate ='9600' DataBits ='8' StopBits ='1' 패리티 ='N' UnitID ='1' [[DeviceList.AutoEvents]] 주파수 ='5s' OnChange =false 리소스 ='TemperatureDegC' [[DeviceList .AutoEvents]] 빈도 ='5s' OnChange =false 리소스 ='HumidityPercentRH'

    GPIO 장치의 구성 파일(빨간색 LED 및 파란색 LED) (전체 목록을 보려면 스크롤)

    [Writable]LogLevel ='DEBUG'[Service]BootTimeout =30000CheckInterval ='10s'Host ='localhost'ServerBindAddr ='' # 공백 값은 기본적으로 서비스로 설정됩니다. .Host valuePort =49950Protocol ='http'StartupMsg ='device gpio started'Timeout =5000ConnectRetries =10Labels =[]EnableAsyncReadings =falseAsyncBufferSize =16[레지스트리]Host ='localhost'Port =8500ReType[mLogging] =falseFile =Ensul ='./GPIO.LOG'[클라이언트] [Clients.Data] 프로토콜 ='http' 호스트 ='localhost' 포트 =48080 [Clients.Metadata] 프로토콜 ='http' 호스트 ='localhost' 포트 =48081 [클라이언트. 로깅] 프로토콜 ='http' 호스트 ='localhost' 포트 =48061[장치] DataTransform =true InitCmd ='' InitCmdArgs ='' MaxCmdOps =128 MaxCmdValueLen =256 RemoveCmd ='' RemoveCmdArgs ='' ProfilesDir =UpdateLastConnected =false# 사전 정의 장치[[DeviceList]] 이름 ="gpio12" 프로필 ="device-gpio12" 설명 ="gpio12 사용" 레이블 =['gpio1 2'] [DeviceList.Protocols] [DeviceList.Protocols.other] 주소 ="device-gpio12"[[DeviceList]] 이름 ="gpio14" 프로필 ="device-gpio14" 설명 ="gpio14 사용" 레이블 =['gpio14 '] [DeviceList.Protocols] [DeviceList.Protocols.other] 주소 ="device-gpio14"

    결과에 따른 설정 및 실행

    <올>
  • 아래 그림과 같이 점퍼와 저항을 사용하여 USB 변환기 및 LED에 대한 RS485 인터페이스를 통해 SHT20 산업용 온도 및 습도 트랜스미터를 Raspberry Pi(EdgeX Foundry가 설치된)에 연결합니다.
  • 전체 크기 이미지를 보려면 클릭하세요.

    그림 9. 하드웨어 연결 세부정보

    <올>
    1. 위의 장치 프로필을 POST와 함께 메타데이터에 http://localhost:48081/api/v1/deviceprofile/uploadfile에 업로드하고 파일을 form-data 형식의 본문에 키 "file"로 추가하고 생성된 아이디가 반환됩니다. 다음 예제 명령은 curl을 사용하여 요청을 보냅니다.
      curl –X POST http://
      :48081/api/v1/deviceprofile/uploadfile -F file=@ 
       
    2. 모든 필수 기기 서비스가 실행 중인지 확인합니다.

  • 그림 10. 활성 기기 서비스 확인

    c. POST가 있는 장치를 http://localhost:48081/api/v1/device에 추가하면 본문은 다음과 같이 표시됩니다. (전체 목록을 보려면 스크롤)

    curl -X POST http://localhost:48081/api/v1/device  -H "콘텐츠 유형:application/json" -d '{ "이름"  :"TemperatureHumiditySensor", "설명" :"산업용 온도 및 습도 트랜스미터 SHT20 센서 고정밀 모니터링 Modbus RS485", "adminState" :"UNLOCKED", "operatingState" :"활성화됨", "프로토콜" :{ "modbus-rtu" :{ "주소"  :"/dev/ttyUSB0", "전송 속도"  :"9600", "데이터비트"  :"8", "스톱비트"  :"1", "패리티"  :"N", "UnitID"  :"1" } }, "레이블" :[ "TemperatureHumiditySensor", "modbusRTU" ], "서비스" :{"이름":"edgex-device-modbus"}, "프로필" :{"name":"TemperatureHumiditySensor"}, "autoEvents" :[ { "빈도" :"5초", "onChange" :false,  "리소스" :"TemperatureDegC" }, { "주파수" :"5초", "onChange" :false,  "리소스" :"HumidityPercentRH" } ]}'

    장치는 POST 명령을 사용하거나 configuration.toml 파일의 일부로 추가할 수 있습니다.

    1. 장치 서비스는 5초마다 센서에서 온도 및 습도 데이터를 가져옵니다. 수신된 데이터는 코어 서비스로 전송되어 Redis 서버에 저장됩니다.
    2021/03/02 05:03:33 modbus:송신 01 04 00 01 00 01 60 0a2021/03/02 05:03:33 modbus:수신 01 04 02 01 4d 78 95

    표 1. Modbus 요청 및 응답 디코딩

    보냄 디코딩 받음 디코딩 01Slave ID 01Slave ID04Function Code 04Function Code00 01Register Address 02Bytes Count00 01레지스터 수 01 4dData (0x014d =333)60 0aCRC 78 95CRC
    1. 핵심 서비스는 데이터를 애플리케이션 서비스로 전송합니다. 아래 그림은 핵심 서비스의 데이터를 보여줍니다.


    그림 11. 핵심 서비스에 저장된 온도 및 습도 데이터

    1. 애플리케이션 서비스가 데이터를 클라우드로 전송합니다. 여기서는 IBM 클라우드를 사용합니다. 아래 그림은 IBM 클라우드의 데이터를 보여줍니다.

    전체 크기 이미지를 보려면 클릭하세요.

    그림 12. Application Service에서 보낸 IBM Cloud의 온도 및 습도 데이터

    1. 북쪽에서 남쪽으로 다른 쪽에서 응용 프로그램 서비스는 데이터를 규칙 엔진으로 보냅니다(여기서는 Kuiper 규칙 엔진 사용). 다음 규칙이 설정됩니다.

    표 2. 규칙

    규칙 번호 규칙 LED 상태 규칙 #1TemperatureDegC> 30°CRed1 (ON)Rule #2TemperatureDegC <30°CRed0 (OFF)Rule #3TemperatureDegC> 28°CBlue0 (OFF)Rule #4TemperatureDegC <28°CBlue1 (ON)


    그림 13. 규칙 #1


    그림 14. 규칙을 적용하는 스크립트

    1. 임계 온도가 충족될 때마다 규칙 엔진이 핵심 명령에 명령을 보냅니다.
    2. core 명령은 임계 온도 기반 LED를 켜거나 끄도록 GPIO 장치 서비스를 작동시킵니다. 규칙을 실행하면 규칙이 적용됩니다. 여기서 gpio12는 빨간색 LED를 의미하고 gpio14는 파란색 LED를 의미합니다.

    a. 온도가 30 °C 이상으로 올라갈 때마다 빨간색 LED를 켜십시오.

    규칙 엔진 로그:

    level=info msg="red_led_on 규칙에 대한 싱크 결과:[{\"TemperatureDegC\":32.3}] 파일 ="sinks/log_sink.go:16"rule=red_led_onlevel=info msg="규칙 blue_led_off에 대한 싱크 결과:[{\"TemperatureDegC\":32.3}] file="sinks/log_sink.go:16"rule=blue_led_off 

    GPIO:

    root@ubuntu:~# 고양이 /sys/class/gpio/gpio12/value1root@ubuntu:~# 고양이 / sys/class/gpio/gpio14/value0

    b. 온도가 28°C 미만으로 떨어질 때마다 파란색 LED가 켜집니다.

    규칙 엔진:

    level=info msg="규칙 red_led_off:[{\"TemperatureDegC\":27.2}] 파일에 대한 싱크 결과 ="sinks/log_sink.go:16"rule=red_led_offlevel=info msg="규칙 blue_led_on에 대한 싱크 결과:[{\"TemperatureDegC\":27.2}] file="sinks/log_sink.go:16"rule=blue_led_on 

    GPIO:

    root@ubuntu:~# 고양이 /sys/class/gpio/gpio12/value0root@ubuntu:~# 고양이 / sys/class/gpio/gpio14/value1
    1. 마지막으로 GPIO 서비스는 LED를 켜거나 끕니다.

    결론

    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

    사물 인터넷 기술

    1. 오픈 소스 용어 소개
    2. Cisco는 새로운 라우터로 엔터프라이즈 및 산업용 에지를 결합합니다.
    3. AT&T, Tech Mahindra, 새로운 오픈 소스 AI 플랫폼 공동 작업
    4. 4.0 산업 혁명으로 품질 표준 높이기
    5. 소프트웨어 위험:IoT에서 오픈 소스 보호
    6. 에지 분석으로 Industry 4.0 업그레이드
    7. Advancing Edge Computing, IIC, OpenFog와 합류
    8. 오픈 소스 IoT 개발 도구 대 공급업체 지원 도구
    9. 엣지에서 오픈 소스의 필요성(eBook)
    10. 오픈 소스로 IoT 및 에지 컴퓨팅 도입 촉진