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 […]
tcp 소켓의 send 함수와 같은 함수인 write(데이터, 데이터 길이) 함수를 이용하여 통신서버로 데이터를 전송하려고 할때 size_t write(const char *buffer, size_t size); 아두이노에서는 데이터 길이가 90 bytes 를 초과하게 되면 에러가 발생하게 된다. 따라서 전송할 용량이 크다면, 버퍼를 여러건으로 나누어 전송할 필요가 있다. wfClent.write(pCharBuffer1, 90); wfClent.write(pCharBuffer2, 70); ….
이클립스에서 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 또는 Method ‘begin’ could not be resolved 등이 나타날때 프로젝트를 클릭후 마우스 오른쪽 클릭시 나타나는 컨텍스트 메뉴에서 index > Rebuild 를 해주면 에러가 사라진다.
아두이노에서 아래처럼 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. 제어판의 장치관리자를 열어 “기타 […]
ASP로 사용자 추가시 아래와 같이 스크립트를 작성할 경우 보안문제로 인하여 에러화면이 출력되게 된다. Set obApp = Server.CreateObject("hMailServer.Application") 이때 아래와 같이 window키 + R을 눌려 실행창에 DCOMCnfg를 입력하여 실행한다. 구성요소서비스 > 컴퓨터 > 내컴퓨터 > DCOM 구성에서 hMailSever를 클릭한후 오른쪽마우스를 눌러 아래와 같이 나오면 "시작 및 활성화 권한 > 사용자 지정"을 클릭하고 "편집" 버튼을 누른다. […]
와우자 서버에서는 정상적으로 동작하는 프로그램이 다윈스트리밍 서버에서는 인증오류 발생시(RTSP/1.0 401 Unauthorized) 설정파일을 볼 필요가 있다. 1. qtaccess 파일 생성 영상파일이 있는 폴더가 D:\Service\DSS\Movies 라면 해당 폴더에 qtaccess 파일을 만든다. qtaccess 파일의 내용을 아래와 같이 입력한다. require any-user require any-user 2. 위와 같이 했음에도 안되는 경우 C:\Program Files\Darwin Streaming Server\qtgroups 파일을 열어 아래와 같이 admin그룹에 사용자계정을 […]
String strUri = “rtsp://” + 서버IP + “:” + 서버포트 + 패스; String strUserInfoHash = convertMd5Hash(사용자ID+ “:”+ strRealm +”:”+ 사용자패스워드); String strUriHash = convertMd5Hash(“ANNOUNCE”+”:” + strUri); String strResHash = convertMd5Hash(strUserInfoHash+”:”+ strNonce +”:”+strUriHash); mStrAuthorization = “Digest username=\””+ 사용자ID+”\”,realm=\””+strRealm+”\”,nonce=\””+strNonce+”\”,uri=\””+strUri+”\”,response=\””+strResHash+”\””; strRequest = “ANNOUNCE rtsp://”+ 서버IP +”:”+ 서버포트 + 패스+” RTSP/1.0\r\n” + “CSeq: ” + 순번 + “\r\n” + […]