난로의 온도를 알려줄 수 있는 네트워크 서버를 구축하다

11158 단어 JavaScriptEspruino
이번 주제는 Espruino를 WiFi를 연결하는 웹 서버로 운영하는 것입니다.
열다섯째 날/열여섯째 날의 글에서 Espruino를 웹 클라이언트로 서버에 GET/POST 요청을 제출하는 방법을 소개했다.이번에는 반대로 Espruino를 웹 서버로 활용하는 데 도전하고 싶습니다.

목표


먼저 공식. 방식을 따라 Espruino를 간단한 웹 서버로 조작한다.이후 센서 장치만 있는 작은 게임 삽입식 WEB 서버를 제작한다.난로의 온도를 회복할 수 있는 WEB 서버를 만들어 보세요.

간편한 WEB 서버


한 마디로 하면 Hello World 답장하는 웹 서버를 만들 것입니다.

절차.


// wifi接続情報
var wifiConf = {
  ssid: "xxxxxxx",
  key: "pppppp"
};

// wifiに繋ぎます
var wlan = require("CC3000").connect();
wlan.connect( wifiConf.ssid, wifiConf.key, function (s) { 
  if (s=="dhcp") {
    console.log("My IP is "+wlan.getIP().ip);
    // webサーバとしての動きを定義します
    require("http").createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});  
      res.write("Hello World!");
      res.end();
    }).listen(80);
  }
});

확실히 이런 느낌이야.http#createServer의 호출에서 외부 요청을 받을 때의 행동을 설명합니다.상술한 상황에서 어떤 URL이든지 먼저문자열을 반환합니다.

실행


WebIDE를 사용하여 수행합니다.이전 와이파이 절차와 마찬가지로 조금만 기다려(10~20초 정도).연결이 완료되면 서버가 시작되면 Espruino의 IP 주소가 콘솔에 표시됩니다.

컴퓨터나 스마트폰 브라우저로 표시된 IP에 접근해 보세요.이때 에스프리노와 연결된 네트워크가 같은 네트워크라는 것을 잊지 마세요.

Hello World로 표시됩니다!성취

조금씩


가까스로 Espruino가 WEB 서버가 됐는데 텍스트와 HTML만 되돌려주면 재미없어요.어쨌든 다섯째 날의 보도에 사용된 온도 센서를 조합해서 방문하면 난로의 온도를 회복할 수 있는 장난감을 만들어보자.

경로설정


단순 조합15일차 보도된 무선 회선온도 센서의 접선(핀이 없어 바로 사용 가능).

절차.


아까 프로그램과 큰 차이는 없지만 req.url의 지점과 방문할 때 온도센서의 값을 읽고 되돌아오는 처리가 추가되었습니다.
// wifi接続情報
var wifiConf = {
  ssid: "xxxxxxx",
  key: "ppppppp"
};

// 温度センサをセットアップ
var ow = new OneWire(A1);
var sensor = require("DS18B20").connect(ow);
sensor.getTemp();


// wifiに繋ぎます
var wlan = require("CC3000").connect();
wlan.connect( wifiConf.ssid, wifiConf.key, function (s) { 
  if (s=="dhcp") {
    console.log("My IP is "+wlan.getIP().ip);
    require("http").createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});  
      res.write("Hello. ");
      // URLがkotatsuの場合、コタツの温度を表示する
      if( req.url === "/kotatsu"){
        res.write( sensor.getTemp() + "degrees Celcius" );
      }
      res.end();
    }).listen(80);
  }
});

실행


온도 센서를 난로에 꽂다

브라우저에서 액세스한 경우URL/kotatsu...

난로의 온도를 나타냈다.따뜻해 보이네요!

총결산


이로써 Espruino에서 GET/POST 요청을 보내는 방법과 Espruino를 웹 서버로 실행하는 방법을 소개했습니다.내 생각에 Espruino-Wifi의 기본은 눌려 있는 것 같다(POST로 센서를 던질 수 있는 값으로 구름 속에 저장할 수 있는 것 같다).
다음부터는 좀 더 실제적으로 활용해 보겠습니다. 실제로 저는 에스프레소&CC3000에서 어떤 서비스를 활용해 보았습니다. 병목이 된 안정감과 오류 처리가 닿았으면 좋겠습니다.
캘린더를 첨부한 건지, 연재한 건지.네.

좋은 웹페이지 즐겨찾기