自動鳥かご

2010年に、レオニードカガノフ(ご存知のように-大ファン)は、彼のブログの読者とウェブカメラを備えた鳥の餌箱のアイデアを共有し、有料SMSを送信して穀物を追加しました。 私はそのアイデアが好きでした。 そして今、4年が経過し、2014年のお正月が来ました。私は、周りに横たわっているarduino uno、tp-link 3020ルーターを取り出しbitl (都市サイトの管理者)と一緒にプロジェクトを開始しました。





カットの下にたくさんの写真。



フィーダー


フィーダーの中心は、OpenWrtファームウェアを備えたTp-Link 3020ルーターであり、D-Link DCS-2310Lおよびarduino usbカメラがイーサネット経由で接続されます。 彼自身は無線LAN経由でインターネットにアクセスします。 cronは毎分、スクリプトを起動し、4秒ごとにフィードホッパーのバルブを開く必要があるかどうかと、その回数を決定します。



スクリプト
#!/bin/sh COUNT=10 if [ -f /tmp/lock.ceed ]; then LOCK=`cat /tmp/lock.ceed` if [ "$LOCK" -lt "1" ]; then echo '1' > /tmp/lock.ceed while [ "$COUNT" -gt "0" ]; do rm /tmp/status.php wget http://labinsk.ru/feeder/status.php -P /tmp/ -t 5 if [ -f /tmp/status.php ]; then CEED=`cat /tmp/status.php` if [ "$CEED" -gt "0" ]; then until [ $CEED -lt 1 ]; do echo 1 > /dev/ttyACM0 let CEED=$CEED-1 let COUNT=$COUNT-1 sleep 4 done fi fi let COUNT=$COUNT-1 sleep 4 done echo '0' > /tmp/lock.ceed fi else echo '0' > /tmp/lock.ceed fi
      
      





Arduinoはcomポートをリッスンし、ユニティ(0x31)を受信した場合、120ミリ秒間バルブを開きます。

スケッチArduino
 int incomingByte = 0; int relay0 = 8; int relay1 = 12; void setup() { Serial.begin(9600); pinMode(8,OUTPUT); pinMode(12,OUTPUT); digitalWrite(relay0,LOW); digitalWrite(relay1,HIGH); delay (200); digitalWrite(relay0,HIGH); } void loop() { if (Serial.available() > 0) { incomingByte = Serial.read(); if(incomingByte==49){ digitalWrite(relay1,LOW); delay (120); digitalWrite(relay1,HIGH); digitalWrite(relay0,LOW); delay (200); digitalWrite(relay0,HIGH); } } }
      
      







このメカニズムは、下水用および自動車用ソレノイド用の50mmティーで作られています。 5リットルのペットボトルのコルクをティーに接着します(ボトルは飼料ホッパーとして機能します)。 バルブも下水道管で作られています。















即興の2リレーシールドがArduinoに接続され、標準の極性反転スキームに従ってソレノイドが接続されます。 死亡したUSB-SATAアダプタの電源からすべてが供給されます。







電子機器の取り付けボックス、ホッパーの下のスイベルマウント、リクライニングボトムを備えた家が建てられました。





そのため、フィードを追加する方がはるかに便利です。





当初は、都市公園にフィーダーを設置したかったのですが、電気と無線LANの問題のため、自宅に設置することが決定されました。 インストール自体:





















サイト


フィーダーは、 http://www.labinsk.ru/index.php?p = feeder&stream = mjpegで入手できます



サイトのサーバー側での実装に関するいくつかの言葉。

SMS-kamiでフィードを注ぐという最初のアイデアを拒否することにしました。 このプロジェクトはもともと商業目的ではありませんでした。 実際、利点は何ですか? そして、もちろん、食べ物がどのように注がれているのかを見るためにSMSメッセージを送信したい人はそれほど多くなく、鳥はそのような「懸念」に感謝しません。 したがって、ビデオブロードキャストのページ上のボタンをクリックするだけで、フィードを埋めることができます。 ユーザーが数時間でバンカー全体を空にするのを防ぐために、タイムアウトが導入されました。 現時点では、「フィード」ボタンは、前回のフィード充填の15分後にのみ使用できます。

まあ、それはすべて簡単に動作します。 ユーザーがボタンを押すと、phpスクリプトはステータス「未処理」のレコードをSQLテーブルに追加し、フィーダーは定期的にサーバーをポーリングし、別のphpスクリプトに切り替えます。 SQLテーブルでは、対応するレコードのステータス。 このように、フィーダーにコマンドを送信するのはサイトではありませんが、フィーダーは定期的にサイトに尋ねます。 最適な実装ではありませんが、シンプルです。 さらに、この場合、フィーダーのインターネット接続に静的IPアドレス(またはある種のDynDNS)は必要ありません。





















PS

飼育者は2か月間働いており、その間、鳥は約10リットルの餌(2箱)を食べました。 食品-ひまわりの種。



UPDビデオテストメカニズム。






All Articles