みなさんこんにちは。私の名前はカズヒトヨコイです。このセッションをご視聴いただきありがとうございます。今日はノードレッドのカスタムコネクタを開催しましょう。では始めましょう。今回のコンテンツを紹介します。まず、私が紹介します。後ろに、ノードレッドとカスタムコネクタを紹介します。次に、ドレッドのコネクタを紹介します。最後に、オーエッセスコネクタを紹介します。私が自分の名前を紹介します。私の名前はカズヒトヨコイです。それから私自身の説明を出させてください My Name is Kazuki TeokoiI am a member of a Nordred Project2017年のMODELET Project、Nordred Projectからの説明を受けに参加しました4人 taste、Nordred Communityからの説明を受け取り 1人としての説明ブロジェクトとなりましたノードレットの使い方は アニュアルコンパレンスのノードレットコンピュースのメンバーのコンピュースについてお伺いします私はヒタチのノードレットコンサルタント トレーナーとブックオーサーのコンピュースについてお伺いします私はネギのメンバーの使い方についてお伺いしますこの連絡についてお伺いします全てはノードレットコンピュースの スミナーの使い方をお伺いしましたこのアニュアルコンピュースについてお伺いします私はノードレットフローライブラリーの オープンソースコネクターについてお伺いしましたたくさんのコンピュースの オープンソースコネクターについてお伺いしました例えば スミナーの使い方は テーブルコネクターで アニュアルコンピュースについてお伺いしますフローデベロッパーは オリジナルアプリケーションを作っていますフローでコンピュースについてお伺いします左側には 多くのコンピュースの スペシフォンクションがありますコンピュースについてお伺いしますコンピュースについてお伺いしますナルアプリケーションの トップライブラリーをゲットにしてフローが スーパーで 急げることができますノードレットの オリジナルアプリケーションが オリジナルアプリケーションで オリジナルアプリケーションの作り方を作っていますこのフローでは オリジナルアプリケーションの エンダストリアルアプリケーションの 説明をしますメイン・ユースケースはファクトリーのリモートモニタリングシステムを使用しています。MQTTプロタコールでデータを送り、クラウドエンヴァイルメントを使用しています。アドバンスのケースは、コントロール・プロダクションラインを使用しています。右側のアマゾンウェブサービスをビジョンコントロールドコンベイヤーをアドバンスの前に、ノードレットもイメージレコグニションの技術を保管しています。アセンブリーのインスペクションは、ノードレットの使用者です。人物レコグニションのモデルを使用しています。ノードレットは、サバランスカメラの使用者です。ネットマスバージョンのノードレット、ネットマスバージョンの製品を使用しています。ノードレットは、イメージレコグニションのエンジンを使用しています。その他に、Hitachiのノードレットの使用者にサービスを使用しました。Nodretは、ネットマスバージョンのコーディネータ、データハーブ、デジタルサプライチェーン、IoTグローバル、ヒタチ・バンターラー、データフロードデザイナー、ヒタチ・コーポレートカラー、レッド・ハンド・ファイト、ヒタチ・インダストリアル・コントロール・ソリューション、イメージ・レコグニション・ソリューション、ヒタチ・ソリューション、プランニング・システム、マニファクチュアリング、ノードレッドはファクトリーエンジニア、オフィスワーカー、アイティエンジニア、ホビエスト、ノードレッドは、コークリエーションツール、ダイバースユーザーズ、 let me start to explain development ofコネクター。 After you open theノードレッドフロードエディター, you can see the predefined connector on the left palette. For example,HTTP connector can access the rest API. TCP and UDP connectors are able to communicate with devices using TCP or UDP protocols. Exec connector can execute CLI command in the background.If a flow developer needs to use the industrial specific protocols, they can install additional connectors onノードレッド. For example, onノードレッドフロードライブラリー、 there are OPC UA connector and Modbus connector to connect to devices in the factories. In my opinion, there are three main benefitsto publish custom connectors. First, company can promote their devices andcloud services through custom connectors. Organize is a good example, I think.They have released their IoT devices and they also published their original connectorsto connect to their devices. Second, it would be easier to use existing NPM modulesthroughノードレッド custom connectors. As you know, there are a lot of NPM modules on the internet.Through the custom connectors, everyone can use the modules on the nodret.Finaly, company can provide their original custom connectors for their specificnodelet environmentto differentiate themselves from other services.For example, Fujitsu have released their original nodelet environmentwith their original connectors. If you want to develop the original custom connector,with conventional method, the official nodelet document will be a good source for you.There are code examples on the website.But if you are not an IT engineer, it may be difficult because it requiresspecific coding skills, HTML, and JavaScript. Additionally, afterdeveloping custom connectors, manual operations are required. As you know,in order to publish the NPM module to the NPM library, developers need to create a package.json file.When they publish the NPM modules, they execute the clmy command NPM publish.These operations may be difficult for factory engineers. To solve the situation,I would like to suggest the development style using subfloor. This slide shows the overviewof the connector development from subfloor. Using subfloor,everyone can createoriginal subfloor connector without coding. First,flow developer creates a subfloor on thenodelet flow editor. And then,flow developer exports the subfloor as a json file to theirlocal computer. After preparing the GitHub repository,flow developer uploads the json file.In the GitHub repository, GitHub actions automatically generates the custom connector from subfloor.After publishing the custom connector to the NPM repository,developer manually register itwith the flow library.Before I proceed to step-by-step procedures,I need to explain aboutimportant things.Subfloor node generator and GitHub actions.This slide shows subfloors.Subfloors is a reusable feature of nodelet flow.After selecting the part of flow that consists ofone or more connectors,flow developer can convert them into a single subfloor connector.The converted subfloor can be used in other flow.If developer wants to change the appearance ofthe subfloor connector,they can change the icon and color to identify the subfloor connector easily.Next one is node generator.Node generator is a command line tool for convertingcustom connector from various sources.Currently,this tool supports four types of sources.Last year,we newly supports subfloor as one of the source files.Node generator requiresCLI operations.Therefore,it may be difficult for non-IT engineers.In terms of our hands-on event,it is alsodifficult to explain the operations because half of attendees use windows environment andother are using macOS.Different explanations were needed in the same hands-on event.To solve the situation,I use GitHub actions to execute the node generator command.As you may know,GitHub actions is a workflow engine provided by GitHub.Once I write a script to generate a custom connector likethe screenshot,the process runs in the background after releasing the custom connector.We don't needCLI operations.At the same time,we can use same browser operations to avoid specific handling in thedifferent operating systems.From this slide,I will explain 10 steps to create customnode connectors.In the first step,I created a flow as usual.In this example,I defined a flowto generate a keyart that calcet the received text.To realize this,I used calcet to module available on thenpmjs.In the setup tab of the function connector,I entered calcet to calcet to as a module name.On themessage tab,I wrote the short javascript to use calcet to module.Once I clicked the inject connector button,the function connector generated a keyart and pass it to the debug tab.We can see thecalcet on the screenshot.Flow editor has a UI to create subflow from the normal connectors.Afterselecting the function connector,I selected the selection to subflow item from the menu.OnceI click the item,the selected function connector will be converted to the single subflow.The flow editor also has a UI to entering custom connector information.After moving to the UI by clickingボタン,I input the npm module name,version number,and the author and other information.These information will be used in the package.json in the custom connector.The next step is to export subflow.To download the subflow to my local pc,I selected the export item from the menu.The exported file is a json file that contains all of the information including connector definitions.Next,I prepared GitHub repository.For connector development,I shared the template repository in the URL.This repository contains GitHub action scripts with nodegenerator.So,it is easy to convert to the subflow into the custom connector on the GitHub repository.Onthe GitHub import interface,I specified the template URL and the custom connector name.Afterpreparing the GitHub repository,I uploaded the json file from my local pc.By using GitHub user interface toupload the file,flow developer don't have to use the git command on command prompt or terminal.Bydefault,the GitHub action is disabled in the imported repository.So,I changed the configuration in the setting tab of the repository.In the settings,I selected to allow all actions and reusable workflows.By releasing operation,Github actions automatically generates custom connector using nodegenerator.So,I opened the GitHub release page.And then,I create a tag andentered the title of the release.After a few minutes,the GitHub action publishes the custom connector as the tgz file.I can download the custom connector on the release page.To test the custom connector in tgz file,I can use the interface to upload the file from the node generate,noderet.By clicking the upload button on noderet,I uploaded the tgz file from my local pc.Afterthe operation,noderet will install the custom connector,and then it will be added to theparade of the noderet flow editor.In this screenshot,you can see two connectors.Topman is the originalsubflow,and bottom one is the installed custom connector from tgz file.Of course,flow behavior is the same as the originalsubflow.We can see the cascade on the debug tab.After testing the tgz file on noderet,custom connector is ready to publish to the noderet flow library.Github action script already has commented npm publish command.After enabling these three lines,Github action can publish the custom connector to the npm repository by releasing operations.To register custom connector with the noderet flow library,manual operations are required.I input itthe custom module name in the form of the noderet flow library.After a few minutes,everyone can searchfor the custom connector on the noderet flow library,and they can install custom connector on theirnoderet flow editor.In the previous 10 steps,I introduced basic method for developing a custom connector from subflow.Flow editor provides the user interface for additional connector configuration.For example,in the appearance settings,flow developer can change the appearance of the connector,such asconnector category,connector color,connector icon,and they can create connector property UI and document for the noderet user interface.In this presentation,I have not explained all of settings,butexample of custom connectors will be useful to understand how to use this feature.From this slide,I will show the example of custom connectors that were developed from subflow.The first connector is the JDBC connector.It is a connector that access the various databases via the JDBC driver.Some traditional database supports only Java language or C language.So,in this case,it is difficult to accessthe database from the noderet.To access the database,I used JDBC module in the functionconnector as an external npm module.I also added some javascript code to access the database by SQL.The generated connector from subflow provides the settings UI to specify the information aboutdatabase connections.After inputting the configuration into the UI,the connector access the databases from the noderet environment.Currently,JDBC connector has been used in a commercialenvironment in Hitachi.UcosminXService Platform WorkCoordinator has adapted noderet.Our database supports only Java language and C language.So,we used JDBC connector to access the databasethrough Java language.In addition,this product has used noderet dashboard to visualize the data in thedatabase.The next one is the WMI connector.It is a connector to retrieve system informationon windows.In PowerShell,we can use the getWMI object command to get to system informationsuch as CPU information,memory usage,and disk space.Exec connector can execute this command in thecommand prompt.As you can see in the screenshot,WMI connector returns the CPU clock speed,current voltage,and processor type.The next one is the ZigSIM connector.It is a connector to retrievesensor data from iOS or Android devices.On App Store and Google Play,there are ZigSIM applications.It is anapplication to get the data from the acceleration sensors or location data from GPS.It supportsSending the data to PC or server via the TCP protocol or UDP protocol.Inside subflow,TCP-IN and UDP-IN noderet connectorare used to retrieve the sensor data.The ZigSIM connector receives the data,and then fromX,Y,Z values from the acceleration sensor.This pair of connector and ZigSIM application will be useful tocreate prototypes of IoT applications.This is the stable diffusion connector.As you know,stablediffusion is software that generates images from the text data.For example,if I use a hamburger with a Japanesetraditional picture as a text,the software outputs the image of a hamburger and a woman in a traditionalpainting.Recently,a company released a stable diffusion API for free.Using this APIWe can use the stable diffusion via the HTTP noderet connector.This is a typical example of connectorto access the cloud services using subflow.The last one is the React dashboard connector.My colleagues at Hitachi Bantara and I started to develop these custom connectors.These are UI connectorsto define noderet dashboard UI components,almost like official noderet dashboard concept.We usedreact-based material UI component,and by just placing connectors on the central workspace,flow developers can define the UI component.This connector provides the endpoint to access thedashboard UI defined by the connectors.Currently,we have published the subflow in the JSON formaton the flow library.So,if you are interested in the connector,please check it out and give usyour feedback.Let me proceed to the conclusion of this session.This is the conclusion of my session.Everyone can use this method to develop custom connectors without coding.As I explained,github actions allows developers to convert,share,and publish custom connectors.I hope that my connector example are useful for understanding advanced cases.If you developyour great custom connector,please share your connector on flow library.I alsowrote the step-by-step tutorial on how to develop custom connector from subflow.Actually,today's session is the summary of my broad content.So,when you try this method,please checkthis website.This slide introduces noderet book,published by community members.In this book,chapter 13 is about general connector development.So,if you try to write the code in the connector development,it will be good guide for you.I will introduce our activities in the noderet community.This year,noderet members are planning to hold a noderet conference in November.Currently,NTT communications in Japan has proposed a venue for this event.After this website will beuploaded,please check it out.We will also hold meetup events to hold new features andenterprise use cases.We will release noderet book,new noderet book.My chapter will beabout connector development and version control on github.That's all.Thank you for listening.I will continue to contribute to the noderet project.Please look forward to the growth of the community.Thank you.