{"id":343,"date":"2012-02-14T12:19:00","date_gmt":"2012-02-14T10:19:00","guid":{"rendered":"https:\/\/ubik75.wordpress.com\/?p=316"},"modified":"2012-03-27T12:08:16","modified_gmt":"2012-03-27T10:08:16","slug":"notificateur-gmail-avec-une-carte-arduino","status":"publish","type":"post","link":"http:\/\/ubik75.com\/?p=343","title":{"rendered":"Notificateur Gmail avec une carte Arduino"},"content":{"rendered":"<p>Poss\u00e9dant une carte Arduino Uno depuis quelques mois, apr\u00e8s plusieurs essais, je vous propose un petit montage permettant de donner le nombre de mails dans une boite Gmail.<\/p>\n<p><a href=\"http:\/\/ubik75.com\/wp-content\/uploads\/2012\/02\/wp_000057.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0; padding-right: 0; display: inline; padding-top: 0; border-width: 0;\" title=\"WP_000057\" src=\"http:\/\/ubik75.com\/wp-content\/uploads\/2012\/02\/wp_000057_thumb.jpg\" alt=\"WP_000057\" width=\"328\" height=\"247\" border=\"0\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p>Je r\u00e9cup\u00e8re les mails \u00e0 l\u2019aide d\u2019un script en Python. Celui-ci lit ma boite mail toutes les 15 minutes et transf\u00e8re le nombre de mails non lus \u00e0 la carte Arduino branch\u00e9e sur le port USB. En fonction de la valeur re\u00e7ue, le programme de la carte Arduino g\u00e9re les cinq leds.<\/p>\n<p><a href=\"http:\/\/ubik75.com\/wp-content\/uploads\/2012\/02\/wp_000058.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0; padding-right: 0; display: inline; padding-top: 0; border-width: 0;\" title=\"WP_000058\" src=\"http:\/\/ubik75.com\/wp-content\/uploads\/2012\/02\/wp_000058_thumb.jpg\" alt=\"WP_000058\" width=\"333\" height=\"251\" border=\"0\" \/><\/a><\/p>\n<p><span style=\"text-decoration: underline;\">Script Python:<\/span><\/p>\n<p>import serial<br \/>\nimport time<br \/>\nimport imaplib<\/p>\n<p>ser = serial.Serial(&lsquo;COM7&rsquo;, 9600)<br \/>\ntime.sleep(2)<\/p>\n<p>print \u00ab\u00a0Script loaded\u00a0\u00bb<\/p>\n<p>while 1:<br \/>\nobj = imaplib.IMAP4_SSL(&lsquo;imap.gmail.com&rsquo;,&rsquo;993&prime;)<\/p>\n<p>#adresse mail plus mot de passe \u00e0 documenter<br \/>\nobj.login(&lsquo;xxxxxxx@gmail.com&rsquo;,&rsquo;xxxxxxxx&rsquo;)<br \/>\nobj.select()<br \/>\nobj.search(None,&rsquo;UnSeen&rsquo;)<br \/>\ncount = len(obj.search(None, &lsquo;UnSeen&rsquo;)[1][0].split())<br \/>\nprint count<\/p>\n<p>if(count == 0):<\/p>\n<p># envoi \u00e0 la carte Arduino<br \/>\nser.write(&lsquo;a&rsquo;)<\/p>\n<p># information retournee au shell drapeau<br \/>\nprint &lsquo;0&rsquo;<br \/>\nelif(count == 1):<br \/>\nser.write(&lsquo;b&rsquo;)<br \/>\nprint &lsquo;1&rsquo;<br \/>\nelif(count == 2):<br \/>\nser.write(&lsquo;c&rsquo;)<br \/>\nprint &lsquo;2&rsquo;<br \/>\nelif(count == 3):<br \/>\nser.write(&lsquo;d&rsquo;)<br \/>\nprint &lsquo;3&rsquo;<br \/>\nelif(count == 4):<br \/>\nser.write(&lsquo;e&rsquo;)<br \/>\nprint &lsquo;4&rsquo;<br \/>\nelif(count &gt; 4):<br \/>\nser.write(&lsquo;f&rsquo;)<br \/>\nprint &lsquo;5 et +&rsquo;<br \/>\n# 900 egal 15 minutes a modifier<br \/>\ntime.sleep(900)<br \/>\nprint \u00ab\u00a0attente\u00a0\u00bb<br \/>\nser.close()<\/p>\n<p><span style=\"text-decoration: underline;\">Lien pour installation de Python sous Windows:<\/span><\/p>\n<ul>\n<li>Python 2.7.2 \u2013&gt; <a title=\"http:\/\/python.org\/download\/\" href=\"http:\/\/python.org\/download\/\">http:\/\/python.org\/download\/<\/a><\/li>\n<li>Setup Tools \u2013&gt; <a href=\"http:\/\/pypi.python.org\/packages\/2.7\/s\/setuptools\/\">http:\/\/pypi.python.org\/packages\/2.7\/s\/setuptools\/<\/a><\/li>\n<li>Librairie pyserial \u2013&gt; <a href=\"http:\/\/sourceforge.net\/projects\/pyserial\/files\/latest\/download\">http:\/\/sourceforge.net\/projects\/pyserial<\/a><\/li>\n<\/ul>\n<p><span style=\"text-decoration: underline;\">Script pour la carte Arduino:<\/span><\/p>\n<p>#define led12 12<br \/>\n#define led11 11<br \/>\n#define led10 10<br \/>\n#define led9\u00a0 9<br \/>\n#define led8 8<\/p>\n<p>int mail = LOW;<br \/>\nint val;<\/p>\n<p>void setup()<br \/>\n{<br \/>\npinMode(led12, OUTPUT);<br \/>\npinMode(led11, OUTPUT);<br \/>\npinMode(led10, OUTPUT);<br \/>\npinMode(led9, OUTPUT);<br \/>\npinMode(led8, OUTPUT);<br \/>\nSerial.begin(9600);<br \/>\nSerial.flush();<br \/>\n}<\/p>\n<p>void loop()<br \/>\n{<br \/>\nif (Serial.available())<br \/>\n{<br \/>\nval = Serial.read();<\/p>\n<p>if (val == &lsquo;a&rsquo;)<br \/>\n{<br \/>\ndigitalWrite(led12, LOW);<br \/>\ndigitalWrite(led11, LOW);<br \/>\ndigitalWrite(led10, LOW);<br \/>\ndigitalWrite(led9, LOW);<br \/>\ndigitalWrite(led8, LOW);<br \/>\n}<br \/>\nelse if (val == &lsquo;b&rsquo;)<br \/>\n{<br \/>\ndigitalWrite(led12, HIGH);<br \/>\ndigitalWrite(led11, LOW);<br \/>\ndigitalWrite(led10, LOW);<br \/>\ndigitalWrite(led9, LOW);<br \/>\ndigitalWrite(led8, LOW);<br \/>\n}<br \/>\nelse if (val == &lsquo;c&rsquo;)<br \/>\n{<br \/>\ndigitalWrite(led12, HIGH);<br \/>\ndigitalWrite(led11, HIGH);<br \/>\ndigitalWrite(led10, LOW);<br \/>\ndigitalWrite(led9, LOW);<br \/>\ndigitalWrite(led8, LOW);<br \/>\n}<br \/>\nelse if (val == &lsquo;d&rsquo;)<br \/>\n{<br \/>\ndigitalWrite(led12, HIGH);<br \/>\ndigitalWrite(led11, HIGH);<br \/>\ndigitalWrite(led10, HIGH);<br \/>\ndigitalWrite(led9, LOW);<br \/>\ndigitalWrite(led8, LOW);<br \/>\n}<br \/>\nelse if (val == &lsquo;e&rsquo;)<br \/>\n{<br \/>\ndigitalWrite(led12, HIGH);<br \/>\ndigitalWrite(led11, HIGH);<br \/>\ndigitalWrite(led10, HIGH);<br \/>\ndigitalWrite(led9, HIGH);<br \/>\ndigitalWrite(led8, LOW);<br \/>\n}<br \/>\nelse if (val == &lsquo;f&rsquo;)<br \/>\n{<br \/>\ndigitalWrite(led12, HIGH);<br \/>\ndigitalWrite(led11, HIGH);<br \/>\ndigitalWrite(led10, HIGH);<br \/>\ndigitalWrite(led9, HIGH);<br \/>\ndigitalWrite(led8, HIGH);<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<p>Voil\u00e0, amusez-vous bien.<\/p>\n","protected":false},"excerpt":{"rendered":"<img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"http:\/\/ubik75.com\/wp-content\/plugins\/thumbnail-for-excerpts\/tfe_no_thumb.png\" class=\"alignleft wp-post-image tfe\" alt=\"\" title=\"\" \/><p>Poss\u00e9dant une carte Arduino Uno depuis quelques mois, apr\u00e8s plusieurs essais, je vous propose un petit montage permettant de donner le nombre de mails dans une boite Gmail.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3],"tags":[54,52,55],"class_list":["post-343","post","type-post","status-publish","format-standard","hentry","category-arduino","tag-arduino-2","tag-gmail","tag-notificateur"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2eCSX-5x","jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/ubik75.com\/index.php?rest_route=\/wp\/v2\/posts\/343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/ubik75.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ubik75.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ubik75.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/ubik75.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=343"}],"version-history":[{"count":3,"href":"http:\/\/ubik75.com\/index.php?rest_route=\/wp\/v2\/posts\/343\/revisions"}],"predecessor-version":[{"id":500,"href":"http:\/\/ubik75.com\/index.php?rest_route=\/wp\/v2\/posts\/343\/revisions\/500"}],"wp:attachment":[{"href":"http:\/\/ubik75.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ubik75.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=343"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ubik75.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}