{"id":3996,"date":"2017-04-17T23:52:38","date_gmt":"2017-04-18T03:52:38","guid":{"rendered":"http:\/\/blog-j.marcano.net.ve\/?p=3996"},"modified":"2019-03-05T18:00:21","modified_gmt":"2019-03-05T22:00:21","slug":"raspi-pir","status":"publish","type":"post","link":"https:\/\/blog-j.marcano.net.ve\/index.php\/2017\/04\/17\/raspi-pir\/","title":{"rendered":"Sensor PIR HC-SR501 con raspberry Pi 3"},"content":{"rendered":"<p>Fotos de mi raspi 3 bajo en calor\u00edas, el case es un envase de margarina que tiene las dimensiones ideales y aporta un dise\u00f1o innovador y estilizado (la verdad es que es saqu\u00e9 el envase de la basura).&nbsp;<\/p>\n<p>El raspi corre Raspbian con servidor web Apache, MySQL para registrar datos.<\/p>\n<ul>\n<li>Por ahora cuenta solo cuenta con un con sensor <a href=\"http:\/\/henrysbench.capnfatz.com\/henrys-bench\/arduino-sensors-and-input\/arduino-hc-sr501-motion-sensor-tutorial\/\" target=\"_blank\" rel=\"noopener noreferrer\">PIR HC-SR501<\/a> para detectar movimiento.<\/li>\n<li>Un buzzer (lamentablemente me trajeron uno de tipo activo).<\/li>\n<li>Un sensor (super econ\u00f3mico y popular, aunque no muy preciso) <a href=\"http:\/\/www.micropik.com\/PDF\/dht11.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">DHT-11<\/a> que a\u00fan no uso.<\/li>\n<\/ul>\n\n\n<div class=\"ngg-slideshow-image-list ngg-slideshow-nojs\" id=\"ngg-slideshow-b9938ffbe887770a840181e8d62d59d0-12584069820-image-list\">\n\t<div id=\"ngg-image-0\" class=\"ngg-gallery-slideshow-image\" >\n\t\t<img data-image-id='426'\n\t\t     title=\"\"\n\t\t     alt=\"IMG_1809\"\n\t\t     src=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/gallery\/raspberry\/IMG_1809.JPG\"\n\t\t     width=\"533\"\n\t\t     height=\"400\"\/>\n\t\t<\/div> \n<div id=\"ngg-image-1\" class=\"ngg-gallery-slideshow-image\" >\n\t\t<img data-image-id='427'\n\t\t     title=\"\"\n\t\t     alt=\"IMG_1810\"\n\t\t     src=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/gallery\/raspberry\/IMG_1810.JPG\"\n\t\t     width=\"533\"\n\t\t     height=\"400\"\/>\n\t\t<\/div> \n<div id=\"ngg-image-2\" class=\"ngg-gallery-slideshow-image\" >\n\t\t<img data-image-id='428'\n\t\t     title=\"\"\n\t\t     alt=\"IMG_1811\"\n\t\t     src=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/gallery\/raspberry\/IMG_1811.JPG\"\n\t\t     width=\"533\"\n\t\t     height=\"400\"\/>\n\t\t<\/div> \n<div id=\"ngg-image-3\" class=\"ngg-gallery-slideshow-image\" >\n\t\t<img data-image-id='429'\n\t\t     title=\"\"\n\t\t     alt=\"IMG_1812\"\n\t\t     src=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/gallery\/raspberry\/IMG_1812.JPG\"\n\t\t     width=\"533\"\n\t\t     height=\"400\"\/>\n\t\t<\/div> \n<div id=\"ngg-image-4\" class=\"ngg-gallery-slideshow-image\" >\n\t\t<img data-image-id='430'\n\t\t     title=\"\"\n\t\t     alt=\"IMG_1806\"\n\t\t     src=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/gallery\/raspberry\/IMG_1806.JPG\"\n\t\t     width=\"533\"\n\t\t     height=\"400\"\/>\n\t\t<\/div> \n<\/div>\n<div class=\"ngg-galleryoverview ngg-slideshow\"\n     id=\"ngg-slideshow-b9938ffbe887770a840181e8d62d59d0-12584069820\"\n     data-placeholder=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/plugins\/nextgen-gallery\/products\/photocrati_nextgen\/modules\/nextgen_basic_gallery\/static\/slideshow\/placeholder.gif\"\n     style=\"max-width: 580px; max-height: 400px;\">\n\t<div class=\"ngg-slideshow-loader\"\n\t     id=\"ngg-slideshow-b9938ffbe887770a840181e8d62d59d0-12584069820-loader\"\n\t     style=\"width: 580px; height: 400px;\">\n\t\t<img src=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/plugins\/nextgen-gallery\/products\/photocrati_nextgen\/modules\/ngglegacy\/images\/loader.gif\" alt=\"\"\/>\n\t<\/div>\n<\/div>\n<script type=\"text\/javascript\">\n\tjQuery('#ngg-slideshow-b9938ffbe887770a840181e8d62d59d0-12584069820-image-list').hide().removeClass('ngg-slideshow-nojs');\n\tjQuery(function($) {\n\t\tjQuery('#ngg-slideshow-b9938ffbe887770a840181e8d62d59d0-12584069820').nggShowSlideshow({\n\t\t\tid: 'b9938ffbe887770a840181e8d62d59d0',\n\t\t\tfx: 'fade',\n\t\t\twidth: 580,\n\t\t\theight: 400,\n\t\t\tdomain: 'https:\/\/blog-j.marcano.net.ve\/',\n\t\t\ttimeout: 5000\t\t});\n\t});\n<\/script>\n\n<p>&nbsp;<\/p>\n<p>El buzzer indica la hora del d\u00eda, cuando son las 5 de la tarde suena 5 veces y as\u00ed sucesivamente, el binario se escribi\u00f3 en C++ (escrib\u00ed una peque\u00f1a clase) y se ejecuta cada hora con la ayuda de <a href=\"https:\/\/es.wikipedia.org\/wiki\/Cron_(Unix)\">CRON<\/a>. Facilito.<\/p>\n<p>Luego para entretenerme con el PIR decid\u00ed hacer algo distinto, todo el mundo hace una gr\u00e1fico XY con el sensor de humedad\/temperatura, decid\u00ed usar un timeline de google charts para visualizar los eventos de detecci\u00f3n del sensor, este tiene un alcance de 3 a 7 metros seg\u00fan la hoja de datos.&nbsp;<\/p>\n<p>Programado en C\/C++ utilizando la librer\u00eda WiringPi para detectar los flancos de subida y bajada en una de las entradas del raspberry (mediante interrupciones), dicha entrada est\u00e1 conectada a un sensor PIR HC-SR501, mediante la librer\u00eda cpp-conector se notifica a la base de datos (MySQL) instalada en el raspberry, finalmente para visualizar c\u00f3modamente los registros desde una p\u00e1gina web se instal\u00f3 el servidor web de toda la vida (si..&nbsp; apache), en el caso de la p\u00e1gina web se realiza conexi\u00f3n a la base de datos (PHP) y se exporta la data (JSON) seg\u00fan el formato requerido por google charts, se utiliz\u00f3 un chart \u00abTimeline\u00bb ideal para representar periodos de tiempo, en este caso cada evento comienza con una detecci\u00f3n del sensor y finaliza cuando el sensor no ha registrado movimiento durante unos 2 minutos aprox.<\/p>\n<p><strong>En resumen:<\/strong>&nbsp;las zonas azules del gr\u00e1fico en la p\u00e1gina web indican cuando hay alguna persona en la habitaci\u00f3n donde se encuentra el raspberry (o al menos se detecta que la persona se mueve ya que&nbsp;sensor solo detecta movimiento). Se indica claramente la fecha y hora de la detecci\u00f3n.<\/p>\n<p>El gr\u00e1fico con las ultimas detecciones (ultimos 10 dias) se aprecia en el siguiente <a href=\"http:\/\/140.82.6.248:81\/pi_server\/movement_PIR\/\" target=\"_blank\" rel=\"noopener noreferrer\">enlace<\/a>.<\/p>\n<div id=\"attachment_4290\" style=\"width: 608px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/140.82.6.248:81\/pi_server\/movement_PIR\/\" rel=\"http:\/\/140.82.6.248:81\/pi_server\/movement_PIR\/\"><img aria-describedby=\"caption-attachment-4290\" loading=\"lazy\" class=\"wp-image-4290 size-full\" src=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/uploads\/2017\/04\/CropperCapture4.jpg\" alt=\"http:\/\/140.82.6.248:81\/pi_server\/movement_PIR\/\" width=\"598\" height=\"459\" srcset=\"https:\/\/blog-j.marcano.net.ve\/wp-content\/uploads\/2017\/04\/CropperCapture4.jpg 598w, https:\/\/blog-j.marcano.net.ve\/wp-content\/uploads\/2017\/04\/CropperCapture4-300x230.jpg 300w\" sizes=\"(max-width: 598px) 100vw, 598px\" \/><\/a><p id=\"caption-attachment-4290\" class=\"wp-caption-text\">Esta es una captura, Hacer click en la imagen vincular ir al raspi-server.<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Fotos de mi raspi 3 bajo en calor\u00edas, el case es un envase de margarina que tiene las dimensiones ideales y aporta un dise\u00f1o innovador y estilizado (la verdad es que es saqu\u00e9 el envase de la basura).&nbsp; El raspi corre Raspbian con servidor web Apache, MySQL para registrar datos. Por ahora cuenta solo cuenta [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[18,81,5],"tags":[141,143,146,145,147,142,144,148,140],"_links":{"self":[{"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/posts\/3996"}],"collection":[{"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/comments?post=3996"}],"version-history":[{"count":42,"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/posts\/3996\/revisions"}],"predecessor-version":[{"id":4291,"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/posts\/3996\/revisions\/4291"}],"wp:attachment":[{"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/media?parent=3996"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/categories?post=3996"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog-j.marcano.net.ve\/index.php\/wp-json\/wp\/v2\/tags?post=3996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}