[카테고리:] 사물인터넷 및 디바이스

OBD-II 자주쓰이는 PID 명령 정리

다음은 OBD-II를 테스트 하면서 자주쓰이는 PID에 대하여 정리한 내용입니다. – OBD 리셋명령(Reset) : AT Z – Echo Off 명령(Echo Off) : AT E0 – 라인피드명령(Line Feed) : AT L0 – 차량식별자번호(VIN) 구하는 명령 : 09 02 – 연료통에 남아 있는 연료량 구하는 명령(Feul Level, 단위: %) : 01 2F – 오작동 표시 등 (MIL)을 켜고 […]

더보기

아두이노와 푸시(MQTT)

1. 아두이노에서 푸시를 사용하기 위해서 MQTT 프로토콜을 구현한 클라이언트를 다운받는다. – https://github.com/knolleary/pubsubclient 2. pubsubclient 라이브러리를 Import받고 아래와 같이 구현하면 된다. #include “TemptClient.h” #include #include void messageArrived(char* topic, byte* payload, unsigned int uIntLength); PubSubClient gClsMqttClient(gpChrServer, 1883, messageArrived, gClsWfClient); void messageArrived(char* topic, byte* payload, unsigned int uIntLength) { int intIndex = 0; char pChrBuffer[uIntLength + 1]; for […]

더보기

아두이노 WiFiClient의 write 함수의 제약

tcp 소켓의 send 함수와 같은 함수인 write(데이터, 데이터 길이) 함수를 이용하여 통신서버로 데이터를 전송하려고 할때 size_t write(const char *buffer, size_t size); 아두이노에서는 데이터 길이가 90 bytes 를 초과하게 되면 에러가 발생하게 된다. 따라서 전송할 용량이 크다면, 버퍼를 여러건으로 나누어 전송할 필요가 있다. wfClent.write(pCharBuffer1, 90); wfClent.write(pCharBuffer2, 70); ….

더보기

이클립스 아두이노에서 WiFi 라이브러리 추가시 오류 발생시 처리

이클립스에서 WiFi 라이브러리를 Import 받았을때 아래와 같이 파일을 찾을수 없다고 나온다면 다음과 같이 처리하면 된다. 09:39:27 **** Incremental Build of configuration Release for project TemptClient **** make all ‘Building file: C:/Applications/arduino-1.0.6/libraries/WiFi/utility/server_drv.cpp’ ‘Invoking: AVR C++ Compiler’ avr-g++ -I”C:\Applications\arduino-1.0.6\hardware\arduino\cores\arduino” -I”C:\Applications\arduino-1.0.6\hardware\arduino\variants\standard” -I”C:\Projects\89.IOTSolutions\02.Solutions\TemptClient” -I”C:\Applications\arduino-1.0.6\libraries\WiFi” -D__IN_ECLIPSE__=1 -DUSB_VID= -DUSB_PID= -DARDUINO=106 -Wall -Os -ffunction-sections -fdata-sections -fno-exceptions -g -mmcu=atmega328p -DF_CPU=16000000UL -MMD -MP -MF”WiFi/utility/server_drv.d” […]

더보기

이클립스에서 Symbol ‘Serial’ could not be resolved 에러 발생시 처리

아래와 같이 Symbol ‘Serial’ could not be resolved 또는 Method ‘begin’ could not be resolved 등이 나타날때 프로젝트를 클릭후 마우스 오른쪽 클릭시 나타나는 컨텍스트 메뉴에서 index > Rebuild 를 해주면 에러가 사라진다.

더보기

아두이노 float을 문자열로 변환

아두이노에서 아래처럼 sprintf을 이용하여 문자열로 변경하려고 할때 결과를 보면 ? 가 출력된다. sprintf(pChrBuffer, “%f”, fltValue); 아두이노에서는 float형에 대해서 sprintf가 제대로 지원되지 않는듯하여, 확인하여 보니 아래 함수를 이용하면 변환할수 있다. char * dtostrf(ouble __val, signed char __width, unsigned char __prec, char * __s); float fltValue = 123.456; char pChrBuffer[50]; dtostrf(fltValue , 5, 2, pChrBuffer); // 5 […]

더보기

아두이노 와이파이 쉴드 펌웨어 업그레이드

1. 아두이노와 분리 2. 점퍼 스위치 변경 위와 같이 하나만 꽂아 있는 딥스위치를 빼서 두군데 다 접지되도록 한다. 3. ATMEL 펌웨어 수정프로그램 다운로드 – http://www.atmel.com/tools/FLIP.aspx 에서 하단에 있는 FLIP 3.4.7 for Windows (Java Runtime Environement included) 버전을 받아 설치 4. USB 연결 – wifi 쉴드의 USB를 PC와 연결하여 전원을 넣는다. 5. 제어판의 장치관리자를 열어 “기타 […]

더보기