1. 개요 개발 요청으로 스마트 멀티탭을 만들게 되었습니다. 예전에 만들었던 1구 제어가 아닌 5구 제어 멀티탭에 USB 충전 기능까지 추가하게 되었습니다. 2. 준비 - 보드 WIFI 통신을 해야하기 때문에 ESP8266-12E를 선택하였고, 부족한 제어핀(GPIO, ADC)를 추가하기 위해 아두이노 나노를 같이 사용하였습니다. 처음에는 아두이노 나노와 ESP8266-01 모듈을 사용할까 했지만 가격면에서도 비슷하고 아두이노에서 사용하기 위한 셋팅보다 회로만드는게 더 편해 ESP8266-01이 아닌 ESP8266-12E를 사용하였습니다. 3. 준비 - 센서 스마티 콘센트 기능 중 On/Off 기능을 구현하기 위한 릴레이 모듈과 전류 사용량을 측정하기 위한 전류 측정 센서입니다. 전선을 깔끔하게 하기위해..
1. 개요 커피숍에 있는 진동벨을 만들게 되었습니다. WIFI 기반으로 제어를 할 것이며 ESP8266-12E 모듈을 이용하여 만들었습니다. 통신은 MQTT프로토콜을 이용하였습니다. 이번 프로젝트는 만능 기판과 소자들로 만든것에 의의를 두었습니다. 2. 프로토콜 개요에서 말했듯이 프로토콜은 MQTT를 이용하였으며, 토픽으로는 vibrationRing/on과 vibrationRing/off를 지정해 두었습니다. Value값으로는 json 형식으로 { num : 1 }과 같이 보내는 것으로 정하였습니다. 3. 사진1. 앞면부 사진입니다. 2. 뒷면부 사진입니다. 3. 내부 사진입니다. 3. 내부 보드 방향 사진입니다. 4. 소스코드#include #include #define Num "0" #define m..
1. 개요 EEPROM을 이용하면 보드내 변수를 동적으로 사용할 수 있다. 이때 Serial 통신의 메시지를 통해 EEPROM에 저장되는 데이터를 읽고, 쓰며, 이를 활용하여 Setting을 만들어 보자. 2. Source Code #include #define EEP_DATA_LEN 100 const String ModeCommand = String("AT"); const String SSIDCommand = String("AT+SSID"); const String PASSWDCommand = String("AT+PASSWD"); const String BROKERCommand = String("AT+BROKER"); const String ENDCommand = String ("AT+END"); co..
1. 개요 일반 GPIO 핀을 이용하여 Uart TX 기능을 구현해 보자. 2. 분석 위키 백과에 따르면 보통 8비트 데이터를 전송하며, 상황에 따라 5~9비트 데이터를 전송할 수 있다. 또한 데이터 비트 앞, 뒤로 시작 비트와 종료 비트, 그리고 패리티 비트가 존재한다. 위키 백과에 따르면 시작 비트와 패리티 비트는 하나, 종료 비트는 레지스터에 따라 최대 2개까지 존재할 수 있다고 명시되어 있는데, 오실로스코프로 구현되어 있는 몇몇 보드의 Uart 신호를 출력해 보면 실제로는 그렇지 않다. 우선 아래 두 사진을 보자. 첫 번째 사진은 0x11(0001 0001), 두 번째 사진은 0x88(1000 1000)의 Uart로 출력되는 파형이다. 여기서 우리는 Tx는 데이터 신호가 없을 시 HIGH로 유지되..
1. 개요 ARTIK 530에는 PWM 핀이 2개, ARTIK 710에는 PWM 핀이 1개 있습니다. 해당 보드들을 가지고 조그만한 센서 또는 모듈을 가지고 놀기에는 PWM 핀이 부족할 때가 있습니다. 그렇기 때문에 기존 GPIO핀을 프로그래밍으로 써 PWM 핀과 같은 기능을 하게하여 사용을 합니다. 기존 아두이노에는 SoftPWM에 대한 라이브러리가 많이 공개되어 있습니다. 그러나 해당 라이브러리를 이용하시면 대 다수가 정상적인 신호가 나오지 않거나, 동시동작에 문제가 있습니다. 이는 MCU를 대상으로 라이브러리 작성되어 있기 때문입니다. 이를 해결하기위해 Pthread를 이용하여 SoftwarePWM을 구현하였습니다. 라이브러리는 https://github.com/cckr2/ARITK/tree/mas..
1. 개요 어떠한 제품을 만들때 제품의 설정 값을 동적으로 변경되어야 할 때가 있다. 또한 매번 해당 설정 값을 전원을 켤때마다 하는 것은 비효율 적이다. 이를 해결하기 위해 전원이 없어도 데이터가 초기화 되지 않는 EEPROM 또는 Flash Memory에 저장을 한다. 이번 예제는 특수 데이터를 Web을 이용하여 EEPROM에 변경 저장을 하는 예제이며 해당 데이터가 전원을 껐다 켜도 남아있는 것을 확인한다. Test 보드는 NodeMCU를 사용하였으며 ESP제품이 아닌 다른 제품을 이용할 시에는 라이브러리를 기본 라이브러리인 WIFI.h 및 WebServer.h를 추가하면 된다. 2. Source Code #include #include #include #define EEP_DATA_LEN 30 c..
1. 개요 우선 Arduino IDE에 ARTIK 보드를 추가합니다. 해당 내용은 http://twinw.tistory.com/178에 자세히 있습니다. Arduino IDE로 ARTIK의 개발 시, WIFI 빼고 다른 통신 방식은 기존 Arduino 라이브러리를 사용하지 못합니다. 그렇기 때문에 리눅스 커맨드를 이용하여 아틱의 기능을 제어해야 합니다. 그러기 위해서는 Arduino Sketch에서 Linux Shell Command를 다루는 함수를 사용해야합니다. 2. Source Code #include void ShellCommand(char * command){ Process p; p.runShellCommand(command); while (p.running()); while (p.availab..
1. 개요 우선 Arduino IDE에 ARTIK 보드를 추가합니다. 해당 내용은 http://twinw.tistory.com/178에 자세히 있습니다.Arduino IDE로 ARTIK을 개발 시, 시리얼 모니터로 값을 볼 수 없습니다. Arduino IDE에 추가된 ARTIK 라이브러리를 보시면 DebugSerial.h 이라는 라이브러리가 있는데 해당 라이브러리는 터미널에 데이터가 출력되어 시각적으로 보일 수 있게 해줍니다. 2. Source Code #include void setup() { DebugSerial.begin(115200); } void loop() { DebugSerial.println("test println"); delay(1000); }
1. Arduino IDE 보드 확장 우선 https://www.arduino.cc/en/Main/Software에서 아두이노 IDE 설치합니다. 파일 -> 환경설정 -> 추가적인 보드 매니저 URLs에 http://downloads.arduino.cc/packages/package_arduino.cc_linux_index.json를 추가합니다. 툴 -> 보드 -> 보드 매니저에서 ARTIK를 검색하여 최신버전으로 설치합니다. http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html에서 SSH and Telnet Client 프로그램인 Putty를 설치합니다. 2. ARTIK 7 실행 위도우 키를 눌러 장치 관리자를 실행시킵니다. 2 개의 micr..
- Total
- Today
- Yesterday
- 테라펀딩 #투게더펀딩 #P2P투자 #부동산 소액 투자 #카카오 #토스
- 안드로이드
- 아두이노
- android
- Notification
- 유전
- 인텐트
- 파일 입출력
- 서버
- 자바 입출력
- Res
- php
- java url
- c언어
- 5582
- 포켓몬 고
- java 파일 입출력
- 알고리즘
- 유전 알고리즘
- Service
- 포켓몬 Go
- vim
- 카운터
- Java Decompiler
- vim 설치
- java
- LISTVIEW
- jad
- counter
- 파일입출력
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |