{"id":11917,"date":"2026-09-07T18:28:01","date_gmt":"2026-09-07T09:28:01","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11917"},"modified":"2026-09-14T13:07:53","modified_gmt":"2026-09-14T04:07:53","slug":"nrf52840-dongle-%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%eb%b8%94%eb%a3%a8%ed%88%ac%ec%8a%a4-%ed%8c%a8%ed%82%b7-%ec%8a%a4%eb%8b%88%ed%95%91","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11917","title":{"rendered":"nRF52840 Dongle \uc744 \uc774\uc6a9\ud55c \ube14\ub8e8\ud22c\uc2a4 \ud328\ud0b7 \uc2a4\ub2c8\ud551"},"content":{"rendered":"<h1>nRF52840 Dongle \uc744 \uc774\uc6a9\ud55c \ube14\ub8e8\ud22c\uc2a4 \ud328\ud0b7 \uc2a4\ub2c8\ud551<\/h1>\n<p>\uc544\ub798 \ud14c\uc2a4\ud2b8\ub294 \uc6b0\ubd84\ud22c \ud658\uacbd\uc5d0\uc11c \uc9c4\ud589\ud569\ub2c8\ub2e4.<\/p>\n<h2>\uc0ac\uc804\uc900\ube44<\/h2>\n<pre><code class=\"language-bash\"># 1. \uc2dc\uc2a4\ud15c \ud328\ud0a4\uc9c0 \uc5c5\ub370\uc774\ud2b8 \ubc0f \ud544\uc694 \ub3c4\uad6c \uc124\uce58\nsudo apt update\nsudo apt install -y wireshark python3-pip python3-serial\n\n# 2. Wireshark \uad8c\ud55c \uc124\uc815 (\ud604\uc7ac \uc0ac\uc6a9\uc790\ub97c wireshark \uadf8\ub8f9\uc5d0 \ucd94\uac00)\nsudo usermod -aG wireshark $USER\nsudo usermod -aG dialout $USER\n\n# 3. virtualenv\nsudo apt-get install -y virtualenv\nmkdir -p ~\/work\/nRF52840\ncd ~\/work\/nRF52840\npython -m venv venv\nsource venv\/bin\/activate<\/code><\/pre>\n<h2>\ud38c\uc6e8\uc5b4 \ub2e4\uc6b4\ub85c\ub4dc<\/h2>\n<pre><code class=\"language-bash\">wget https:\/\/nsscprodmedia.blob.core.windows.net\/prod\/software-and-other-downloads\/desktop-software\/nrf-sniffer\/sw\/nrf_sniffer_for_bluetooth_le_4.1.1.zip\n\nunzip nrf_sniffer_for_bluetooth_le_4.1.1.zip\n\n# \ud38c\uc6e8\uc5b4\nls -al hex\/sniffer_nrf52840dongle_nrf52840_4.1.1.hex\n\n# Wireshark \uc5f0\ub3d9 \ud50c\ub7ec\uadf8\uc778 \uc2a4\ud06c\ub9bd\ud2b8\nls -al extcap\/<\/code><\/pre>\n<h2>\ud38c\uc6e8\uc5b4 \ud50c\ub798\uc2f1<\/h2>\n<p>Window PC \uc5d0\uc11c \uc9c4\ud589\ud569\ub2c8\ub2e4.<\/p>\n<h3>nRF Connect for Desktop \uc2e4\ud589<\/h3>\n<p><a href=\"https:\/\/www.nordicsemi.com\/Products\/Development-tools\/nrf-connect-for-desktop\">nRF Connect for Desktop<\/a><\/p>\n<h3>Programmer \uc2e4\ud589<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2026\/09\/image-1788846459721.png\" alt=\"file\" \/><\/p>\n<h3>\ub4f1\uae00 \uc5f0\uacb0<\/h3>\n<h3>nRF52840 Dongle DFU \ubaa8\ub4dc \uc9c4\uc785<\/h3>\n<p>\uc544\ub798 \uc0ac\uc9c4\uc744 \ucc38\uc870\ud574\uc11c \ud654\uc0b4\ud45c \ub05d\uc758 \uc2a4\uc704\uce58\ub97c \ub20c\ub7ec\uc90d\ub2c8\ub2e4.<\/p>\n<p>1-3\ucd08\uac04 \ub20c\ub7ec\uc8fc\uba74 LED \uac00 \uc810\uba78\ud558\uae30 \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n<blockquote>\n<p>\ub77c\uc988\ubca0\ub9ac\ud30c\uc7743 \uc5d0\uc11c \uc544\ubb34 \uc791\ub3d9\uc744 \ud558\uc9c0 \uc54a\uc558\uace0, \ub77c\uc988\ubca0\ub9ac\ud30c\uc7744 \uc5d0\uc11c \uc815\uc0c1\uc801\uc73c\ub85c DFU \ubaa8\ub4dc\ub85c \uc9c4\uc785\ud588\uc2b5\ub2c8\ub2e4.<br \/>\n\ub0b4 \uae30\uae30\ub9cc\uc758 \ubb38\uc81c\uc778\uc9c0\ub294 \ubaa8\ub985\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n<p><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2026\/08\/image-1788768343467.png\" alt=\"file\" \/><\/p>\n<h3>sniffer_nrf52840dongle_nrf52840_4.1.1.hex \ub4dc\ub798\uadf8 \ub4dc\ub78d<\/h3>\n<p>Write \ubc84\ud2bc\uc744 \ub204\ub985\ub2c8\ub2e4.<\/p>\n<h2>Wireshark extcap \ud50c\ub7ec\uadf8\uc778 \uc124\uce58<\/h2>\n<pre><code class=\"language-bash\"># extcap \ud30c\uc774\uc36c \ud328\ud0a4\uc9c0 \uc758\uc874\uc131 \uc124\uce58\npip3 install -r extcap\/requirements.txt\n\n# Wireshark extcap \ub514\ub809\ud1a0\ub9ac \uc0dd\uc131 \ubc0f \ud30c\uc77c \ubcf5\uc0ac\nmkdir -p ~\/.local\/lib\/wireshark\/extcap\ncp -r extcap\/* ~\/.local\/lib\/wireshark\/extcap\/\nchmod +x ~\/.local\/lib\/wireshark\/extcap\/nrf_sniffer_ble.py<\/code><\/pre>\n<h2>\uc2e4\ud589 (With GUI)<\/h2>\n<pre><code class=\"language-bash\">wireshark<\/code><\/pre>\n<h2>\uc2e4\ud589 (Without GUI)<\/h2>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install tshark<\/code><\/pre>\n<pre><code class=\"language-bash\"># \ub124\ud2b8\uc6cc\ud06c \uc778\ud130\ud398\uc774\uc2a4 \ubaa9\ub85d \ud655\uc778\ntshark -D<\/code><\/pre>\n<pre><code class=\"language-bash\"># \ud2b9\uc815 \uc778\ud130\ud398\uc774\uc2a4\uc5d0\uc11c \ud328\ud0b7 \uc2e4\uc2dc\uac04 \ucea1\ucc98\n# \uc778\ud130\ud398\uc774\uc2a4 \ubc88\ud638\ub85c \uc2e4\ud589\ntshark -i 12\n\n# \ub610\ub294 \uc778\ud130\ud398\uc774\uc2a4 \uacbd\ub85c\/\uc774\ub984\uc73c\ub85c \uc2e4\ud589\ntshark -i \/dev\/ttyACM0-4.4<\/code><\/pre>\n<pre><code class=\"language-bash\">tshark -i \/dev\/ttyACM0-4.4 -Y &#039;nordic_ble.rssi &gt;= -70&#039; -t a --color\n\ntshark -i \/dev\/ttyACM0-4.4 -Y &#039;nordic_ble.rssi &gt;= -60&#039; -t a \\\n  -T fields \\\n  -e frame.number \\\n  -e frame.time \\\n  -e nordic_ble.channel \\\n  -e btle.advertising_header.pdu_type \\\n  -e btle.advertising_address \\\n  -e btle.length \\\n  -e nordic_ble.rssi\\\n  -e btcommon.eir_ad.entry.company_id \\\n  -e btcommon.eir_ad.entry.device_name<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>nRF52840 Dongle \uc744 \uc774\uc6a9\ud55c \ube14\ub8e8\ud22c\uc2a4 \ud328\ud0b7 \uc2a4\ub2c8\ud551 \uc544\ub798 \ud14c\uc2a4\ud2b8\ub294 \uc6b0\ubd84\ud22c \ud658\uacbd\uc5d0\uc11c \uc9c4\ud589\ud569\ub2c8\ub2e4. \uc0ac\uc804\uc900\ube44 # 1. \uc2dc\uc2a4\ud15c \ud328\ud0a4\uc9c0 \uc5c5\ub370\uc774\ud2b8 \ubc0f \ud544\uc694 \ub3c4\uad6c \uc124\uce58 sudo apt update sudo apt install -y wireshark python3-pip python3-serial # 2. Wireshark \uad8c\ud55c \uc124\uc815 (\ud604\uc7ac \uc0ac\uc6a9\uc790\ub97c wireshark \uadf8\ub8f9\uc5d0 \ucd94\uac00) sudo usermod -aG wireshark $USER sudo usermod -aG dialout $USER # 3. virtualenv\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11917\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-11917","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11917"}],"version-history":[{"count":8,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11917\/revisions"}],"predecessor-version":[{"id":11934,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11917\/revisions\/11934"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}