Atom Node
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
庭の土壌湿度を監視するアラームシステムを自作したいと思ったことはありませんか?早朝、ベッドで快適に横になっている間に、犬小屋を自動で開けて愛犬が暖かい日差しを楽しめるようにするデバイスが必要かもしれません。しかし、複雑なソフトウェアやハードウェアが障害となることがあります。そこで登場するのが Atom です。Atom は、これらの素晴らしい自作プロジェクトを実現するために、困難な道を切り開いてくれます。
Atom は、モノのインターネット(IoT)のノードです。単独で動作するだけでなく、他のデバイスと連携することもできます。Atom は拡張性が高く、使いやすい設計になっています。標準的な Grove インターフェースにより、さまざまなセンサーとの接続が可能です。Atom は、収集した豊富なデータをワイヤレスでアクチュエータに送信し、タスクをインテリジェントに実行します。さらに魅力的なのは、Android スマートフォンを使って簡単にすべてのタスクを設定できる点です。
Atom は、ワイヤレスデータ伝送とモバイル監視を特徴としています。標準的な Bee インターフェースを備えており、XBee、RFBee、Bluetooth Bee に接続してワイヤレス通信ネットワークを形成し、データを自動的に収集・管理します。また、Atom はさまざまなセンサーのデータをクラウドにアップロードすることができ、Web ブラウザを通じていつでもどこでもデータを簡単に分析することが可能です。
特徴
- モバイルデバイス/アプリ中心の設定
- オープンソース
- アドホックからメッシュまで柔軟なワイヤレスネットワークトポロジー
- 内蔵バッテリー
- 多様なインジケーターで動作状態を簡単に識別
- Skin-Skeleton-Gut(スキン-スケルトン-ガット)哲学
仕様
項目 | 典型値 | 単位 |
---|---|---|
USB供給電圧 | 4.75-5.25 | VDC |
待機電流(RF Bee接続時) | 25~40 | mA |
GPIO電圧 | 3.3 | V |
バッテリー容量 | 300 | mAH |
充電電流 | 300-500 | mA |
USBインターフェース | MICRO USB | / |
動作周波数 | 16 | MHz |
Grove供給電圧 | 3.3 | V |
出力電流(最大) | 500 | mA |
連続動作時間(最大) | 22 | h |
光センサー応答周波数 | 100 | Hz |
低バッテリー表示 | 3.71 | V |
光センサー応答周波数 | 100 | Hz |
RF BEE(seeed)通信距離(最大)屋外 | 200 | m |
Xbee(Xbee)通信距離(最大)屋外 | 30 | m |
Bluetooth Bee(seeed)通信距離(最大)屋外 | 20 | m |
Groveコネクタ | 3(IIC;UART;PWM) | / |
20ピンBeeソケット | Rfbee、Xbee、Bluetooth Bee互換 | / |
二色充電インジケーター | 緑/赤 | / |
二色ユーザーインジケーター | 緑/赤 | / |
ブザー周波数 | 2.7±0.3 | K |
トポロジー
Atom Nodeは、単独で使用するためのセンサー/アクチュエータコネクタを備えています。また、XBeeやその他のオープンなRF通信モジュールを使用することで、複数のノードを用いた多様なネットワークトポロジーでの通信にも対応しています。例えば以下のようなモードがあります:
1. 第1モード:
このモードでは、センサーとアクチュエータが1つのAtom Nodeに接続されています。Atom Nodeはセンサーデータを読み取り、アクチュエータを駆動して関連するアクションを実行するかどうかを判断します。使用例のデモ1はこのモードで動作します。
2. 第2モード:
このモードでは、センサーとアクチュエータが2つのAtom Nodeに接続されています。Atom Nodeは、別のAtom NodeからRFBeeを介して送信されたセンサーデータを受信し、自身のアクチュエータを駆動して関連するアクションを実行するかどうかを判断します。使用例のデモ2はこのモードで動作します。
3. 第3モード:
このモードでは、センサーが1つのAtom Node(ここではAtomSensorと呼びます)に接続されています。他のAtom Nodeは、AtomSensorからRFBeeを介して送信されたセンサーデータを受信し、自身のアクチュエータを駆動して関連するアクションを実行するかどうかを判断します。
構造
Nodeソリューションは、SSG(Skin Skeleton Gut)哲学に基づいて設計されています。
- Gut: 内部の電子部品
- Skeleton: 最小限のアルミフレームワークで、保護と固定を提供し、さまざまなセンサー/アクチュエータに対応するための十分な開口部を確保
製品サイズ: 82mm × 63.5mm × 17mm
素材: アルミニウム 5052
仕上げ: ブラック/シルバー アノダイズ加工
ハイライト機能: ヒンジ構造
部品の清潔さ: すべてのバリや鋭い角を除去。油分、汚れ、その他の汚染物質をすべて清掃。
これらのプロトタイプに期待しましょう...
ハードウェア
このシステムは、Atmel 32U4をメインチップとして採用しています。また、無線通信用の標準Beeインターフェースソケットを装備しています。3.3Vの電源を採用しており、外部電源インターフェースはMicro USBです。外部電源に接続すると、DC‐DC電圧調整回路(TD6810チップをベース)を通じて3.3Vに変換され、システム全体に電力を供給します。同時に、5V電源はCN3065充電管理ICを介してリチウムバッテリーを充電します。
U1: Atmel 32U4 IC、8ビットAVRマイクロコントローラ
U3: TD6810-ADJ IC、1.5MHz 800mA同期降圧レギュレータ
U4: CN3065 IC、充電管理チップ
Micro USB: リチウムバッテリーの充電およびプログラミング用
充電インジケータ: 充電中は赤色、充電完了時は緑色に点灯。外部電源に接続されていない場合やバッテリーが正常な状態の場合は点灯しません。低バッテリー状態(外部電源未接続時)では赤色に点灯します。
ユーザーインジケータ: 緑色の点滅はデータ送信を示し、赤色の点滅は初期化を示します。赤色の点灯は設定モードを示します。
光センサー: Androidデバイスが送信するエンコードされたパラメータを受信します。
ADCコネクタ: センサーを接続可能(IICコネクタではありません)。
PWMコネクタ: アクチュエータを接続可能(IICコネクタではありません)。
IICコネクタ: センサーまたはアクチュエータを接続可能(IICコネクタ)。
注意: 1つのAtom Nodeに同時に2つ以上のセンサー(またはアクチュエータ)を接続することはできません。
主な特徴
- Arduino互換MCU
- LiPoバッテリーと充電回路
- パラメータ設定用LED/LDR
- センサー/アクチュエータコネクタ
- XBee互換ソケット
- プログラミングおよび電源供給用Micro USBケーブル
- 低消費電力設計
ブロック図
ハードウェア設計説明
https://www.seeedstudio.com/wiki/images/1/1b/BeaconAtom_Hardware_Design_Analysis.pdf
Atom Nodeの概要
では、Atom Nodeの外観を見てみましょう。
ファームウェアとソフトウェア
ファームウェア
Atom Nodeにアップロードされたファームウェアは、センサーやアクチュエータを駆動することができます。 Atom Nodeで利用可能なセンサー:
ID | 名前 | 種類 | 制御モード |
---|---|---|---|
1 | Grove - ボタン | センサー | IO |
2 | Grove - チルトスイッチ | センサー | IO |
3 | Grove - ラインファインダー | センサー | IO |
4 | Grove - PIRモーションセンサー | センサー | IO |
5 | Grove - 赤外線反射センサー | センサー | IO |
6 | Grove - 磁気スイッチ | センサー | IO |
7 | Grove - タッチセンサー | センサー | IO |
8 | Grove - 赤外線距離インタラプター | センサー | IO |
9 | Grove - ホールセンサー | センサー | IO |
11 | Grove - 衝突センサー | センサー | IO |
12 | Grove - 湿度センサー | センサー | アナログ |
13 | Grove - 光センサー | センサー | アナログ |
14 | Grove - 回転角センサー | センサー | アナログ |
44 | Grove - 温度センサー | センサー | アナログ |
45 | Grove - 水センサー | センサー | アナログ |
46 | Grove - 80cm赤外線近接センサー | センサー | アナログ |
47 | Grove - 赤外線温度センサー | センサー | アナログ |
48 | Grove - スライドポテンショメータ | センサー | アナログ |
59 | Grove - 空気品質センサー1.0 | センサー | アナログ |
50 | Grove - 電気センサー | センサー | アナログ |
51 | Grove - アルコールセンサー | センサー | アナログ |
53 | Grove - 音センサー | センサー | IO |
54 | Grove - 超音波レンジャー | センサー | IO |
81 | Grove - デジタル光センサー | センサー | IIC |
82 | Grove - 気圧センサー | センサー | IIC |
102 | Grove - 温度&湿度センサーPro –T | センサー | ONE-Wire |
103 | Grove - 温度&湿度センサーPro –H | センサー | ONE-Wire |
110 | Grove - 赤外線受信機 | センサー | IR |
現在、ほぼすべてのセンサーを駆動することができます。このことから、ファームウェアが非常に強力であることがわかります。 Atom Nodeで利用可能なアクチュエータ:
ID | 名前 | 種類 | 制御モード |
---|---|---|---|
128 | Grove - リレー | アクチュエータ | IO |
129 | Grove - LED | アクチュエータ | IO |
135 | Grove - マルチカラー点滅LED (5mm) | アクチュエータ | IO |
136 | Grove - 可変カラーLED | アクチュエータ | IO |
137 | Grove - ブザー | アクチュエータ | IO |
138 | Grove - バイブレーター | アクチュエータ | IO |
201 | Grove - OLEDディスプレイ128*64 | アクチュエータ | IIC |
202 | Grove - OLED 96x96 | アクチュエータ | IIC |
223 | Grove - LEDバー | アクチュエータ | IO |
224 | Grove - 赤外線エミッター | アクチュエータ | IR |
ソフトウェア
Atom Nodeモジュールを構成するためのアプリケーションプログラムがあります。このプログラムはAndroidデバイス上で動作します。構成プロセス中、Androidデバイスの画面領域が点滅し、光感知トランジスタを介してAtom Nodeにエンコードされたパラメータを送信します。構成インターフェースは以下の通りです:
使用方法
Atom Node は、複数の Grove センサーやアクチュエータをサポートし、物理データを収集したり特定のアクションを実行したりすることができる、オープンソースの IoT ハードウェアソリューションです。Atom Node を使用する前に設定が必要です。設定後、複数のモジュールが RFBee を介してデータを無線で収集および送信できます。
ここでは、温度センサーを例にとり、Atom Node の使用方法を説明します。次のような動作を実現してみましょう:温度が 28 ℃ を超えると、ブザーが鳴るようにします。
準備作業: デバイスを使用するには、少なくとも RFBee/Xbee(Atom Node を 1 台だけ使用する場合は不要)と Android デバイス(Atom Node には含まれていません)が必要です。Atom Node を動作させるにはこれらが必須です。また、RFBee/XBee のボーレートが 57,600 に設定されていることを確認してください。そうでない場合は、独自の方法で設定を変更するか、ライブラリファイル: RFBee のデモを RFBee にアップロードしてください。その後、アプリケーションプログラムパッケージ: BeaconUI をダウンロードして Android デバイスにインストールしてください。
デモ 1: Atom Node を 1 台使用する
IFTTT モードで動作する Atom Node を使用して、以下の手順に従ってください:
RFBee を Bee ソケットに差し込みます。
Atom Node の片側にあるボタンを押して電源を入れます。反対側の LED が点灯します。その後、もう一度ボタンを押して Atom Node を設定モードにします。同時に、ユーザーインジケータが赤色に点灯します。
Atom Node アプリを開き、以下のインターフェースが表示されます:
- 右上隅のプラス記号をクリックしてデバイスを追加すると、選択パネルがポップアップします。
ここで、インターフェースについて簡単に説明します。
1) デバイス名: 任意の単語を入力できます。例: "Sensor-temperature" または好きな名前。
2) センサー: 使用するセンサーを選択します。
3) 残りの設定はアクチュエータ用です。アクチュエータが不要な場合は "NULL" を選択すると、残りのオプションは自動的に無視されます。
では、設定を行い、デバイス名を "temp" に設定しましょう。
- 以下の画像を参考にして、デバイス名に "temp" を入力します。"Sensor" で "Grove - Temperature" を選択し、"Actuator" で "Grove - Buzzer" を選択します。"Sensor Radio Frequency" で "Null" 以外のオプションを選択し、"if" 値を入力して "then" をオンにします:
- Android デバイスの画面に配置します。このとき、光センサーが画面に向いていることを確認してください。画面の明るさは約 35% に設定するのが望ましいです。
- 設定が完了すると、デバイスリストに表示されます。
- 温度センサーが 28 ℃ を超える値を読み取ると、ブザーが鳴ります。
デモ 2: Atom Node を 2 台使用する
IFTTT モードで動作する 2 台の Atom Node を使用する場合、以下の手順に従ってください:
Atom Node の ADC ポートに Grove - Temperature を接続し、RFBee(ボーレート 57,600)を Bee ソケットに差し込みます。
別の Atom Node の PWM ポートに Grove - Buzzer を接続し、RFBee を Bee ソケットに差し込みます。
Atom Node アプリを開き、右上隅のプラス記号をクリックします。デバイス名を "temp" に設定し、以下のように "sensor" で Grove - Temperature を選択します:
Atom Node の電源を入れ、ボタンを押して設定モードにします。その後、Android 画面に配置します。"Submit" をクリックすると、設定が開始されます。
1 台目の Atom Node の設定が完了すると、デバイスリストに表示されます。
- 次に、もう 1 台の Atom Node を設定し、同様に Grove - Buzzer を接続します。
アクチュエータを設定する際、アクチュエータの名前を設定します。その後、アクチュエータのトリガーソースを "Trigger from" で選択します。ここでは、先ほど設定したデバイス "temp" をアクチュエータのトリガーとして使用したいので、"Trigger from" のドロップダウンボックスで "temp" を選択します。他にも "If" や "then" などのトリガー条件やアクションがあり、特定の条件と対応するアクションをリンクさせることができます。なお、"If" 値は使用するセンサーのデータ型に従う必要があります。
- 2 台の Node の設定が完了すると、動作を開始します。その後、ユーザー LED が緑色に点灯しているのが確認できます。
作業状態の説明
**操作** | **状態** | **機能** |
---|---|---|
電源ボタンを押す | 電源LEDが点灯(青色) | Atom Nodeを起動する |
Atom Nodeを起動した後に電源ボタンを押す | 電源LEDが点灯(青色)、ユーザーLEDが点灯(未ペアリングの場合は赤色、ペアリング成功後は緑色で点滅) | 設定モードに入る |
設定モード中に電源ボタンを押す | 電源LEDが点灯(青色)、ユーザーLEDが消灯 | 設定モードを終了する |
電源ボタンを長押しする | すべてのLEDが消灯し、ブザーが鳴る | Atom Nodeをシャットダウンする |
電源ボタンをダブルクリックする | ユーザーインジケーターがオンまたはオフになる | ユーザーインジケーターをオン/オフする |
電源ボタンを4回クリックする | すべてのインジケーターが状態を保持 | データをクリアする |
Atom NodeをUSBケーブルでPCに接続する | 充電LEDが点灯(充電中は赤色、充電完了後は緑色)、電源LEDが点灯 | バッテリーを充電する、またはファームウェアを更新する |
ファームウェアのアップグレード
デバイスを接続し、ドライバーをインストールする
- Atom Node Driver File をダウンロードして保存します。
- Micro-USBケーブルをAtom Nodeに接続し、もう一方のMicro-USBコネクタをコンピュータのUSBポートに接続します。
- 新しいハードウェアのプロンプトを待ちます。インストーラーが自動的に起動しない場合は、Windowsデバイスマネージャーに移動し、Seeeduino Liteのリストを見つけます。
- 右クリックして「ドライバーの更新」を選択します。自動インストールまたは特定の場所からインストールするかを尋ねられたら、「コンピュータ上のドライバーソフトウェアを参照」を選択します。
- 「これらの場所で最適なドライバーを検索する」を選択し、「検索にこの場所を含める」チェックボックスをオンにします。「参照」ボタンをクリックして、ダウンロードしたドライバーの場所に移動します。ドライバーフォルダーを選択し、OKをクリックします。
ファイルの修正: boards.txt と USBCore.cpp
Arduino-1.0.1/hardware/arduino/ディレクトリを開き、新しいUSBCore.cpp でUSBCore.cppファイルを置き換えます。
また、Arduino-1.0.1/hardware/arduinoパス内のboards.txtファイルを新しいboards.txtで置き換えます。
必要なライブラリファイルとAtom.Nodeファームウェアをダウンロードする
最新のAtom.Nodeファームウェア: https://github.com/reeedstudio/Atom_Node
最新のAtom.Nodeライブラリ: https://github.com/reeedstudio/Atom_Node_Libraries
Arduino IDEを使用してプログラムをアップロードする
Atom.NodeファームウェアファイルのAtom_Node.inoを開きます。
Arduino環境のツール | ボードメニューからSeeeduino Nodeを選択します。そして正しいポートを選択します。
コードをコンパイルしてアップロードします。
これでファームウェアのアップグレードが完了しました。
回路図オンラインビューア
リソース
技術サポート & 製品ディスカッション
弊社製品をお選びいただきありがとうございます!お客様の製品体験がスムーズに進むよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。