Atom 节点
你可能想要自己动手制作一个报警系统来监测花园中的土壤湿度。当你清晨还舒适地躺在床上时,你可能需要一个设备,它可以自动打开狗舍,让你的狗狗出来享受温暖的阳光。然而,复杂的软件和硬件让你望而却步。现在,Atom来了,它扫清了荆棘和障碍,帮助你完成这些奇妙的自制项目。
Atom 是物联网中的一个节点。它不仅可以独立工作,还可以与其他设备协同工作。Atom 具有高度的扩展性且易于使用。标准的 Grove 接口允许连接不同的传感器。Atom 智能地完成任务:收集的大量数据通过无线方式传输到执行器。更令人着迷的是,你只需通过设置你的安卓手机即可完成所有任务。
Atom 具有无线数据传输和移动监控功能。配备标准 Bee 接口,Atom 可以连接到 XBee、RFBee 和 Bluetooth Bee,形成无线通信网络,自动收集和管理数据。Atom 还可以将不同传感器的数据上传到云端,使您可以随时随地通过网页浏览器方便地分析数据。
特性
- 以移动设备/应用为中心进行配置
- 开源
- 从 Ad-hoc 到 Mesh 的灵活无线网络拓扑
- 内置电池
- 多种指示器,易于区分工作状态
- 皮肤-骨架-核心哲学
规格
项目 | 典型值 | 单位 |
---|---|---|
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 | 小时 |
光敏传感器响应频率 | 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) | / |
20Pin Bee 插座 | 兼容 Rfbee、Xbee、Bluetooth Bee | / |
双色充电指示灯 | 绿色/红色 | / |
双色用户指示灯 | 绿色/红色 | / |
蜂鸣器频率 | 2.7±0.3 | K |
拓扑结构
Atom Node 配备了传感器/执行器连接器,可单独使用。通过 XBee 或其他开放式 RF 通信模块,当多个设备一起使用时,它也可以在多种网络拓扑中进行通信。例如:
1. 第一种模式:
在这种模式下,传感器和执行器连接到一个 Atom Node。Atom Node 读取传感器数据,并决定是否驱动执行器执行相关动作。使用中的示例 1 就是以这种模式运行。
2. 第二种模式:
在这种模式下,传感器和执行器分别连接到两个 Atom Node。一个 Atom Node 接收另一个 Atom Node 通过 RFBee 发送的传感器数据,并决定是否驱动自身的执行器执行相关动作。使用中的示例 2 就是以这种模式运行。
3. 第三种模式:
在这种模式下,传感器连接到一个 Atom Node(我们称之为 AtomSensor)。其他 Atom Node 接收 AtomSensor 通过 RFBee 发送的传感器数据,并决定是否驱动自身的执行器执行相关动作。
结构设计
Node 解决方案的设计遵循 SSG(皮肤-骨架-内脏)哲学。
- 内脏(Gut):内部电子元件
- 骨架(Skeleton):一个最小化的铝框架,用于保护和固定,同时留有足够的开口以适配各种传感器/执行器
产品尺寸:82mm * 63.5mm * 17mm
材料:铝合金 5052
表面处理:黑色/银色阳极氧化
突出特点:铰链结构
零件清洁度:去除所有毛刺和尖角。清除所有油污、灰尘或其他污染物。
让我们期待这些原型……
硬件设计
系统采用 Atmel 32U4 作为主芯片,并配备标准 Bee 接口插座用于无线通信。它采用 3.3V 电源供电,外部电源接口为 Micro USB。当连接外部电源时,通过基于 TD6810 芯片的 DC‐DC 可调电路转换为 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 接口)。
注意: 一个 Atom Node 不能同时连接两个或多个传感器(执行器)。
关键特性
-
兼容 Arduino 的 MCU
-
配备锂电池及充电电路
-
LED/LDR 用于参数设置
-
传感器/执行器连接器
-
兼容 XBee 的插座
-
Micro USB 用于编程和供电
-
低功耗设计
框图
硬件设计说明
https://www.seeedstudio.com/wiki/images/1/1b/Beacon_Atom_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 - 酒精传感器 | 传感器 | 模拟 |
目前它几乎可以驱动所有传感器。由此可见,该固件功能强大。 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 传感器和执行器,用于收集物理数据并执行某些操作。在使用之前,需要对 Atom Node 进行配置。配置完成后,多个模块可以通过 RFBee 无线收集和传输数据。
我们以温度传感器为例来说明 Atom Node 的使用。让我们尝试实现以下功能:当温度超过 28 ℃ 时,蜂鸣器会发出声音。
准备工作: 使用该设备时,至少需要一个 RFBee/Xbee(如果只使用一个 Atom Node,则不需要)和一个 Android 设备(Atom Node 不包含 Android 设备)。如果希望 Atom Node 正常工作,这些是必需的。此外,请确保 RFBee/XBee 的波特率设置为 57,600。如果不是,您需要修改配置,可以使用自己的方法或上传 库文件:RFBee 的示例到 RFBee。然后下载 应用程序包:BeaconUI 并安装到 Android 设备上。
示例 1:使用一个 Atom Node
现在使用一个处于 IFTTT 模式的 Atom Node,按照以下步骤操作:
-
将 RFBee 插入 Bee 插座。
-
按下 Atom Node 一侧的按钮以打开设备。另一侧的 LED 会亮起。然后再次按下按钮,使 Atom Node 进入配置模式。同时,用户指示灯变为红色。
-
打开 Atom Node 应用程序,您可以看到以下界面:
- 点击右上角的加号以添加设备,会弹出一个选择面板。
让我们暂停一下,简要介绍界面。
-
设备名称:可以是任何单词,例如 "Sensor-temperature" 或您喜欢的任何单词。
-
传感器:选择一个传感器。
-
其余配置用于执行器。如果不需要执行器,请选择 NULL,其余选项会自动忽略。
现在让我们进行配置,并将设备名称设置为 "temp"。
- 如下图所示,输入 "temp" 作为设备名称。在 "Sensor" 中选择 "Grove - 温度传感器",在执行器中选择 "Grove - 蜂鸣器"。在 "Sensor Radio Frequency" 中选择除 "Null" 之外的任何选项,输入 "if" 值并选择 "then":
- 将设备放置在 Android 设备屏幕上。注意光传感器面向屏幕。屏幕亮度最好设置为大约 35%。
- 我们已经完成了配置,现在可以在设备列表中看到它。
- 一旦温度传感器读取的值超过 28 ℃,蜂鸣器将发出声音。
示例 2:使用两个 Atom Node
使用两个处于 IFTTT 模式的 Atom Node,您可以按照以下步骤操作:
-
将 Grove - 温度传感器连接到 Atom Node 的 ADC 端口,并将一个 RFBee(波特率 57,600)插入 Bee 插座。
-
将 Grove - 蜂鸣器连接到另一个 Atom Node 的 PWM 端口,并将一个 RFBee 插入 Bee 插座。
-
打开 Atom Node 应用程序。点击右上角的加号。我们将设备名称设置为 "temp",并在 "Sensor" 中选择 Grove - 温度传感器,如下所示:
-
打开 Atom Node 并通过按下按钮进入配置模式,然后将其放置在 Android 屏幕上。点击 "Submit"。它将开始配置。
-
完成一个 Atom Node 的配置后,您可以在设备列表中看到它。
- 然后以类似方式配置另一个 Atom Node,连接 Grove - 蜂鸣器。
在配置执行器时,设置执行器的名称。然后在 "Trigger from" 中选择执行器的触发源。我们希望使用之前配置的设备 "temp" 来触发执行器,因此我们应该在 "Trigger from" 的下拉框中选择 "temp"。还有一些其他触发条件和动作,例如 "If" 和 "then",它们可以帮助您建立某个条件与相应动作之间的链接。顺便提一下,"If" 值应始终遵循您使用的传感器的数据类型。
- 当两个节点配置完成后,它将开始工作。然后您可以看到用户 LED 为绿色。
工作状态描述
操作 | 状态 |
---|---|
按下电源按钮 | 电源指示灯将亮起(蓝色) |
在 Atom Node 开机后按下电源按钮 | 电源指示灯亮起(蓝色),用户指示灯将亮起(如果未配对,用户指示灯为红色;成功配对后,用户指示灯为绿色并闪烁) |
在配置模式下按下电源按钮 | 电源指示灯亮起(蓝色),用户指示灯将关闭 |
长按电源按钮 | 所有指示灯将关闭,蜂鸣器将发声 |
双击电源按钮 | 用户指示灯将关闭或打开 |
四击电源按钮 | 所有指示灯保持当前状态 |
使用 USB 数据线连接 Atom Node 到电脑 | 充电指示灯将亮起(充电时充电指示灯为红色,充电完成后充电指示灯为绿色),电源指示灯将亮起 |
固件升级
连接设备并安装驱动
- 下载 Atom Node 驱动文件 并保存。
- 将 Micro-USB 数据线连接到 Atom Node,并将另一端连接到电脑的 USB 端口。
- 等待新硬件提示。如果安装程序未自动启动,请导航到 Windows 设备管理器并找到 Seeeduino Lite 列表。
- 右键点击并选择更新驱动程序。当询问是自动安装还是从特定位置安装时,选择“浏览我的电脑以查找驱动程序软件”。
- 选择“在这些位置搜索最佳驱动程序”,并勾选“在搜索中包含此位置”选项。点击浏览按钮并导航到您下载的驱动文件夹。选择驱动文件夹并点击 确定。
修改文件:boards.txt 和 USBCore.cpp
-
打开 Arduino-1.0.1/hardware/arduino/cohttps://files.seeedstudio.com/wiki/Atom_Node/res/arduino 目录,用 新的 USBCore.cpp 文件 替换 USBCore.cpp 文件。
-
并用 新的 boards.txt 文件 替换路径 Arduino-1.0.1/hardware/arduino 中的 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,并选择正确的端口。
-
编译并上传代码。
现在您已经完成了固件升级。
原理图在线查看器
资源
技术支持与产品讨论
感谢您选择我们的产品!我们致力于为您提供多种支持,以确保您使用我们的产品时获得最佳体验。我们提供多个沟通渠道,以满足不同的偏好和需求。