<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>CtrlMan</title>
    <link>https://stella47.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Tue, 7 Jul 2026 07:42:34 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>bu_ctrlMan</managingEditor>
    <item>
      <title>[FPV] Pavo20 Pro 기본 세팅 (2) - 모터 점검 및 OSD 설정</title>
      <link>https://stella47.tistory.com/648</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이제 하드웨어 세팅도 끝났고, 조종기 명령도 드론 비행컴퓨터가 인식하게 되었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;비행을 하기위한 세부 세팅을 해보자.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;비행을 하기 위해서, 아래의 설정/점검 항목이 있다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 조종기 명령이 먹는지? &lt;u&gt;(기본 세팅(1) 에서 점검했다.)&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 모터가 정상적으로 맵핑되었고, 잘 동작하는지?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 어떤 비행방식를 사용할 수 있고, 어떤 조종기 버튼으로 활성화할지?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 고글에 어떤 정보가 보이도록 설정할까?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Pavo20 Pro 의 기본 센서 구성으로부터 아래의 비행방식을 사용할 수 있다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 기본 센서 구성 [1] (Pavo20 Pro 는 FC 으로 &lt;b&gt;F4 2-3S 20A AIO FC V1&lt;/b&gt; 를 사용한다)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Accel/Gyro Sensor (ICM42688P/ICM42605, 자세 제어용)&lt;/li&gt;
