Raspberry Pi & Node-RED에서 QR 코드를 읽어보십시오.

이 기사는 Node-RED Advent Calendar 2019 14일째 기사입니다.

소개



QR 코드를 카메라로 읽고 QR 코드를 인식시켜 보려고 시도했습니다.
카메라의 영상과 QR 코드를 표시하고 싶기 위해 node-red-contrib-image-tools를 사용해 보았습니다.

사용하는 기기


  • Raspberry Pi 3 (2018-11-13-raspbian-stretch 설치)
  • USB 연결 웹캠 BUFFALO BSWHD06M

  • 사용한 노드


  • node-red 1.0.3
  • node-red-contrib-image-tools 0.2.5
  • node-red-contrib-usbcamera 0.0.6

  • Node-RED 설정





    사용한 노드가 여기에있었습니다.





    이미지 노드는



    전송된 화상을 설정에 의해 변환해 주는 노드입니다.

    뷰어 노드는



    노드 레드 에디터상에서 화상을 표시해 주는 스그레모노입니다. 이것은 편리합니다.

    2d Barcode Decoder 노드는



    QR 코드 및 Data Matrix 바코드를 디코드하는 노드입니다.

    이런 느낌이 들었습니다.





    그러나. . . . 읽을 수 없습니다. . .





    이런 오류가 발생했습니다.





    다만, 2D Data Matrix barcode는 잘 검지한다. 무슨 일이야?



    플로우의 소스 코드입니다.


    
    [{"id":"1e33a9ca.e7b606","type":"tab","label":"フロー 1","disabled":false,"info":""},{"id":"e0743022.b16ed","type":"inject","z":"1e33a9ca.e7b606","name":"","topic":"","payload":"","payloadType":"date","repeat":"1","crontab":"","once":false,"onceDelay":0.1,"x":170,"y":300,"wires":[["29aa9988.1d0146"]]},{"id":"29aa9988.1d0146","type":"usbcamera","z":"1e33a9ca.e7b606","filemode":"1","filename":"image01.jpg","filedefpath":"1","filepath":"","fileformat":"jpeg","resolution":"1","name":"","x":350,"y":300,"wires":[["77bc3fb8.51eff","3a3883c0.a7586c"]]},{"id":"998072e0.dc7db","type":"image viewer","z":"1e33a9ca.e7b606","name":"","width":160,"data":"payload","dataType":"msg","x":390,"y":460,"wires":[["438025e.e077cdc"]]},{"id":"c0e4d0d3.2f6a3","type":"debug","z":"1e33a9ca.e7b606","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":810,"y":460,"wires":[]},{"id":"77bc3fb8.51eff","type":"image viewer","z":"1e33a9ca.e7b606","name":"","width":160,"data":"payload","dataType":"msg","x":550,"y":300,"wires":[[]]},{"id":"3a3883c0.a7586c","type":"jimp-image","z":"1e33a9ca.e7b606","name":"","data":"payload","dataType":"msg","ret":"img","parameter1":"0x00000000","parameter1Type":"msg","parameter2":"1","parameter2Type":"msg","parameter3":"","parameter3Type":"msg","parameter4":"","parameter4Type":"msg","parameter5":"","parameter5Type":"msg","parameter6":"","parameter6Type":"msg","parameter7":"","parameter7Type":"msg","parameter8":"","parameter8Type":"msg","parameterCount":0,"jimpFunction":"none","selectedJimpFunction":{"name":"none","fn":"none","description":"Just loads the image.","parameters":[]},"x":210,"y":460,"wires":[["998072e0.dc7db"]]},{"id":"31b685cc.72597a","type":"catch","z":"1e33a9ca.e7b606","name":"","scope":null,"uncaught":false,"x":590,"y":580,"wires":[["18df2c41.877c94"]]},{"id":"18df2c41.877c94","type":"debug","z":"1e33a9ca.e7b606","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":770,"y":580,"wires":[]},{"id":"438025e.e077cdc","type":"2d Barcode Decoder","z":"1e33a9ca.e7b606","name":"","data":"payload","dataType":"msg","specification":"{\"QR\": true, \"dataMatrix\": false, \"tryHarder\": true}","specificationType":"json","x":600,"y":460,"wires":[["c0e4d0d3.2f6a3"]]},{"id":"3ba2b7ef.d2b618","type":"comment","z":"1e33a9ca.e7b606","name":"decode QR","info":"","x":130,"y":240,"wires":[]},{"id":"5de17b3.1c98384","type":"comment","z":"1e33a9ca.e7b606","name":"Catch any errors","info":"","x":600,"y":540,"wires":[]}]
    

    끝에



    node-red-contrib-image-tools의 샘플에도 QR 코드를 읽는 플로우가 있었지만 같은 상황이므로 환경 탓일지도 모릅니다.
    만약, 좋으면 시험해 받고 움직이는 것 같으면 한 보를 받으면 기쁩니다.

    좋은 웹페이지 즐겨찾기