Home Security
vysocan76(Adam Baron, blog) 님이 Hack a Day 에 2014년 3월 24일에 출품한 Project로 Arduino-custom-board를 기반으로 아래의 구성품과 함께 Home Automation & Secrurity 기능을 구현중에 있습니다. 아직 미완성인듯 합니다.
Components
- 1 × ATMEGA 1284P custom main board Arduino environment compatiblie board with inputs outputs modified to work with sensors.
- 1 × ATMEGA 168P custom entry board Arduino environment compatiblie board for remote enty.
- 1 × wiz820io Ethernet connection.
- 1 × RFM12B Electronic Components / Misc. Electronic Components
- 1 × PIR sensors PIR Sensors
- 1 × Smoke sensors
- 1 × Pizeo alarm
- 1 × GSM SIEMENS TC35 SMS Board GSM SIEMENS TC35 SMS Board with LM2596 and UART
여기서 눈에 띄는 것은 WIZ820io를 사용하여 인터넷 기능을 구현하였으며, 나에게는 생소한 NilRTOS를 사용했다는 점이다. 아래에 보는 바와 같이 다양한 Thread가 NilRTOS 하에 운영되고 있음을 알 수 있다.
또한 WIZ820io 운영상에 아래와 같은 문제가 있어 수정하여 Github에 Publish 하였네요.
And packets started for flow through. For a short while, or they would go on on the main board, but the Ethernet stopped working. They both work on the SPI and the RTOS has no direct driver for it. A solution worked fine:
#elif defined(__AVR_ATmega1284P__)
#warning W5200 for AlarmBoard only!
inline static void initSS() { DDRB |= _BV(1); };
inline static void setSS() { cli(); PORTB &= ~_BV(1); }; // no interrupt while the SPI bus is busy
inline static void resetSS() { PORTB |= _BV(1); sei();}; // no interrupt while the SPI bus is busy
Edit the Arduino Ethernet library file W5100.h so that it doesn’t allow RFM12b to interrupt while the SPI bus is busy handling Wiznet5100. Just add a cli(); and sei();. I will publish the modified libraies to GitHub.
이상,
Sense Node와 IOT Cloud에 응용에 관심있으신 분들에게 좋은 자료가 될 것 같아 소개합니다.
관련 URL
http://openhomesecurity.blogspot.kr/
MidnightCow
위즈네트 칩(W5300, W5200, W7100, W7500) 개발자