発情検知実験を続けています①

2024612日
 by ノルドマルク

 

公共牧場への入牧もやっと終盤を迎え、発情検知の実験も準備が整ってきました。弊社では台湾のメーカーと協力して、北海道で3か所、九州で1か所、台湾で3か所の牧場で実験を行っています。

放牧牛端末開発にはいくつかの「越えなければならない壁」があります。まず大前提として端末は夏季放牧期間中電池がもたなければなりません。適正な送信間隔を維持しつつ、電池が6カ月間はもたなければなりません。公共牧場などではそうそう簡単に牛を捕まえて、首輪の付け替えなどできません。弊社の「うしみる首輪1号」は20分毎の送信間隔で約6カ月間電池がもちました。まあ「最低限の基準はクリアできた」というところです。それでも700頭近く放牧している牧場にとって、夏季放牧前の電池交換は大変な人手と時間を要しました。

 

次なる壁は端末の堅牢性です。弊社が実験をさせていただいている斉藤牧場は、開拓団が割り当てられた石だらけの山に切り開いた牧場です。牛の活動量は他の公共牧場とは比較にならないほど多く、牛は人の背丈ほどある笹の中や、谷の中を突き進んでいきます。端末は石にゴリゴリこすられたり、水飲み場では水没したりもします。そんな環境でも問題なく動作する端末でなければなりません。弊社では様々な環境の牧場で実験を続けることにより、より堅牢な「うしみる首輪2号」をリリースすることとなりました。

 

3つ目の大きな壁は牛舎から5㎞など遠くにいる牛の発情をどのように検知するかという点でした。「つなぎ飼い牛の発情検知システムはいくつもあるのに、放牧牛の発情検知システムはほとんど見かけない」というのは、「遠くにいる牛からのデータ送信の難しさ」に理由があります。発情検知には体温などによるものもありますが、加速度センサーを使ったものが多いです。LoRa方式では3軸加速度センサーのデータを、1秒間に10回送るというような用途には向きません。「では4Gなど使えばよいのでは?」という質問も承りますが、それでは端末の電池がもちません。とんでもなく大きな電池を内蔵した端末を牛にとりつけることになってしまいます。動態判別には大量にデータが必要となりますが、特殊なデータ圧縮技術を使い送信するという方法もあります。しかし弊社と台湾のメーカーでは「端末にシゴトをさせる」という途を選びました。ただその前にまずはイチから「加速度センサーによる動態判別」の実験をやらなければなりませんでした。

 

1. 通信機能なしの三軸加速度センサーロガーを放牧牛に取付け、データをログする

2. 同時に牛のビデオを撮り続ける

3. 持ち帰ったビデオを牛の動態(採食、反芻、横臥、歩行)に時間ごとに仕分ける

4. ログしたデータをある式にあてはめ、上記動態と比較を行う

 

データ取りは134時間程度何日も行います。「最初の一歩」の実験となりますが、まずまず3軸加速度センサーで牛の動態判別が高精度で行うことができるということが理解できました。

 


 

※発情検知実験を続けています②に続く

旭川北部でも入牧が始まります

2024522
by ノルドマルク

 

こちら旭川北部は旭川市内より降雪量が多いです。積雪の少なかった昨年より雪解けは1週間ほど遅れたようです。こちらの牧場は旭川北部の小高い丘の上にあり、北海道民の私でも「これが北海道だな」と感じるような景色が広がります。

この牧場にも5月最終週には80頭程度の牛が農家さんの手をはなれて入牧します。こちらの牧場では弊社の発情検知システムの実験にご協力いただいています。

つなぎ飼いの牛と異なり、放牧牛の発情検知には越えなければならない技術的ハードルがいくつかあります。そのため放牧牛の発情検知に参入している会社は世界的にも多くはありません。少しのデータをできるだけ遠くまで飛ばすLoRa通信環境下においては、三軸加速度センサーの三軸それぞれの値を1秒間に10回飛ばすようなことは容易ではありません。弊社ではその膨大なデータを圧縮技術の力技でデータをサーバーに送るのではなく、首輪につけてある端末に「シゴトをさせる」ことによって、発情を検知できるようなシステムを開発しています。肉牛、乳牛、放牧地の起伏などによっても牛の活動量は異なります。弊社ではそれぞれの環境において、異なるタイプの牛の発情を検知できるよう柔軟なアルゴリズムを開発中です。

 

 

