정가 32,000원
한권 끝내기 시작-!!
좋은 시기에 시스템베이스(주)에서 개최하는 Mr.eddy 경진대회를 참가하게 되었다.
이전부터 임베디드 보드를 이용하여 홈네트워크를 개발할 예정을 잡고, 구상중이 었는데
임베디드 보드의 높은 가격과 생각보다 큰 크기에 고심하고 있던차에, 우연히 보게된 경진대회글을 보고, 이거다! >.< 라는 생각이 들어 Eddy를 기반으로 구상을 하게 되었다.
@.@ 처음 구상은 홈서버를 집안에 두고, 내부와 외부(인터넷을 통한)에서 집안의 환경의 감시하고 제어하는 구상이었다.
홈서버를 구축하기 위해선 많은 조건이 필요하다.
1. 작은 크기
집안에 두는 것들은 최대한 작은것이 좋다. 집은 넓어야 한다는 우리나라 사람들에게 큰 제품은 절대 용납이 안된다.
2. 안정성
장시간 활용되어야 하는 서버이므로 단연, 안전성을 요구한다.
서버란 무엇인가. 내가 자고 있는 동안에도 열심히 달리며 실시간으로 나의 노크를 기다리고 있는 잠없는 아이이지않은가.
3. 적은 전력 소비량
집안에 설치되어 주된 제어를 하게 될 에디 서버이므로 잡아먹는 전력 또한 적게 들어야 한다. 계절성을 띄는 에어컨도 아니고 필요할때 켰다가 끌 수 있는 컴퓨터도 아니다.
1년 365일 24시간 내내 뛰어야 하는 서버는 적은 전력만 줘도 잘 달릴 수 있는 효율성이 요구된다.
4. 관리상의 용의성
Eddy 2.0은 위의 조건을 대부분 충족한다.(앗싸!!)
Eddy 2.0 CPU 의 간단한 사양은 다음과 같다.
센서 정보를 받는 스레드에서 바로 정보를 가져오는 것이 아니라 파일로 생성
QTimer를 사용하여 화면에 띄우게 된다.
1-모듈 번호에 따른 센서이미지 띄우기
2-센서 정보 띄우기(BasedInterfacePage)
3-센서가 현재 활성화된 모듈만&하드웨어 On/Off 제어(ModifyPage)
콤보박스에 모듈번호
문, 환풍기, 형광등, 창문, 가스밸브 라디오 박스로 ON/OFF 여부
전송 버튼 클릭시 이 모든 정보가 구조체로 되어 하나의 중간자 클래스를 거쳐
CommEddyThread 클래스에 존재하는 sendMsgToEddy??()함수를 실행.
Combobox -> currentText()
RadioButton -> 선택된 것의 텍스트
QTimer *timer;
timer=new QTimer;
connect(timer, SIGNAL(timeout), this, SLOT(slotFunction()));
timer->Start(int time);
페도라 8의 커널 버전은 2.6.23
pwc 발견한 버전은 pwc 10.0.12 였는데
요놈이 글쎄 커널 버전 2.6.22 이상이 되면 에러가 난다-_-
그래서 사이트 아래에는 이런 설명이 있다 -
패치해야돼요~ = . =
요렇게 ~ (링크)
그래서 열심히 패치하는 법 따라 열심히 하고 있는 찐쓰 ㅠ.ㅠ
오늘도 새벽같이 삽질과 함께 하루를 시작하는 구나 ㅋㅋ
사이트 주소는
http://www.lavrsen.dk/twiki/bin/view/PWC
인스턴스가 한개만 만들어지기 때문에 겹치는 부분이 없게 만들 수 있다.
만일 인스턴스가 두개 이상 만들어질 수 있다면
동시에 두 인스턴스의 내용이 바뀔 때 큰 혼란이 올 수 있다.
그래서 단 하나의 인스턴스가 만들어지면 다른 곳에서 호출 시 현재 실행 중인 인스턴스가 종료되고 다시 불려가는 것이다. ..
만일 중요한 순간에 종료되고 다른 곳에서 불려가서 정보가 바뀌면
까딱하다간 에러는 안나고 엄청난 결과를 초래할 수 있다.
우리가 프로세스를 사용할 때 쓰는 IPC와 비슷한 의미를 가지는거 같다 내가보기엔-ㅁ-
Linux User's Guide Contents Page
Linux Directory Structure
Note: Files are grouped according to purpose. Ex: commands, data files, documentation.
Parts of a Unix directory tree. See the FSSTND standard (Filesystem standard)
/ Root
|---root The home directory for the root user
|---home Contains the user's home directories
| |----ftp Users include many services as listed here
| |----httpd
| |----samba
| |----user1
| |----user2
|---bin Commands needed during bootup that might be needed by normal users
|---sbin Like bin but commands are not intended for normal users. Commands run by LINUX.
|---proc This filesystem is not on a disk. Exists in the kernels imagination (virtual). This directory
| | Holds information about kernel parameters and system configuration.
| |----1 A directory with info about process number 1. Each process
| has a directory below proc.
|---usr Contains all commands, libraries, man pages, games and static files for normal
| | operation.
| |----bin Almost all user commands. some commands are in /bin or /usr/local/bin.
| |----sbin System admin commands not needed on the root filesystem. e.g., most server
| | programs.
| |----include Header files for the C programming language. Should be below /user/lib for
| | consistency.
| |----lib Unchanging data files for programs and subsystems
| |----local The place for locally installed software and other files.
| |----man Manual pages
| |----info Info documents
| |----doc Documentation for various packages
| |----tmp
| |----X11R6 The X windows system files. There is a directory similar to usr below this
| | directory.
| |----X386 Like X11R6 but for X11 release 5
|---boot Files used by the bootstrap loader, LILO. Kernel images are often kept here.
|---lib Shared libraries needed by the programs on the root filesystem
| |----modules Loadable kernel modules, especially those needed to boot the system after
| disasters.
|---dev Device files for devices such as disk drives, serial ports, etc.
|---etc Configuration files specific to the machine.
| |----skel When a home directory is created it is initialized with files from this directory
| |----sysconfig Files that configure the linux system for networking, keyboard, time, and more.
|---var Contains files that change for mail, news, printers log files, man pages, temp files
| |----file
| |----lib Files that change while the system is running normally
| |----local Variable data for programs installed in /usr/local.
| |----lock Lock files. Used by a program to indicate it is using a particular device or file
| |----log Log files from programs such as login and syslog which logs all logins,
| | logouts, and other system messages.
| |----run Files that contain information about the system that is valid until the system is
| | next booted
| |----spool Directories for mail, printer spools, news and other spooled work.
| |----tmp Temporary files that are large or need to exist for longer than they should in
| | /tmp.
| |----catman A cache for man pages that are formatted on demand
|---mnt Mount points for temporary mounts by the system administrator.
|---tmp Temporary files. Programs running after bootup should use /var/tmp.