산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

회로에 대한 원하는 상태 구성

특정 도메인을 사용하여 LED 깜박임 모듈 트윈을 통해 Raspberry Pi에서 Johnny 5를 실행하는 Docker 컨테이너에 적용되는 언어입니다.

스토리

개요:

Azure IoT Edge를 사용하면 간헐적으로 연결된 장치가 "모듈 트윈"을 통해 원하는 속성을 얻을 수 있습니다. 이러한 쌍은 원하는 상태 구성으로 사용하여 에지 모듈 내에서 특정 동작을 구동할 수 있습니다. 에지 모듈은 컨테이너 워크로드로 실행되어 지속적인 연결 없이 자가 치유 및 신속한 배포가 가능합니다. 인터넷을 사용할 수 있을 때 기기는 클라우드 서비스를 활용하여 모듈 내에서 메서드를 호출할 수 있습니다.

이 프로젝트에서는 다음을 사용하여 연결된 회로에서 원하는 작업을 수행하도록 Raspberry Pi의 GPIO 핀을 구성하는 클라우드에서 원하는 상태를 얻는 Azure IoT NodeJS SDK를 사용하여 IoT Edge 모듈을 개발합니다. 쟈니 5.

이는 다음과 같은 흥미로운 사용 사례를 허용할 수 있습니다.* 다른 상태 구성을 적용하여 단일 회로에 대해 여러 작동 모드 허용* 쿠버네티스.

배경:

원하는 상태 구성은 처음으로 서버를 프로비저닝하고 실행 중인 시스템에서 규정 준수를 시행할 때 자주 사용되는 대중적인 개념입니다. 우리는 네트워크 연결이 간헐적일 수 있는 영역에서 탄력성과 정상적인 작동을 위해 설계된 서비스를 사용하는 회로로 이 개념을 확장합니다. 이 접근 방식을 통해 런타임에 연결된 회로의 동작을 변경하고 하드웨어 중복과 관련된 흥미로운 시나리오를 허용할 수 있습니다.

Microsoft의 Azure IoT Edge 런타임을 사용하면 프로젝트의 견고한 기반을 형성할 수 있습니다. 이 런타임은 로컬 하드웨어에서 서비스로 실행되며 Azure 클라우드의 장치별로 구성된 컨테이너화된 "모듈"의 오케스트레이션을 허용합니다. 모듈 배포 구성을 가져와 적용하는 edge-agent와 클라우드에 캐시된 메시징 및 모듈 간 통신을 허용하는 edge-hub의 두 가지 시스템 모듈이 항상 사용됩니다.

Azure IoT NodeJS SDK를 사용하여 Azure IoT Edge 모듈을 만드는 것으로 시작했습니다. 이 모듈은 주어진 장치에 대해 원하는 속성과 보고된 속성을 지정하는 쌍 구성을 수신합니다. Johny 5 구성으로 구문 분석되는 도메인 특정 언어를 사용합니다. 이를 통해 회로가 클라우드에서 어떻게 작동해야 하는지 정의하고 이를 IoT Edge 모듈에 적용할 수 있습니다.

구성 예는 다음과 같습니다.

"구성":"{\"주변 장치\":[{\"유형\":\"LED\",\"이름\":\"알람\",\"설정\"
:{\ "pin\":\"GPIO18\"},\"initialState\":{\"method\":\"blink\",\"period\":500},\
"outputAlias\":\”별칭2\”},{\”유형\”:\”버튼\”,\”이름\”:\”버튼\”,\”설정\”:
{\”핀\”:\ ”GPIO20\”},\”출력별칭\”:\”별칭1\”}]}”,

이 예제는 500ms마다 깜박이는 on/off의 초기 상태를 사용하여 GPIO18의 LED 장치를 정의합니다. LED 상태는 outputAlias를 사용하여 다른 모듈로 전파할 수 있습니다. alias1에 상태 변경 사항을 게시하는 버튼도 GPIO20에서 사용됩니다. 이러한 구성에서는 outputAlias를 라우팅하여 추가 모듈의 상태 변경에 독립적으로 응답할 수 있습니다.

현재 이 메커니즘을 사용하여 온도계, LED 및 버튼 장치 구성을 지원합니다.

재생산 단계:

시작하려면 IoT Hub가 배포된 Microsoft Azure 구독이 필요합니다.

다음으로 LED를 Raspberry Pi의 GPIO18에 연결하여 하드웨어 구성을 시작하겠습니다. 이 프로세스에 대한 지침은 여기에서 찾을 수 있습니다.

회로와 클라우드 서비스가 준비되면 이 가이드에 따라 Azure IoT Edge 런타임을 Raspberry Pi에 설치하고 싶을 것입니다. 런타임이 설치되면 다음 안내에 따라 기기를 수동으로 프로비저닝해야 합니다.

다음으로 LED를 깜박일 수 있도록 Azure 내에서 특수 배포를 생성합니다.

아래와 같이 배포를 생성합니다.

이미지 URL:

toolboc/johnny5onedge:0.0.981-arm32v7

컨테이너 생성 옵션:

{“ExposedPorts”:{“9229/tcp”:{}},“HostConfig”:{“PortBindings”:{“9229/tcp”:[{“HostPort”:“9229”}]},“권한”:true ,“장치”:[{“PathOnHost”:“/dev/i2c-1”,“PathInContainer”:“/dev/i2c-1”,“CgroupPermissions”:“rwm”},{“PathOnHost”:“/dev /gpiomem”,“PathInContainer”:“/dev/gpiomem”,“CgroupPermissions”:“rwm”}],“마운트”:[{“유형”:“바인드”,“소스”:“/lib/modules/” ,“대상”:“/lib/modules/”}]}}

모듈 쌍의 원하는 속성:

{
"properties.desired":{
"config":"{\"peripherals\":[{\"type\":\"Led\",\"name\":\" 알람\",\"설정\":{\"핀\":\"GPIO18\"},\"초기 상태\":{\"메서드\":\"깜박임\",\"기간\":500 },\”출력별칭\”:\”별칭2\”},{\”유형\”:\”버튼\”,\”이름\”:\”켜기\”,\”설정\”:{\”핀 \”:\”GPIO20\”},\”출력 별칭\”:\”별칭1\”}]}”
}
}

완료되면 저장합니다. 그런 다음 "대상 장치"에 도달할 때까지 "경로 지정" 및 "지표 지정" 섹션을 건너뜁니다.

우선순위를 10으로 설정하고 tags.environment='blinK의 대상 조건을 추가합니다.

추가 정보 읽기…..

회로에 대한 원하는 상태 구성


제조공정

  1. Azure의 Kubernetes:성공을 위한 도구 및 팁
  2. Azure 인증:Cloud Institute의 전문가가 설명하는 귀하에게 더 나은 방법
  3. Azure DevOps 인증이 나에게 적합합니까?
  4. 교육 없이 Azure DevOps 인증 시험을 준비하는 방법은 무엇입니까?
  5. AWS, GCP 및 Azure를 위한 효과적인 비용 관리 방법
  6. 제어 회로
  7. 위험한 상황에서 HMI를 위한 구성
  8. 신호 회로용 차폐 케이블(2부)
  9. 신호 회로용 차폐 케이블(1부)
  10. Microsoft, 5G 애플리케이션을 위한 Azure Edge Zone 출시