{"id":3479,"date":"2018-11-30T05:00:09","date_gmt":"2018-11-30T13:00:09","guid":{"rendered":"http:\/\/192.168.3.4\/?p=3479"},"modified":"2018-11-30T04:53:02","modified_gmt":"2018-11-30T12:53:02","slug":"rtl_433-sdr-iot-sniffer","status":"publish","type":"post","link":"https:\/\/www.cloudacm.com\/?p=3479","title":{"rendered":"RTL_433 SDR IoT Sniffer"},"content":{"rendered":"<p>In this post I&#8217;ll be covering how to use SDR on Linux to capture data from wireless sensors using Benjamin Larrson&#8217;s RTL_433.\u00a0 I&#8217;ll start by covering the required install steps followed by some rudimentary examples.\u00a0 First you will need some kind of USB SDR hardware, this example we will be using the NooElec Nano.<\/p>\n<p><a href=\"http:\/\/192.168.3.4\/wp-content\/uploads\/2018\/11\/NooElec-Nano.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3482\" src=\"http:\/\/192.168.3.4\/wp-content\/uploads\/2018\/11\/NooElec-Nano-300x137.jpg\" alt=\"\" width=\"300\" height=\"137\" srcset=\"https:\/\/www.cloudacm.com\/wp-content\/uploads\/2018\/11\/NooElec-Nano-300x137.jpg 300w, https:\/\/www.cloudacm.com\/wp-content\/uploads\/2018\/11\/NooElec-Nano-768x352.jpg 768w, https:\/\/www.cloudacm.com\/wp-content\/uploads\/2018\/11\/NooElec-Nano-590x270.jpg 590w, https:\/\/www.cloudacm.com\/wp-content\/uploads\/2018\/11\/NooElec-Nano.jpg 963w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Here are the steps to install the RTL_433 software.\u00a0 Open a terminal window and enter in the following commands.<\/p>\n<pre>sudo apt-get install libtool libusb-1.0.0-dev librtlsdr-dev rtl-sdr build-essential autoconf cmake pkg-config git\r\n\r\ngit clone https:\/\/github.com\/merbanan\/rtl_433\r\n\r\ncd rtl_433\r\nmkdir build\r\ncd build\r\ncmake ..\/\r\nmake\r\nmake install\r\n\r\n<\/pre>\n<p>If any of the above fail, then run under &#8220;sudo&#8221;.\u00a0 With the hardware connected to the computer, you should be ready to use the software.\u00a0 With the terminal window open, enter the following command.<\/p>\n<pre>rtl_433 -G\r\n<\/pre>\n<p>You should get some readings from any devices within earshot of the SDR hardware.\u00a0 The readings you see will depend on the devices transmitting at the time of your capture.\u00a0 Here are some readings as an example.<\/p>\n<pre>2018-11-20 20:21:11 : Ambient Weather F007TH Thermo-Hygrometer\r\nHouse Code: 59\r\nChannel: 1\r\nBattery: Low\r\nTemperature: 48.5 F\r\nHumidity: 78 %\r\nIntegrity: CRC\r\n2018-11-20 20:24:09 : Acurite 606TX Sensor : -89\r\nBattery: LOW\r\nTemperature: 6.1 C\r\n2018-11-20 20:29:23 : Thermopro TP12 Thermometer\r\nId: 92\r\nTemperature 1 (Food): 253.0 C\r\nTemperature 2 (Barbecue): 253.9 C\r\n2018-11-20 20:29:23 : SimpliSafe Sensor\r\nDevice ID: 193YP\r\nSequence: 180\r\nState: 2\r\nExtra Data: Contact Closed\r\n<\/pre>\n<p>Here we have 4 different devices that were detected and decoded.\u00a0 The first 2 are temperature sensors with the first providing more information.\u00a0 The third device appears to be a smart oven, while the last looks like a proximity sensor.\u00a0 The command we issued used all available decode methods.\u00a0 If we wanted to narrow our results to a specific type of device, we would need to indicate that in the command.\u00a0 Each of the devices above use a certain protocol.\u00a0 To get a list of the protocols available in RTL_433, run this command in the terminal window.<\/p>\n<pre>rtl_433 --help\r\n<\/pre>\n<p>Each of the decode protocols are assigned and number.\u00a0 In the example of devices above, if we search for the first device using the word &#8220;Ambient&#8221;, we find two protocols.<\/p>\n<pre>Registering protocol [20] \"Ambient Weather Temperature Sensor\"\r\nRegistering protocol [112] \"Ambient Weather TX-8300 Temperature\/Humidity Sensor\"\r\n<\/pre>\n<p>Searching for the second device with the name &#8220;Acurite&#8221; results in 6 possible protocols.\u00a0 We can narrow down our search by looking for &#8220;606TX&#8221;, which uses protocol number 55.<\/p>\n<pre>Registering protocol [55] \"Acurite 606TX Temperature Sensor\"\r\n<\/pre>\n<p>With the protocol numbers, we can narrow what RTL_433 decodes.\u00a0 Here is the command to only decode the Acurite 606TX Sensor.<\/p>\n<pre>rtl_433 -q -R 55\r\n<\/pre>\n<p>The command switches used &#8220;-q&#8221; and &#8220;-R 55&#8221; display the only the results of decoded messages from protocol 55. The &#8220;-q&#8221; is quiet mode, that suppress non-data messages.\u00a0 While &#8220;-R 55&#8221;, only the specified device is decoded.<\/p>\n<p><iframe loading=\"lazy\" title=\"How To Decode 433Mhz Low Power Devices Using RTL433 And A RTL-SDR Receiver\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/JdzVIjKA68o?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>This should be a good primer to get started using RTL_433, enjoy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post I&#8217;ll be covering how to use SDR on Linux to capture data from wireless sensors using Benjamin Larrson&#8217;s RTL_433.\u00a0 I&#8217;ll start by covering the required install steps followed by some rudimentary examples.\u00a0 First you will need some kind of USB SDR hardware, this example we will be using the NooElec Nano. Here are the steps to install the RTL_433 software.\u00a0 Open a terminal window and enter in the following commands. sudo apt-get install libtool libusb-1.0.0-dev librtlsdr-dev rtl-sdr&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/www.cloudacm.com\/?p=3479\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,6,3],"tags":[],"class_list":["post-3479","post","type-post","status-publish","format-standard","hentry","category-data-mining","category-raspberry-pi","category-rd"],"_links":{"self":[{"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/posts\/3479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3479"}],"version-history":[{"count":13,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/posts\/3479\/revisions"}],"predecessor-version":[{"id":3481,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/posts\/3479\/revisions\/3481"}],"wp:attachment":[{"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}