스크래치에 더 많은 가치를 주기 위해 날개를 달아주자.
왜 Scratch Extension이 필요하지?
딸래미와 함께 스마트 풍차를 만들어 보았다.
과학상자 조립, 아두이노 코딩 따라하기는 어느 정도 잘 따라와 주었다. 하지만 풍차에게 명령하는 화면을 코딩하는 부분은 시도해 볼 수 가 없었다. 왜냐하면 초등학교 저학년인 딸래미가 모바일 웹을 만들고 구글홈 Actions On Google를 제작하는 것은 아직 무리가 있기 때문이었다.
그래서 고민을 좀 하고 인터넷 검색을 해 보니, 스크래치에 extension 기능이 있다는 것을 알게 되었다. 내가 extension을 만들어 제공하여 풍차와 연결을 해 준다면, 스크래치를 가지고 워낙 익숙하게 뭔가를 뚝딱 만드는 딸래미라서, 아마도 쉽게 자기가 원하는 로직대로 명령을 줄 수 있지 않을까 한다.
ScratchX란 무엇인가?
ScratchX is a platform that enables people to test experimental functionality built by developers for the visual programming language Scratch.
사람들에게 기존 스크래치 언어에 더 많은 기능을 제공할 수 있는 플랫폼이라고 한다. 자세한 것은 아래 사이트를 일독하자.
나만의 Extension 만들기
자, 그럼 하나 만들어 볼까? 아래 공식 wiki 문서를 잘 읽어 보면서 순서대로 만들면 어렵지 않게 만들 수 있다.
간단히 요약을 하면, 원하는 기능을 수행하는 Javascript 파일 하나를 만들고, github.io 등 외부 서버에 올려 놓고, ScratchX 에서 읽어 들이면 스크래치를 통해 만든 블럭을 사용할 수 있다.
나의 첫 Extension 결과물
이 Extension은 딸래미가 과학상자와 아두이노로 만든 스마트 풍차에게 명령을 넣을 수 있는 기능 블럭이다. 풍차가 쳐다보는 Firebase의 realtime database를 읽고 쓰게 된다.
블럭을 수행하면 Firebase의 realtime database를 읽고 쓰게 된다. 변경된 database를 아두이노가 읽게되고 풍차에게 명령을 주게 된다.
마무리
이제 다가오는 주말에 딸래미와 함께 코딩 놀이를 하게 된다. 이번주는 이 extension을 가지고 무엇을 할 지 기대가 된다.