&lt;li&gt;Barometer (BMP280/DSP310, 고도 제어)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 비행조종방식 [2,3] (&lt;span style=&quot;color: #006dd7;&quot;&gt;파란 색&lt;/span&gt;이 사용 가능, &lt;span style=&quot;color: #ee2323;&quot;&gt;붉은 색&lt;/span&gt;은 불가)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Acro&lt;/span&gt; (수동 모드, 조종기 명령으로 비행체 각속도 제어)&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Acro Trainer&lt;/span&gt; (수동 모드, Acro 와 같으나, 롤/피치 자세 제한이 있)&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Angle&lt;/span&gt; (반자동 모드, 조종기 명령으로 비행체 롤/피치 자세 제어)&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Horizon &lt;/span&gt;(반자동 모드, Angle 과 같으나 조종기를 끝까지 치면 공중제비를 돈다)&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Altitude Hold&lt;/span&gt; (반자동 모드, 조종기 명령으로 비행체 롤/피치 자세 및 고도 제어 , 2025.12 버전 이후 가능)&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Position Hold&lt;/span&gt; (반자동 모드, &lt;span style=&quot;color: #ee2323;&quot;&gt;GPS 필수,&lt;/span&gt; 조종기 명령으로 비행체 속도 제어, 가만 두면 공중에 가만히 있음, 2025.12 버전 이후 가능)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그래서, Altitude hold 가 가능할 때까지 설정해보자.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;본 글은 목차의 굵은 글씨만을 다루며, 다른 포스팅으로 나누어 작성했다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. Pavo20 Pro + O4 Air Unit HW&amp;nbsp;조립하기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro + O4 Air Unit 구매하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro 조립하기&lt;br /&gt;2. O4 Air Unit 바인딩하기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 고글3 + fpv조종기3 바인딩 세팅&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - O4 Air Unit 바인딩 세팅&lt;br /&gt;3. [선택] Betafpv 펌웨어 장입하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - CF21XX 드라이버 설치하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기&lt;br /&gt;4. Pavo20&amp;nbsp;Pro&amp;nbsp;기본&amp;nbsp;세팅&amp;nbsp;(1)&amp;nbsp;-&amp;nbsp;통신&amp;nbsp;포트&amp;nbsp;및&amp;nbsp;수신기&amp;nbsp;설정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;Pavo20 Pro 기본 세팅 (2) - 모터 점검 및 OSD 설정&lt;/span&gt; &lt;span style=&quot;color: #ee2323;&quot;&gt;(본 글)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - [선택] 가속도계 조정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 모터 맵핑 및 구동 점검하기 &lt;br /&gt;&amp;nbsp; &amp;nbsp; - 비행모드 설정하기 (Arming, Turtle mode, 비행방식 설정하기)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - OSD 설정하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 첫 비행 해보기&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; (다음 글)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;[선택] 가속도계 조정&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;펌웨어를 새로 장입하면 기본 설정들이 모두 날아간 상태이므로, 아래와 같이 바닥에 두고 가속도계 교정을 하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;912&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5duko/dJMcaaeQNZS/bDJKgn99mZ0R1uYWdKsPTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5duko/dJMcaaeQNZS/bDJKgn99mZ0R1uYWdKsPTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5duko/dJMcaaeQNZS/bDJKgn99mZ0R1uYWdKsPTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5duko%2FdJMcaaeQNZS%2FbDJKgn99mZ0R1uYWdKsPTK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1252&quot; height=&quot;912&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;912&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;모터 맵핑 및 구동 점검하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본으로 설정된 모습은 아래와 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;1,2,3,4 번의 모터 회전 방향과 실제 기체에 장착된 해당 모터의 회전방향&lt;/span&gt;을 확인하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;751&quot; data-origin-height=&quot;505&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DxPOJ/dJMb99UvkyE/O1kisZrTII4D1kNeuFETxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DxPOJ/dJMb99UvkyE/O1kisZrTII4D1kNeuFETxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DxPOJ/dJMb99UvkyE/O1kisZrTII4D1kNeuFETxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDxPOJ%2FdJMb99UvkyE%2FO1kisZrTII4D1kNeuFETxK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;751&quot; height=&quot;505&quot; data-origin-width=&quot;751&quot; data-origin-height=&quot;505&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로펠러의 회전 방향을 보는 방법은 프로펠러 날의 불룩한 방향의 반대방향으로 바람을 밀어내도록 움직이는 방향이 모터의 회전 방향이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;975&quot; data-origin-height=&quot;394&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmGsKr/dJMcaaFXw4N/VKU79TGKhJJ6zUtIWdrH3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmGsKr/dJMcaaFXw4N/VKU79TGKhJJ6zUtIWdrH3K/img.png&quot; data-alt=&quot;프로펠러와 절단면을 보고 프롭 회전 방향 보는 법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmGsKr/dJMcaaFXw4N/VKU79TGKhJJ6zUtIWdrH3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmGsKr%2FdJMcaaFXw4N%2FVKU79TGKhJJ6zUtIWdrH3K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;618&quot; height=&quot;250&quot; data-origin-width=&quot;975&quot; data-origin-height=&quot;394&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;프로펠러와 절단면을 보고 프롭 회전 방향 보는 법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;976&quot; data-origin-height=&quot;853&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bX3hg4/dJMcadvKLPg/RONPEq2NsRHmbkjbgl60Lk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bX3hg4/dJMcadvKLPg/RONPEq2NsRHmbkjbgl60Lk/img.png&quot; data-alt=&quot;Pavo20 Pro 도 그림만 보고도 모터 방향을 알 수 있다. 머리 방향으로 프롭이 감기는 방향이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bX3hg4/dJMcadvKLPg/RONPEq2NsRHmbkjbgl60Lk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbX3hg4%2FdJMcadvKLPg%2FRONPEq2NsRHmbkjbgl60Lk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;646&quot; height=&quot;565&quot; data-origin-width=&quot;976&quot; data-origin-height=&quot;853&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Pavo20 Pro 도 그림만 보고도 모터 방향을 알 수 있다. 머리 방향으로 프롭이 감기는 방향이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비행체가 알고있는 번호와 다르다면,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;모터 순서 변경&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;을 눌러서,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모터 방향이 다르다면,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;모터 방향&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;을 눌러서 바꾸어보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모터 순서 변경&lt;/b&gt;을 먼저 한 후에&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;모터 방향&lt;/b&gt;을 바꾸는 것이 좋다. (알고있는 위치의 모터 방향을 바꾸어야하니)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진행하기 전에,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;프로펠러에 걸리는 것이 없는지 확인&lt;/span&gt;하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;누르면 아래와 같은 그림이 나오고, 모든 모터를 선택하면&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;저장&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;버튼이 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 그림은 이미 좌측 모터 두 개 위치를 확인하여 누른 상태이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;603&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c98BlQ/dJMcahZhWSO/r5BKPaf6GUlzRpjmXXE6kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c98BlQ/dJMcahZhWSO/r5BKPaf6GUlzRpjmXXE6kK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c98BlQ/dJMcahZhWSO/r5BKPaf6GUlzRpjmXXE6kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc98BlQ%2FdJMcahZhWSO%2Fr5BKPaf6GUlzRpjmXXE6kK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;508&quot; height=&quot;603&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;603&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모두 설정한 후, 아래 창에서 테스트해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위치는 모터 탭의 우측 아래에 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;나는 위험을 인지하고 있으며&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;옆에 버튼을 재끼면, 2번의 슬라이더를 움직여서 번호에 맞는 모터를 움직여볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1059&quot; data-origin-height=&quot;718&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7HDWF/dJMcahygtW7/YyDGb522SN0Y7E1nvdKSWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7HDWF/dJMcahygtW7/YyDGb522SN0Y7E1nvdKSWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7HDWF/dJMcahygtW7/YyDGb522SN0Y7E1nvdKSWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7HDWF%2FdJMcahygtW7%2FYyDGb522SN0Y7E1nvdKSWk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1059&quot; height=&quot;718&quot; data-origin-width=&quot;1059&quot; data-origin-height=&quot;718&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;비행조종방식 설정하기 [4]&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(작성 중)&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;OSD 설정하기&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(작성중)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;Reference&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;[1] Betafpv, &lt;/span&gt;&lt;a style=&quot;letter-spacing: 0px;&quot; href=&quot;https://betafpv.com/collections/2-4s-brushless-fc/products/f4-2-3s-20a-aio-fc-v1&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://betafpv.com/collections/2-4s-brushless-fc/products/f4-2-3s-20a-aio-fc-v1&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;[2] Betaflight,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Modes Tab&lt;/i&gt;,&amp;nbsp;&lt;a href=&quot;https://betaflight.com/docs/wiki/app/auxiliary-tab&quot;&gt;https://betaflight.com/docs/wiki/app/auxiliary-tab&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;[3] Oscar Liang, &lt;i&gt;How to Setup Position Hold and Altitude Hold in Betaflight&lt;/i&gt;, &lt;a href=&quot;https://oscarliang.com/betaflight-position-hold/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://oscarliang.com/betaflight-position-hold/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[4] Betaflight, &lt;i&gt;Position Hold 2025.12&lt;/i&gt;,&amp;nbsp;&lt;a href=&quot;https://betaflight.com/docs/wiki/guides/current/Position-Hold-2025-12&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://betaflight.com/docs/wiki/guides/current/Position-Hold-2025-12&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*** EOF ***&lt;/p&gt;</description>
      <category>UAV/FPV</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/648</guid>
      <comments>https://stella47.tistory.com/648#entry648comment</comments>
      <pubDate>Sat, 4 Jul 2026 15:45:00 +0900</pubDate>
    </item>
    <item>
      <title>[FPV] Pavo20 Pro 기본 세팅 (1) - 통신 포트 및 수신기 설정</title>
      <link>https://stella47.tistory.com/647</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;하드웨어 조립과 장비 바인딩을 마쳤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조종기 명령을 드론이 알아먹도록 설정해보자.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;본 글은 목차의 굵은 글씨만을 다루며, 다른 포스팅으로 나누어 작성했다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Pavo20 Pro + O4 Air Unit&lt;span&gt;&amp;nbsp;&lt;/span&gt;HW&amp;nbsp;조립하기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro + O4 Air Unit 구매하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro 조립하기&lt;br /&gt;2. O4 Air Unit 바인딩하기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 고글3 + fpv조종기3 바인딩 세팅&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - O4 Air Unit 바인딩 세팅&lt;br /&gt;3. [선택] Pavo20 Pro 에 Betafpv 펌웨어 장입하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - CF21XX 드라이버 설치하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기&lt;br /&gt;&lt;b&gt;4.&lt;span&gt; Pavo20&amp;nbsp;Pro&amp;nbsp;기본&amp;nbsp;세팅&amp;nbsp;(1)&amp;nbsp;-&amp;nbsp;통신&amp;nbsp;포트&amp;nbsp;및&amp;nbsp;수신기&amp;nbsp;설정&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;(본 글)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 통신 포트 및 수신기 설정 (OSD 및 조종기 연결)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 조종기 명령 점검하기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 수신기 범위 세팅하기 (Neutral, Trim, Endpoint 등)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. Pavo20 Pro 기본 세팅 (2) - 모터 점검 및 OSD 설정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 가속도계 조정&lt;br /&gt;&amp;nbsp; &amp;nbsp; - 모터 맵핑 및 구동 테스트 하기&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;통신 포트 및 수신기 설정 (OSD 및 조종기 연결)&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;이 탭은 기체에 USB 만 연결해도 된다.&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;O4 Air unit 과 betaflight을 연동하기 위해서, 아래와 같이 설정한다.&lt;br /&gt;- UART4 : 환경설정/MSP On, 주변장치 VTX(MSP+디스플레이보드)&lt;br /&gt;- UART5 : Serial Rx On (조종기 연결, DJI Air Unit 은 UART5 라 한다.)&lt;br /&gt;그리고 설정 저장을 위해서 재부팅한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1842&quot; data-origin-height=&quot;837&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBuv4L/dJMcahdYqIX/kI9MQWKfxOgP2czTKnecFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBuv4L/dJMcahdYqIX/kI9MQWKfxOgP2czTKnecFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBuv4L/dJMcahdYqIX/kI9MQWKfxOgP2czTKnecFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBuv4L%2FdJMcahdYqIX%2FkI9MQWKfxOgP2czTKnecFk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1842&quot; height=&quot;837&quot; data-origin-width=&quot;1842&quot; data-origin-height=&quot;837&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;재부팅 후에 수신기 모드를 아래 그림과 같이 설정하고 연결됨을 확인하자.&lt;br /&gt;앞서, UART5 으로 연결되도록 설정했으므로, 수신기는&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Serial (UART를 통해)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;를 선택한다.&lt;br /&gt;펌웨어 플래시 시, 무선 프로토콜로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;SBUS&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;를 선택했으므로 그렇게 한 후, &lt;b&gt;저장&lt;/b&gt; 을 누른다.&lt;br /&gt;이후에 조종기를 움직여서 미리보기의 드론이 잘 움직이는 것을 확인하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1846&quot; data-origin-height=&quot;807&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MNEWI/dJMcagTEJA1/gS7ieqLJGOWh9ZTkQMBAfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MNEWI/dJMcagTEJA1/gS7ieqLJGOWh9ZTkQMBAfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MNEWI/dJMcagTEJA1/gS7ieqLJGOWh9ZTkQMBAfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMNEWI%2FdJMcagTEJA1%2FgS7ieqLJGOWh9ZTkQMBAfk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1846&quot; height=&quot;807&quot; data-origin-width=&quot;1846&quot; data-origin-height=&quot;807&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;조종기 명령 점검하기&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 탭은 기체에 배터리을 연결하여, FC 와 O4 Air Unit 에 전원을 인가해야한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;또한 고글3 + fpv 조종기3 도 전원을 켠 후, O4 Air Unit 과 바인딩 되어있어야한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다 되면 아래와 같이 롤/피치/요/쓰로틀에 대해서 움직이는 것을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/XyLbypFzy3E&quot; width=&quot;480&quot; height=&quot;640&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;수신기 범위 세팅하기 (Neutral, Trim, Endpoint 등)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(작성중)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;다음 글은 아래&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;링크로 넘어가자&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/644&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pavo20 Pro + O4 Air Unit HW 조립하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro + O4 Air Unit 구매하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro 조립하기&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/645&quot;&gt;O4 Air Unit 바인딩하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 고글3 + fpv조종기3 바인딩 세팅&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - O4 Air Unit 바인딩 세팅&lt;br /&gt;3. [선택]&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://stella47.tistory.com/646&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Pavo20 Pro Betafpv 펌웨어 장입하기&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; - CF21XX 드라이버 설치하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기&lt;br /&gt;4.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://stella47.tistory.com/647&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Pavo20 Pro 통신 포트 및 수신기 설정&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;(본 글)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/648&quot;&gt;Pavo20 Pro 세부 세팅하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;(다음 글)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*** EOF ***&lt;/p&gt;</description>
      <category>UAV/FPV</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/647</guid>
      <comments>https://stella47.tistory.com/647#entry647comment</comments>
      <pubDate>Sat, 4 Jul 2026 14:51:13 +0900</pubDate>
    </item>
    <item>
      <title>[FPV] Pavo20 Pro 에 Betafpv 펌웨어 장입하기</title>
      <link>https://stella47.tistory.com/646</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하드웨어 세팅을 했다면, 기체에 펌웨어 세팅을 해보자.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;잘 되어있는 것을 샀다면 안해도 된다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 글은 목차의 굵은 글씨만을 다루며, 다른 포스팅으로 나누어 작성했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. Pavo20 Pro + O4 Air Unit HW 조립하기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro + O4 Air Unit 구매하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro 조립하기&lt;br /&gt;2. O4 Air Unit 바인딩하기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 고글3 + fpv조종기3 바인딩 세팅&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - O4 Air Unit 바인딩 세팅&lt;br /&gt;3. &lt;b&gt;[선택] Pavo20 Pro에 Betafpv 펌웨어 장입하기 &lt;span style=&quot;color: #ee2323;&quot;&gt;(본 글)&lt;/span&gt;&lt;/b&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; - CF21XX 드라이버 설치하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기&lt;br /&gt;4. Pavo20 Pro 통신 포트 및 수신기 설정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. Pavo20 Pro 세부 세팅하기&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;펌웨어 장입하기&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://app.betaflight.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;betaflight configurator app&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; 에서 펌웨어 업데이트를 클릭하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;702&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4SMQB/dJMcahSuAlM/GcsFybW5rbnMRsKCvVAo0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4SMQB/dJMcahSuAlM/GcsFybW5rbnMRsKCvVAo0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4SMQB/dJMcahSuAlM/GcsFybW5rbnMRsKCvVAo0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4SMQB%2FdJMcahSuAlM%2FGcsFybW5rbnMRsKCvVAo0K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1257&quot; height=&quot;702&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;702&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;자동 감지를 누르면 아래와 같이 나온다. (잘 감지 되면)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1452&quot; data-origin-height=&quot;598&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caxSKT/dJMcacX0qvR/Gt9cahTcIoqNh0b4GtFSpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caxSKT/dJMcacX0qvR/Gt9cahTcIoqNh0b4GtFSpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caxSKT/dJMcacX0qvR/Gt9cahTcIoqNh0b4GtFSpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaxSKT%2FdJMcacX0qvR%2FGt9cahTcIoqNh0b4GtFSpk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1452&quot; height=&quot;598&quot; data-origin-width=&quot;1452&quot; data-origin-height=&quot;598&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;아래 사진과 절차로 선택/펌웨어 로드 및 펌웨어 플래시를 한다.&lt;br /&gt;1. 무선 프로토콜을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;SBUS&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;으로 선택&lt;br /&gt;2.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;펌웨어 로드 [온라인]&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;클릭&lt;br /&gt;3. 온라인으로 펌웨어 로드가 됨을 3번 위치에서 진행 바로 확인한다.&lt;br /&gt;4.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;펌웨어 플래시&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;를 눌러서 펌웨어를 업로드한다.&lt;br /&gt;진행 바가 다 차고,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;프로그래밍 : 성공&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;이 뜨면 기체 전원을 끈다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1449&quot; data-origin-height=&quot;694&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cR3UCH/dJMcaf1sdbZ/ZTzTsf3WY5OoBgfTdfjT6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cR3UCH/dJMcaf1sdbZ/ZTzTsf3WY5OoBgfTdfjT6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cR3UCH/dJMcaf1sdbZ/ZTzTsf3WY5OoBgfTdfjT6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcR3UCH%2FdJMcaf1sdbZ%2FZTzTsf3WY5OoBgfTdfjT6k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1449&quot; height=&quot;694&quot; data-origin-width=&quot;1449&quot; data-origin-height=&quot;694&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4번을 눌렀을 때, 안되는 경우가 있다. 그러면 아래의&amp;nbsp;&lt;b&gt;[DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기]&lt;/b&gt; 으로 넘어가보자.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래와 같이 플래싱 중단됨이면, 부트로더로 부팅이 되어야해서 DFU 모드로 진입하도록 하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;645&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ba3BUB/dJMcaiDWfhB/lQS7TMdYfEbNHfT9wedG7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ba3BUB/dJMcaiDWfhB/lQS7TMdYfEbNHfT9wedG7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ba3BUB/dJMcaiDWfhB/lQS7TMdYfEbNHfT9wedG7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba3BUB%2FdJMcaiDWfhB%2FlQS7TMdYfEbNHfT9wedG7k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1252&quot; height=&quot;645&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;645&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;인식이 제대로 안된 것은 [장치 관리자] 에서 확인할 수 있다.&lt;br /&gt;기체를 USB 으로 연결했을 때, 아래 그림처럼 나오면 설치해야한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgJwLU/dJMcabxZHqG/xk5rbjHyfIqBuDzg6wfee0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgJwLU/dJMcabxZHqG/xk5rbjHyfIqBuDzg6wfee0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgJwLU/dJMcabxZHqG/xk5rbjHyfIqBuDzg6wfee0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgJwLU%2FdJMcabxZHqG%2Fxk5rbjHyfIqBuDzg6wfee0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;318&quot; height=&quot;266&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;266&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위와 같이, DFU 인식이 안될 경우 Zadig 으로 컴퓨터에 부트로더 드라이버를 설치한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다 되면, 중앙 좌측의 (None) 이 WinUSB 으로 변경된 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;454&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVEs89/dJMcaaTqbob/TEZXfAvhT3rGfzmDtakvNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVEs89/dJMcaaTqbob/TEZXfAvhT3rGfzmDtakvNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVEs89/dJMcaaTqbob/TEZXfAvhT3rGfzmDtakvNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVEs89%2FdJMcaaTqbob%2FTEZXfAvhT3rGfzmDtakvNk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;391&quot; height=&quot;207&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;454&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;하고나면 아래사진과 같이 DFU 모드로 연결됨을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;220&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pW6oP/dJMcacKw4Cn/LNx7xtZH6ZdBdBVv5PKok1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pW6oP/dJMcacKw4Cn/LNx7xtZH6ZdBdBVv5PKok1/img.png&quot; data-alt=&quot;DFU 모드로 인식된 비행체&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pW6oP/dJMcacKw4Cn/LNx7xtZH6ZdBdBVv5PKok1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpW6oP%2FdJMcacKw4Cn%2FLNx7xtZH6ZdBdBVv5PKok1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;220&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;220&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;DFU 모드로 인식된 비행체&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;DFU 모드에서는 보드 자동감지가 안되어서, 아까 자동감지된 펌웨어를 선택한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;703&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lNqXy/dJMcahZhyKI/tqWnDhHeYN9tlPepqw9gn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lNqXy/dJMcahZhyKI/tqWnDhHeYN9tlPepqw9gn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lNqXy/dJMcahZhyKI/tqWnDhHeYN9tlPepqw9gn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlNqXy%2FdJMcahZhyKI%2FtqWnDhHeYN9tlPepqw9gn0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;703&quot; height=&quot;226&quot; data-origin-width=&quot;703&quot; data-origin-height=&quot;226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여기서부터는 펌웨어 플래시 절차대로 하면 된다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음 글은 아래 링크로 넘어가자.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/644&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pavo20 Pro + O4 Air Unit HW 조립하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro + O4 Air Unit 구매하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro 조립하기&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/645&quot;&gt;O4 Air Unit 바인딩하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 고글3 + fpv조종기3 바인딩 세팅&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - O4 Air Unit 바인딩 세팅&lt;br /&gt;3. [선택]&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://stella47.tistory.com/646&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Pavo20 Pro Betafpv 펌웨어 장입하기&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;(본 글)&lt;/span&gt;&lt;/b&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; - CF21XX 드라이버 설치하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기&lt;br /&gt;4.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://stella47.tistory.com/647&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Pavo20 Pro 통신 포트 및 수신기 설정&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;(다음 글)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/648&quot;&gt;Pavo20 Pro 세부 세팅하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;*** EOF ***&lt;/p&gt;</description>
      <category>UAV/FPV</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/646</guid>
      <comments>https://stella47.tistory.com/646#entry646comment</comments>
      <pubDate>Sat, 4 Jul 2026 13:35:41 +0900</pubDate>
    </item>
    <item>
      <title>[FPV] Pavo20 Pro + O4 Air Unit HW 조립하기</title>
      <link>https://stella47.tistory.com/644</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;fpv 드론을 샀다.&lt;br /&gt;세팅이 잘 안된다.&lt;br /&gt;세팅한 기록을 정리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 글은 목차의 굵은 글씨만을 다루며, 다른 포스팅으로 나누어 작성했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;목차&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Pavo20 Pro + O4 Air Unit HW 조립하기 &lt;span style=&quot;color: #ee2323;&quot;&gt;(본 글)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro + O4 Air Unit 구매하기&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro 조립하기&lt;/b&gt;&lt;br /&gt;2. O4 Air Unit 바인딩하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 고글3 + fpv조종기3 바인딩 세팅&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - O4 Air Unit 바인딩 세팅&lt;br /&gt;3. [선택] Betafpv 펌웨어 장입하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - CF21XX 드라이버 설치하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기&lt;br /&gt;4. Pavo20 Pro 통신 포트 및 수신기 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Pavo20 Pro 세부 세팅하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Pavo20 Pro + O4 Air Unit 구매하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Aliexpress 에서 Pavo20 Pro + 배터리 4개으로 약 21만원에 사서 보름 후에 받았다. (가격이 좀 올랐네)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eNNEeS/dJMcafHfiJs/h4YzDnK3fhERTnYumK0N4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eNNEeS/dJMcafHfiJs/h4YzDnK3fhERTnYumK0N4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eNNEeS/dJMcafHfiJs/h4YzDnK3fhERTnYumK0N4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeNNEeS%2FdJMcafHfiJs%2Fh4YzDnK3fhERTnYumK0N4k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1660&quot; height=&quot;712&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;712&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;DJI Store 에서 O4 Air Unit 을 사서 이틀만에 받았다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dhNAxz/dJMcacX0qYb/5sP0qEuurmruYfXE0uYtYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dhNAxz/dJMcacX0qYb/5sP0qEuurmruYfXE0uYtYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dhNAxz/dJMcacX0qYb/5sP0qEuurmruYfXE0uYtYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdhNAxz%2FdJMcacX0qYb%2F5sP0qEuurmruYfXE0uYtYk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;460&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;460&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;사서 내용물을 정리해보면 다음과 같다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2431&quot; data-origin-height=&quot;1823&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brzmHN/dJMcagsy6Lr/wVNPIkHlKuJ54tFpGHLKRk/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brzmHN/dJMcagsy6Lr/wVNPIkHlKuJ54tFpGHLKRk/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brzmHN/dJMcagsy6Lr/wVNPIkHlKuJ54tFpGHLKRk/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrzmHN%2FdJMcagsy6Lr%2FwVNPIkHlKuJ54tFpGHLKRk%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;2431&quot; height=&quot;1823&quot; data-origin-width=&quot;2431&quot; data-origin-height=&quot;1823&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;상단에는 우측부터 O4 Air Unit 과 연결 케이블, 그리고 댐퍼가 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;하단에는 우측부터 기체, O4 Air Pro 용 케이스와 O4 Air Unit 용 케이스, 그리고 프롭과 기타 공구 가 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. Pavo20 Pro 조립하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;O4 Air Unit 이니, 작은 케이스를 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바닥 케이스에 고무댐퍼를 끼우고, 기체 프레임에도 끼운다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고무 댐퍼 양 끝 중, 작은 부분을 바닥 케이스에 끼웠다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_20260704_083508820.png&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bm6Bwu/dJMcadimbtL/oFlBZp3SpxpK6FgvKvl6IK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bm6Bwu/dJMcadimbtL/oFlBZp3SpxpK6FgvKvl6IK/img.png&quot; data-alt=&quot;바닥 프레임에 빨간 표시와 같이 껴놓는다. 고무가 찢어지지 않게 잘 하자.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bm6Bwu/dJMcadimbtL/oFlBZp3SpxpK6FgvKvl6IK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbm6Bwu%2FdJMcadimbtL%2FoFlBZp3SpxpK6FgvKvl6IK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;4000&quot; data-filename=&quot;KakaoTalk_20260704_083508820.png&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;바닥 프레임에 빨간 표시와 같이 껴놓는다. 고무가 찢어지지 않게 잘 하자.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_20260704_083508820_06.jpg&quot; data-origin-width=&quot;3113&quot; data-origin-height=&quot;2154&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dvb8kE/dJMcagTE2WE/FSbpxMuRKTkJVVG1NcJLyk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dvb8kE/dJMcagTE2WE/FSbpxMuRKTkJVVG1NcJLyk/img.jpg&quot; data-alt=&quot;기체 프레임에는 옆으로 밀어넣어 낄 수 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dvb8kE/dJMcagTE2WE/FSbpxMuRKTkJVVG1NcJLyk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdvb8kE%2FdJMcagTE2WE%2FFSbpxMuRKTkJVVG1NcJLyk%2Fimg.jpg&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; loading=&quot;lazy&quot; width=&quot;3113&quot; height=&quot;2154&quot; data-filename=&quot;KakaoTalk_20260704_083508820_06.jpg&quot; data-origin-width=&quot;3113&quot; data-origin-height=&quot;2154&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;기체 프레임에는 옆으로 밀어넣어 낄 수 있다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;O4 Air Unit 은 아래와 같이 프레임에 낄 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생각보다 잘 안끼워지고, 끼워도 잘 고정이 안된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;카메라 케이블이 찡기지 않게 잘 해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 빨간 박스 케이블을 연결하면 Betafpv 와 O4 Air Unit 을 연결하는 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;967&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGcBQk/dJMcahSuySY/15LvdvIto0EbIYP296npk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGcBQk/dJMcahSuySY/15LvdvIto0EbIYP296npk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGcBQk/dJMcahSuySY/15LvdvIto0EbIYP296npk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGcBQk%2FdJMcahSuySY%2F15LvdvIto0EbIYP296npk1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1222&quot; height=&quot;967&quot; data-origin-width=&quot;1222&quot; data-origin-height=&quot;967&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모두 조립하면 아래와 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_20260704_083508820_03.jpg&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;2815&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BcuCS/dJMcagMWF2F/dE28yFfne3KX4ghqVaV2d1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BcuCS/dJMcagMWF2F/dE28yFfne3KX4ghqVaV2d1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BcuCS/dJMcagMWF2F/dE28yFfne3KX4ghqVaV2d1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBcuCS%2FdJMcagMWF2F%2FdE28yFfne3KX4ghqVaV2d1%2Fimg.jpg&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;2815&quot; data-filename=&quot;KakaoTalk_20260704_083508820_03.jpg&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;2815&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 글은 아래 링크로 넘어가자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/644&quot;&gt;Pavo20 Pro + O4 Air Unit HW 조립하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;(본 글)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro + O4 Air Unit 구매하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Pavo20 Pro 조립하기&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/645&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;O4 Air Unit 바인딩하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;(다음 글)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 고글3 + fpv조종기3 바인딩 세팅&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - O4 Air Unit 바인딩 세팅&lt;br /&gt;3. [선택] &lt;a href=&quot;https://stella47.tistory.com/646&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Pavo20 Pro Betafpv 펌웨어 장입하기&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; - CF21XX 드라이버 설치하기&lt;br /&gt;&amp;nbsp; &amp;nbsp; - DFU 인식 오류/Zadig 으로 USB 드라이버 설치하기&lt;br /&gt;4. &lt;a href=&quot;https://stella47.tistory.com/647&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Pavo20 Pro 통신 포트 및 수신기 설정&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/648&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pavo20 Pro 세부 세팅하기&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;*** EOF ***&lt;/p&gt;</description>
      <category>UAV/FPV</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/644</guid>
      <comments>https://stella47.tistory.com/644#entry644comment</comments>
      <pubDate>Sat, 4 Jul 2026 13:04:37 +0900</pubDate>
    </item>
    <item>
      <title>에어컨 배수호스 고치기</title>
      <link>https://stella47.tistory.com/643</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;며칠 전, 맥주를 마시던 중에 바닥이 촉촉함을 느꼈다.&lt;br /&gt;&lt;br /&gt;물이 고여있어서 보니, 최근 새로 설치한 에어컨에서 물이 세는게 아닌가?&lt;br /&gt;&lt;br /&gt;뜯어서 임시조치해보았다.&lt;br /&gt;&lt;br /&gt;에어컨 기사들 중엔 직업정신이 없는 사람이 좀 있다는 걸 느꼈다. 어쩐지 호로록 해놓고 도망치듯 가더라&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/EgAPV7d_k1E?si=c5WdxCU-MRHVp68A&quot; width=&quot;480&quot; height=&quot;640&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;순서&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;1. 에어컨 플라스틱 틀 열기&lt;br /&gt;2. 배수호스라인에서 물 세는 부분 확인하기&lt;br /&gt;3. 작업공간 확보하기&lt;br /&gt;4. 배수호스 재연결하기&lt;br /&gt;5. 에어컨 가동 후 정상 상태 확인하기&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- 물이 잘 빠지기 위해서는 호스의 구배(기울기) 가 맞아야 한다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(물이 나가야하는 방향이 낮아서 그 방향으로 흐르도록)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;물 세는 부분 영상&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;유튜브 영상으로 링크 걸 예정&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;에어컨 작업하기&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;1. 에어컨 플라스틱 틀 열기&lt;br /&gt;아래 사진은 겉 커버만 분리했고,&lt;br /&gt;여기서 흰 플라스틱 틀을 분리한다.&lt;br /&gt;보이는 나사를 풀고, 아랫부분을 탈탈 털면서 잡아당기면 아랫부분이 빠지고,&lt;br /&gt;위에 안쪽 부분에 안빠지게 잡고있는 걸쇄가 있다.&lt;br /&gt;살살 해서 빼서 플라스틱 틀을 제거한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b35TKw/dJMcaiXX8GU/h0tBaySD4ekfsZFX711uCk/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b35TKw/dJMcaiXX8GU/h0tBaySD4ekfsZFX711uCk/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b35TKw/dJMcaiXX8GU/h0tBaySD4ekfsZFX711uCk/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb35TKw%2FdJMcaiXX8GU%2Fh0tBaySD4ekfsZFX711uCk%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;4000&quot; height=&quot;3000&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;벽에 타공되어있는 배수라인을 보면 여유가 없고, 큰 구멍이 나 있어서 이 부분은 조치후에 막아야한다.&lt;br /&gt;벽이나 외부에서 해당 구멍의 빈 틈으로 바퀴 같은 벌레가 유입된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brjA4P/dJMb99UjOay/CjPd6sZ6SAAOpkpkhQFbcK/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brjA4P/dJMb99UjOay/CjPd6sZ6SAAOpkpkhQFbcK/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brjA4P/dJMb99UjOay/CjPd6sZ6SAAOpkpkhQFbcK/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrjA4P%2FdJMb99UjOay%2FCjPd6sZ6SAAOpkpkhQFbcK%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;배수호스가 작업하기에 너무 짧고 타이트하게 되어있어서&lt;br /&gt;에어컨에 연결된 부분의 호스를 아래 사진처럼 분리한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btmLJH/dJMcaiXX8GX/hCCKIWE54qx2MZUDl7yGLK/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btmLJH/dJMcaiXX8GX/hCCKIWE54qx2MZUDl7yGLK/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btmLJH/dJMcaiXX8GX/hCCKIWE54qx2MZUDl7yGLK/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtmLJH%2FdJMcaiXX8GX%2FhCCKIWE54qx2MZUDl7yGLK%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;물이 세는 부분을 확인하기 위해 호스를 잡아당겨봤더니, 3cm 는 들어가야하는 부분이 0.5cm 정도로 걸쳐진 상태로 전기테이프를 감아 마무리되어 있었다.&lt;br /&gt;어쩐지 급하게 작업하고 도망치듯 가더라.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZXKDq/dJMb99UjOaA/XyhOKaBMxsxk9pf9XyDDn0/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZXKDq/dJMb99UjOaA/XyhOKaBMxsxk9pf9XyDDn0/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZXKDq/dJMb99UjOaA/XyhOKaBMxsxk9pf9XyDDn0/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZXKDq%2FdJMb99UjOaA%2FXyhOKaBMxsxk9pf9XyDDn0%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;아래와 같이, 전기테이프를 제거해서 작업하기 용이하게 만든다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d7weYc/dJMcaiXX8G1/sNUrNtZNIzNv7RmmLfDkK1/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d7weYc/dJMcaiXX8G1/sNUrNtZNIzNv7RmmLfDkK1/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d7weYc/dJMcaiXX8G1/sNUrNtZNIzNv7RmmLfDkK1/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd7weYc%2FdJMcaiXX8G1%2FsNUrNtZNIzNv7RmmLfDkK1%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;호스 간의 연결 시, 누수를 막기 위해서 갤 타입 (Gel-type) 의 말랑말랑한 양면 테이프를 사용했다. &lt;br /&gt;좌측 호스의 턱까지 우측 호스를 밀어넣을 수 있으므로, 턱 부근 앞뒤로 1cm 를 갤 테이프로 한 바퀴 정도 감아준다.&lt;br /&gt;약간 테이프를 잡아당기면서 감아야 좋으며, 너무 많이 감으면 호스가 안끼워진다.&lt;br /&gt;그 후, 두 호스를 끝까지 끼워넣어서 갤테이프가 두 호스 사이에 누수가 없도록 한다.&lt;br /&gt;그리고 이음매 사이에도 넓게 갤 테이프를 수 바퀴로 감아서 누수를 방지한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cig1Re/dJMb99UjOaE/FKE8cjKxVmW22iKWnoseK1/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cig1Re/dJMb99UjOaE/FKE8cjKxVmW22iKWnoseK1/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cig1Re/dJMb99UjOaE/FKE8cjKxVmW22iKWnoseK1/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcig1Re%2FdJMb99UjOaE%2FFKE8cjKxVmW22iKWnoseK1%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;첫번째 갤 테이프는 많이 말랑말랑해서 두번째로 더 탄성이 있는 갤 테이프를 위에 덧붙여 감았다.&lt;br /&gt;살짝 잡아당기면서 감아야 갤 테입끼리 들러붙으면서 누수를 막을 수 있겠다.&lt;br /&gt;양측 호스가 빠지지 않으면서 누수가 없도록 최대한 감자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ci8hyu/dJMcaiXX8G2/W8fn5tOmKzX4NniUON1GK1/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ci8hyu/dJMcaiXX8G2/W8fn5tOmKzX4NniUON1GK1/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ci8hyu/dJMcaiXX8G2/W8fn5tOmKzX4NniUON1GK1/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fci8hyu%2FdJMcaiXX8G2%2FW8fn5tOmKzX4NniUON1GK1%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;갤테이프를 다 감고나면, 마무리로 전기테이프를 전후방으로 넓게 감아주자.&lt;br /&gt;이것도 처음엔 테이프를 잡아당기면서 팽팽하게 감아주다가, 마무리때는 떼어지지 않도록 살짝살짝 수 바퀴를 감아주자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/duNO3U/dJMb99UjOaG/lo8qTy9yqiN0xzAwKxXcqK/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/duNO3U/dJMb99UjOaG/lo8qTy9yqiN0xzAwKxXcqK/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/duNO3U/dJMb99UjOaG/lo8qTy9yqiN0xzAwKxXcqK/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FduNO3U%2FdJMb99UjOaG%2Flo8qTy9yqiN0xzAwKxXcqK%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;4000&quot; height=&quot;3000&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;마무리하기 위해서 에어컨의 배수호스를 연결하고, 구배(기울기)를 잡아주기 위해서 적당한 것을 끼워넣었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;3000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ehA07D/dJMcaiXX8G3/k5Y925cy5w9jOukocUJWoK/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ehA07D/dJMcaiXX8G3/k5Y925cy5w9jOukocUJWoK/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ehA07D/dJMcaiXX8G3/k5Y925cy5w9jOukocUJWoK/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FehA07D%2FdJMcaiXX8G3%2Fk5Y925cy5w9jOukocUJWoK%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;4000&quot; height=&quot;3000&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;반대쪽에서, 물이 빠져나가야하는 곳에서 본 사진이다.&lt;br /&gt;더 구배를 줄 수 없어서 최대한 위아래로 휘지 않고, 직선으로 만들되, 빠져나가는 곳을 낮게 만들어주었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tzr2y/dJMb99UjOaI/YSeJWksBb9c8fI2bsek59k/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tzr2y/dJMb99UjOaI/YSeJWksBb9c8fI2bsek59k/tfile.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tzr2y/dJMb99UjOaI/YSeJWksBb9c8fI2bsek59k/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftzr2y%2FdJMb99UjOaI%2FYSeJWksBb9c8fI2bsek59k%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;3000&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;돈내고 에어컨을 설치했는데 이런거까지 해야하나.. 싶다.&lt;br /&gt;에어컨 기사님들에 대해서 별 생각은 없었는데, 직업정신이 부족한 기사들도 있구나 싶다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*** EOF ***&lt;/p&gt;</description>
      <category>잡담</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/643</guid>
      <comments>https://stella47.tistory.com/643#entry643comment</comments>
      <pubDate>Fri, 19 Jun 2026 09:22:51 +0900</pubDate>
    </item>
    <item>
      <title>식혜 만들기</title>
      <link>https://stella47.tistory.com/642</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;다른 분들의 레시피를 참고했다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;준비물&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;엿기름 200g (시중에는 한 팩에 400g 이다)&lt;/li&gt;
&lt;li&gt;다시백 or 면포 or 채망 뜰채&lt;/li&gt;
&lt;li&gt;꼬두밥 1컵 (200g 1인분)&lt;/li&gt;
&lt;li&gt;물 3L&lt;/li&gt;
&lt;li&gt;설탕 100g&lt;/li&gt;
&lt;li&gt;5L 이상의 양동이와 냄비&lt;/li&gt;
&lt;li&gt;병에 담을 깔때기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;소요 시간&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중간중간 냅둬야하는 시간이 길어서 그렇지, 실질적으로 복닥거리는 시간은 1시간 남짓이다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;꼬두밥 짓기 + 엿기름 물 내리기 : &lt;b&gt;30분&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;밥알 삭히기 : 5 ~ 6 시간&lt;/li&gt;
&lt;li&gt;삭힌 밥+엿기름 물 끓이기 : &lt;b&gt;약 20분&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;끓인 물 식히기 : 1 시간&lt;/li&gt;
&lt;li&gt;병에 옮겨담기 : &lt;b&gt;10분&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;1. 꼬두밥 짓기&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;밥 물을 살짝 부족한 듯이 짓는다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;수면아 쌀알이 찰랑찰랑 할 정도에서 조금 더 넣어주었다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;2. 엿기름 물 내기&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;나는 뚜레반 엿기름가루를 샀다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;양동이에 &lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;물 3L을 담고, &lt;/span&gt;엿기름가루 &lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;200g&lt;/span&gt;을 넣어 치댄 후에 1시간가량 불려서 엿기름 물을 낸다.&lt;br /&gt;이때 아래의 방법으로 엿기름가루를 거르면 좋다.&lt;br /&gt;- 처음부터 다시백에 싸서 물을 낸다.&lt;br /&gt;- 치대고 불린 후에 면포에 물만 거른다.&lt;br /&gt;- 다시백/면포가 없으면 뜰채로 불은 엿기름 가루를 뜨고, 뜬 엿기름 덩어리에서 물을 짠다.&lt;br /&gt;엿기름 가루를 물에 섞어서 치댐으로써, 엿기름가루에 있는 당 분해 효소인 아밀레이스를 얻을 수 있다.&lt;br /&gt;아밀레이스는 침에도 있어서, 밥을 오래 씹고 있다보면 이 효소가 밥알을 분해해서 단맛을 나게 해준다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;2083&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbNhwE/dJMcabqW9ga/YKdU7FvnEnwgaH9qBM2rY0/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbNhwE/dJMcabqW9ga/YKdU7FvnEnwgaH9qBM2rY0/tfile.jpg&quot; data-alt=&quot;물에 엿기름가루를 풀어서 섞는다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbNhwE/dJMcabqW9ga/YKdU7FvnEnwgaH9qBM2rY0/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbNhwE%2FdJMcabqW9ga%2FYKdU7FvnEnwgaH9qBM2rY0%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;2250&quot; height=&quot;2083&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;2083&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;물에 엿기름가루를 풀어서 섞는다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2014&quot; data-origin-height=&quot;2963&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EBgnx/dJMcadvqVVt/A5TWZg8E2PR6GKekflZS4K/tfile.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EBgnx/dJMcadvqVVt/A5TWZg8E2PR6GKekflZS4K/tfile.jpg&quot; data-alt=&quot;나는 뜰채로 걸러서 손으로 엿기름을 짰다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EBgnx/dJMcadvqVVt/A5TWZg8E2PR6GKekflZS4K/tfile.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEBgnx%2FdJMcadvqVVt%2FA5TWZg8E2PR6GKekflZS4K%2Ftfile.jpg&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; loading=&quot;lazy&quot; width=&quot;2014&quot; height=&quot;2963&quot; data-origin-width=&quot;2014&quot; data-origin-height=&quot;2963&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;나는 뜰채로 걸러서 손으로 엿기름을 짰다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;3. 밥알 삭히기&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;냄비에 엿기름 물과 꼬두밥을 넣고 50~60도 온도에 약 5~6시간을 삭힌다.&lt;br /&gt;엿기름의 효소 반응이 활발해지는 온도가 50~60도라 한다.&lt;br /&gt;잘 삭았다면 밥알이 10알정도가 떠오른다.&lt;br /&gt;보온하는 방법은 아래와 같다.&lt;br /&gt;- 압력밥솥에 보온으로 해둔다.&lt;br /&gt;이때 설탕 100g 을 첨가해준다. (단맛이 부족하면..)&lt;br /&gt;삭히는 온도가 너무 낮으면 (40도 이하) 잡균이 자라서 상하고, 너무 높으면 (70도 이상) 효소가 파괴되서 밥에서 나는 단 맛을 낼 수 없다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;4. 식혜 끓인 후에 식히기&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;식혜가 더 삭으면 안되니, 냄비로 옮겨서 한소큼 끓여준다. 끓여서 효소를 파괴함으로써 더 삭지 않도록 하는 것이다.&lt;br /&gt;다 끓인 후, 식혀서 병에 소분 및 냉장보관하며 즐기자.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;식혜? 감주?&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;우리가 감주와 식혜를 혼용해서 쓰는데, [1]에 따르면 식혜와 감주는 아래의 차이가 있다고 한다.&lt;br /&gt;식혜 : 무알콜이고, 밥알이 동동 떠오르면 끓여 식힌 것.&lt;br /&gt;감주 : 밥알이 부스러질 때 까지 식혀서, 노르스름하고 끈적하여 단맛이 날 때 끓여서 식힌 것.&lt;br /&gt;&lt;br /&gt;[1] &lt;a href=&quot;https://encykorea.aks.ac.kr/Article/E0032592&quot;&gt;https://encykorea.aks.ac.kr/Article/E0032592&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*** EOF ***&lt;/p&gt;</description>
      <category>잡담</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/642</guid>
      <comments>https://stella47.tistory.com/642#entry642comment</comments>
      <pubDate>Sat, 6 Jun 2026 18:31:05 +0900</pubDate>
    </item>
    <item>
      <title>UBN/ICN 몽골 패키지 여행 기록, Jun. 2026</title>
      <link>https://stella47.tistory.com/641</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;본 글은 8박 9일간 패키지 투어를 통해 홉스골 호수로 여행을 다닌 기록을 정리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주제&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문 지역 정리&lt;/li&gt;
&lt;li&gt;여행 비용 정리&lt;/li&gt;
&lt;li&gt;몽골 여행 간의 느낌과 생각 정리&lt;/li&gt;
&lt;li&gt;여행 기타 정리&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;요약&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;멀리서 보면 대초원, 가까이서 보면 똥과 함께..&lt;/li&gt;
&lt;li&gt;고기가 주식인 나라의 음식은 든든하다.&lt;/li&gt;
&lt;li&gt;어딜가든 가축이 보이고, 양고기 향이 나는 곳&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 방문 지역 정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여행의 대략적인 내용은 아래 링크를 참고한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://blog.naver.com/daily_mongolia/224172979667&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2026) 데일리몽골리아 '8박 9일 홉스골' 투어 안내&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;여행 인원&lt;/b&gt; : 4인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;여행 기간&lt;/b&gt; : 10박 11일 (패키지 8박 9일)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;여행 일정&lt;/b&gt; : 5월 말&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;현지 기후&lt;/b&gt; : 영하 ~ 20도, 수시로 우천/우박/눈/진눈깨비가 올 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;몽골 수도인 울란바타르에서 홉스골 호수까지 직선거리로 600km 이더라.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1366&quot; data-origin-height=&quot;949&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2p6qa/dJMcacDpsvo/81JqYe4IveNgC6ajaZKKbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2p6qa/dJMcacDpsvo/81JqYe4IveNgC6ajaZKKbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2p6qa/dJMcacDpsvo/81JqYe4IveNgC6ajaZKKbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2p6qa%2FdJMcacDpsvo%2F81JqYe4IveNgC6ajaZKKbK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1366&quot; height=&quot;949&quot; data-origin-width=&quot;1366&quot; data-origin-height=&quot;949&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Day.1 테를지 공원 숙소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 날 숙소는 여기였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말타기 체험을 하고, 드론으로 주변을 둘러보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이날, 5살즈음의 몽골 아이들 네 명이 놀러다니다가 내가 날리는 드론이 흥미로웠나보다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강아지와 놀 듯이 드론을 쫒아다니고 알짱거리길래,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한번 해보라고 줬는데 생각보다 잘 하더라. 역시 애들은 잘 배우나보다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;번갈아가면서 써보게 해줬더니, 드론 카메라에 자신들이 나오는 걸 인지하고 조종하고 있는 친구를 약올리려고 드론 앞에 왔다가 옆으로 도망쳤다, 쫒아갔다 하면서 잘 놀더라.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Avata2 는 충돌회피는 못하지만, 가드가 있어서 어느정도 안심했는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고글을 쓰고 있으니, 조종하는 아이의 화면을 다른 아이들이 볼 수 없으니 아쉽겠다는 생각이 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 Mini 4 pro 를 제안해서 쥐어주니까&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동네 오락실 게임기에 몰려 구경하는 아이들처럼 구경하더라.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러다가 옆집에 처박고 뿌셔졌다..ㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭐.. 내가 쥐어준거기도 하고, 애들이니깐 그냥 웃으면서 머리를 쓰다듬어주고 넘어갔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageslideblock alignCenter&quot; data-image=&quot;[{&amp;quot;src&amp;quot;:&amp;quot;https://blog.kakaocdn.net/dn/JJ4kE/dJMcaip3ymV/rjv1O7IrkoAKuKcLOH2W1k/img.jpg&amp;quot;},{&amp;quot;src&amp;quot;:&amp;quot;https://blog.kakaocdn.net/dn/0r58Z/dJMcac4qyjs/ECzzfSyk62MWMVKRXnBXsk/img.jpg&amp;quot;}]&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span class=&quot;image-wrap selected&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JJ4kE/dJMcaip3ymV/rjv1O7IrkoAKuKcLOH2W1k/img.jpg&quot; data-url=&quot;https://blog.kakaocdn.net/dn/JJ4kE/dJMcaip3ymV/rjv1O7IrkoAKuKcLOH2W1k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JJ4kE/dJMcaip3ymV/rjv1O7IrkoAKuKcLOH2W1k/img.jpg&quot; loading=&quot;lazy&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJJ4kE%2FdJMcaip3ymV%2Frjv1O7IrkoAKuKcLOH2W1k%2Fimg.jpg&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; data-origin-width=&quot;2992&quot; data-origin-height=&quot;2992&quot; data-is-animation=&quot;false&quot;/&gt;&lt;/span&gt;&lt;span class=&quot;image-wrap &quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0r58Z/dJMcac4qyjs/ECzzfSyk62MWMVKRXnBXsk/img.jpg&quot; data-url=&quot;https://blog.kakaocdn.net/dn/0r58Z/dJMcac4qyjs/ECzzfSyk62MWMVKRXnBXsk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0r58Z/dJMcac4qyjs/ECzzfSyk62MWMVKRXnBXsk/img.jpg&quot; loading=&quot;lazy&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0r58Z%2FdJMcac4qyjs%2FECzzfSyk62MWMVKRXnBXsk%2Fimg.jpg&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; data-origin-width=&quot;2992&quot; data-origin-height=&quot;2992&quot; data-is-animation=&quot;false&quot;/&gt;&lt;/span&gt;&lt;button class=&quot;btn btn-prev&quot;&gt;&lt;span class=&quot;ico-prev&quot;&gt;이전&lt;/span&gt;&lt;/button&gt;&lt;button class=&quot;btn btn-next&quot;&gt;&lt;span class=&quot;ico-next&quot;&gt;다음&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;
  &lt;div class=&quot;mark&quot;&gt;&lt;span data-index=&quot;0&quot;&gt;0&lt;/span&gt;&lt;span data-index=&quot;1&quot;&gt;1&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;다급한 표정과 견적.. 너희들이 즐거웠음 됐다야..&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Day.2 엘승 타사르해&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작은 사막이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;꽤나 넓은.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마루에 올라가서 썰매도 타고 그랬다.&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/Xs1QZ1Z48mY?si=cAsi9al9VK_alvB5&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/Hbi314Om5zE?si=G_gBgGtFgrv6rpNx&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Day.3 테르힝차강 호수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에서 분화구 (Khorgo Mountain) 트래킹을 했고, 정상에 올라가서 드론을 날리다가 나무에 박고 추락했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가이드 선생님이 도와주셔서 겨우겨우 구해오긴 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항상 작은 요정과 자만을 조심하자. (1:44 쯤이다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/QBQGpn_Rsyg?si=XIj16ibzA8p9IZmb&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Day.5 홉스골 호수 (Khuvsgul Lake)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고위도 지역으로 점차 올라가다보니, 날씨도 쌀쌀하고 싸리눈도 내리더라.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도착하고 보니 호수도 얼어있었던...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가는 날에는 호수가 다 녹았다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자연경관이 아름다운 곳이였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/qLj6DHJ3TfM?si=tBThwrNk4-gjBwZE&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/hNxJWXUq6II?si=7HP1R3PHLA4EwYPT&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 여행 비용 정리&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;항공편 및 패키지 투어 예약이 호르무즈 해협 위기 전이라서 저렴했다. 이후에 항공편과 패키지 가격이 많이 올랐다고 한다.&lt;/li&gt;
&lt;li&gt;식비와 교통비는 투어 가이드 형님이 직접 해주시거나 식당 음식을 먹고, 투어 차량을 이용했다.&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 147px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt;분류&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt;금액&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: center;&quot;&gt;항공&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: right;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: right;&quot;&gt;₩ 1,790,000&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: center;&quot;&gt;식비&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: right;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: right;&quot;&gt;₩&lt;span&gt; 597,074&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 21px;&quot;&gt;관광&lt;br /&gt;(패키지 비용)&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: right;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: right;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: right;&quot;&gt;₩&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: right;&quot;&gt;&lt;span&gt; 6,760,000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: center;&quot;&gt;관광&lt;br /&gt;(팁 등)&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: right;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: right;&quot;&gt;₩&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: right;&quot;&gt;&lt;span&gt; 71,774&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: center;&quot;&gt;숙박 (2박)&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: right;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: right;&quot;&gt;₩&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: right;&quot;&gt;&lt;span&gt;&lt;span&gt; 227,000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;총합&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 21px; text-align: right;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: right;&quot;&gt;₩&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: right;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 9,455,840&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 몽골 여행 간의 느낌과 생각 정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 몽골은 두 번째 방문이였는데, 가까이서 느낄 수 있어서 좋았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 여행 기타 정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 없음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*** EOF ***&lt;/p&gt;</description>
      <category>잡담/여행</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/641</guid>
      <comments>https://stella47.tistory.com/641#entry641comment</comments>
      <pubDate>Fri, 5 Jun 2026 22:55:54 +0900</pubDate>
    </item>
    <item>
      <title>DJI FPV 조종기3 으로 FPV simulator 해보기</title>
      <link>https://stella47.tistory.com/639</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 준비물&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- DJI FPV 조종기3 (한화 약 20만원)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 데스크탑 or 노트북&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- FPV simulator 구매 (제품별로 다르나 5천원 ~ 2만원 대)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 컴퓨터에 DJI FPV 조종기 인식시키기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- DJI Assistant 를 설치한다. (&lt;a href=&quot;https://www.dji.com/kr/downloads/softwares/dji-assistant-2-consumer-drones-series&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;링크&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 조종기3을 최신 펌웨어로 업데이트 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. FPV Simulator 를 구매하여 설치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같은 종류를 구매/설치해볼 수 있다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;이름&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;가격&lt;br /&gt;(26.05.04 기준)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;특징&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;a href=&quot;https://play.google.com/store/apps/details/FPV_Freerider_demo?id=com.Freeride.Freerider_FREE&amp;amp;hl=ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FPV Freerider Demo&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: right;&quot;&gt;(무료)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;a href=&quot;https://store.steampowered.com/app/854250/FPV_Freerider/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FPV&amp;nbsp;Freerider&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: right;&quot;&gt;6,500 원&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;a href=&quot;https://store.steampowered.com/app/641780/The_Drone_Racing_League_Simulator/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;The&amp;nbsp;Drone&amp;nbsp;Racing&amp;nbsp;League&amp;nbsp;Simulator&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: right;&quot;&gt;10,500 원&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;a href=&quot;https://store.steampowered.com/app/410340/Liftoff_FPV_Drone_Racing/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Liftoff&amp;reg;:&amp;nbsp;FPV&amp;nbsp;Drone&amp;nbsp;Racing&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: right;&quot;&gt;25,000 ~ 46,300 원&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 FPV Freerider Demo 와 DRL 을 설치했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Freerider Demo는 DJI FPV 조종기 3이 인식되지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DRL 은 자동으로 인식되며, 조종기 캘리브레이션을 수행할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>UAV/FPV</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/639</guid>
      <comments>https://stella47.tistory.com/639#entry639comment</comments>
      <pubDate>Mon, 4 May 2026 13:45:03 +0900</pubDate>
    </item>
    <item>
      <title>에이전틱 프로그래밍 데모 해보기 (2/2, Google Gemini)</title>
      <link>https://stella47.tistory.com/637</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;앞선 글에서 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://stella47.tistory.com/636&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;로컬 LLM을 이용하여 에이전틱 프로그래밍 데모 해보기&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; 를 진행해보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 문제가 있었는데, 테스트로 xeyes 를 만들어보라고 했을 때, llama3.1:8b 모델은 경량이라 그런지 하는 시늉만 하는 느낌이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 Google Gemini 를 연동하여 해보고자 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제점 발견 : llama 모델의 한계&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;llama 모델이 시늉만 한다는 내역을 아래와 같이 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 코드로 에이전트를 통해서 xeyes 프로그램을 생성하도록 실행시켜보았다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1775975082264&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import os
from crewai import Agent, Task, Crew, LLM

# 1. 로컬 Ollama 환경 설정
# Ollama는 기본적으로 11434 포트에서 OpenAI와 호환되는 로컬 API 서버를 제공합니다.
os.environ[&quot;OPENAI_API_KEY&quot;] = &quot;ollama&quot; # 로컬 환경이므로 임의의 문자열을 넣으면 됩니다.

# 가지고 계신 8B 모델의 정확한 이름으로 변경하세요 (예: 'llama3', 'gemma:7b', 'phi3' 등)
target_model = &quot;llama3.1:8b&quot; 

llm = LLM(
    model=target_model,
    base_url=&quot;http://localhost:11434&quot;,
    temperature=0.1
)

# 2. 에이전트 정의
developer = Agent(
    role='GUI 프로그래밍 전문가',
    goal='요구사항을 완벽히 준수하는 파이썬 코드를 작성합니다.',
    backstory='당신은 특히 tkinter의 Canvas 위젯 작업 시 &quot;이전 프레임 삭제(delete)&quot;와 &quot;정확한 좌표 계산&quot;을 가장 중요하게 생각합니다.',
    llm=llm
)

reviewer = Agent(
    role='코드 품질 및 로직 검수관',
    goal='작성된 코드에서 불필요한 기능(코 등)이 포함되었는지, 화면 초기화 로직이 있는지 검사합니다.',
    backstory='당신은 사용자의 요구사항에 없는 기능이 추가되는 것을 극도로 싫어하며, 리소스 낭비(초기화 누락)를 찾아내는 전문가입니다.',
    llm=llm
)

# 3. 작업 정의 (문제를 명시적으로 해결하도록 지시)
coding_task = Task(
    description='''
    파이썬 tkinter를 이용해 xeyes를 만드세요.
    [필수 해결 과제]
    1. 화면 갱신 시 반드시 canvas.delete(&quot;all&quot;)을 호출하여 잔상이 남지 않게 하세요.
    2. '두 눈(흰자)'과 '두 눈동자(검은색)'만 그리세요. 코(Nose)나 입 등 다른 얼굴 부위는 절대로 그리지 마세요.
    3. 눈동자는 반드시 눈(흰자)의 영역 안에서만 움직여야 합니다. (삼각함수 사용)
    ''',
    expected_output='버그가 수정된 파이썬 소스 코드',
    agent=developer
)

review_task = Task(
    description='''
    전달받은 코드를 검토하세요. 
    - canvas.delete(&quot;all&quot;) 혹은 유사한 초기화 코드가 없다면 다시 작성하도록 지시하세요.
    - 코(Nose)를 그리는 코드가 포함되어 있다면 즉시 삭제하세요.
    - 모든 검토가 끝나면 최종 코드를 'fixed_xeyes.py'로 저장하세요.
    ''',
    expected_output='최종 검수 완료된 파이썬 코드',
    output_file='fixed_xeyes.py',
    agent=reviewer,
    context=[coding_task]
)

# 4. 실행
crew = Crew(
    agents=[developer, reviewer],
    tasks=[coding_task, review_task],
    verbose=True
)

crew.kickoff()&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;llama3.1:8b의 결과물&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마우스 움직임에 눈이 따라다니지 않는다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;심지어 생성 결과에 따라서는 실행 조차 되지 않는 경우가 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z4QXf/dJMcacJwflF/FI7OJ9J2mb0X4KImSWr7zK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z4QXf/dJMcacJwflF/FI7OJ9J2mb0X4KImSWr7zK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z4QXf/dJMcacJwflF/FI7OJ9J2mb0X4KImSWr7zK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz4QXf%2FdJMcacJwflF%2FFI7OJ9J2mb0X4KImSWr7zK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;430&quot; height=&quot;468&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성된 코드는 아래 접은 글을 펼쳐서 확인 할 수 있다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1775975423043&quot; class=&quot;crystal&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;# ```python
import tkinter as tk
import math

class Xeyes:
    def __init__(self):
        self.root = tk.Tk()
        self.canvas = tk.Canvas(self.root, width=400, height=400)
        self.canvas.pack()

        self.eye_radius = 50
        self.pupil_radius = 10
        self.eye_x = 200
        self.eye_y = 150

    def update(self):
        self.canvas.delete(&quot;all&quot;) # 초기화 코드 추가
        self.canvas.create_oval(self.eye_x - self.eye_radius, self.eye_y - self.eye_radius,
                                self.eye_x + self.eye_radius, self.eye_y + self.eye_radius)
        self.canvas.create_oval(self.eye_x - self.pupil_radius, self.eye_y - self.pupil_radius,
                                self.eye_x + self.pupil_radius, self.eye_y + self.pupil_radius)

    def move_pupil(self):
        angle = 0
        x = self.eye_x + (self.eye_radius - self.pupil_radius) * math.cos(angle)
        y = self.eye_y + (self.eye_radius - self.pupil_radius) * math.sin(angle)
        self.canvas.create_oval(x - self.pupil_radius, y - self.pupil_radius,
                                x + self.pupil_radius, y + self.pupil_radius)

    def run(self):
        self.root.after(1000 // 60, self.update)
        self.move_pupil()
        self.root.mainloop()

xeyes = Xeyes()
xeyes.run()
# ```&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Gemini 연동하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gemini 연동에 필요한 구글 SDK 패키지를 추가로 설치해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 명령어로 설치하도록 하자.&lt;/p&gt;
&lt;pre id=&quot;code_1775975391125&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install langchain-google-genai&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Gemini API Key 획득하기&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,0&quot;&gt;Google AI Studio 접속:&lt;/b&gt; &lt;a href=&quot;https://aistudio.google.com/&quot; data-ved=&quot;0CAAQ_4QMahgKEwjxx9XkreeTAxUAAAAAHQAAAAAQ7gI&quot; data-hveid=&quot;0&quot;&gt;Google AI Studio (aistudio.google.com)&lt;/a&gt;에 Google 계정으로 로그인합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,1,0&quot;&gt;API 키 생성:&lt;/b&gt; 좌측 메뉴에서 **'Get API key'**를 클릭한 후, &lt;b data-index-in-node=&quot;44&quot; data-path-to-node=&quot;6,1,0&quot;&gt;'Create API key'&lt;/b&gt; 버튼을 누릅니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,2,0&quot;&gt;프로젝트 선택:&lt;/b&gt; 새로운 Google Cloud 프로젝트를 생성하거나 기존 프로젝트를 선택하여 키를 발급받습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,3,0&quot;&gt;키 복사:&lt;/b&gt; 생성된 AIzaSy... 로 시작하는 문자열을 복사해 둡니다. 이 키는 절대 외부에 노출되지 않도록 주의해야 합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Gemini 를 연동하기 위한 코드 수정하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞선 코드의 상단을 아래와 같이 바꾼다.&lt;/p&gt;
&lt;pre id=&quot;code_1775975542191&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 1. Google Gemini 환경 설정
# 발급받은 구글 API 키를 환경 변수에 등록합니다.
os.environ[&quot;GEMINI_API_KEY&quot;] = &quot;AIza*****&quot;

# CrewAI 내부의 LiteLLM 라우터를 통해 Gemini를 호출합니다.
# 모델 이름 앞에 'gemini/'를 붙여주는 것이 핵심입니다.
llm = LLM(
    # model=&quot;gemini/gemini-2.5-pro&quot;, # 가장 똑똑하고 추론 능력이 뛰어난 Pro 모델 (복잡한 코딩, 아키텍처 설계용)
    model=&quot;gemini/gemini-2.5-flash&quot;, # 빠르고 가성비가 좋은 Flash 모델 (가벼운 스크립트, 데모 테스트용)
    temperature=0.1
)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 코드는 아래의 접은 글을 펼쳐서 확인할 수 있다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1775975649195&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import os
from crewai import Agent, Task, Crew, LLM

# 1. Google Gemini 환경 설정
# 발급받은 구글 API 키를 환경 변수에 등록합니다.
os.environ[&quot;GEMINI_API_KEY&quot;] = &quot;AIza****&quot;

# CrewAI 내부의 LiteLLM 라우터를 통해 Gemini를 호출합니다.
# 모델 이름 앞에 'gemini/'를 붙여주는 것이 핵심입니다.
llm = LLM(
    # model=&quot;gemini/gemini-2.5-pro&quot;, # 가장 똑똑하고 추론 능력이 뛰어난 Pro 모델 (복잡한 코딩, 아키텍처 설계용)
    model=&quot;gemini/gemini-2.5-flash&quot;, # 빠르고 가성비가 좋은 Flash 모델 (가벼운 스크립트, 데모 테스트용)
    temperature=0.1
)

# 2. 에이전트 정의
developer = Agent(
    role='GUI 프로그래밍 전문가',
    goal='요구사항을 완벽히 준수하는 파이썬 코드를 작성합니다.',
    backstory='당신은 특히 tkinter의 Canvas 위젯 작업 시 &quot;이전 프레임 삭제(delete)&quot;와 &quot;정확한 좌표 계산&quot;을 가장 중요하게 생각합니다.',
    llm=llm
)

reviewer = Agent(
    role='코드 품질 및 로직 검수관',
    goal='작성된 코드에서 불필요한 기능(코 등)이 포함되었는지, 화면 초기화 로직이 있는지 검사합니다.',
    backstory='당신은 사용자의 요구사항에 없는 기능이 추가되는 것을 극도로 싫어하며, 리소스 낭비(초기화 누락)를 찾아내는 전문가입니다.',
    llm=llm
)

# 3. 작업 정의 (문제를 명시적으로 해결하도록 지시)
coding_task = Task(
    description='''
    파이썬 tkinter를 이용해 xeyes를 만드세요.
    [필수 해결 과제]
    1. 화면 갱신 시 반드시 canvas.delete(&quot;all&quot;)을 호출하여 잔상이 남지 않게 하세요.
    2. '두 눈(흰자)'과 '두 눈동자(검은색)'만 그리세요. 코(Nose)나 입 등 다른 얼굴 부위는 절대로 그리지 마세요.
    3. 눈동자는 반드시 눈(흰자)의 영역 안에서만 움직여야 합니다. (삼각함수 사용)
    ''',
    expected_output='버그가 수정된 파이썬 소스 코드',
    agent=developer
)

review_task = Task(
    description='''
    전달받은 코드를 검토하세요. 
    - canvas.delete(&quot;all&quot;) 혹은 유사한 초기화 코드가 없다면 다시 작성하도록 지시하세요.
    - 코(Nose)를 그리는 코드가 포함되어 있다면 즉시 삭제하세요.
    - 모든 검토가 끝나면 최종 코드를 'fixed_xeyes.py'로 저장하세요.
    ''',
    expected_output='최종 검수 완료된 파이썬 코드',
    output_file='fixed_xeyes.py',
    agent=reviewer,
    context=[coding_task]
)

# 4. 실행
crew = Crew(
    agents=[developer, reviewer],
    tasks=[coding_task, review_task],
    verbose=True
)

crew.kickoff()&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 코드를 실행하면 아래의 결과를 얻을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마우스가 위치한 곳으로 눈동자가 움직이는 것을 확인 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bb2Zhj/dJMcaadQ4Fl/tDNd7NZMHydHI9E59QDFZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bb2Zhj/dJMcaadQ4Fl/tDNd7NZMHydHI9E59QDFZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bb2Zhj/dJMcaadQ4Fl/tDNd7NZMHydHI9E59QDFZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbb2Zhj%2FdJMcaadQ4Fl%2FtDNd7NZMHydHI9E59QDFZk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;430&quot; height=&quot;318&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;318&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gemini가 생성하는 코드가 확실히 더 괜찮은 품질의 코드를 생성하는 것을 확인했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gemini가 생성한 코드는 아래 접은 글을 펼치면 나온다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1775975829151&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 제시된 코드를 검토한 결과, 다음 사항을 확인했습니다.

# 1.  **`canvas.delete(&quot;all&quot;)` 호출**: `draw_eyes` 함수 내에서 `self.canvas.delete(&quot;all&quot;)`이 명확하게 호출되어 이전 프레임을 지우고 잔상이 남지 않도록 합니다. 초기화 로직이 올바르게 구현되어 있습니다.
# 2.  **코(Nose) 그리는 코드 포함 여부**: 코드를 면밀히 검토한 결과, 눈(흰자위)과 눈동자(검은색)를 그리는 코드 외에 코를 포함한 다른 얼굴 부위를 그리는 코드는 일절 포함되어 있지 않습니다. 불필요한 기능이 추가되지 않았습니다.

# 제시된 코드는 모든 검토 기준을 완벽하게 충족합니다. 따라서 수정할 부분이 없습니다.

# ```python
import tkinter as tk
import math

class XEyesApp:
    def __init__(self, master):
        self.master = master
        master.title(&quot;xeyes&quot;)
        master.resizable(False, False) # 창 크기 조절 방지

        # 캔버스 설정
        self.canvas_width = 400
        self.canvas_height = 250
        self.canvas = tk.Canvas(master, width=self.canvas_width, height=self.canvas_height, bg=&quot;lightgray&quot;)
        self.canvas.pack()

        # 눈(흰자) 및 눈동자(검은색) 파라미터 설정
        self.eye_radius = 60      # 흰자위의 반지름
        self.pupil_radius = 25    # 눈동자의 반지름
        self.eye_offset_x = 80    # 캔버스 중앙에서 각 눈의 중심까지의 수평 거리
        self.eye_offset_y = 0     # 캔버스 중앙에서 각 눈의 중심까지의 수직 거리 (현재는 중앙)

        # 캔버스 중앙 좌표 계산
        self.center_x = self.canvas_width / 2
        self.center_y = self.canvas_height / 2

        # 각 눈의 중심 좌표 계산
        self.left_eye_center = (self.center_x - self.eye_offset_x, self.center_y - self.eye_offset_y)
        self.right_eye_center = (self.center_x + self.eye_offset_x, self.center_y - self.eye_offset_y)

        # 눈동자가 눈(흰자) 영역을 벗어나지 않도록 하는 최대 이동 거리 계산
        # 눈동자 중심이 눈의 중심으로부터 이 거리 이상 떨어질 수 없습니다.
        self.max_pupil_dist = self.eye_radius - self.pupil_radius

        # 초기 마우스 위치 (캔버스 중앙으로 설정)
        self.mouse_x = self.center_x
        self.mouse_y = self.center_y

        # 마우스 움직임 이벤트 바인딩
        self.canvas.bind(&quot;&amp;lt;Motion&amp;gt;&quot;, self.on_mouse_move)
        
        # 초기 화면 그리기
        self.draw_eyes()

    def on_mouse_move(self, event):
        &quot;&quot;&quot;마우스 움직임 이벤트 핸들러&quot;&quot;&quot;
        self.mouse_x = event.x
        self.mouse_y = event.y
        self.draw_eyes() # 마우스가 움직일 때마다 눈을 다시 그립니다.

    def draw_eyes(self):
        &quot;&quot;&quot;눈과 눈동자를 그리는 함수&quot;&quot;&quot;
        # 1. 화면 갱신 시 반드시 canvas.delete(&quot;all&quot;)을 호출하여 잔상이 남지 않게 하세요.
        self.canvas.delete(&quot;all&quot;)

        # 왼쪽 눈 그리기
        self._draw_single_eye(self.left_eye_center[0], self.left_eye_center[1])
        # 오른쪽 눈 그리기
        self._draw_single_eye(self.right_eye_center[0], self.right_eye_center[1])

    def _draw_single_eye(self, eye_cx, eye_cy):
        &quot;&quot;&quot;단일 눈(흰자)과 눈동자를 그리는 헬퍼 함수&quot;&quot;&quot;
        # 2. '두 눈(흰자)'만 그립니다.
        # 흰자위 그리기 (흰색 타원)
        self.canvas.create_oval(
            eye_cx - self.eye_radius, eye_cy - self.eye_radius,
            eye_cx + self.eye_radius, eye_cy + self.eye_radius,
            fill=&quot;white&quot;, outline=&quot;black&quot;, width=2
        )

        # 3. 눈동자는 반드시 눈(흰자)의 영역 안에서만 움직여야 합니다. (삼각함수 사용)
        # 눈의 중심에서 마우스 위치까지의 벡터 계산
        dx = self.mouse_x - eye_cx
        dy = self.mouse_y - eye_cy
        
        # 눈의 중심에서 마우스까지의 거리 계산
        dist_to_mouse = math.sqrt(dx**2 + dy**2)

        # 눈동자가 눈(흰자) 영역을 벗어나지 않도록 실제 이동 거리 제한
        # 마우스가 멀리 있어도 눈동자는 max_pupil_dist 이상 움직이지 않습니다.
        actual_pupil_dist = min(dist_to_mouse, self.max_pupil_dist)

        # 눈의 중심에서 마우스까지의 각도 계산 (삼각함수 사용)
        # math.atan2(y, x)는 x축 양의 방향과 점 (x, y) 사이의 각도를 라디안으로 반환합니다.
        angle = math.atan2(dy, dx)

        # 삼각함수를 사용하여 눈동자의 중심 좌표 계산
        pupil_cx = eye_cx + actual_pupil_dist * math.cos(angle)
        pupil_cy = eye_cy + actual_pupil_dist * math.sin(angle)

        # 2. '두 눈동자(검은색)'만 그립니다.
        # 눈동자 그리기 (검은색 타원)
        self.canvas.create_oval(
            pupil_cx - self.pupil_radius, pupil_cy - self.pupil_radius,
            pupil_cx + self.pupil_radius, pupil_cy + self.pupil_radius,
            fill=&quot;black&quot;, outline=&quot;black&quot;
        )

# 메인 실행 블록
if __name__ == &quot;__main__&quot;:
    root = tk.Tk()
    app = XEyesApp(root)
    root.mainloop()
# ```&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*** EOF ***&lt;/p&gt;</description>
      <category>SW</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/637</guid>
      <comments>https://stella47.tistory.com/637#entry637comment</comments>
      <pubDate>Sun, 12 Apr 2026 15:37:13 +0900</pubDate>
    </item>
    <item>
      <title>에이전틱 프로그래밍 데모 해보기 (1/2, local LLM - Ollama)</title>
      <link>https://stella47.tistory.com/636</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;본 글은 에이전틱 프로그래밍을 체험하기 위해서 로컬 LLM을 세팅하고 데모를 해보는 글입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글을 작성하기 위해서 Gemini 의 도움을 받았음을 알립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;에이전트 프레임워크, crewai 설치하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 가상환경 설치하기 (Anacodna 설치)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anaconda 웹 사이트에 가서 설치하자. (&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://www.anaconda.com/download&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;링크&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스에서 Anaconda를 설치하는 방법은 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://www.anaconda.com/docs/getting-started/anaconda/install/linux-install&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;b&gt;본 링크&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;를 참고한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 명령어를 입력하여 Anaconda 최신 배포버전을 설치한다 (글 작성 시기의 최신은 `25.12.02 배포이다.)&lt;/p&gt;
&lt;pre id=&quot;code_1775972075341&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wget https://repo.anaconda.com/archive/Anaconda3-2025.12-2-Linux-x86_64.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널에서 위 파일을 다운로드 받은 곳으로 가서 아래의 명령어를 입력하여 설치한다.&lt;/p&gt;
&lt;pre id=&quot;code_1775972108841&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;bash ~/Anaconda3-2025.12-2-Linux-x86_64.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;yes를 입력하여 사용 약관에 동의한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로, 기본 설치 위치에 대해 동의한다면 Enter 를 입력한다. 별도 원하는 위치가 있다면 절대 경로를 입력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;conda 를 초기화한다면 이번에도 yes를 입력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 완료되었다면 아래의 명령어를 입력하여 설치가 효력이 발생하도록 하자.&lt;/p&gt;
&lt;pre id=&quot;code_1775972260017&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 필요한 라이브러리 설치하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성한 가상환경에서 아래의 명령어를 통해서 필수 라이브러리를 설치하자.&lt;/p&gt;
&lt;pre id=&quot;code_1775971896391&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install crewai langchain-openai&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;로컬 LLM 세팅하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Docker 설치하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘 해본다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Ollama 설치하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도커를 통해서 Ollama 컨테이너를 생성/실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지가 없다면 알아서 다운로드 받아서 컨테이너를 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code_1775970540603&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Terminal.1
docker run -d --gpus=all -p 11434:11434 --name ollama ollama/ollama&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력한 명령어를 설명하면 다음과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;-d&lt;/b&gt; : 백그라운드로 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;--gpus=all&lt;/b&gt; : 해당 컨테이너가 사용할 GPU 를 할당한다. (모두 할당함)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;-p [HostPort:ContainerPort]&lt;/b&gt; : 호스트-컨테이너의 포트를 포워딩한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;--name [ContainerName]&lt;/b&gt; : 컨테이너의 이름을 별도로 할당한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ollama/ollama : 로컬에 설치되어있는 이미지의 이름으로, 이 이미지를 컨테이너로 생성/실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;llama3.1:8b 모델을 다운받고 컨테이너에 접속한다. (전체 용량은 4.9GB 정도이다.)&lt;/p&gt;
&lt;pre id=&quot;code_1775970520058&quot; class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Teminal.1
docker exec -it ollama ollama run llama3.1:8b&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 새 터미널을 생성한 후, 아래의 코드를 실행해보자.&lt;/p&gt;
&lt;pre id=&quot;code_1775972334271&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;python main_llama.py&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;main.py 코드는 아래와 같다. 접은 글을 펼치면 코드가 나온다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1775972388328&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# main_llama.py
import os
from crewai import Agent, Task, Crew, LLM

# 1. 로컬 Ollama 환경 설정
# Ollama는 기본적으로 11434 포트에서 OpenAI와 호환되는 로컬 API 서버를 제공합니다.
os.environ[&quot;OPENAI_API_KEY&quot;] = &quot;ollama&quot; # 로컬 환경이므로 임의의 문자열을 넣으면 됩니다.

# 가지고 계신 8B 모델의 정확한 이름으로 변경하세요 (예: 'llama3', 'gemma:7b', 'phi3' 등)
target_model = &quot;llama3.1:8b&quot; 

llm = LLM(
    model=target_model,
    base_url=&quot;http://localhost:11434/v1&quot;, # Ollama의 로컬 엔드포인트 주소
    temperature=0.2
)

# --------------------------------------------------
# 2. 에이전트 정의 (The Agent)
# 에이전트에게 페르소나와 목표를 부여합니다.
# --------------------------------------------------
code_reviewer = Agent(
    role='시니어 소프트웨어 아키텍트',
    goal='주어진 코드의 구조적 결함을 찾고, 엄격한 코딩 스타일 가이드를 강제(Enforce)합니다.',
    backstory='당신은 20년 경력의 깐깐한 개발자입니다. 가독성이 떨어지거나 비효율적인 로직, 스타일 가이드를 어긴 코드를 보면 반드시 짚고 넘어갑니다. 항상 구체적인 개선 코드를 함께 제시합니다.',
    verbose=True, # 에이전트가 생각하는 과정을 콘솔에 출력
    allow_delegation=False, # 다른 에이전트에게 업무 위임 금지
    llm=llm
)

# --------------------------------------------------
# 3. 작업 정의 (The Task)
# 에이전트가 달성해야 할 구체적인 임무를 설명합니다.
# --------------------------------------------------

# 리뷰할 샘플 코드 (일부러 비효율적이고 스타일이 엉망인 코드)
sample_code = &quot;&quot;&quot;
def calc( a,b ):
    res=0
    for i in range(b): res+=a
    return res
print(calc( 5, 3 ))
&quot;&quot;&quot;

review_task = Task(
    description=f'다음 파이썬 코드를 분석하고 개선점을 제안하세요:\n\n{sample_code}\n\n결과물에는 발견된 문제점, 코딩 스타일 위반 사항, 그리고 리팩토링된 최종 코드가 포함되어야 합니다.',
    expected_output='문제점 분석 및 PEP8 스타일 가이드가 적용된 리팩토링 코드 보고서',
    agent=code_reviewer
)

# --------------------------------------------------
# 4. 크루 구성 및 실행 (The Crew)
# 에이전트와 작업을 묶어서 실행을 지시합니다.
# --------------------------------------------------
crew = Crew(
    agents=[code_reviewer],
    tasks=[review_task],
    verbose=True
)

print(&quot;  에이전트가 코드 리뷰를 시작합니다...\n&quot;)
result = crew.kickoff()

print(&quot;\n==============================================&quot;)
print(&quot;  최종 결과물:&quot;)
print(&quot;==============================================&quot;)
print(result)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해서 터미널에 아래의 결과물을 획득 할 수 있다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre id=&quot;code_1775972728947&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  에이전트가 코드 리뷰를 시작합니다...

╭────────────────────────   Crew Execution Started ────────────────────────╮
│                                                                           │
│  Crew Execution Started                                                   │
│  Name: crew                                                               │
│  ID: 
│                                                                           │
│                                                                           │
╰───────────────────────────────────────────────────────────────────────────╯

╭─────────────────────────────   Task Started ─────────────────────────────╮
│                                                                           │
│  Task Started                                                             │
│  Name: 다음 파이썬 코드를 분석하고 개선점을 제안하세요:                   │
│                                                                           │
│                                                                           │
│  def calc( a,b ):                                                         │
│      res=0                                                                │
│      for i in range(b): res+=a                                            │
│      return res                                                           │
│  print(calc( 5, 3 ))                                                      │
│                                                                           │
│                                                                           │
│  결과물에는 발견된 문제점, 코딩 스타일 위반 사항, 그리고 리팩토링된 최종  │
│  코드가 포함되어야 합니다.                                                │
│  ID:                               │
│                                                                           │
│                                                                           │
╰───────────────────────────────────────────────────────────────────────────╯

╭────────────────────────────   Agent Started ─────────────────────────────╮
│                                                                           │
│  Agent: 시니어 소프트웨어 아키텍트                                        │
│                                                                           │
│  Task: 다음 파이썬 코드를 분석하고 개선점을 제안하세요:                   │
│                                                                           │
│                                                                           │
│  def calc( a,b ):                                                         │
│      res=0                                                                │
│      for i in range(b): res+=a                                            │
│      return res                                                           │
│  print(calc( 5, 3 ))                                                      │
│                                                                           │
│                                                                           │
│  결과물에는 발견된 문제점, 코딩 스타일 위반 사항, 그리고 리팩토링된 최종  │
│  코드가 포함되어야 합니다.                                                │
│                                                                           │
╰───────────────────────────────────────────────────────────────────────────╯

╭────────────────────────── ✅ Agent Final Answer ──────────────────────────╮
│                                                                           │
│  Agent: 시니어 소프트웨어 아키텍트                                        │
│                                                                           │
│  Final Answer:                                                            │
│  **문제점 분석 및 리팩토링 코드 보고서**                                  │
│                                                                           │
│  ### 문제점 분석                                                          │
│                                                                           │
│  *   함수 이름 `calc`는 너무 짧고 의미가 모호합니다. 더 자세한 설명이     │
│  필요합니다.                                                              │
│  *   변수 이름 `a`, `b`은 의미를 명확하게 나타내지 않습니다. 더 자세한    │
│  설명이 필요합니다.                                                       │
│  *   로직은 간단하지만, `for` 루프를 사용하여 반복을 수행하는 것은        │
│  비효율적입니다. 더 빠른 방법으로 계산할 수 있습니다.                     │
│  *   함수 내에서 변수 `res`는 초기화가 너무 늦습니다. 초기화 시점에 바로  │
│  할당해도 됩니다.                                                         │
│                                                                           │
│  ### PEP8 스타일 가이드 위반 사항                                         │
│                                                                           │
│  *   함수 이름과 변수 이름이 영어로만 구성되어 있지 않습니다. PEP         │
│  8에서는 영어로만 사용하는 것을 권장합니다.                               │
│  *   함수 내에서 공백이 부족합니다. PEP 8에서는 공백을 적절히 사용하여    │
│  코드의 가독성을 높이는 것이 중요합니다.                                  │
│                                                                           │
│  ### 리팩토링된 최종 코드                                                 │
│                                                                           │
│  ```python                                                                │
│  def calculate_sum(a: int, b: int) -&amp;gt; int:                                │
│      &quot;&quot;&quot;                                                                  │
│      두 수를 더한 합을 반환한다.                                          │
│                                                                           │
│      Args:                                                                │
│          a (int): 첫 번째 숫자                                            │
│          b (int): 두 번째 숫자                                            │
│                                                                           │
│      Returns:                                                             │
│          int: 두 수의 합                                                  │
│      &quot;&quot;&quot;                                                                  │
│      return a * b                                                         │
│                                                                           │
│  print(calculate_sum(5, 3))                                               │
│  ```                                                                      │
│                                                                           │
│  ### 개선된 점                                                            │
│                                                                           │
│  *   함수 이름 `calculate_sum`은 더 자세하고 의미가 명확합니다.           │
│  *   변수 이름 `a`, `b`도 더 자세하게 설명되어 있습니다.                  │
│  *   로직이 더 빠르게 수행됩니다. `for` 루프 대신 곱셈을 사용하여 두      │
│  수의 합을 계산합니다.                                                    │
│  *   변수 `res`는 초기화 시점에 바로 할당됩니다.                          │
│                                                                           │
│  ### 참고                                                                 │
│                                                                           │
│  *   PEP 8은 파이썬 코딩 스타일 가이드입니다. 더 자세한 내용은 [PEP       │
│  8](https://www.python.org/dev/peps/pep-0008/)을 참조하세요.              │
│  *   리팩토링된 코드는 더 가독성 있고 유지보수하기 쉬운 코드를            │
│  제공합니다.                                                              │
│                                                                           │
╰───────────────────────────────────────────────────────────────────────────╯

╭───────────────────────────   Task Completion ────────────────────────────╮
│                                                                           │
│  Task Completed                                                           │
│  Name: 다음 파이썬 코드를 분석하고 개선점을 제안하세요:                   │
│                                                                           │
│                                                                           │
│  def calc( a,b ):                                                         │
│      res=0                                                                │
│      for i in range(b): res+=a                                            │
│      return res                                                           │
│  print(calc( 5, 3 ))                                                      │
│                                                                           │
│                                                                           │
│  결과물에는 발견된 문제점, 코딩 스타일 위반 사항, 그리고 리팩토링된 최종  │
│  코드가 포함되어야 합니다.                                                │
│  Agent: 시니어 소프트웨어 아키텍트                                        │
│                                                                           │
│                                                                           │
╰───────────────────────────────────────────────────────────────────────────╯


==============================================
  최종 결과물:
==============================================
**문제점 분석 및 리팩토링 코드 보고서**

### 문제점 분석

*   함수 이름 `calc`는 너무 짧고 의미가 모호합니다. 더 자세한 설명이 필요합니다.
*   변수 이름 `a`, `b`은 의미를 명확하게 나타내지 않습니다. 더 자세한 설명이 필요합니다.
*   로직은 간단하지만, `for` 루프를 사용하여 반복을 수행하는 것은 비효율적입니다. 더 빠른 방법으로 계산할 수 있습니다.
*   함수 내에서 변수 `res`는 초기화가 너무 늦습니다. 초기화 시점에 바로 할당해도 됩니다.

### PEP8 스타일 가이드 위반 사항

*   함수 이름과 변수 이름이 영어로만 구성되어 있지 않습니다. PEP 8에서는 영어로만 사용하는 것을 권장합니다.
*   함수 내에서 공백이 부족합니다. PEP 8에서는 공백을 적절히 사용하여 코드의 가독성을 높이는 것이 중요합니다.

### 리팩토링된 최종 코드

```python
def calculate_sum(a: int, b: int) -&amp;gt; int:
    &quot;&quot;&quot;
    두 수를 더한 합을 반환한다.
    
    Args:
        a (int): 첫 번째 숫자
        b (int): 두 번째 숫자
        
    Returns:
        int: 두 수의 합
    &quot;&quot;&quot;
    return a * b

print(calculate_sum(5, 3))
```

### 개선된 점

*   함수 이름 `calculate_sum`은 더 자세하고 의미가 명확합니다.
*   변수 이름 `a`, `b`도 더 자세하게 설명되어 있습니다.
*   로직이 더 빠르게 수행됩니다. `for` 루프 대신 곱셈을 사용하여 두 수의 합을 계산합니다.
*   변수 `res`는 초기화 시점에 바로 할당됩니다.

### 참고

*   PEP 8은 파이썬 코딩 스타일 가이드입니다. 더 자세한 내용은 [PEP 8](https://www.python.org/dev/peps/pep-0008/)을 참조하세요.
*   리팩토링된 코드는 더 가독성 있고 유지보수하기 쉬운 코드를 제공합니다.
╭───────────────────────────── Crew Completion ─────────────────────────────╮
│                                                                           │
│  Crew Execution Completed                                                 │
│  Name: crew                                                               │
│  ID: 
│  Final Output: **문제점 분석 및 리팩토링 코드 보고서**                    │
│                                                                           │
│  ### 문제점 분석                                                          │
│                                                                           │
│  *   함수 이름 `calc`는 너무 짧고 의미가 모호합니다. 더 자세한 설명이     │
│  필요합니다.                                                              │
│  *   변수 이름 `a`, `b`은 의미를 명확하게 나타내지 않습니다. 더 자세한    │
│  설명이 필요합니다.                                                       │
│  *   로직은 간단하지만, `for` 루프를 사용하여 반복을 수행하는 것은        │
│  비효율적입니다. 더 빠른 방법으로 계산할 수 있습니다.                     │
│  *   함수 내에서 변수 `res`는 초기화가 너무 늦습니다. 초기화 시점에 바로  │
│  할당해도 됩니다.                                                         │
│                                                                           │
│  ### PEP8 스타일 가이드 위반 사항                                         │
│                                                                           │
│  *   함수 이름과 변수 이름이 영어로만 구성되어 있지 않습니다. PEP         │
│  8에서는 영어로만 사용하는 것을 권장합니다.                               │
│  *   함수 내에서 공백이 부족합니다. PEP 8에서는 공백을 적절히 사용하여    │
│  코드의 가독성을 높이는 것이 중요합니다.                                  │
│                                                                           │
│  ### 리팩토링된 최종 코드                                                 │
│                                                                           │
│  ```python                                                                │
│  def calculate_sum(a: int, b: int) -&amp;gt; int:                                │
│      &quot;&quot;&quot;                                                                  │
│      두 수를 더한 합을 반환한다.                                          │
│                                                                           │
│      Args:                                                                │
│          a (int): 첫 번째 숫자                                            │
│          b (int): 두 번째 숫자                                            │
│                                                                           │
│      Returns:                                                             │
│          int: 두 수의 합                                                  │
│      &quot;&quot;&quot;                                                                  │
│      return a * b                                                         │
│                                                                           │
│  print(calculate_sum(5, 3))                                               │
│  ```                                                                      │
│                                                                           │
│  ### 개선된 점                                                            │
│                                                                           │
│  *   함수 이름 `calculate_sum`은 더 자세하고 의미가 명확합니다.           │
│  *   변수 이름 `a`, `b`도 더 자세하게 설명되어 있습니다.                  │
│  *   로직이 더 빠르게 수행됩니다. `for` 루프 대신 곱셈을 사용하여 두      │
│  수의 합을 계산합니다.                                                    │
│  *   변수 `res`는 초기화 시점에 바로 할당됩니다.                          │
│                                                                           │
│  ### 참고                                                                 │
│                                                                           │
│  *   PEP 8은 파이썬 코딩 스타일 가이드입니다. 더 자세한 내용은 [PEP       │
│  8](https://www.python.org/dev/peps/pep-0008/)을 참조하세요.              │
│  *   리팩토링된 코드는 더 가독성 있고 유지보수하기 쉬운 코드를            │
│  제공합니다.                                                              │
│                                                                           │
│                                                                           │
╰───────────────────────────────────────────────────────────────────────────╯

╭───────────────────────────── Tracing Status ──────────────────────────────╮
│                                                                           │
│  Info: Tracing is disabled.                                               │
│                                                                           │
│  To enable tracing, do any one of these:                                  │
│  &amp;bull; Set tracing=True in your Crew/Flow code                                │
│  &amp;bull; Set CREWAI_TRACING_ENABLED=true in your project's .env file            │
│  &amp;bull; Run: crewai traces enable                                              │
│                                                                           │
╰───────────────────────────────────────────────────────────────────────────╯&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;끝.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[1] &lt;a href=&quot;https://boramchan-corgi.tistory.com/46&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://boramchan-corgi.tistory.com/46&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*** EOF ***&lt;/p&gt;</description>
      <category>SW</category>
      <author>bu_ctrlMan</author>
      <guid isPermaLink="true">https://stella47.tistory.com/636</guid>
      <comments>https://stella47.tistory.com/636#entry636comment</comments>
      <pubDate>Sun, 12 Apr 2026 14:45:38 +0900</pubDate>
    </item>
  </channel>
</rss>