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

RTI Labs 및 Connext DDS with Python용 커넥터 소개

이번 이후로 많은 일이 일어났습니다. 원래 게시 된 게시물. 이제 Python 또는 Javascript를 사용하여 DDS에 액세스할 수 있다는 사실을 알고 계셨습니까? Connext ® 용 RTI 커넥터에 대한 수요를 높여준 RTI Labs 프로그램의 베타 테스터에게 감사드립니다. DDS는 이제 Connext 제품군의 일부로 제공됩니다.

이번 주에 우리는 산업용 IoT를 위해 개발 중인 신기술에 대한 조기 액세스를 고객에게 제공하는 무료 프로그램인 RTI Labs를 발표하게 된 것을 기쁘게 생각합니다. 우리는 그것들을 실험적 프로젝트라고 부릅니다. RTI Labs를 활용하는 고객은 실험 기능에 대한 피드백을 제공함으로써 차세대 기술을 활용하고 제품 로드맵에 영향을 미칠 수 있는 기회를 갖게 됩니다. 윈-윈 상황입니다!

3개의 새로운 실험 프로젝트와 함께 프로그램을 시작합니다. 첫 번째 프로젝트는 Connext DDS용 RTI(R) 커넥터입니다. 이미 RTI Connext 5.3.0을 다운로드하고 RTI Launcher를 시작한 경우 'Lab' 탭에 몇 가지 새로운 아이콘이 표시됩니다. 이 아이콘 중 하나는 커넥터용입니다.

커넥터 아이콘을 클릭하면 커뮤니티 포털의 RTI 커넥터 페이지로 이동합니다. 커넥터는 데모 생성 및 빠른 테스트를 돕기 위해 RTI의 연구 팀에서 개발했습니다. 커넥터는 RTI Prototyper에 대한 Lua 인터페이스로 시작한 후 Python 및 JavaScript/node.js와 같은 스크립팅 언어에 대한 지원을 추가했습니다.

하지만 RTI 커넥터란 무엇입니까?

Connext DDS용 RTI 커넥터는 JavaScript, Python 및 Lua를 비롯한 다양한 스크립팅 언어에서 RTI Connext DDS의 성능과 기능에 빠르고 쉽게 액세스할 수 있는 방법입니다. XML 앱 생성 및 동적 데이터를 포함하여 Connext DDS의 여러 강력한 기능을 기반으로 합니다.

이 블로그 게시물은 RTI 커넥터의 파이썬 인터페이스에 중점을 두고 있지만 대부분의 개념은 JavaScript/node.js 및 lua/prototyper에 쉽게 적용됩니다.

사용 사례

RTI 커넥터에 대한 많은 사용 사례가 있습니다. 얼리 어답터의 사용 사례는 다음과 같습니다.

RTI 시작하기

이 블로그 게시물에서는 여러분이 파이썬에 어느 정도 익숙하다고 가정합니다. RTI 커넥터는 python 3 및 <3에서 모두 작동합니다. 모든 주요 엔터프라이즈 시스템과 Raspberry Pi와 같은 보드에서도 지원됩니다. 여기에서 사용 가능한 플랫폼 목록을 볼 수 있습니다. 다른 것에 대한 지원이 필요하면 주저하지 말고 포럼에 문의하십시오. Python에 Connext DDS용 RTI 커넥터를 설치하려면 PyPI에서 제공되는 패키지를 사용할 수 있습니다.

 pip 설치 rticonnextdds_connector

다른 방법은 저장소를 복제하는 것입니다.

 자식 복제 https://github.com/rticommunity/rticonnextdds-connector.git

저장소에서 시작하는 데 도움이 되는 몇 가지 예도 찾을 수 있습니다.


API 개요

API가 어떻게 생겼는지 봅시다. 더 자세한 정보를 원하시면 GitHub 리포지토리에서 README를 볼 수 있습니다.

가장 먼저 할 일은 RTI 커넥터 라이브러리를 가져오는 것입니다.

 rticonnextdds_connector를 rti로 가져오기 

RTI 커넥터에 대한 참조가 있으면 API를 호출하여 새 커넥터를 생성할 수 있습니다.

<사전> 커넥터 =rti.Connector("MyParticipantLibrary::Zero","./ShapeExample.xml");

첫 번째 문자열은 사용하려는 구성의 이름이고 두 번째 문자열은 XML-Base App Creation 구성이 포함된 XML 파일입니다. 여기에서 해당 파일의 예를 볼 수 있습니다.

