![画像](https://habrastorage.org/getpro/geektimes/post_images/76a/23c/fb2/76a23cfb213b3427df6ea6597732994d.jpg)
エントリー:
これとこれの 2つの記事に触発されました。 私は最初の記事のアイデアが本当に好きでしたが、このベンチャーのためにArduinoを買うのはあまりにも「脂肪」だと思いました。 次に、2番目の記事に出くわしたとき、Yoctopuce-demoがまさに私が必要としているものであることに気付きました! そして、注文することにしました。
パッケージ:
25日後、スイスから郵便で封筒を受け取りました。 チップ自体が含まれており、名前と製造日が記載された帯電防止袋に入れられていました。 ケーブルと説明付きの手紙もありました。 チップのサイズは2x2 cmで、2つのLEDと1つのボタンがありました。 残念ながら、1mのLEDしか操作できませんが、それで十分です。 デバイスはドライバーなしで機能しましたが、メーカーのウェブサイトのすべてのプラットフォームで利用可能なVirtualHubをダウンロードする必要がありました。 重量はわずか170 kbです。 チップの詳細なレビューはここにありますので、詳細には説明しません。
![画像](https://habrastorage.org/getpro/geektimes/post_images/f9e/11e/517/f9e11e517fa753b346ebbe1e8e7c379a.jpg)
プログラミング言語の選択:
メーカーのウェブサイトで、次の言語のライブラリをダウンロードできます:Javascript、PHP、C ++、C#、. NET、Delphi。 私の選択はすぐにJavascriptにかかった。 その理由は次のとおりです。非常に明確で開発が容易で、ブラウザから直接実行でき、インストールは不要です。 さらに、クロスプラットフォームであることが重要です。 ライブラリを完備し、すべてのデバイスのサンプルを含むフォルダーがあります。 Yoctopuce-Demoのpastebin.com/atweug6Jのサンプルコードを次に示します。 この例では、プログラムはデバイスが0.5秒ごとに接続されているかどうかを確認します。 2つのボタンがあります(オン/オフLED)。
次は何ですか:
その後、問題が発生しました:未読メッセージを確認する方法は? Javascript自体は、POPまたはIMAPを介して接続し、それらの存在を確認することはできません。 しかし、抜け道がありました。 Gmailのフィードはmail.google.com/mail/feed/atomにあります。 このアドレスでは、未読メッセージが送信されます。 ブラウザでGmailにログインするだけです。 ソースコードを見て、そこに行Xを見つけます。ここで、Xは未読メッセージの数です。 これが必要です! この数を数えるだけです。 そして、これは非常に簡単に行われます:
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","https://mail.google.com/mail/feed/atom",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
fullcount=
xmlDoc.getElementsByTagName("fullcount")[0].childNodes[0].nodeValue;
ライブラリに付属しているサンプルのソースコードをわずかに変更するだけで、問題は解決しません。 fullcount変数を追加して、既製の更新機能を使用します。 次に、フルカウントを0と比較し、これに応じて電球をオンまたはオフにします。 更新間隔を長くすることもできます。 これを行うには、単にsetTimeoutの値を500から5000に変更します。それだけです。 チェック、動作します!
![画像](https://habrastorage.org/getpro/geektimes/post_images/283/d0f/a3d/283d0fa3d32bb42ed4b9f382fb41fbca.jpg)
更新:使用
module = yFindModule(serial);
module.set_beacon(true);
点滅する青いLEDをオン/オフにできます。
![画像](https://habrastorage.org/getpro/geektimes/post_images/22f/c98/b33/22fc98b33f85d820c6251691d8c7dc64.jpg)
なぜこれが便利なのですか?
この質問をします。 既にメールクライアントを持っていますが、メッセージを受信するとすぐに通知されますが、外部デバイスを使用する必要があるのはなぜですか? すべてが非常に簡単です。 たとえば、映画を見たり、ゲームをプレイしたり、手紙を受け取ったり(全画面表示のアプリケーション)、メールクライアントのアラートは表示されませんが、常に青信号が表示されます。
結論:
その結果、小さな便利なスクリプトが作成されました。 私はすでにプロについて言った。 マイナス記号が1つしか見つかりませんでした。ブラウザでGmailにログインする必要があります。 スクリプトは不完全であり、多くのものを改善および追加できます。 何かアイデアがあれば、コメントに書いてください。 レビューを喜んでいます。
参照:
完全なスクリプトコード: pastebin.com/VwVFeghW-リンクを修正
メーカーのウェブサイト: www.yoctopuce.com