こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
アバディーンからロンドンまでのUK全土を自転車で縦断する"Tour de Branch"募金活動自動車レースにおいて、私たちは、2つの "Polaris" ボードを使用してRSコンポーネンツチームの車両追跡を行なった。今回の活動でチームは、Children With Cancer UKに寄付する250,000ポンドを調達した。
本記事では、車両追跡の他にも天気および大気質のデータの収集も行なったPolarisボードによる本プロジェクトの詳細をご紹介しよう。
Tour de Branchにおいて、Pythonでプログラミング可能なハードウェアプラットフォーム "Polaris" で、1つのダッシュボードから、どのようにして複数の車両の追跡に成功したかを説明する。
概要
まず今回は、MikroE Environment click (168-2993) とAir Quality 5 clickを搭載した、Zerynthでプログラムされた、Pythonプログラマブルな2つのPolarisボードを使用した。
Tour de Branchでの12日間、Polarisボードを2台の自転車に搭載することで、誰でもRSチームの位置を追跡できるようなシステムの設計を行なった。位置情報だけでなく、天気の状態と大気質のデータの取得にも成功した。
画像にあるように、筐体とPolarisは小さくして利便性を高めている。自転車のサドルの後ろに納まるように設計されているのがわかるだろう。Polarisの筐体とその他装備のケースは、Design Spark Mechanicalを使って、このレースのために作成した。ソースファイルはGitHubでダウンロードできるので、必要であれば誰でもプリントすることが可能だ。
ハードウェア
私たちが使用したハードウェアは以下の通りだ。
- 2 Polaris ボード,今回は 3Gバージョン (Fortebit P/N: POL-3G)
- 2 Polaris 外部アンテナ (Fortebit P/N: OT2-AN)
- 2 LiPo バッテリー, 今回は "Polaris 3G kit with battery" に付属している2500 mAh バッテリーを使用 (キット内容: Polaris 3G ボード, アルミのケース, GPS/Glonass/GSM アンテナ, メインコネクタケーブル, 2500 mAh LiPo バッテリー)
- 2 Click ボード: “Air quality 5 click”を片方の箱に、 “Environment click”をもう片方の箱に収納した
- 2 Bivar PLP2シリーズLED照明パイプ (713-4725)
- 2 Lumberg電源シャーシソケット (124-8897)
- 20 M3ねじ (8mm長) と 20 拡張インサート (027-8534)
- 2 3Dプリント製ボックス、以下に詳細を記載
Polarisボードは、もうじきFortebit shopで買えるようになるというのだから嬉しいかぎりだ。
コード
Polarisは、Zerynth環境においてPythonでプログラムすることができる。Tour de BranchのRS1チームのために開発されたPyhonのコードは、ボード上のセンサーと外部のセンサーからセンサーデータを読み、それを5秒おきにFortebit Cloudにあげるというものだ。
ボード上のセンサーからは、充電率・IMU(慣性計測装置)・ピッチ角・GPS位置情報そして速度のデータが得られる。また外部センサー、ボードにマウントしたclick boardからは、気温・湿度・気圧や、NO2・CO・NH3のデータが得られる。
PolarisにはSIMカードが挿入されている。インターネットサービスプロバイダを利用して3G接続を確立することでインターネットへの接続を可能にするコードを、Python Zerynth modemライブラリを利用して記述した。
ひとたび接続が確立されると、コードは IoT Fortebit Cloud Python ライブラリを利用して、要求されたデータをMQTT通信プロトコルでFortebit Cloudに送信する。
デモのPythonソースコードはGitHubでダウンロード可能だ。
ダッシュボード
下の画像は、レース中、ダッシュボードがどのように見えるかを示している。Polarisのおかげで、誰もが正確にいつでも2台の自転車を追跡することができる。このダッシュボードから、RSチームがどのくらいの速さで進んでいるかや、他のチームに近づいているかどうか、そして次のRSの支店まであとどのくらいの距離があるかがわかる。
片方のPolarisボードは、気温・湿度・気圧のデータを取得し、ダッシュボードへの表示を行なった。もう片方のボードは大気質を記録した。
ダッシュボードには、それぞれのボードのバッテリー状態と、バッテリーが充電中か、充電中でないか、あるいは満充電状態かという情報も表示した。
また、Polaris RS 1を地図上で赤のアイコンで表示し、RS 2をグレーのアイコンで表示した。これらの色はそれぞれ、実際のカバーの色と合わせている。
位置マーカーの上のラベルは、以下を表している。
- デバイスがデータを送信中ならば青
- 直近数分以内に送信されたデータがないならば黄色
- 直近数時間以内に送信されたデータがなければ赤
左の地図には、データが送信されているかいないかにかかわらず、デバイスの最新の位置が示されている。
スクリーンの右側は2つのセクションに分割されており、遠隔測定された最新のデータのプロットが表示されている。例えば速度や、デバイスのバッテリー、その他センサーデータが表示されている。
地図上のデバイスアイコンをクリックするか、デバイスセクションのタイトルの右にある小さなボタンをクリックすると、データ履歴が表示されている2番目のダッシュボードのページに移動する。
地図上に表示されているルートは、選択したタイムフレーム(右上の角にある時計型のボタン)と、遠隔測定されたデータの表に関連づけられている。
またページ上部にある表の行をクリックすることで、表示するデバイスを即座に変更することもできる。
間もなく我々は、これと同じように使いやすい、 fleet managementのためのクラウドサービスをリリースする予定だ。
Tour de Branchで収集したデータ
All raw collected data are available on GitHub:
今回私たちが収集したすべてのデータを、GitHubのページで取得できる。
https://github.com/fortebit/Polaris_Tour_de_branch_Data
Gas levels,単位 “ppm” であらわされているガス濃度の値は、定性的な指標であることに注意してほしい。校正された測定器により得られる正確な値と比較できるものではない。
DesignSpark Mechanical で設計した筐体
GoPro ハンドルバーマウントにフィットするよう設計した、Polaris用の筐体の図を、下の画像に示す。
DesignSpark Mechanical software のおかげで、空気を筐体内に取り込みPolaisのclick boardまで到達させるようにしたいというコンセプトを、3Dですばやく設計・実現することができた。
ケースの蓋は外部アンテナを支え、ケース本体はボードとバッテリーを納める。パイプは、PolarisボードのLEDの光を、筐体の外に排出するために利用される。
最終成果物を下の画像に示す。
もちろん、これのDSMファイルはダウンロード可能となっており、必要であれば修正も可能だ。あるいは3Dプリンタでプリントしてみてもいい。
リソース
- Polaris Tracker (Fortebit website)
- Python source code (GitHub)
- DSM case design (GitHub)
- Collected RAW data (GitHub)
- DS Mechanical Software (DesignSpark)
- Zerynth IDE (DesignSpark)