:::: MENU ::::

스팸입니다

phpBB 영문판을 사용하는데, 포럼의 회원가입 과정에서 엉뚱하게 다음과 같은 한글 메시지 “스팸입니다”가 출력될때…

spam

phpBB와는 전혀 상관이 없고, 호스팅 서비스 업체인 cafe24의 게시판 스팸필터 관리설정 문제이다.
이 설정을 사용안함으로 설정하면 해결된다.

계시판 스팸필터 관리


Sublime Text 2 프린팅하기

Sublime Text 2에는 프린팅 기능이 없다. 플러그인을 설치를 해야하는데…

“Simple Print Function”를 인스톨한다.

Tool > Command Palette > Install Package에서 “Simple Print Function”를 찾아서 인스톨한다.

이게 제대로 동작을 하려면 “enscript”가 필요하므로 brew를 사용하여 인스톨한다.

brew install enscript

원래 소스 코드가 아닌 txt 파일을 인쇄하려고 했었는데, 프린트를 하면 한글은 깨짐. -_-;;;

참고로 Homebrew설치는 터미널에서 다음을 실행한다.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


MAC OS에 Homebrew 설치하기

OS X용 패키지 관리자인 Homebrew 설치하기
영문 사이트:  http://brew.sh/
한글 사이트: http://brew.sh/index_ko.html

설치는 간단하다. 터미널에서 다음을 실행한다.

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
위치가 바뀌어서 다음과 같이 입력을 해야 한다.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
다만 설치를 위해서는 Xcode용 Command Line Tools가 설치되어 있어야 한다.

주요 명령어

  • brew install formula // 패키지 설치
  • brew remove formula // 패키지 삭제
  • brew info formula // 패키지 정보
  • brew upgrade [formula] // 설치한 패키지의 최신버전을 설치
  • brew list 또는 brew ls // 설치한 formula 목록
  • brew update // Homebrew 업데이트
  • brew doctor // 시스템에 문제가 있는지 확인
  • brew outdated // 내가 설치한 formula 목록의 이후 버전이 나왔는지 확인
  • brew cleanup // fomula 의 모든 과거버전을 제거함


SPI of Arduino

SPI of Arduino

ArduinoMOSIMISOSCK
UnoD11 or ICSP4D12 or ICSP1D13 or ICSP3
Mega256051 or ICSP450 or ICSP152 or ICSP3
LeonardoICSP4ICSP1ICSP3
DueICSP4ICSP1ICSP3

SPI 신호들은 ICSP핀이나 보드의 우측 상단(AREF 있는 쪽)에 같이 연결된 경우도 있으나, 그렇지 않은 경우도 있다. 그러므로 SPI를 사용하는 쉴드를 디자인 할 경우 라우팅을 쉽게하기 위해 한쪽만 SPI를 사용하려면 ICSP핀 쪽에만 연결을 하면 된다.


Beyond connectivity, toward value – IoT(IoE), 비즈니스 미래 지형을 바꾸다

지난 3월 5일 참석한 컨퍼런스

iot_semina

 

발표의 내용을 요약하면

  • IoT(Internet of Things), IoE(Internet of Everything)등으로 각 업체마다 추정치는 다르나 향후 널리 확산될 것으로 예상
  • 수량은 PC, 태블릿, 스마트폰의 수치를 합한 것의 2배로 추정, 여기에 Smart TV, Wearable의 수치도 IoT와 비등한 수준
  • 가트너에서 발표한 Hype Cycle 곡선
  • IoT에서의 보안의 이슈: 냉장고가 스팸메일 보낸 뉴스, 밸킨의 Wemo 해킹 뉴스
  • 국내 통신사들: KT, LG-Uplus, SK 텔레콤등이 실제적인 서비스( Biz Case)를 발표
  • 매직에코: LimiSmart라는 램프에 IoT기능을 넣은 제품으로 인디고고에서 프로젝트 진행중 – S/W 저작 도구
  • daliworks : IoT cloud platform 서비스 제공(SensorJS), IoT 센서 게이트 웨이(비글본, 라즈베리 파이)

글로벌 벤더들의 IoT주도권을 위한 경쟁

  • 오라클: JavaME Embedded for IoE Platform 퀄컴의 Orion Board에서 채택, Gateway solution(One Box)
  • 퀄컴: AllJoyn –  P2P기반, 지금은 오픈 소스화 되어 Linux foundation 에서 유지.
  • alljoyn
  • IBM: MQTT – IoT  메시징 프로토콜, paho
  • MS의 IoT에 대한 정의
  • ms_iot

 My Insight

  • IoT 단말은 무선
  • IoT 게이트웨이는 상위 서비스와 연계하기 위해 보안 및 OS가 필요하며, 현재는 무겁고 비싸지만 가격은 점차내려갈 것고 모든 무선인터페이스(Zigbee, BT, WiFi)를 포함하는 형태가 될 것이다. 특히 가정내 IoT 게이트 웨이의 경우는 더더욱…
  • 서비스에 연계되지 않은 단말은 중국과의 가격경쟁으로 살아남기 힘들다.

위 세미나와 관련된 내용: BI에서 발표한 자료


mbed – SeeedArch 프로그래밍하기

SeeedArch

mbed의 플랫폼 중의 하나인 Seeedstudio에서 만든 보드, SeeedArch를 테스트중이다. 이 보드의 스펙은 다음과 같다.

  • mbed enabled
    • online development tools
    • easy to use C/C++ SDK
    • lots of published libraries, projects
  • Standard Arduino Appearance, two Grove connectors
    • available with 3.3V compatible shields
    • a large number of grove modules
  • Drag-n-drop programming
  • NXP LPC11U24 MCU
    • Low power ARM Cortex-M0 Core
    • 48MHz, 32KB Flash, 8KB RAM, 4KB EEPROM
    • USB Device, 2xSPI, UART, I2C

