#include #include void printBinary( unsigned char v ) { int i; for( i=7; i>=0; i-- ) { if ( (v&(1
관련글. [임베디드/Raspberry Pi] - Raspberry pi를 git 서버로 사용하기 웹인터페이스까지 설치를 해주었더니 쓸만한 듯합니다. 필요한 패키지 설치 sudo sh -c 'echo "deb http://http.debian.net/debian wheezy-backports main" > /etc/apt/sources.list.d/wheezy-backports.list' gpg --keyserver keyserver.ubuntu.com --recv 8B48AD6246925553 gpg --export --armor 8B48AD6246925553 | sudo apt-key add - sudo apt-get update sudo apt-get install wheezy-backports ng..
α가 0에서 1로 변화함으로써 선형 blend 연산자는 두 개의 이미지들 또는 비디오들 간에 cross disolve을 실행하는데 사용되어 질 수 있다. 두 장의 이미지가 α값에 따라 다르게 서로 겹쳐서 보이는 것을 볼 수 있다. 실행시킨 후.. 키보드를 누를 때마다 alpha값을 0.1씩 증가시켜서 첫번째 사진에서 두번째 사진으로 변화하는 과정을 보여준다. #include #include using namespace cv; using namespace std; int main( int argc, char **argv ) { double alpha, beta; Mat src1, src2, dst; for( alpha=0.0; alpha
여분으로 있던 SD카드를 이용해서 클라우드 서버인 owncloud를 설치해봤습니다. git서버와 동시에 사용하려고 했는데 고민해보고 하나는 포기해야 할듯합니다.아래 블로그 글에 기본적인 설정방법들을 설명해놓았습니다. 라즈베리파이 설정하기http://webnautes.tistory.com/640 1. /etc/network/interfaces를 수정하여 고정아이피로 바꾼다. iface eth0 inet static address 192.168.0.11/24 gateway 192.168.0.1 2. 사용자를 추가한다. sudo groupadd www-data sudo usermod -a -G www-data www-data 3. 필요한 패키지 설치 한다. sudo apt-get update sudo apt-..
다른 보드들로 작업을 많이 하다보니 애물단지가 되버린 라즈베리파이를 git서버로 사용해보려고 기존 라즈베리 파이에 꽂혀있던 SD카드를 다시 설정 해봤습니다. 라즈베리파이 설정하기http://webnautes.tistory.com/640 그리고 라즈베리파이에 연결할 저장장치가 아직은 마땅한게 없어서 USB메모리를 임시로 연결해보기로 했습니다. 추후 외장 하드디스크가 생기면 교체를 할듯합니다. USB 메모리를 NTFS로 포맷하고 라즈베리 파이에 연결을 해주고 진행을 계속했습니다. 1. SSH를 이용해서 라즈베리파이에 접속한 후.. 패지지들을 최신으로 업데이트 해줍니다. pi@raspberrypi ~ $ sudo apt-get update pi@raspberrypi ~ $ sudo apt-get upgrade..
콘솔에서 프레임버퍼에 색깔을 찍어본 예제입니다. X윈도우상에서도 결과를 보고 싶은데 안되네요. #include #include #include #include #include #include #include int main( int argc, char* argv[] ) { int framebuffer_fd = 0; struct fb_var_screeninfo framebuffer_variable_screeninfo; struct fb_fix_screeninfo framebuffer_fixed_screeninfo; framebuffer_fd = open( "/dev/fb0", O_RDWR ); if ( framebuffer_fd
디바이스 드라이버를 insmod 해서 올릴 때마다 디바이스 파일의 전체 경로의 중간 이름이 자꾸 바뀌어서 수동으로 계속 입력하기 힘들어서 간만에 시스템 프로그래밍 책을 꺼내 들고 짜봤습니다. /sys/bus/w1/devices/28-000005e41463/w1_slave /sys/bus/w1/devices/ 경로 아래에서 28-로 시작하는 엔트리를 읽어온 후 문자열을 조합하면 되는 군요. 진짜 간만에 하는 거라 좀 어설플지 모르지만 의도한대로 잘 동작합니다. #include #include #include #include #include char* findDeviceName(char *path, char *devicename) { struct dirent *entry; DIR *dir; char* ful..
불을 끄면 CDS값이 50이하로 떨어지고 LCD화면에 plz turn on을 출력합니다. 다시 불을 켜면 cds값은 올라가게 되고 LCD화면에 plz turn off를 출력합니다. 한줄만 지우는 방법을 못찾아서 약간 깜박입니다. 소스코드 #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int cdsPIN = 0; int ledPIN = 6; void setup() { // put your setup code here, to run once: Serial.begin(9600); lcd.begin(16,2); } void loop() { // put your main code here, to run repeatedly: int value = analogRead(cdsPI..
아두이노에 LED를 연결해서 시리얼로 특정 문자열을 입력하면 켜고 끄는 것을 구현했습니다. 다른 장치들을 더 붙이고 사용 가능한 명령어들을 더 만들면 다양한 활용이 가능할 듯합니다. 실행결과 turn on을 입력하면 LED를 켜줍니다. led off를 입력하면 LED를 꺼버립니다. 엉뚱한 문자열을 입력하면 입력 가능한 명령들을 알려줍니다. 소스코드 int ledPIN = 10; char ledStatus = LOW; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode( ledPIN, OUTPUT ); } String readSerial() { String str = ""; char ch; while( Se..
컨택스트 스위치 발생시 펄스 발생하는데 걸리는 시간과 그냥 만들었을 때 펄스 발생하는데 걸리는 시간을 비교스코프가 없어서 오차있겠지만 그냥 소프트웨어적으로 측정해봄 아두이노 Uno의 경우 스코프로 재면 50마이크로세컨트 차이난다는데 여기에선 70마이크로 세컨드 정도 차이남. // Test to determine context switch time with a semaphore // Connect a scope to pin 13 // Measure difference in time between first pulse with no context switch // and second pulse started in ledControl and ended in ledOffTask. // Difference sho..