얼마 전에 “선풍기 제어“하는 장치 만들면서 지그비 무선 모듈인 zbs-200을 사용하게 되었는데 그때 테스트 용으로 만든 프로그램입니다.
ZBS-200을 시리얼 포트에 연결한 후 사용하면 됩니다.
데이터 전송: 데이터를 수신할 지그비 모듈의 FAN_ID(Hi, Lo), ID, SubID, 명령어(CMD), 값(VALUE)을 입력 후 전송 버튼을 클릭하면 됩니다.
데이터 수신: 포트가 오픈된 상태에서 데이터를 수신하면 로그 표시 창에 표시됩니다.
1082307346.xxx
안녕하세요 저는 광운대학교 전자통신공학과에 재학중인 백재동 이라고 합니다.
제가 졸업작품으로 만든게 ZBS-200을 사용해서 USN을 구축하고 응용서비스로 대피유도 기능을 넣었는데여
지도 교수님께서 제작과정이나 기술적인 부분을 정리해서 책으로 출판해보라고 하셔서 현재 작업중에 있습니다.
책 부분중에 ZBS-200부분을 설명할때 이슬나라님이 제작한 프로그램을 사용해서 설명을 진행하고 부록으로
넣어도 되는지 동의를 구하려고 합니다.
출판사는 홍릉과학출판사이고, 출판은 내년 여름쯤 될듯 합니다.
제 이메일주소는 pjd@kw.ac.kr
안녕하세요..
예.. 무료로 사용하셔도 됩니다.
단, 출처만 밝혀주세요^^
책 나오면 나왔다고 알려주시면 더 좋구요..
출판되면 한 번 보겠습니다.
좋은 책 만드시길 바랍니다..
아.. 그런데 실행시키면 자꾸 트로이잔바이러스가 검출이라고 알약이 잡아내네요. 컴퓨터 두대에서 똑같이 그러는데..?? 이건.. 왜그런지.. 모르겠네요. 프로그램은 잘 되는데요.
실행 파일을 압축해두어서 일부 백신에서 오진을 한것 같습니다.
http://virscan.org/report/4ec4528d854119f750dd9ccb3fd4648e.html
실행파일 다운로드가 안되네요
ns610713@gmail.com
죄송하지만 보내주실 수 있으실까요
안녕하세요 지금 다운로드가 안되네요. 해당 파일 주말에 찾아보겠습니다
안녕하세요.
현재 올라가 있는 파일에 바이러스가 있다고 나오네요.
파일 받고 확장자를 .exe로 변경하면 사용할 수는 있지만 바이러스가 있다고 나오니 사용하지 않는 것이 좋을 듯 합니다.
오래전에 만든 것이라 현재 소스코드를 찾을 수가 없네요.
안녕하세요? 지그비를 이용한 픽업바를 만들려고 합니다. pc에서 명령을 주면 mcu에서 진동이나, 벨소리가 울리게 하는 것인데요. 그 사이를 zbs-200으로 연결하려고 합니다. 그런데, zbs-200에 대한 예제나 설명이 너무 없어서 애먹고 있는 상황입니다. 사실, 패킷전송이란 부분을 잘 몰라서 특히나 애 먹고 있는데요. 위의 프로그램으로 두개의 컴퓨터에서 데이터를 전송하고 받는것을 확인할수 있었습니다. 졸업작품을 혼자 해볼려고 애쓰고 있는데 pc에서 명령을 주는 프로그램이 너무 어렵습니다. ㅠ.ㅠ 제가 c를 잘 몰라서 그런거 일수도 있겠지만요. 괜찮으시다면 위의 통신프로그램 소스를 얻을수 있을까요? 위에처럼 그냥 버튼 하나만 눌러서 데이터를 전송하면 mcu에서 그것을 받아 움직이기만 하면 되는 겁니다. 부탁드립니다.
jsttang@nate.com
패킷전송이라는 부분은 특별한 것이 아닙니다.
시리얼 포트로 해당 데이터를 차례대로 보내면 됩니다.
전체 10 Bytes(0xAA부터 0x55까지)를 차례대로 보내면 됩니다.
전 C로 개발하지 않았습니다만..
C로 된 시리얼통신 소스가 많이 공개되어 있으니 그것을 이용하면 쉽게 해결할 수 있을 것입니다.
질문드립니다.
시리얼 포트로 해당 데이터를 차례대로 보내면 됩니다.
전체 10 Bytes(0xAA부터 0x55까지)를 차례대로 보내면 됩니다.
이게 무슨 말인지 잘 모르겠습니다. 좀더 자세히 설명부탁드려도 될까요?
C로 코드를 작성한다면 다음과 같이 되겠죠..
buf = 0xAA;
write(fd, buf, 1);
buf = 0xA6;
write(fd, buf, 1);
..
buf = 0x55;
write(fd, buf, 1);
이렇게 차례대로 보내도 되구요..
아니면 한 번에 아래와 같이 보내도 되겠죠..
BYTE buf[] = {0xAA,0xA6,.., 0x55}; // 전송할 데이터
write(fd, buf, 10);
안녕하세요.
이 지그비 모듈을 사용하려고 하는데요.
소스 좀 볼 수 있을까요?
제가 하드웨어는 처음이라서요..
지그비 id 할당하는거랑 이런걸 당최 모르겠어서
전체적으로 흐름을 한번 보고싶습니다.
가능하다면 lovekgh1@naver.com
으로 메일 부탁드립니다.
이 프로그램에 ID 할당 기능은 없습니다.
ID 할당은 시리얼통신 프로그램을 이용하여 직접 명령을 전송해야 됩니다.
이 프로그램은 바로 위 댓글에 있는 내용처럼 10 바이트의 데이터를 전송만 합니다.
그렇군요.
그렇다면 더 원론적으로가서 지그비 모듈에 연결할게
1-GND
2-5V
10-TX
11-RX
이렇게 연결하면 되는건가요?
제가 아듀이노라는걸 사용하서 제어하려고 하는데
아예 기본 G 를 넣으면 나오는 상태정보도 안나오네요..
1(GND), 2(5V), 9(TXD1), 10(RXD1)이 사용됩니다.
9, 10번 핀은 프로세서와 연결할 때 크로스 연결해야 됩니다.
안녕하세요.. 계속 질문해서 죄송합니다.
http://blog.naver.com/lovekgh1/10085587902
제가 작성한 질문인데요.
이렇게 회로 연결하면 안돼나요?
그리고 인터보드가 없으면 아예 사용이 불가능한가요?
답변 부탁드립니다..어렵네요 정말..
RXD1번으로 갈때 왜 5V에서 3.3V로 변환했는지 이해가 안갑니다.
아두이노의 시리얼 출력이 TTL 레벨이 아닌가요?
전 TTL 레벨로 변환할 때 MAX232 계열만 사용해봐서 레벨 쉬프터는 모르겠네요..(전자 전공이 아닙니다)
인터보드는 없어도 됩니다만..
송신/수신 모드 설정이나 ID 등을 설정하려면 PC와 연결할 수 있는 보드를 만들어야 겠죠..
전 그게 귀찮아서 그냥 1개 구입했습니다.
위의 프로그램을 통해서 Pc – zbs-200 <--상호 zigbee통신--> zbs-200 – Pc 을 하고 싶거든요
아직 초짜여서요
우선 Pc에 Usb-ISP 드라이버 설치하고
다른 과정없이 바로 Zbs-200 연결해서
전송패킷 설정하고 통신하면 되는건가요?
아니면 다른 설정 이후에 프로그램을 사용해야 하는건가요?
제가 잘 몰라서 그러는데
전송패킷 설정하는 방법이나
Pc – zbs-200 <--상호 zigbee통신--> zbs-200 – Pc
위의 과정을 통신할수 있는 전송패킷 를 예로좀 리플 달아주시면 안될까요?
정말 부탁드립니다. 기본적으로 제공하는 메뉴얼도 그렇고 정보를 찾기 힘들어서
염치없지만 이렇게 글 쓰네요
비도오고 ^^; 좋은하루 보내세요~
각 모듈이 서로 통신하기 위해서는 ID와 RX/TX 모드 설정이 필요합니다.
매뉴얼에 보면 S 명령에 대해서 간단히 설명(2페이지)이 있고, 샘플 명령도 나옵니다.
그 명령으로 각 모듈의 ID와 RX/TX 모드를 설정해야 됩니다.
안녕하세요.
송구스럽지만 좋은 정보라 이렇게 질문 드리고 갑니다.
혹시 이 프로그램을 zbs -100 모델에도 적용할수 있는지 궁금합니다.
그리고 하드웨어만 제대로 연결되어 있다면 이 프로그램으로 제어를 할수 있는지요??
죄송하고, 답변 부탁드리겠습니다.
안녕하세요..
zbs-100은 저도 사용해보지는 못했습니다.
프로토콜이 동일하다면 사용할 수 있을 것입니다.(두 모델의 매뉴얼을 비교해 보세요)
그리고, H/W가 제대로 되어 있다면 PC에 모듈을 연결한 상태에서 이 프로그램으로 특정 명령을 전송하여 제어 가능합니다.
답변 감사드립니다.
모듈의 ID 를 설정한다고 하셨는데요. 송신부랑 수신부 2개의 ID가 달라야 하는거죠?
그리고 센서의 출력을 FPGA서 처리하고 그 데이터를 최대 16bit 까지 지그비로 보내줄수 있는거 같은데요.
그렇다면 지그비에서 데이터를 받는 속도는 어떻게 처리해야 하나요? FPGA에서 지그비 모듈로 데이터 넘기는 속도를 모르겠습니다. 감사합니다.
예. 송신부랑 수신부의 ID는 달라야 됩니다.
예.. 2Byte, 즉 16bit죠.
전 FPGA를 사용하지 않아서.. 잘 모르겠습니다..
그냥 ZBS-200과 연결된 시리얼 포트에 통신 속도만 설정하고 보내주면 됩니다.
친절한 답변 감사합니다^^
안녕하세요. ZBS-200 모델을 사용하기 위해 정보를 찾다가 여기까지 오게 되었네요. 본사 홈페이지는 관리를 안하는것인지.. 자료도 별로 없고 메뉴얼이 너무도 허접하여 접근을 할수가 없네요;;
우선은 현재 ZBS-200 2개와 같은회사 제품인 USB Dongle 제품을 1개 가지고 있습니다. 이렇게 제품을 구입한 목적은
센서의 출력을 무선통신을 이용해서 PC 에서 받아보기 위함인데요.
저의 생각으로는 컨트롤러(FPGA)를 사용하여 센서의 출력값을 지그비 송신모듈로 전달하면,,,PC쪽의 USB Dongle 제품에서 수신하여 하이퍼 터미널 혹은 모니터링 프로그램을 사용해서 무선으로 값을 받아 볼수 있을거 같은데요.
접근 방법을 모르겠네요. 선풍기 제어 시스템을 만드셨다고 하셨는데요. 제품을 먼저 사용해보신 입장에서 조언을 구해보고자 합니다. 감사합니다.
안녕하세요..
정확히 어떤 부분이 알고 싶은 것이지 모르겠습니다만..
구입하신 ZBS-200으로 구현하는데 크게 문제는 없을 것 같지만 한 가지 제약이 있습니다.
센서의 출력을 PC로 전송하는 것이 주 목적인데요..
문제는 ZBS-200은 PC로 전송할 수 있는 데이터로 2Bytes만 제어할 수 있습니다.
매뉴얼에 보면 Command와 Value라고 표시되어 있는 부분으로 각각 1Byte씩해서 전체 2Bytes만 사용자가 사용할 수 있습니다.
센서의 출력 등 모든 데이터를 2Bytes 내에서 해결 가능하다면 구성하는데 별 문제는 없을 것 같습니다.
ZBS-200 모듈은 처음에 ID, Tx/Rx 등의 설정만 제대로 하면 큰 문제는 없을 것입니다.
안녕하십니까?
운영자님께서 만드신 ZBS-200 프로그램을 사용중인데요.
통신데이터 중에 체크섬이 패리티 체크 하는거 같은데 맞나요?
맞다면,,체크섬 값이 어떻게 연산되는지 모르겠네요.
메뉴얼에 보면 xor 연산을 한것으로 보이는데요.
손으로 푼 xor 연산과 프로그램상에서 체크섬 값이 차이가 나더라구요.
안녕하세요..
오래 되어서 정확히 기억이 나지 않습니다만…
저도 그때 체크섬 때문에 고민했었던 기억이 납니다.
제가 본 매뉴얼 상에는 체크섬 계산법이 Length부터 Value까지 모두 더하라고 되어 있는데 계산해보니 매뉴얼 상에 나와있는 값과 동일하게 나오지 않더군요.
제가 만든 프로그램 상에서는 값을 임의로 동일하게 하기 위해서 2번째 바이트부터 체크섬 바이트 이전까지(7 바이트)를 각각 더한 후 3을 빼줬습니다. 지금 계산해보니 이것도 맞지 않네요..
정확한 계산법을 알아내셔서 알려주시면 프로그램 수정해서 올리겠습니다.
음 그렇군요. 체크섬 이녀석이 너무 애매하네요..
운영자님 한가지만 더 질문하겠습니다;;
스타트1바이트 부터 시작해서 엔드1바이트까지 순서대로 보내게 되는데요.
스타트의 LSB부터 전송하는게 맞는건가요? (0xAA//1010_1010 이니깐,,데이터가 흘러들어가는 순서는 0101_0101이 되겠네요)
스타트 보내고 그리고 랭스 보내고,, 이런식으로 하는게 맞는지 궁금합니다.
감사합니다^^
스타트 1바이트부터 순서대로 보내면 되는데요..
각각 1바이트니까 그냥 보내면 됩니다.
LSB, MSB 신경쓰지 않아도 됩니다.
전송하는 함수나 버퍼에 바이트 단위로 쓰도록 되어 있지 않나요?
사용하는 언어가 베릴로그라서 이미 짜여진 함수 같은건 없어서요.
데이터를 시리얼로 보내는데 받는쪽에서 어떤걸 먼저 받는지 신경안써도 된다는 거군요.
감사합니다. 본사는 전화도 안받고;; 오히려 이 블로그에서 정보를 더 많이 얻어가는군요 ㅎㅎ
성공하길 바라겠습니다^^
공학제 작품 설계간에 활용하고자 제작자님께 문의 드립니다.
가능하시다면 프로그램을 활용하고 싶습니다.
tjdguq212@nate.com
예.. 마음대로 사용하셔도 됩니다.
누구나 편하게 사용하라고 올려둔 것입니다.