<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>webie's blog</title>
    <link>https://webie.tistory.com/</link>
    <description>maker's life</description>
    <language>ko</language>
    <pubDate>Tue, 7 Jul 2026 02:01:21 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>클레잇</managingEditor>
    <image>
      <title>webie's blog</title>
      <url>https://tistory1.daumcdn.net/tistory/409328/attach/aa169827dbcd44dba03633fd639dc60f</url>
      <link>https://webie.tistory.com</link>
    </image>
    <item>
      <title>아두이노와 날씨API를 이용한 날씨 알리미(Wemos-D1, 리모컨추가)</title>
      <link>https://webie.tistory.com/225</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9912813359DF2EEE47&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9912813359DF2EEE47&quot; width=&quot;900&quot; height=&quot;505&quot; filename=&quot;20171012_175851.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;기본 기능 : 날씨 표시&lt;/p&gt;&lt;p&gt;(날씨, 온도, 습도, 바람세기)&lt;/p&gt;&lt;p&gt;* 리모컨으로 lcd백라이트를 껐다 켰다 할 수 있는 기능 추가(OK버튼을 누르면 켜지고, 그 외의 버튼을 누르면 꺼집니다)&lt;/p&gt;&lt;p&gt;* 1분에 1회씩 날씨가 갱신됨.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;필요 부품&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Wemos D1 R2&lt;/p&gt;&lt;p&gt;20x4 CLCD I2C&lt;/p&gt;&lt;p&gt;리모컨 키트&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;소스코드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;864&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:864;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;#include &amp;lt;Arduino.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;ESP8266WiFiMulti.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;ESP8266HTTPClient.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;Wire.h&amp;gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;#include &amp;lt;LiquidCrystal_I2C.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRremoteESP8266.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRrecv.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRutils.h&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;#define USE_SERIAL Serial&lt;/p&gt;&lt;p&gt;ESP8266WiFiMulti WiFiMulti;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;LiquidCrystal_I2C lcd(0x3f,20,4);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;uint16_t RECV_PIN = 14;&lt;/p&gt;&lt;p&gt;IRrecv irrecv(RECV_PIN);&lt;/p&gt;&lt;p&gt;decode_results results;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;long currentMillis = 0;&lt;/p&gt;&lt;p&gt;long previousMillis = 0;&lt;/p&gt;&lt;p&gt;boolean firstTimeFlag = true;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;void setup() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; USE_SERIAL.begin(115200);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; lcd.init();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; lcd.backlight();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; lcd.setCursor(0,1);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; irrecv.enableIRIn();&amp;nbsp; // Start the receiver&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; for(uint8_t t = 4; t &amp;gt; 0; t--) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.printf(&quot;[SETUP] WAIT %d...\n&quot;, t);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.flush();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delay(1000);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; lcd.print(&quot;Server Connecting...&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; WiFiMulti.addAP(&quot;&lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;SSID&lt;/span&gt;&lt;/b&gt;&quot;, &quot;&lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;PASSWORD&lt;/span&gt;&lt;/b&gt;&quot;);&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;void loop() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if (irrecv.decode(&amp;amp;results)) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; serialPrintUint64(results.value, HEX);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println(&quot;&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if(results.value == 0xFF38C7){&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println(&quot;ON&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.backlight();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }else if(results.value == 0xFFFFFFFFFFFFFFFF){&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }else{&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println(&quot;OFF&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.noBacklight();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; irrecv.resume();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; delay(100);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; currentMillis = millis();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if((WiFiMulti.run() == WL_CONNECTED) &amp;amp;&amp;amp; (currentMillis - previousMillis &amp;gt; &lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;60000&lt;/span&gt;&lt;/b&gt;) || firstTimeFlag == true) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HTTPClient http;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.print(&quot;[HTTP] begin...\n&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; http.begin(&quot;http://api.openweathermap.org/data/2.5/weather?q=Euijeongbu,kr&amp;amp;appid=308916b0a9502052c20b263a8be5bf89&quot;); //HTTP&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.print(&quot;[HTTP] GET...\n&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int httpCode = http.GET();&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(httpCode &amp;gt; 0) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.printf(&quot;[HTTP] GET... code: %d\n&quot;, httpCode);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(httpCode == HTTP_CODE_OK) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String payload = http.getString();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(payload);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String description = jsonParser(payload,&quot;description\&quot;:\&quot;&quot;,&quot;\&quot;,\&quot;icon&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(description);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,0);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,0);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;weather : &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(description);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String temp = jsonParser(payload,&quot;temp\&quot;:&quot;&amp;nbsp; &amp;nbsp; ,&amp;nbsp; &amp;nbsp; &quot;,\&quot;pressure&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(temp.toFloat() - 273.0);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,1);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,1);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;temp&amp;nbsp; &amp;nbsp; : &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(temp.toFloat() - 273.0);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String humidity = jsonParser(payload,&quot;humidity\&quot;:&quot;&amp;nbsp; &amp;nbsp; ,&amp;nbsp; &amp;nbsp; &quot;,\&quot;temp_min&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(humidity);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,2);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,2);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;humidity: &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(humidity);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String wind = jsonParser(payload,&quot;speed\&quot;:&quot;&amp;nbsp; &amp;nbsp; ,&amp;nbsp; &amp;nbsp; &quot;,\&quot;deg&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(wind);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,3);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,3);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;wind&amp;nbsp; &amp;nbsp; : &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(wind);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.printf(&quot;[HTTP] GET... failed, error: %s\n&quot;, http.errorToString(httpCode).c_str());&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; http.end();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; previousMillis = millis();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; results.value = 0xFFFFFFFF;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; firstTimeFlag = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;String jsonParser(String payloadStr, String beforeStr, String afterStr) {&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; return payloadStr.substring(payloadStr.indexOf(beforeStr) + beforeStr.length(), payloadStr.indexOf(afterStr));&amp;nbsp;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Project/Weather Display</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/225</guid>
      <comments>https://webie.tistory.com/225#entry225comment</comments>
      <pubDate>Thu, 12 Oct 2017 18:02:30 +0900</pubDate>
    </item>
    <item>
      <title>Wemos D1 리모컨 사용하기</title>
      <link>https://webie.tistory.com/224</link>
      <description>&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;필요 부품&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Wemos D1 R2 (통신 기능이 필요 없으면 아두이노를 사면 되겠네요)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;리모컨 키트 : 구매처( &lt;a href=&quot;http://arduinostory.com/goods/goods_view.php?goodsNo=1000000225&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://arduinostory.com/goods/goods_view.php?goodsNo=1000000225&lt;/a&gt; )&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;참고자료 :&amp;nbsp;&lt;a href=&quot;https://arduino-info.wikispaces.com/IR-RemoteControl&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://arduino-info.wikispaces.com/IR-RemoteControl&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;리모컨 수신부 데이터시트&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/995D153359DF1C5F34&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/pdf.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;IR-Receiver-AX-1838HS.pdf&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 150px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E0573359DF1DC211&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E0573359DF1DC211&quot; width=&quot;150&quot; height=&quot;348&quot; filename=&quot;Brick-IR-cable2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;+선은 3.3V에 연결하니 잘 동작합니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;신호선은 14번(SCK/D5)에 연결하면 아래 소스코드로 동작시킬 수 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(213, 213, 213);&quot;&gt;참고로 저는 &lt;/span&gt;&lt;span style=&quot;color: rgb(213, 213, 213);&quot;&gt;중간에 제대로 된 자료를 못찾아서 아무렇게나 연결하다가 퍽 소리와 함께 타는 냄새가 나는 것을 경험했습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(213, 213, 213);&quot;&gt;하지만 동작은 잘 되더군요... 어디가 탄 건지는 아직도 모름;;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;소스코드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;864&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;/table&gt;&lt;table class=&quot;txc-table&quot; width=&quot;864&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:864;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;#ifndef UNIT_TEST&lt;/p&gt;&lt;p&gt;#include &amp;lt;Arduino.h&amp;gt;&lt;/p&gt;&lt;p&gt;#endif&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRremoteESP8266.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRrecv.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRutils.h&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;uint16_t RECV_PIN = 14;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;IRrecv irrecv(RECV_PIN);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;decode_results results;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;void setup() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; Serial.begin(115200);&lt;/p&gt;&lt;p&gt;&amp;nbsp; irrecv.enableIRIn();&amp;nbsp; // Start the receiver&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;void loop() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; if (irrecv.decode(&amp;amp;results)) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; serialPrintUint64(results.value, HEX);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Serial.println(&quot;&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; irrecv.resume();&amp;nbsp; // Receive the next value&lt;/p&gt;&lt;p&gt;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; delay(100);&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;리모컨 키 맵&lt;/p&gt;&lt;p&gt;FFA250&amp;nbsp; &amp;nbsp;FF6290&amp;nbsp; FFE21D&lt;/p&gt;&lt;p&gt;FF22DD&amp;nbsp;&amp;nbsp;FF02FD&amp;nbsp;&amp;nbsp;FFC23D&lt;/p&gt;&lt;p&gt;FFE01F&amp;nbsp; &amp;nbsp;FFA857&amp;nbsp;&amp;nbsp;FF906F&lt;/p&gt;&lt;p&gt;FF6897&amp;nbsp; &amp;nbsp;FF9867&amp;nbsp;&amp;nbsp;FFB04F&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FF18E7&lt;/p&gt;&lt;div&gt;FF10EF&amp;nbsp; &amp;nbsp;FF38C7&amp;nbsp; FF5AA5&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;FF4AB5&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;리모컨의 OK키를 누르면 시리얼 모니터에 ON이 출력,&lt;/p&gt;&lt;p&gt;다른 키를 누르면 OFF가 출력되는 기능 추가&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;864&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:864;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;#ifndef UNIT_TEST&lt;/p&gt;&lt;p&gt;#include &amp;lt;Arduino.h&amp;gt;&lt;/p&gt;&lt;p&gt;#endif&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRremoteESP8266.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRrecv.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;IRutils.h&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;uint16_t RECV_PIN = 14;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;IRrecv irrecv(RECV_PIN);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;decode_results results;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;void setup() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; Serial.begin(115200);&lt;/p&gt;&lt;p&gt;&amp;nbsp; irrecv.enableIRIn();&amp;nbsp; // Start the receiver&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;void loop() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; if (irrecv.decode(&amp;amp;results)) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; serialPrintUint64(results.value, HEX);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Serial.println(&quot;&quot;);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;if(results.value == 0xFF38C7)&lt;/span&gt;&lt;/b&gt;{&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println(&quot;ON&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }else{&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println(&quot;OFF&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; irrecv.resume();&lt;/p&gt;&lt;p&gt;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; delay(100);&lt;/p&gt;&lt;p&gt;}&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>아두이노</category>
      <category>ir-receiver-ax-1838hs</category>
      <category>wemos d1</category>
      <category>아두이노 리모컨</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/224</guid>
      <comments>https://webie.tistory.com/224#entry224comment</comments>
      <pubDate>Thu, 12 Oct 2017 16:51:24 +0900</pubDate>
    </item>
    <item>
      <title>JSON Parsing</title>
      <link>https://webie.tistory.com/223</link>
      <description>&lt;p style=&quot;text-size-adjust: none; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;b style=&quot;font-size: 18.6667px;&quot;&gt;아두이노의 JSON 파싱 라이브러리&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-size-adjust: none; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;b style=&quot;font-size: 18.6667px;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;(주어진 문자열에서 두 단어(내가 지정 가능) 사이의 부분 문자열을 찾는 함수)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(61, 183, 204);&quot;&gt;&lt;b&gt;// 1번째 인자로 원본문자열&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(61, 183, 204);&quot;&gt;&lt;b&gt;// 2번째 인자로 찾을 것의 앞부분에 있는 문자열&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(61, 183, 204);&quot;&gt;&lt;b&gt;// 3번째 인자로 찾을 것의 뒷부분에 있는 문자열&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(61, 183, 204);&quot;&gt;&lt;b&gt;// 반환값 : 찾은 문자열&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-size-adjust: none; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-size-adjust: none; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;JSON 파서&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;864&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 864px; height: 65px; border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204);&quot;&gt;&lt;p&gt;&lt;b style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;String&amp;nbsp;&lt;/b&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;jsonParser(String&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;originalStr&lt;/b&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;, String&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;beforeStr&lt;/b&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;, String&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;afterStr&lt;/b&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;) {&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; text-size-adjust: none; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(213, 213, 213);&quot;&gt;return&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(213, 213, 213); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(213, 213, 213);&quot;&gt;.substring(&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(213, 213, 213); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(213, 213, 213);&quot;&gt;.indexOf(beforeStr) + beforeStr.length(),&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(213, 213, 213); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(213, 213, 213);&quot;&gt;.indexOf(afterStr));&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; text-size-adjust: none; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;XML 파서&lt;br /&gt;&lt;table class=&quot;txc-table&quot; width=&quot;864&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot; style=&quot;border: none; border-collapse: collapse;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 864px; height: 65px; border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204);&quot;&gt;&lt;p&gt;&lt;b style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;String &lt;/b&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;Parser(String&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;originalStr&lt;/b&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;, String&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;beforeStr&lt;/b&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;, String&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;afterStr&lt;/b&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;) {&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; text-size-adjust: none; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(213, 213, 213);&quot;&gt;return&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(213, 213, 213); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(213, 213, 213);&quot;&gt;.substring(&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(213, 213, 213); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(213, 213, 213);&quot;&gt;.indexOf(beforeStr) + beforeStr.length(),&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(213, 213, 213); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(213, 213, 213);&quot;&gt;.indexOf(afterStr));&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; text-size-adjust: none; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p style=&quot;text-size-adjust: none; margin-right: 0px; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;JSON파서와 XML파서다. 자세히 보면 알겠지만, 실은 이름만 다르다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-size-adjust: none; margin-right: 0px; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; color: rgb(213, 213, 213);&quot;&gt;(왜 다르게 했냐면.. 함수 이름을 jsonOrXmlParser 이런 식으로 길게 짓고 싶지 않아서다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-size-adjust: none; margin-right: 0px; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; color: rgb(213, 213, 213);&quot;&gt;그렇다고 그냥 parser라고 하면 애매하니까..)&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-size-adjust: none; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;어쨌든 복사해서 쓰면 된다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(213, 213, 213);&quot;&gt;(몰라도 되는 부분은 흐릿하게 처리함)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;b&gt;=============== 아래는 굳이 읽지 않아도 됨 ===============&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br style=&quot;text-size-adjust: none; margin: 0px; padding: 0px; box-sizing: border-box; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;아두이노에서 파싱을 위한 자작 라이브러리를 만들어야 하는 이유&lt;/b&gt;&lt;/span&gt;&lt;br style=&quot;text-size-adjust: none; margin: 0px; padding: 0px; box-sizing: border-box; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px; text-align: center;&quot;&gt;통신쪽 프로젝트를 하다 보면 XML이나 JSON을 파싱할 일이 무척 많다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;아두이노나 Wemos D1으로 프로젝트를 할 때도&amp;nbsp;적용할 수 있는 JSON 파싱&amp;nbsp;라이브러리가 있다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;하지만 String이 아닌 char문자열을 지원하는데다 추가 라이브러리를 include 해야 되기 때문에 저장공간이 작은 MCU 프로그래밍에는 적합하지 않은 면이 있다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b style=&quot;font-size: 18.6667px;&quot;&gt;파싱을 하려면 String클래스의 어떤 함수들이 쓰이나?&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;그래서 자작 라이브러리를 사용하기로 했다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;파싱을 하려면 String 클래스의 &lt;b&gt;indexOf, substring, length&lt;/b&gt;함수를 사용하면 된다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;원본문자열.indexOf(찾을문자열)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;원본문자열.length()&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;원본문자열.substring(시작 인덱스, 여기 넣은 숫자의 앞까지 읽음)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b style=&quot;font-size: 18.6667px;&quot;&gt;동작을 대충 살펴보자&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 216, 255); font-size: 14pt;&quot;&gt;temp&quot;:&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 14pt;&quot;&gt;286.2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 216, 255);&quot;&gt;,&quot;pressure&lt;/span&gt;&quot;:1020,&quot;humidity&quot;:58,&quot;temp_min&quot;:285.15,&quot;temp_max&quot;:287.15}&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;//1번째 인자로 원본문자열&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;//2번째 인자로 찾을 것의 앞부분에 있는 문자열(&lt;span style=&quot;color: rgb(0, 216, 255); font-size: 18.6667px;&quot;&gt;temp&quot;:&lt;/span&gt;)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;//3번째 인자로 찾을 것의 뒷부분에 있는 문자열(&lt;span style=&quot;color: rgb(0, 216, 255); font-size: 18.6667px;&quot;&gt;,&quot;pressure&lt;/span&gt;)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;//반환값 : 찾은 문자열(&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 18.6667px;&quot;&gt;286.2&lt;/span&gt;)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 18.6667px;&quot;&gt;286.2&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;&amp;nbsp;jsonParser(String &lt;span style=&quot;color: rgb(71, 200, 62);&quot;&gt;originalStr&lt;/span&gt;, String&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 216, 255); font-size: 18.6667px;&quot;&gt;temp&quot;:&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;, String&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 216, 255); font-size: 18.6667px;&quot;&gt;,&quot;pressure&lt;/span&gt;&lt;span style=&quot;font-size: 15px; color: rgb(100, 100, 100); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif;&quot;&gt;) {&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; text-size-adjust: none; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &lt;strike&gt;return&amp;nbsp;&lt;/strike&gt;&lt;/span&gt;&lt;/font&gt;&lt;strike&gt;&lt;span style=&quot;color: rgb(71, 200, 62); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;.substring(&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(71, 200, 62); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;.indexOf(&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(0, 216, 255); font-size: 18.6667px;&quot;&gt;temp&quot;:&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;) +&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(0, 216, 255); font-size: 18.6667px;&quot;&gt;temp&quot;:&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;.length(),&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(71, 200, 62); font-family: &amp;quot;Malgun Gothic&amp;quot;, Raleway, sans-serif; font-size: 15px;&quot;&gt;originalStr&lt;/span&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;.indexOf(&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(0, 216, 255); font-size: 18.6667px;&quot;&gt;,&quot;pressure&lt;/span&gt;&lt;/strike&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;strike&gt;));&lt;/strike&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; text-size-adjust: none; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; text-size-adjust: none; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; //함수 내부는 일단 신경쓰지 않아도 됨. 어차피 우린 사용만 하면 되니까.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; text-size-adjust: none; padding: 0px; border: 0px; vertical-align: top; box-sizing: border-box; line-height: 1.7em;&quot;&gt;&lt;font color=&quot;#646464&quot; face=&quot;Malgun Gothic, Raleway, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;</description>
      <category>아두이노</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/223</guid>
      <comments>https://webie.tistory.com/223#entry223comment</comments>
      <pubDate>Thu, 12 Oct 2017 15:39:50 +0900</pubDate>
    </item>
    <item>
      <title>아두이노와 날씨API를 이용한 날씨 알리미(Wemos-D1)</title>
      <link>https://webie.tistory.com/222</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;864&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:864;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;#include &amp;lt;Arduino.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;ESP8266WiFiMulti.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;ESP8266HTTPClient.h&amp;gt;&lt;/p&gt;&lt;p&gt;#include &amp;lt;Wire.h&amp;gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;#include &amp;lt;LiquidCrystal_I2C.h&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;#define USE_SERIAL Serial&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ESP8266WiFiMulti WiFiMulti;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;LiquidCrystal_I2C lcd(0x3f,20,4);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;void setup() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; USE_SERIAL.begin(115200);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; lcd.init();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; lcd.backlight();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; lcd.setCursor(0,1);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; for(uint8_t t = 4; t &amp;gt; 0; t--) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.printf(&quot;[SETUP] WAIT %d...\n&quot;, t);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.flush();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delay(1000);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; lcd.print(&quot;Server Connecting...&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; WiFiMulti.addAP(&quot;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;SSID&lt;/span&gt;&quot;, &quot;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;PASSWORD&lt;/span&gt;&quot;);&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;void loop() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if((WiFiMulti.run() == WL_CONNECTED)) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HTTPClient http;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.print(&quot;[HTTP] begin...\n&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; http.begin(&quot;http://api.openweathermap.org/data/2.5/weather?q=Euijeongbu,kr&amp;amp;appid=308916b0a9502052c20b263a8be5bf89&quot;);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.print(&quot;[HTTP] GET...\n&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int httpCode = http.GET();&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(httpCode &amp;gt; 0) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.printf(&quot;[HTTP] GET... code: %d\n&quot;, httpCode);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(httpCode == HTTP_CODE_OK) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String payload = http.getString();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(payload);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String description = jsonParser(payload,&quot;description\&quot;:\&quot;&quot;,&quot;\&quot;,\&quot;icon&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(description);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,0);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,0);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;weather : &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(description);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String temp = jsonParser(payload,&quot;temp\&quot;:&quot;&amp;nbsp; &amp;nbsp; ,&amp;nbsp; &amp;nbsp; &quot;,\&quot;pressure&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(temp.toFloat() - 273.0);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,1);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,1);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;temp&amp;nbsp; &amp;nbsp; : &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(temp.toFloat() - 273.0);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String humidity = jsonParser(payload,&quot;humidity\&quot;:&quot;&amp;nbsp; &amp;nbsp; ,&amp;nbsp; &amp;nbsp; &quot;,\&quot;temp_min&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(humidity);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,2);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,2);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;humidity: &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(humidity);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String wind = jsonParser(payload,&quot;speed\&quot;:&quot;&amp;nbsp; &amp;nbsp; ,&amp;nbsp; &amp;nbsp; &quot;,\&quot;deg&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.println(wind);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,3);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.setCursor(0,3);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(&quot;wind&amp;nbsp; &amp;nbsp; : &quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd.print(wind);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; USE_SERIAL.printf(&quot;[HTTP] GET... failed, error: %s\n&quot;, http.errorToString(httpCode).c_str());&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; http.end();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; delay(60000);&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;String jsonParser(String payloadStr, String beforeStr, String afterStr) {&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; return payloadStr.substring(payloadStr.indexOf(beforeStr) + beforeStr.length(), payloadStr.indexOf(afterStr));&amp;nbsp;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Project/Weather Display</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/222</guid>
      <comments>https://webie.tistory.com/222#entry222comment</comments>
      <pubDate>Thu, 12 Oct 2017 02:32:24 +0900</pubDate>
    </item>
    <item>
      <title>usb 홀더 모델링 - fusion 360</title>
      <link>https://webie.tistory.com/221</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 524px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9989C63359DA17F834&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9989C63359DA17F834&quot; width=&quot;524&quot; height=&quot;406&quot; filename=&quot;K-001.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 524px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9947DB3359DA17F918&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9947DB3359DA17F918&quot; width=&quot;524&quot; height=&quot;406&quot; filename=&quot;K-002.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;간단한 거라 부연설명 달기 귀찮...&lt;/p&gt;</description>
      <category>3D 프린터</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/221</guid>
      <comments>https://webie.tistory.com/221#entry221comment</comments>
      <pubDate>Sun, 8 Oct 2017 21:21:05 +0900</pubDate>
    </item>
    <item>
      <title>테이프 디스펜서 모델링 - fusion 360</title>
      <link>https://webie.tistory.com/220</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;fusion 360으로 모델링&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;shell 명령으로 내부를 파낼 수 있다!&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9960E53359D8DFE221&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9960E53359D8DFE221&quot; width=&quot;600&quot; height=&quot;473&quot; filename=&quot;K-010.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;있어보이게 만들 때는 알루미늄이 최고인 듯.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;(사람에 따라 있어보이지 않을 수도 있음)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99716C3359D8DFE202&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99716C3359D8DFE202&quot; width=&quot;600&quot; height=&quot;473&quot; filename=&quot;K-009.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>3D 프린터</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/220</guid>
      <comments>https://webie.tistory.com/220#entry220comment</comments>
      <pubDate>Sat, 7 Oct 2017 23:10:04 +0900</pubDate>
    </item>
    <item>
      <title>삼발이(tripod) 모델링 - fusion 360</title>
      <link>https://webie.tistory.com/219</link>
      <description>&lt;p style=&quot;text-align: left;&quot;&gt;연습 삼아 삼발이를 모델링 해봤습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;fusion 360으로 모델링을 한 후&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;(주요 명령어는 revolve와 pipe)&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;삼발이 다리 모델링이 좀 어려워 보였지만, extrude의 intersect(교집합)를 이용하면 간단히 모델링이 가능하네요.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 715px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99DF653359D8A4522B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99DF653359D8A4522B&quot; width=&quot;715&quot; height=&quot;569&quot; filename=&quot;K-006.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;알루미늄으로 렌더링 짠!&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 715px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993C1E3359D8A45139&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993C1E3359D8A45139&quot; width=&quot;715&quot; height=&quot;569&quot; filename=&quot;K-005.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;autodesk fusion 360 입문편에 예제가 있으니 필요하신 분은 따라해 보시길..&lt;/p&gt;</description>
      <category>3D 프린터</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/219</guid>
      <comments>https://webie.tistory.com/219#entry219comment</comments>
      <pubDate>Sat, 7 Oct 2017 22:39:45 +0900</pubDate>
    </item>
    <item>
      <title>손잡이 모델링(Fusion360, CR-10, CURA)</title>
      <link>https://webie.tistory.com/218</link>
      <description>&lt;p style=&quot;text-align: left;&quot;&gt;실용품 diy로 롤러용 손잡이를 모델링 했습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;우선 fusion 360에서 모델링을 했습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 650px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991D7F3359D88C750D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991D7F3359D88C750D&quot; width=&quot;650&quot; height=&quot;601&quot; filename=&quot;K-004.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;금속과 플라스틱을 입히면 이런 모습입니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;푸른색 알루미늄, 검은색 크롬, 노란색은 플라스틱을 입혔습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 633px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99CE063359D88BE901&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99CE063359D88BE901&quot; width=&quot;633&quot; height=&quot;588&quot; filename=&quot;K-001.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;3d프린터로 출력하기 위해 슬라이서인 Cura에서 STL파일을 열었습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 633px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D0C43359D88BE92E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D0C43359D88BE92E&quot; width=&quot;633&quot; height=&quot;588&quot; filename=&quot;K-002.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;이건 3d프린트를 하기 위한 Cura 설정인데, 실제 프린트 때에는 몇가지 문제가 있었습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;먼저 brim을 전혀 주지 않아서 첫 레이어가 두군데나 떠 버리더군요.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;그리고 출력속도가 조금 빨라서 미세한 부분을 너무 빨리 지나치면서 수축으로 인해 뭉개짐이 약간 발생했네요.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;손으로 잡는 부분의 서포터를 너무 약하게 설정했던 것도 조금 문제였었네요. 이부분도 첫 레이어가 떴거든요.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 346px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994AFD3359D88BEA3A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994AFD3359D88BEA3A&quot; width=&quot;346&quot; height=&quot;722&quot; filename=&quot;K-003.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;하지만 많은 문제가 있었음에도 손잡이는 무사히 출력 완료:)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;(출력물은 이미 본체와 결합을 해버렸기 때문에 사진은 나중에 분리 후 올리겠습니다.)&lt;/p&gt;</description>
      <category>3D 프린터</category>
      <category>3d프린터</category>
      <category>CR-10</category>
      <category>cura</category>
      <category>DIY</category>
      <category>Fusion360</category>
      <category>메이커</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/218</guid>
      <comments>https://webie.tistory.com/218#entry218comment</comments>
      <pubDate>Sat, 7 Oct 2017 17:20:57 +0900</pubDate>
    </item>
    <item>
      <title>circuito.io 소개</title>
      <link>https://webie.tistory.com/217</link>
      <description>&lt;p style=&quot;text-align: left;&quot;&gt;개인적으로 아두이노의 가장 큰 가치는 '쉽다'는 것인데요,&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;아두이노의 활용을 도와주는&amp;nbsp;도구들 역시 쉬운 것들이 많이 나오고 있네요.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;아두이노를 처음 배우는 분들의 경우 회로구성을 어떻게 해야할지 모르는 경우에 도움을 받을 수 있는 사이트가 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;회로를 자동으로 구현해주는 circuito.io라는 사이트입니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;circuito.io는 프로젝트를 위한 부품만 알면 사이트에서 자동으로 회로도를 구성해 주게 되는데다 인터페이스 역시 직관적입니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;각설하고, 사용 방법을 보겠습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;먼저&amp;nbsp;&lt;a href=&quot;http://circuito.io&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;circuito.io&lt;/a&gt; 사이트로 갑니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;주소도 굉장히 간단하네요.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;사이트에 갔으면 우선 우측의 결과물 창에서 + 버튼을 눌러서 각 파트에 부품을 추가할 수 있어요.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;왼쪽에 보이는 리스트에서 부품을 골라서 추가하면 됩니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E8023359D63E1A27&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E8023359D63E1A27&quot; width=&quot;900&quot; height=&quot;535&quot; filename=&quot;K-002.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;사이트에서 일괄적으로 구매도 할 수 있네요. 실시간으로 재고 유무도 뜨는데, 16x2 I2C CLCD는 재고가 없다고 나오네요.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;(여기서 구매해도 되겠지만, 어지간한 부품들은 국내 전자부품 마트들에서 다 팝니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;가격도 국내에서 구매하는 것이 더 싼거 같으니 국내 이용자에겐 배송시간을 고려하면 큰 메리트가 있지는 않아 보이네요.)&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 379px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E0AD3359D63E1B0C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E0AD3359D63E1B0C&quot; width=&quot;379&quot; height=&quot;730&quot; filename=&quot;K-003.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;preview를 눌러서 나온 결과 화면입니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;저는 초음파센서, 서보모터, CLCD, ESP8266을 넣었는데, 아래와 같이 배선이 되어 나오네요.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;심지어 제가 고르지 않았던, 5V &amp;lt;-&amp;gt; 3.3V 컨버터도 알아서 넣어 줬습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;ESP8266이 3.3볼트를 사용하기 때문이죠.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99C4893359D63E1A0F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99C4893359D63E1A0F&quot; width=&quot;900&quot; height=&quot;375&quot; filename=&quot;K-001.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;아두이노는 어린이 교육용으로도 많이 사용하는데, 회로구성에 익숙하지 않은 아이들도 이 사이트를 보고 따라할 수 있을 것 같네요.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;사이트가 무척 직관적인 인터페이스를 가지고 있어서 누구나 따라할 수 있을 것 같습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;저 역시 이 사이트를 알고 첫 회로도 작성하기까지 채 2분도 걸리지 않았을 정도로 쉽습니다.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;아직 사용해보지 않으신 메이커 분들이라면 꼭 한번 들러보세요~&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;링크 : &lt;a href=&quot;http://circuito.io&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;circuito.io&lt;/a&gt;&lt;/p&gt;</description>
      <category>아두이노</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/217</guid>
      <comments>https://webie.tistory.com/217#entry217comment</comments>
      <pubDate>Thu, 5 Oct 2017 23:23:47 +0900</pubDate>
    </item>
    <item>
      <title>as 해석에 대해 지식인에 물어봤다.</title>
      <link>https://webie.tistory.com/216</link>
      <description>&lt;p&gt;질문 요약&lt;/p&gt;&lt;p&gt;as만 나오면 해석이 잘 안되는데, 어떻게 접근해야 하나요?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;받은 답변&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;864&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:864;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;접속사&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;as&lt;/span&gt;는 여러가지 의미로 사용됩니다.&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;제일 많이 사용되는 것은&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;'~할 때, ~하는 동안에, ~때문에, ~하면서, ~대로'의&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;뜻입니다.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;strong style=&quot;margin: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif;&quot;&gt;&lt;/strong&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;해석방법은 전체 문맥을 통해서 어떤 의미의&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;as&lt;/span&gt;가 사용되었는지&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;판단해야 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;가장 먼저 떠올릴 용법은 시간입니다.&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;'~할 때, ~동안'의 의미로 해석해 보세요.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;예문을 들면&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;She&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;kept&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;crying&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;loudly&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;as&lt;/span&gt;&amp;nbsp;I&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;told&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;the&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;sad&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;story&lt;/span&gt;.&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;(그녀는 내가 그 슬픈 이야기를 하는 동안에 계속 울었다.)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;이 용법으로 해석이 안 되면&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;두 번째&amp;nbsp; 먼저 떠올릴 용법은 이유입니다.&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;'~때문에'의 의미로 해석해 보세요.&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;예문을 들면&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;As&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;she&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;was&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;late&lt;/span&gt;,&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;our&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;departure&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;was&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;delayed&lt;/span&gt;.&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;그녀가 늦었기 때문에, 우리의 출발이 늦어졌다&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;위 문장에서&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;as&lt;/span&gt;를 시간의 뜻으로 해석하면 어색하겠죠.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;이처럼 위 의 두 가지 용법이 영어 문장에서 사용되는&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;as&lt;/span&gt;의 90퍼센트를 차지한답니다.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; color: rgb(64, 64, 64); font-family: sans-serif; line-height: 1.8;&quot;&gt;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;그 외에 '~대로, ~와 같이'의 뜻을 넣어 해석해 보면 됩니다.&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;예문을 들면&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;Please&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;study&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;English&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;as&lt;/span&gt;&amp;nbsp;I&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;told&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;word_dic en&quot; style=&quot;margin: 0px !important; padding: 0px !important; float: none !important; display: inline !important; background: none !important; border: 0px !important; line-height: inherit !important; font-size: inherit !important; color: inherit !important;&quot;&gt;you&lt;/span&gt;.&lt;/span&gt;&lt;br style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong style=&quot;color: rgb(64, 64, 64); font-family: sans-serif; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; font-size: 12pt;&quot;&gt;(내가 말한대로 영어 공부하세요.)&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;라고 영드림 카페지기님이 답변을 주셨다.&lt;/p&gt;&lt;p&gt;내용이 괜찮은거 같아서 카페에도 가입했다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://cafe.naver.com/mentoring777&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;http://cafe.naver.com/mentoring777&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;영어 관련 질문에 대해 답변을 주신다고 한다.&lt;/p&gt;&lt;p&gt;카페지기님이 답변을 잘해주셔서 추천!&lt;/p&gt;&lt;p&gt;(카페 광고하는거 아님. 개인적 관계 없음..)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;적용&amp;gt;&lt;/p&gt;&lt;p&gt;심심하므로..&lt;/p&gt;&lt;p&gt;내가 가진 영어책에서 as가 쓰인 문장 몇 개를 찾아서 적용해 봐야겠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;한 3분정도 세계의 불가사의라는 책을 열심히 찾아봤는데, as가 없다??!!&lt;/p&gt;&lt;p&gt;내가 눈이 나빠진건가...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그러므로 인터넷에서 대충 검색.&lt;/p&gt;&lt;p&gt;If my 5yr old is an exceptional liar, should I expect that she will continue lying &lt;b&gt;as&lt;/b&gt; she gets older?&lt;/p&gt;&lt;p&gt;만일 내 5살(동생이나 자식 말하는 건가, 아니면 나의 과거?)이 예외적인(여기선 심한 정도인가?) 거짓말 쟁이라면,&lt;/p&gt;&lt;p&gt;나는 그녀가 컸을 때도 계속 거짓말 할 거라고 예상해야 하는 건가?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Cyclists in Paris enjoyed a quiet day on the city’s streets on Sunday, &lt;b&gt;as&lt;/b&gt; authorities banned cars, lorries, and motorbikes&lt;/p&gt;&lt;p&gt;파리에서 자전거 타는 사람은 조용한 날을 즐겼다 / 도시의 거리를 / 일요일에 / authorities(여기선 정부 같은 뜻으로 쓰인 건가)가 금지했기 때문에 / 자동차와 lorries(트럭인가?)와 오토바이를.&lt;/p&gt;&lt;p&gt;* authorities는 당국이구나.. government authorities가 정부 당국. 여기서는 government가 생략된 것 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Sagan takes victory at the end of a memorable World Championships road race in Bergen, as television cut-out leaves last five kilometres as a mystery.&lt;/p&gt;&lt;p&gt;Sagan이 이겼다 / 마지막에 / 기념할만한 세계 챔피언쉽 로드 레이스의 / Bergen에서 열린 / 텔레비전 컷아웃(영상?)이 남긴 대로 마지막 5킬로미터는 미스테리로.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Peter Sagan reflects on ‘unbelievable’ Worlds win as he dedicates victory to Michele Scarponi&lt;/p&gt;&lt;p&gt;Peter Sagan 반영했다(보여줬다?) / 믿을 수 없는 세계 우승을 / 그가 Michele Scarponi를 상대로 승리했을 때.&lt;/p&gt;&lt;p&gt;(완전 잘못 해석한 듯..)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다시 해석해 보자.&lt;/p&gt;&lt;p&gt;피터 세이건은 보여줬다 / 믿을 수 없는 세계 우승을 / 그가 Michele Scarponi에게 승리를 바치면서&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;...해석 연습 좀 많이 해야겠네&lt;/p&gt;</description>
      <category>English</category>
      <author>클레잇</author>
      <guid isPermaLink="true">https://webie.tistory.com/216</guid>
      <comments>https://webie.tistory.com/216#entry216comment</comments>
      <pubDate>Thu, 5 Oct 2017 16:06:27 +0900</pubDate>
    </item>
  </channel>
</rss>