이 보드의 가장 큰 특징은 보드의 형태가 아두이노 보드와 같아서 아두이노 쉴드를 연결할 수 있다.

800px-Arch_Pinout.jpg

코딩은 mbed의 웹컴파일러로 하고 다운로드 역시 msd로 잡히는 외장드라이브에 copy를 하면 되는데, Mac이나 Linux에서는 Windows와 달리 drag & drop이 안된다.

프로그래밍 방법 (Mac)

  • 보드의 왼쪽에 있는 리셋 버튼을 길게 누른다. (짧게 누르면 H/W 리셋이고, 길게 누르면 ISP 모드이다.)
  • 그러면 Finder에 CRP DISABLED 라고 스토리지가 잡힌다. Windows에서는 이 폴더에 있는 firmware.bin을 지우고 새로운 firmware.bin을 copy하면 되지만 Mac에서는 Terminal에서 다음과 같이 dd 명령어로 copy한다.
  • dd if=새로운 firmware 파일명 of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc

좀 더 쉽게하기위해서 Mac의 Automator를 사용하여 쉘 스크립트를 만든다.

  • dd if=$* of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc

Automator_SeeedArch

LED blink 프로그래밍

SeeedArch

관련정보: SeeedStudio WiKi


Arduino Ethernet 라이브러리 업데이트

WZnet 칩 W5100, W5200과 W5500을 지원하는 통합 아두이노 라이브러리인 Arduino Ethernet 라이브러리를 업데이트 했다. 기존 코드에서 달라진 점은 다음과 같다.

  • Arduino IDE 1.5.x 지원 : Arduino Due를 지원하기 위함.
  • Due용  SPI 드라이버 추가
  • W5200및 W5500의 경우 SPI드라이버 속도를 높였다. 무려 42Mhz까지 지원
  • w5100::read_data함수의 파라미터의 형 변경
  • flush() 함수 추가

Arduino IDE 1.5.xx를 지원하기 위해서는

  • 32비트 SAM용 SPI 드라이버가 추가 되야한다.
  • IDE 1.5.x의 폴더 구조가 바뀌어서 헤더파일 include가 변경된다.아래 그림 참고…  예를 들면 #include “w5100.h”가 #include “utility/ w5100.h” 이런 식으로…

Arduino_Folder

  • AVR코드와의 구별은 #if defined (ARDUINO_ARCH_AVR)로 한다.

W5500 SPI

W5500_SPI

데이터 시트에는 이론상 80Mhz까지 가능하다고 나오지만 실제로는 33Mhz 정도가 최대 SPI clock으로 명기해 놓고 있다. 그리고 Atmel SAM에서  SPI clock은 다음과 같이 결정된다. 즉 메인 클럭을 분주해서 사용을 하는데, 아두이노에서는 84Mhz를 메인으로 사용하므로 14Mhz, 28Mhz, 42Mhz, 84Mhz가 설정이 가능하다.

SAM_SPI

 

아두이노 코드에서는 다음과 같이 클럭을 분주해서 42Mhz가 가능하다. 1로 분주하면 84Mhz 인데, 칩에서는 80Mhz까지만 지원하므로 84Mhz는 지원이 안된다. 42에서 84는 갭이 크다…

참고로 아두이노에서 W5100의 SPI는 4Mhz로 설정이 되어 있으니, 거의 10배 이상이 빨라짐~~


Arduino 코드에서 WIZnet칩 구별하기

WIZnet 칩

WIZnet 칩중에서 SPI가 지원되는 칩은 W5100, W5200 그리고 W5500이 있다. 이중 W5100은 아두이노에 적용이 되어 Ethernet Shield 및 Arduino Ethernet 보드에 사용이 되고 있다. 물론 W5200으로 만든 Ethernet Shield도 있고 W5500으로 만든 Ethernet Shield도 있다. 그리고 최근에는 아두이노 팀에서 W5500으로 Ethernet Shield를 만들고 있다. 이렇게 3가지 칩으로 적용된 보드가 있는데, 그럼 코드에서 이 칩들을 구별할 수 있는 방법이 있는가?

Arduino 코드에서 WIZnet칩 구별하기

W5100, W5200, W5500의 칩들의 기본 기능은 같지만 H/W적으로는 패키지도 다르고 핀도 다르고, 내부 메모리 맵도 다르다. 모두 SPI 를 사용하지만 칩을 제어하기 위한 SPI format도 다르다. 그리고 W5100은 소켓이 4개이고 나머지 칩들은 모두 8개의 소켓을 지원한다.

코드에서 이들 칩을 구별을 하려면 이 칩들의 내부 레지스터를 읽어서 각 칩들에만 유효한 값을 확인해서 비교를 해야한다. 다행히 W5200과 W5500은 칩의 버젼을 구분하는 레지스터가 있다. 따라서 이들 2칩을 구분하면 3개중 2개를 구분이 되니 W5100은 구분이 가능하다. 즉 W5200이 경우 version 레지스터(0x001F)를 읽으면 0x03이 읽히고, W5500의 경우 0x0039 번지를 읽으면 0x04가 읽힌다.

 W5100W5200W5500
0x001F0x000x030x00
0x00390x000x000x04

아두이노 코드

아래 코드는 아두이노 Ethernet 코드를 수정하여 만든 코드이고, Webserver.ino에서 테스트를 했다.

관련 코드는 : https://github.com/jbkim/Differentiate-WIznet-Chip



Pages:1...27282930313233...56