Replies: 6 comments 3 replies
-
ChatGPT가 짜준 코드는... 뭐.. 전혀 엉망진창이구요. ^^;;; 그럴 듯 해보이긴 하는데 첫단추부터 잘못 되었습니다. 일단 MagicMirror 모듈들의 아키텍쳐는 기본적으로; 현재 의도하고 계신 기능은 두가지로 나눠서 생각해봐야 하는데요;
우선 2)에 대해서; 어떤 모듈이
이라는 notification을 보낸다면, CX3는 그 즉시 현재 기준 다음달 뷰를 보여주는 식입니다. 여하튼, CX3는 receiver니까 다른 어떤 모듈이 해당 notification을 shoot 해주어야겠지요? CX3에 H/W 버튼 제어기능을 직접적으로 넣는 것은 MagicMirror 모듈 설계 개념에 어긋나니까, 이 역할은 다른 모듈이 맡아야겠지요.
그래서 1) 의 내용으로 들어가자면; 물론, 기존 모듈 대신 직접 만드셔도 됩니다. 다만 ChatGPT가 짜준 코드는 그럴 듯 해보이긴 한데 틀린 코드이고 (새 모듈을 제작하는 게 아니라, CX3를 재정의 하려고 하시네요. 당연히 제대로 동작하지 않습니다.), 모듈 작성법은 재미있는 주제이긴 한데, 이 쓰레드안에서 논의할 내용은 아닌 것 같아 생략합니다. |
Beta Was this translation helpful? Give feedback.
-
먼저 답변 감사합니다. 저는 MMM-GPIO-Notification { 그런데 궁극적으로는 버튼 두개를 외부에 붙여서 달을 변경하고 싶은 것이 목적입니다. this.sendNotification('CX3_GET_CONFIG', { this.sendNotification('CX3_GET_CONFIG', { 이 함수 그대로 넣으면 될 것 같은데.... 그리고 만약에 저대로 한다면.. |
Beta Was this translation helpful? Give feedback.
-
.sendNotification('SOMETHING', payload) 에서, {
callback: (before) => {
this.sendNotification('CX3_SET_CONFIG', { monthIndex: before.monthIndex + 1 })
}
} 이것 자체가 전달할 payload object에요.
{
module: 'MMM-GPIO-Notifications',
config: {
'17': {
notifications_high: [
{
notification: 'CX3_GET_CONFIG',
payload: {
callback: (before) => {
this.sendNotification('CX3_SET_CONFIG', {
monthIndex: before.monthIndex + 1
})
}
}
},
]
},
}
}, 아마 이런 식으로 써야 할 텐데요... 그런데 문제가 있네요.
가능한 대안은,
세가지 다 그냥 이렇게 하세요 식으로 간단히 설명드리기는 좀 어렵네요. ㅎㅎㅎ 일단 1)을 추천드리고, 만약 안되면 3)에 대해서 별도로 설명드리도록 할게요. |
Beta Was this translation helpful? Give feedback.
-
안녕하세요 답변 감사드립니다. 세가지 대안을 찾아봤는데.
먼저 테스트 삼아 아래 코드를 넣어봤습니다.
이렇게 하니 정상적으로 다음 달 표시가 나오더라구요..
아무런 반응이 없습니다.. |
Beta Was this translation helpful? Give feedback.
-
정말 감사합니다. ㅠㅠ 드디어 잘 되네요 ㅠㅠ 달력 만들기 쉬울 줄 알았는데 정말 쉽지 않네요.. 이제 정말 거의 다 된 것 같습니다. 움직임 감지 남은 시간 카운팅해주는 걸 OLED로 보여주는 코드 추가하는거랑 도움 정말 감사드립니다. |
Beta Was this translation helpful? Give feedback.
-
감사합니다. 덕분에 잘 만들었어요.. 초음파 센서 두개로 움직임을 감지해서 화면을 끄는 코드도 넣었는데. 마무리 된 다음에 3D프린터로 케이스 작업하고 붙이느라 시간이 좀 더 걸렸네요 감사합니다 .덕분에 잘 마무리 되었어요.. |
Beta Was this translation helpful? Give feedback.
-
외부에 설치된 버튼 (스위치?)를 통해
월을 바꿀 수 있는 방법이 있는지 궁금합니다.
chatgpt말로는
const Gpio = require('onoff').Gpio; // onoff 모듈로 GPIO 제어
const buttonNext = new Gpio(18, 'in', 'both'); // 다음달로 이동할 버튼
const buttonPrev = new Gpio(23, 'in', 'both'); // 지난달로 이동할 버튼
Module.register("MMM-CalendarExt3", {
start: function() {
this.sendSocketNotification("INIT");
this.setupButtonListeners(); // GPIO 버튼 핸들러 설정
},
});
MMM-CalendarExt3.js 파일에 저렇게 넣으라고 조언을 해줘서..
했지만 결론적으로 저기 저 onoff모듈이 오래된건지 무슨 문제가 있는지 첫줄부터 안되더라구요.
const Gpio = require('onoff').Gpio; // onoff 모듈로 GPIO 제어
const buttonNext = new Gpio(18, 'in', 'both'); // 다음달로 이동할 버튼
const buttonPrev = new Gpio(23, 'in', 'both'); // 지난달로 이동할 버튼
조언 부탁드리기 위해 글 남겨봅니다.
감사합니다.
Beta Was this translation helpful? Give feedback.
All reactions