この広々としたさわやかな牧場に牛たちが入ってくる日が待ち遠しい今日この頃です!

ThingsBoard でトラッカーの位置情報を表示する

2021年03月15日
by RAMBO

 

前回のMetabaseによるデータ可視化に続いて、今回はTnigsBoardを紹介します。

ThingsBoardとは、オープンソースのIoTプラットフォームで、データを収集し、可視化できます。
一般的な可視化ツールと違い、データベースをシステム内に持ち、そこにデータが保管されるため、データベース設計が不要となります。

サンプルとして位置情報を取得し、OpenStreetMap上へプロットされるダッシュボードを作成してみます。

Amazon EC2 上に構築したThingsBoard Community Edition を使用しています。

 


1. ログイン

ブラウザでThingsBoardのURLにアクセスし、ログインします。

 

2. デバイスの追加

左側メニューから[デバイス]を選択します。
「デバイス」の画面が表示されます。
[+]をクリックし、表示されるリストから[新しいデバイスを追加する]を選択します。

「新しいデバイスを追加する」ダイアログが表示されます。
デバイスの名称を入力し、[追加]をクリックします。

デバイスが登録されます。

をクリックします。

「デバイス資格情報」ダイアログが表示されます。
アクセストークンをメモし、[キャンセル]でダイアログを閉じます。

3. データの送信

ThingsBoard の REST API を使用してデータを送信します。
今回は実際のデバイスではなく、Windows PCからの curl コマンドでデータを送信してみます。

緯度・経度と温度を送ってみます。
送信するデータは次のJSONです。


{
"latitude": 43.692332,
"longitude": 142.513703,
"temperature": 35
}

送信する curl コマンドは次になります。

「XXX.XXX.XXX.XXX」はIPアドレス、「PPPP」はポート番号、「AAAAAAAAAAAAAAAAAAA」はデバイスのアクセストークンに置き換えてください。


curl --request POST --header "Content-Type:application/json"  --data "{\"latitude\": 43.692332, \"longitude\": 142.513703, \"temperature\": 35}" http://XXX.XXX.XXX.XXX:PPPP/api/v1/AAAAAAAAAAAAAAAAAAA/telemetry

ThingsBoard の「デバイス」画面で、追加したデバイスをクリックします。
表示される「デバイスの詳細」画面で、[最新テレメトリ]をクリックします。

上記 curl コマンドを実行すると、最新テレメトリにデータが表示されます。

4. ダッシュボードの作成

左側メニューから[ダッシュボード]を選択します。
「ダッシュボード」の画面が表示されます。
[+]をクリックし、表示されるリストから[新しいダッシュボードを作成…]を選択します。

「ダッシュボードを追加」ダイアログが表示されます。
タイトルを入力し、[追加]をクリックします。

ダッシュボードが登録されます。

をクリックします。

空のダッシュボードが表示されます。
右下の編集アイコンをクリックします。

エンティティエイリアスアイコンをクリックします。

「エンティティエイリアス」ダイアログが表示されます。
[エイリアスを追加する]をクリックします。

「エイリアスを追加する」ダイアログが表示されます。
下記のように設定します。

設定したら、[追加]をクリックします。

「エンティティエイリアス」ダイアログに戻ります。
[セーブ]をクリックします。

 

[+ 新しいウィジェットを追加]をクリックします。

「ウィジェットを選択」画面が表示されます。
現在のバンドルで Maps を選択し、
時系列から Route Map – OpenStreetMap を選択します。

「ウィジェットを追加」ダイアログが表示されます。
[データ]でデータソースを追加し、[追加]をクリックします。

ダッシュボードの編集画面に戻ります。
作成したMapのウィジェットが表示されるので、curl コマンドでデータを送信してみます。
マーカーがプロットされることを確認し、保存アイコンをクリックします。

以上でサンプル作成については終了です。

今回はMap上にマーカーをプロットしましたが、他にもいろいろな可視化用ウィジェットが用意されています。 リアルタイムにデータを確認する用途ではなかなか使えるのではないでしょうか。