커넥터가 생성되면 getOutput API를 사용하여 모든 데이터 작성기에 액세스할 수 있습니다.

<사전> 출력 =connector.getOutput("MyPublisher::MySquareWriter")

또는 동일한 방식으로 데이터 리더에 액세스할 수 있습니다.

<사전> 입력 =connector.getInput("MySubscriber::MySquareReader");

두 API 모두 XML 파일에 정의된 엔티티 이름을 나타내는 매개변수로 하나의 문자열을 가져옵니다.

데이터 작성기에 대한 참조가 있으면(이 예에서는 출력) 연결된 인스턴스의 필드를 설정할 수 있습니다. 사전을 전달하면 그렇게 할 수 있습니다.

<사전> output.instance.setDictionary(샘플);

또는 각 필드를 개별적으로 설정하여:

 output.instance.setNumber("y", 2);

데이터 판독기 측(이 예에서는 입력)에서 read 또는 take를 호출할 수 있습니다.

 input.read();

또는

 input.take();

그런 다음 수신된 샘플을 반복할 수 있습니다.

<사전> numOfSamples =input.samples.getLength();

범위(1, numOfSamples+1)의 j에 대해:
input.infos.isValid(j)인 경우:
x =input.samples.getNumber(j, "x");
y =input.samples.getNumber(j, "y");
....

샘플은 두 가지 방법으로 액세스할 수 있습니다. 사전으로:

 샘플 =input.samples.getDictionary(j);

또는 필드별:

<사전> y =input.samples.getNumber(j, "y");
크기 =input.samples.getNumber(j, "모양 크기");

멀티스레딩 라이브러리를 사용하는 경우 커넥터에 대한 액세스를 보호해야 합니다. 여기에서 이 작업을 수행하는 방법에 대한 예를 찾을 수 있습니다.

이 모든 기능에는 경계가 따릅니다.

RTI 커넥터는 훌륭하고 많은 문제를 해결할 수 있습니다! 그러나 모든 것이 그렇듯이 모든 것에 완벽하지는 않습니다. 제한된 API 세트가 있습니다. Connext DDS Pro로 수행할 수 있는 일부 작업은 RTI 커넥터로 수행할 수 없습니다. 컴파일된 유형이 아닌 Dynamic Data에서만 작동합니다. 사용을 간단하게 하고 이식하기 위해 특정 사용 사례를 염두에 두고 몇 가지 가정을 했습니다. 특정 사용 사례를 해결하지 못할 수도 있고 해결하는 가장 효율적인 방법이 아닐 수도 있지만 아마도 다른 도구나 서비스가 있을 것입니다. 귀하의 특정 문제:저희에게 문의하세요!

얼마입니까?

이 기술의 비용이 얼마인지 궁금할 것입니다... 무료입니다!! 당신은 그것을 얻고 그것을 실험 할 수 있습니다. 우리가 요구하는 것은 피드백과 제안을 제공하는 것입니다. 이 피드백은 향후 제품 릴리스에 포함할 업데이트 및 기능의 우선 순위를 정하는 동안 고려됩니다. 따라서 귀하는 로드맵에 영향을 미칠 수 있습니다!

결론

이 블로그는 Python용 RTI 커넥터에 대한 소개입니다. 관심이 있는 경우 학습하는 가장 좋은 방법은 시도하는 것입니다. RTI 커뮤니티 포럼에 의문 사항이나 질문이 있는 경우 알려주십시오. 기꺼이 도와드리겠습니다! 마음에 드시고 개선을 위한 제안이나 아이디어가 있으면 언제든지 저희에게 연락하십시오. 다음 작업을 결정하는 동안 피드백을 기다리고 있습니다...


사물 인터넷 기술

  1. 오픈 DDS 대 RTI DDS 소프트웨어
  2. Connext DDS용 Telegraf 플러그인:DDS 및 InfluxDB를 사용하여 시계열 모니터링 시스템 구축
  3. 연결 6:지금 사용 가능합니다!
  4. Connext DDS 및 산업용 IoT:알아야 할 상위 5가지 사항
  5. Connext DDS를 위한 최신 RTI Perftest 발표
  6. 모든 사람들이 자율 주행 차량에 RTI Connext DDS를 사용하는 이유
  7. IIoT 개발자를 위한 2017년 상위 7개 리소스
  8. DDS 및 LabVIEW 2017로 산업용 IoT 시스템을 설계하는 방법
  9. Raspberry Pi 및 Python으로 로봇 구축
  10. 예제가 있는 Python의 type() 및 isinstance()