ESP8266 (ESP-WROOM-02)으로 센서 취급
10457 단어 ESP8266이글ArduinoIoTESP-WROOM-02
개요
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 온도, 습도, 조도 및 진동 센서에서 값을 얻습니다.
소개
WROOM02는 Wi-Fi 통신 기능이 내장된 Arduino(로 사용할 수 있는 IC)입니다.
Arduino UNO보다 고성능이며 저렴합니다. 아키즈키에서 550엔.
htp // 아키즈키덴시. 코 m/분 g/g/gM-09607/
브레드 보드에서 사용할 수 있도록 단자를 2.54mm 피치로 전개 한 모듈이라면 650 엔.
htp // 아키즈키덴시. 코 m/타타 g/g/gK-09758/
개발 환경의 구축은, 선達이 자세하게 정리해 주기 때문에, 그쪽을 참조.
숙련된 저렴한 고성능 Wi-Fi 모듈 ESPU2266을 ArduinoIDE를 사용하여 IoT 개발을 위한 환경 준비를 10분만에 하는 방법
WROOM02는 A/D 변환은 1ch [10bit]만 내장되어 있습니다. 이번에는 다종류의 센서를 연결하고 싶으므로 A/D 컨버터(MCP3008 8ch [10bit])를 별도로 준비합니다.
A/D 컨버터는 SPI 프로토콜을 통해 통신합니다. WROOM02는 하드적으로 SPI 프로토콜을 사용할 수 있습니다. 그러나 아직 드라이버적으로 공식 지원이 아닌 것 같습니다. 앞서가 개발( ESP8266_SPI_Driver ) 해 주고 있으므로, 이번은 그것을 사용하기로 합니다.
회로도
회로도 작성에는 Eagle을 사용했습니다. Eagle은 무료로 고기능이지만 부품(매크로)이 거의 정비되어 있지 않아, 스스로 준비할 필요가 있습니다.
WROOM02 및 A/D 컨버터 등의 매크로를 포함한 Eagle 프로젝트 전체는 이 Github에 올라갑니다.
htps : // 기주 b. 코 m / 에우 gs / 에 g 센소 rP 로지 ct
실제의 회로도는 이하.
SPI 인터페이스 부분과 A/D 컨버터를 연결하면 됩니다.
택트 스위치 S1은 쓰기/실행 모드를 전환합니다. 택트 스위치 S2는 리셋입니다.
리셋 된 순간 모드에서 WROOM02가 시작됩니다.
[주의]
- WROOM02는 3.3V 구동입니다. 전원 회로는 별도로 사용하십시오.
- USB-시리얼 변환의 인터페이스는 회로도에서 분리되어 있으므로 TXD/RXD, GND에 적절히 접속해 주십시오.
스케치
스케치는 다음과 같습니다.
- A/D 컨버터와의 SPI 통신 프로토콜이 약간 수상합니다만, 0~1,023 의 값을 잘 잡혀 있으므로, 있다고 생각합니다.
- 각 센서의 값은 각각 적절하게 변환되어야 합니다.
- 진동 센서는 순간이므로 5msec에서 폴링. 그 외는 1sec로 폴링하고 있습니다.
extern "C"{
#include <spi.h>
#include <spi_register.h>
}
#include <Ticker.h>
Ticker ticker;
Ticker ticker2;
void setup() {
Serial.begin(115200);
Serial.print("\n");
spi_init(HSPI);
ticker.attach_ms(1000, timer);
ticker2.attach_ms(5, Angularity);
}
void loop() {
}
volatile uint32 angularity = 0;
void Angularity() {
uint32 val = check(3);
if (val > angularity) {
angularity = val;
}
}
void timer() {
uint32 val0 = check(0);
uint32 val1 = check(1);
uint32 val2 = check(2);
//uint32 val3 = check(3);
uint32 val3 = angularity;
angularity = 0;
uint32 val4 = check(4);
Serial.print(" Temperature:");
Serial.print(val0);
Serial.print(" Illuminance:");
Serial.print(val1);
Serial.print(" Humidity:");
Serial.print(val2);
Serial.print(" Angularity:");
Serial.print(val3);
Serial.print(" Test:");
Serial.print(val4);
Serial.print("\n");
}
uint32 check(int channel) {
uint8 cmd = (0b11 << 3) | channel;
const uint32 COMMAND_LENGTH = 5;
const uint32 RESPONSE_LENGTH = 12;
uint32 retval = spi_transaction(HSPI, 0, 0, 0, 0, COMMAND_LENGTH, cmd, RESPONSE_LENGTH, 0);
retval = retval & 0x3FF; // mask to 10-bit value
return retval;
}
SPI 라이브러리를 포함한 Arduino 스케치 전체는 여기 Github에서.
htps : // 기주 b. 코 m / 에부 gs / s tch 천장 rP 로지 ct
제작
실제로 만들어 보면, 이런 느낌입니다.
요약
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 온도, 습도, 조도 및 진동 센서에서 값을 얻었습니다.
Eagle에서 회로도를 만들었습니다.
부품대 1,000엔 정도로, 여기까지 할 수 있다고는 WROOM02 반자이입니다.
다음은 구한 값을 클라우드로 날려 IoT입니까?
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 센서 취급), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/exabugs/items/9ca4093813db71278b39
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
WROOM02는 Wi-Fi 통신 기능이 내장된 Arduino(로 사용할 수 있는 IC)입니다.
Arduino UNO보다 고성능이며 저렴합니다. 아키즈키에서 550엔.
htp // 아키즈키덴시. 코 m/분 g/g/gM-09607/
브레드 보드에서 사용할 수 있도록 단자를 2.54mm 피치로 전개 한 모듈이라면 650 엔.
htp // 아키즈키덴시. 코 m/타타 g/g/gK-09758/
개발 환경의 구축은, 선達이 자세하게 정리해 주기 때문에, 그쪽을 참조.
숙련된 저렴한 고성능 Wi-Fi 모듈 ESPU2266을 ArduinoIDE를 사용하여 IoT 개발을 위한 환경 준비를 10분만에 하는 방법
WROOM02는 A/D 변환은 1ch [10bit]만 내장되어 있습니다. 이번에는 다종류의 센서를 연결하고 싶으므로 A/D 컨버터(MCP3008 8ch [10bit])를 별도로 준비합니다.
A/D 컨버터는 SPI 프로토콜을 통해 통신합니다. WROOM02는 하드적으로 SPI 프로토콜을 사용할 수 있습니다. 그러나 아직 드라이버적으로 공식 지원이 아닌 것 같습니다. 앞서가 개발( ESP8266_SPI_Driver ) 해 주고 있으므로, 이번은 그것을 사용하기로 합니다.
회로도
회로도 작성에는 Eagle을 사용했습니다. Eagle은 무료로 고기능이지만 부품(매크로)이 거의 정비되어 있지 않아, 스스로 준비할 필요가 있습니다.
WROOM02 및 A/D 컨버터 등의 매크로를 포함한 Eagle 프로젝트 전체는 이 Github에 올라갑니다.
htps : // 기주 b. 코 m / 에우 gs / 에 g 센소 rP 로지 ct
실제의 회로도는 이하.
SPI 인터페이스 부분과 A/D 컨버터를 연결하면 됩니다.
택트 스위치 S1은 쓰기/실행 모드를 전환합니다. 택트 스위치 S2는 리셋입니다.
리셋 된 순간 모드에서 WROOM02가 시작됩니다.
[주의]
- WROOM02는 3.3V 구동입니다. 전원 회로는 별도로 사용하십시오.
- USB-시리얼 변환의 인터페이스는 회로도에서 분리되어 있으므로 TXD/RXD, GND에 적절히 접속해 주십시오.
스케치
스케치는 다음과 같습니다.
- A/D 컨버터와의 SPI 통신 프로토콜이 약간 수상합니다만, 0~1,023 의 값을 잘 잡혀 있으므로, 있다고 생각합니다.
- 각 센서의 값은 각각 적절하게 변환되어야 합니다.
- 진동 센서는 순간이므로 5msec에서 폴링. 그 외는 1sec로 폴링하고 있습니다.
extern "C"{
#include <spi.h>
#include <spi_register.h>
}
#include <Ticker.h>
Ticker ticker;
Ticker ticker2;
void setup() {
Serial.begin(115200);
Serial.print("\n");
spi_init(HSPI);
ticker.attach_ms(1000, timer);
ticker2.attach_ms(5, Angularity);
}
void loop() {
}
volatile uint32 angularity = 0;
void Angularity() {
uint32 val = check(3);
if (val > angularity) {
angularity = val;
}
}
void timer() {
uint32 val0 = check(0);
uint32 val1 = check(1);
uint32 val2 = check(2);
//uint32 val3 = check(3);
uint32 val3 = angularity;
angularity = 0;
uint32 val4 = check(4);
Serial.print(" Temperature:");
Serial.print(val0);
Serial.print(" Illuminance:");
Serial.print(val1);
Serial.print(" Humidity:");
Serial.print(val2);
Serial.print(" Angularity:");
Serial.print(val3);
Serial.print(" Test:");
Serial.print(val4);
Serial.print("\n");
}
uint32 check(int channel) {
uint8 cmd = (0b11 << 3) | channel;
const uint32 COMMAND_LENGTH = 5;
const uint32 RESPONSE_LENGTH = 12;
uint32 retval = spi_transaction(HSPI, 0, 0, 0, 0, COMMAND_LENGTH, cmd, RESPONSE_LENGTH, 0);
retval = retval & 0x3FF; // mask to 10-bit value
return retval;
}
SPI 라이브러리를 포함한 Arduino 스케치 전체는 여기 Github에서.
htps : // 기주 b. 코 m / 에부 gs / s tch 천장 rP 로지 ct
제작
실제로 만들어 보면, 이런 느낌입니다.
요약
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 온도, 습도, 조도 및 진동 센서에서 값을 얻었습니다.
Eagle에서 회로도를 만들었습니다.
부품대 1,000엔 정도로, 여기까지 할 수 있다고는 WROOM02 반자이입니다.
다음은 구한 값을 클라우드로 날려 IoT입니까?
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 센서 취급), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/exabugs/items/9ca4093813db71278b39
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
스케치는 다음과 같습니다.
- A/D 컨버터와의 SPI 통신 프로토콜이 약간 수상합니다만, 0~1,023 의 값을 잘 잡혀 있으므로, 있다고 생각합니다.
- 각 센서의 값은 각각 적절하게 변환되어야 합니다.
- 진동 센서는 순간이므로 5msec에서 폴링. 그 외는 1sec로 폴링하고 있습니다.
extern "C"{
#include <spi.h>
#include <spi_register.h>
}
#include <Ticker.h>
Ticker ticker;
Ticker ticker2;
void setup() {
Serial.begin(115200);
Serial.print("\n");
spi_init(HSPI);
ticker.attach_ms(1000, timer);
ticker2.attach_ms(5, Angularity);
}
void loop() {
}
volatile uint32 angularity = 0;
void Angularity() {
uint32 val = check(3);
if (val > angularity) {
angularity = val;
}
}
void timer() {
uint32 val0 = check(0);
uint32 val1 = check(1);
uint32 val2 = check(2);
//uint32 val3 = check(3);
uint32 val3 = angularity;
angularity = 0;
uint32 val4 = check(4);
Serial.print(" Temperature:");
Serial.print(val0);
Serial.print(" Illuminance:");
Serial.print(val1);
Serial.print(" Humidity:");
Serial.print(val2);
Serial.print(" Angularity:");
Serial.print(val3);
Serial.print(" Test:");
Serial.print(val4);
Serial.print("\n");
}
uint32 check(int channel) {
uint8 cmd = (0b11 << 3) | channel;
const uint32 COMMAND_LENGTH = 5;
const uint32 RESPONSE_LENGTH = 12;
uint32 retval = spi_transaction(HSPI, 0, 0, 0, 0, COMMAND_LENGTH, cmd, RESPONSE_LENGTH, 0);
retval = retval & 0x3FF; // mask to 10-bit value
return retval;
}
SPI 라이브러리를 포함한 Arduino 스케치 전체는 여기 Github에서.
htps : // 기주 b. 코 m / 에부 gs / s tch 천장 rP 로지 ct
제작
실제로 만들어 보면, 이런 느낌입니다.
요약
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 온도, 습도, 조도 및 진동 센서에서 값을 얻었습니다.
Eagle에서 회로도를 만들었습니다.
부품대 1,000엔 정도로, 여기까지 할 수 있다고는 WROOM02 반자이입니다.
다음은 구한 값을 클라우드로 날려 IoT입니까?
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 센서 취급), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/exabugs/items/9ca4093813db71278b39
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ESP8266 (ESP-WROOM-02 이하 WROOM02)을 사용하여 온도, 습도, 조도 및 진동 센서에서 값을 얻었습니다.
Eagle에서 회로도를 만들었습니다.
부품대 1,000엔 정도로, 여기까지 할 수 있다고는 WROOM02 반자이입니다.
다음은 구한 값을 클라우드로 날려 IoT입니까?
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 센서 취급), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/exabugs/items/9ca4093813db71278b39텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)