ããã«ã¡ã¯ãCCCããŒã±ãã£ã³ã°æ ªåŒäŒç€Ÿ ããŒã¿ããŒã¹ããŒã±ãã£ã³ã°ç ç©¶æ æè¡éçºãŠãããã®äžæµŠã§ãã
ä»åã®èšäºã¯ESPr Door Sensorãšãããã¢ã®ééãæ€ç¥ããã»ã³ãµãŒãšIFTTTãšããWebãµãŒãã¹ã掻çšããŠæãå®¶ã®å¯å®€ã®ãã¢ãééãããšLINEã«éç¥ãéãIoTã·ã¹ãã ãäœã£ã話ã玹ä»ããŸãã
ã·ã¹ãã ã®å šäœå³
ã§ã¯ãä»åäœã£ãIoTã·ã¹ãã ã®å šäœå³ãã玹ä»ãããŠé ããŸãïŒ
-

ä»åäœã£ãIoTã·ã¹ãã ã®å šäœå³ããããå¯ãããéãã«åž°ã£ãŠããŠãã·ã¹ãã ã
åä»ããŠãããå¯ãããéãã«åž°ã£ãŠããŠã·ã¹ãã ãã§ããåããç°¡åã«ãŸãšãããšãåäŸãå¯ããã€ããããã«å¯å®€ã®ãã¢ãå ãããšäžæµŠå®¶ã®LINEã°ã«ãŒãã«ããããããããããã«ããããšããéç¥ãæµããŸããããã«ã¯æžããŠãªãã®ã§ããããã¢ãéãããšãã¯ããã¢ãã²ãããããããšããéç¥ãæµããŸãã
ããã«ãã¢ã®ééãçºçããæéãMicrosoftã®ã¯ã©ãŠããAzureãã®ããã¥ã¡ã³ãããŒã¿ããŒã¹ãCosmos DBãã«ãAzure Functionsãçµç±ã§èšé²ãããšããã·ã¹ãã ã§ãã
èæ¯â ãã€ã¬äžæ¯åé¡
ãã®ã·ã¹ãã ãã€ããã«è³ã£ãèæ¯ã説æããŸãã
ããããã®å§ãŸãã¯
äŒç€Ÿã®ãã€ã¬äžæ¯åé¡ã§ãããå€åãããã話ã ãšæãã®ã§ãããäŒç€Ÿã®ãã€ã¬ã®å宀ãäžæ¯ã«ãªãæé垯ããã£ãŠããã£ãããã€ã¬ãŸã§è¡ã£ãã®ã«ãã€ã¬ã䜿ããªãããšããããšãããããã§ãèªåžãããã€ã¬ã®äœ¿çšç¶æ³ã確èªããããšãã§ããªããïŒãšããçžè«ãåããŸããã
調ã¹ãŠã¿ããšãããã£ãã·ã¹ãã ãæäŸããŠããäŒç€Ÿã¯ããã¿ããã§ãçµæ§ãã®åé¡ã«æ©ãã§ãã人ãã¡ã¯å€ãã¿ããã§ããæè¡çã«ã¯ãã€ã¬ã®ãã¢ã«ãã°ãããã®ã»ã³ãµãŒãä»ããŠãã¢ã®ééãæ€ç¥ããæ¹æ³ãããåãããŠããã¿ããã§ããããããèŠãŠãããšèªåã§æ±ããããªã»ã³ãµãŒãèŠã€ããã®ã§è©Šãã«åãå¯ããŠèª¿æ»ã»å®éšããŠã¿ãããšã«ããŸããããšã¯ãããããªããã€ã¬ã«ã»ã³ãµãŒãåãä»ãããšäœãç¥ããªã人ããããã°ãäœãããããããšãããŠããã»ã»ã»ããšæããããããããŸããããããªåºŠèžã¯ç¡ãã®ã§ãŸãã¯å¥ã®çšéã§è©Šããå®çžŸãã€ãã£ãŠã¿ãããšèããŸããã
èæ¯â¡æãå®¶ã®åé¡
å®ã¯åãããªããšãããããªããšæã£ãŠããåé¡ãæãå®¶ã«ã¯ãããŸãããæãå®¶ã¯å ±åããªã®ã§ãã©ã¡ããæ©ãåž°ãæ¹ãåäŸã®å¯ããã€ããæ åœããŠããŸããå¯ããã€ãäžã«åž°ã£ãŠãããããšãçé¢ã®ãã¢ãéãé³ãå»äžãæ©ãé³ã§å¯ããã€ããéªéããŠããŸãããšããããŸãããããã¯ã±ã³ã«ã®ã¿ãã«ãªããããŸãããå®¶åºã®å¹³åã®ããã«ãå¯ããã€ããå§ãŸã£ãããšãããªãããã®æ¹æ³ã§ãäºãç¥ãããšãã§ãããããã®ã«ããšæã£ãŠããŸãããæ®æ®µå¯å®€ã®ãã¢ã¯ç©ºæ°ãå ¥ãæ¿ããããã«éããŠããŠãå¯ããã€ããå§ããã¿ã€ãã³ã°ã§ãã¢ãéããã®ã§ãå çšã®ã»ã³ãµãŒã䜿ãã°è§£æ±ºã§ãããããªãïŒãããªãããªã§èããã®ãåè¿°ããIoTã·ã¹ãã ã§ãã
IFTTTã§LINEãšé£æºãã
ãŸããã¢ã»ã³ãµãŒãšLINEã飿ºãããããIFTTTãšããWebãµãŒãã¹ãå©çšããŸããã
IFTTT: Every thing works better together
IFTTTã¯ããŸããŸãªWebãµãŒãã¹ãããã°ã©ãã³ã°äžèŠã§é£æºããããšãã§ããWebãµãŒãã¹ã§ããIFTTTã¯ãIF This Then Thatãã®é æåãåã£ããã®ã§ããã®æåéãããããããèµ·ããããããããããšããããã«ããã£ããããšãå®è¡ããããšããæå®ããAppletãšããŠç»é²ããŸãã
ããã§ã¯ããã£ããããwebhookã®"Receive a web request"ããå®è¡ããããšããLINEã®"Send message"ã«ããŸãããã¢ãéããæã»éãŸã£ãæã§ããããAppletãäœæããããããEvent Nameã"dooropen", "doorclose"ã«ããŠããŸããSend messageã®èšå®ã§ããããéãããMessageãèšå ¥ããŸãã
ãªã¯ãšã¹ãå ã®URLã¯ãã¡ããã確èªããããšãã§ããŸãã
䜿çšãããã¢ã»ã³ãµãŒ
ãESPr Door Sensorããšãããã¢ã»ã³ãµãŒã䜿ããŸãããã¹ã€ãããµã€ãšã³ã¹ããããè³Œå ¥ããŸãããESP-WROOM-02ãšããWi-Fiã¢ãžã¥ãŒã«ãæèŒãããŠãããããã€ã³ã¿ãŒãããã«ç°¡åã«æ¥ç¶ããããšãã§ããŸããããã«åäœããããã°ã©ã ã¯ArduinoèšèªãšããC/C++ããŒã¹ã®ããããŸã§ãäœåºŠã䜿ã£ãŠããèšèªã§æžããã®ã§ãã®ã»ã³ãµãŒã«æ±ºããŸããã
ããã°ã©ã
ãã¡ããã¹ã€ãããµã€ãšã³ã¹ããã§ç޹ä»ãããŠãããã®ãåèã«äœããŸããã
```
#include <ESP8266WiFi.h>
extern "C" {
#include "user_interface.h"
}
#define CLOSE 0
const char* ssid = "xxxx"; //æ¥ç¶ããWi-Fiã®ssidãæå®ããŸã
const char* password = "xxxxxxxx"; //æ¥ç¶ããWi-Fiã®keyãæå®ããŸã
const char* host = "maker.ifttt.com"; //hostã«IFTTTãæå®
const char* open_url = "/trigger/door_open/with/key/xxxx"; //ãã¢ãéãããšãã®URL
const char* close_url = "/trigger/door_close/with/key/xxxx"; //ãã¢ãéãŸã£ããšãã®URL
WiFiClient client;
boolean flag = false;
int LED = 4;
int reed_sw = 5;
void setup() {
Serial.begin(115200);
delay(10);
pinMode(LED,OUTPUT);
digitalWrite(LED,HIGH);//Wi-Fiæ¥ç¶è©Šè¡äžã¯LEDãç¹ç¯ããã
// We start by connecting to a WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
pinMode(reed_sw,INPUT);
digitalWrite(LED,LOW);
}
int value = 0;
void loop() {
int door_state;
door_state = digitalRead(reed_sw);
Serial.print("Door State:");
if(door_state == CLOSE){
Serial.println("Close");
}
else{
Serial.println("Open");
}
// Use WiFiClient class to create TCP connections
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
// We now create a URI for the request
String url;
if(door_state == 0){
//ãã¢ãéãŸã£ãæ
url += close_url;
}
else{
//ãã¢ãéããæ
url += open_url;
}
Serial.print("Requesting URL: ");
Serial.println(url);
// This will send the request to the server
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
delay(10);
Serial.println();
Serial.println("closing connection");
ESP.deepSleep(0, WAKE_RF_DEFAULT);//ãã£ãŒãã¹ãªãŒãã¢ãŒãã«ç§»è¡
delay(1000);
}
```
ãã®ããã°ã©ã ãESPr Door Sensorã«æžã蟌ã¿ãŸãã ESPr Door Sensorããã¢ã®ééãæ€ç¥ãããšèµ·åããWi-Fiãžã®æ¥ç¶ã詊ã¿ãŸããæ¥ç¶ã詊ã¿ãŠããéã¯ä»å±ã®LEDãå ããŸããWi-Fiãžã®æ¥ç¶ãå®äºãããšééã®ç¶æ ã«å¿ããŠãªã¯ãšã¹ãå ã®URLãååŸããURLã«ãªã¯ãšã¹ãããŸããå®äºãããããã£ãŒãã¹ãªãŒãã¢ãŒããšããçé»åã®ç¶æ ã«ç§»è¡ããŸãã
èšçœ®ããŠã¿ã
èšçœ®ãããšãããªæãã«ãªããŸãã
ESPr Door Sensorã¯äž¡é¢ããŒããç£ç³ã¯ã»ãããŒãã§åºå®ããŠããŸããäœåºŠããã¢ããã«ãã«ããŠééãæ€ç¥ã§ãããã¹ãããžã·ã§ã³ãæ¢ããŸããã
åããŠããæ§å
ãã¢ãéããŠããç¶æ ã
éãããšESPr Door Sensorã«ä»å±ããLEDãèµ€ãå ããŸãã
LINEã«éç¥ãå±ããŸããã
䜿ã£ãŠã¿ãŠ
çµæ§éå®ããŠããŸããåœåã®ç®çã©ãããåäŸã®å¯ããã€ãã®æéãææ¡ããããšãã§ããããã«ãªã£ãã ãã§ãªãã
ãã¢ãéããæãéç¥ãæµãããã«ããããšã§åäŸãèµ·ããæéãææ¡ããããšãã§ããããã«ãªããŸãããã€ãŸãåäŸã®ç¡ç æéãèªåçã«ç®¡çã§ããããã«ãªããæè¿ã¡ãã£ãšç¡ç æéå°ãªãããâŠãšãã£ããããªæ°ã¥ããåŸãããããã«ãªã£ãã®ã¯ããã£ããªããšæã£ãŠããŸãã
次ã«ããããš
ãããŸã§ã¹ã«ãŒããŠããŸããããå®ã¯Azureã®ãCosmos DBãã«èšé²ããéšåã¯ãŸã åºæ¥ãŠããŸããã»ã»ã»ãããã®éšåãæ¬¡ã«ã€ãã£ãŠããããšæã£ãŠããŸãã
ã¡ãªã¿ã«ã»ã»ã»å®¶ã«èª°ãããªãã¯ããªã®ã«ãªããããããããããããã«ããããšããéç¥ãæ¥ãããšããããŸãããããã¯ããªããŸããšããŸããã»ã»ã»ãç¹ã«äœããªãã£ãã®ã§ã颚ã§ãå¹ããã®ããªã»ã»ã»ã
æ¬èšäºã¯ãCCC MARKETING TECH BLOGããåç·šéããŠè»¢èŒãããã®ã§ãã
[èè
]
äžæµŠ è«äž
CCCããŒã±ãã£ã³ã°æ ªåŒäŒç€Ÿ
ããŒã¿ããŒã¹ããŒã±ãã£ã³ã°ç ç©¶æ
æè¡éçºãŠããã
ãŠããããªãŒããŒ
æµéåãã®ãœãããŠã§ã¢éçºã»è²©å£²å¶æ¥ãé£ååžã§ã®å¶æ¥ãµããŒããéè¡åãã®å¯©æ»ã¢ãã«ã®éçºæ¥åãªã©ãçµéšããåŸãçŸè·ã«è»¢åãTãã€ã³ãã®ããŒã¿ã𿩿¢°åŠç¿ãIoTãªã©ã®æè¡ãçµã¿åãããŠæ°ããäŸ¡å€æäŸãåºæ¥ãªãããšæ¥ã ç ç©¶éçºã«å€ããã§ããŸãããæšæ¥ã§ããªãã£ãããšãäœãäžã€åºæ¥ãããã«ããããã¢ãããŒã§ããæ¥åã§ã¯æ®æ®µã¯PythonãArduinoãJavascriptãªã©ã掻çšããæè¿ã¯Kotlinã§Androidã¢ããªéçºã«ããã£ã¬ã³ãžããŠããŸãã






