M5Stack으로 범용 적외선 리모컨을 만들어 보았습니다.

13182 단어 PlatformIOM5stack

소개



  • 적외선 리모컨 디코더 하지만 쓴 대로, 범용 리모컨의 작성이 목적이었습니다.
  • 본 기사는, 그 범용 리모컨(M5Stack+PLUS 인코더 사용)이 됩니다.


  • 사양


  • 리모컨 데이터는 M5Stack에 삽입된 MicroSD 카드의 json 파일(remocon.json)에 기록된다.
  • 해당 json 파일의 내용을 M5Stack에 표시합니다.
  • PLUS 엔코더의 조그 조작에 의해, 조작 대상 기기/버튼을 전환해, 버튼 누름으로 적외선 코드를 송신.
  • json 파일 샘플

  • remocon.json
    {
      "regza": {
        "format": "nec",
        "custom": "bf40",
        "buttons": {
          "on": ["12ed"],
          "1": ["01fe"],
          "2": ["02fd"],
          "3": ["03fc"],
          "4": ["04fb"],
          "5": ["05fa"],
          "6": ["06f9"],
          "7": ["07f8"],
          "8": ["08f7"],
          "9": ["09f6"],
          "10": ["0af5"],
          "11": ["0bf4"],
          "12": ["0cf3"],
          "input change": ["0ff0"]
        }
      },
      "light(panasonic)": {
        "format": "aeha",
        "custom": "522c",
        "buttons": {
          "on": ["002C25"],
          "off": ["002F26"],
          "energy save": ["002D24"]
        }
      },
      "light(beamtec)": {
        "format": "nec",
        "custom": "e384",
        "buttons": {
          "on": [
            "20df"
          ],
          "off": [
            "24db"
          ],
          "favarite": [
            "2ad5"
          ]
        }
      },
      "aircon(daikin)": {
        "format": "aeha",
        "custom": "da11",
        "buttons": {
          "hot-on": [
            "0200020000",
            "0200004922"
          ],
          "hot-off": [
            "0200020000",
            "0200004822"
          ],
          "cool-on": [
            "0200020000",
            "0200003938"
          ],
          "cool-off": [
            "0200020000",
            "0200003838"
          ]
        }
      },
      "playstation(dvd)": {
        "format": "sony",
        "custom": "093a",
        "addr_bit": "13",
        "buttons": {
          "play": [
            "32"
          ],
          "stop": [
            "38"
          ]
        }
      },
      "playstation(controller)": {
        "format": "sony",
        "custom": "1b5a",
        "addr_bit": "13",
        "buttons": {
          "batsu": [
            "32"
          ]
        }
      }
    }
    


    완성 상태


  • YouTube에 업로드하고 있지만 TV(Regza)를 조작하는 동영상입니다.
    IMAGE ALT TEXT HERE


  • 구현 코드



  • GitHub 에서 공개하고 있습니다.
  • 개발 환경은 VSCode+PlatformIO입니다.


  • 결론


  • 향후 개선점

  • 적외선 리모컨 디코더 과의 통합.
  • 디코더에서 수신한 적외선 코드를 json 파일에 자동 기록함으로써 손 편집하지 않아도 된다.

  • M5Stack상에서의 json파일의 버튼명등의 편집은 괴로운 곳
  • 소프트웨어 키보드를 구현하는가?
  • 웹 서버 기능을 갖게 해, PC나 스마트폰의 브라우저로부터 입력?


  • 좋은 웹페이지 즐겨찾기