계속·실록 Node-RED 노드 작성 24시

4417 단어 경규node-redNode.js
안녕하세요, 포키오입니다.

IoTLT Advent Calendar 2019enebular Advent Calendar 2019 의 15일째 기사입니다.
미안해, 미안해.

tl;dr 게이큐 노드를 만들어 보았습니다. Node-RED의 노드 라이브러리에 반영되기까지 시간이 걸릴 수 있습니다. 한 번 게시 한 후 노드 유지 보수는 필수입니다. Node-RED, 다 이스키! 이야기의 발단: Node-RED를 위한 게이큐 노드를 만들고 싶었다 이 기사를 보는 형제 누나에게는 석가에 설법일지도 모릅니다만, Node-RED는 그래픽적인 UI로, 논코딩에서도 프로그래밍을 할 수 있어 버리는, 훌륭한 툴입니다. Node-RED로 부품으로서 움직이는 파트인 노드는 여러가지 준비되어 있거나, 노드 라이브러리에서도 여러가지 노드가 공개되어 있어, Node-RED의 가능성을 무한히 넓혀주고 있습니다. 다만, 좀처럼 일본용 노드가 없는데 옥에 둑으로, 그래서 스스로 노드를 만들어 공개하자는 동기 부여가 솟아 온 것입니다. 특히, 나는 게이큐를 아주 좋아해서, 게이큐에 관련된 노드를 만들려고 생각했던 것입니다. 그래서, 만든 것이 이것입니다. node-red-contrib-keikyu
htps : // fぉws. 쑥 d. 오 rg / 그래서 / 그래서 - d-on t-b 케이큐



게이 큐의 운행 정보를 얻을 수있는 훌륭한 노드로 완성되고 있습니다 (웃음)

문제①: 좀처럼 공개할 수 없다!



자세한 경위는 여기에서 공개하고 있습니다만 , 공개 작업을 하고 있는 단계에서 하나의 문제에 부딪혔습니다.



노드가 노드 라이브러리에 공개될 때까지 할 일은 여러 가지 있는데, 우선 코딩이나 npmjs.com에서의 공개까지는 순조롭게 진행된 것입니다.



다만, npmjs.com에서 npm 모듈로서 노드를 공개한 뒤, 좀처럼 노드 라이브러리에 반영되지 않는다고 하는 문제에 빠졌습니다. 보통 몇 시간 안에 반영되는 것입니다만, 그 때는 전혀 반영되지 않았습니다.

흔한 원인으로는
  • package.json의 키워드에 'node-red'가 없습니다
  • 접두사 "node-red-contrib-"를 사용하여 명명되지 않음

  • README.md 없음

  • LICENSE 없음
  • npm에서 공개되지 않음
  • npm version 후에 git push를 잊어버린다.

  • 등등 있습니다만, 그것은 모두 OK. 결국 npmjs.com에서 한 번 노드를 삭제하고 다시 공개했습니다. 삭제 후는 24시간 경과하지 않으면 재공개할 수 없다는 제한이 있었습니다만, 어떻게든 재공개 후에 노드 라이브러리에 반영되었습니다・・・. 만약 같은 일로 곤란하고 있는 분이 계시면, 시험해 주세요.

    문제 ② : 게이큐 노드가 움직이지 않는다!



    공개해, 일안심하고 있었습니다만, 어느 날 갑자기 노드를 사용할 수 없게 되어 있었습니다.



    결론부터 말해 버리면, 게이큐의 운행 정보 페이지의 레이아웃이 갱신되고 있어, 지금까지 사용하고 있던 퍼스의 로직이 워크 하지 않게 되어, 운행 정보의 취득을 할 수 없게 되어 있었습니다・・・.



    원래 퍼스의 로직은 상당한 빌어 먹을 코드였기 때문에 어쩔 수 없다고 주장하면서 우선 코드를 수정하고 다시 공개했습니다.



    또, 두번과 같은 일이 없도록, 자신이 만든 노드가 올바르게 동작하고 있는지, enebular상에서 CI와 같이 정기적으로 움직여, 노드의 상태를 감시하는 구조를 만들었습니다.



    이런 식으로 상태가 표시됩니다. 이것으로 완벽하네요! (웃음)

    현재 평상시대로 운전하고 있습니다.



    그래서 금년도 여러가지 신세를 졌습니다.
    내년에도 포키오와 게이큐를 아무쪼록 잘 부탁드립니다!

    홍보



    포키오와 드라이브를 하면서 IoT라든지 Tech한 이야기를 한다, 포키오 카풀



    꼭 봐 주세요!
    함께 드라이브하면서 말해주는 분도 대모집중입니다!

    좋은 웹페이지 즐겨찾기