亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

用三星 SAMIIO、Arduino UNO 和 Raspberry Pi 在几分钟内制作一个火灾探测器

让我们构建一个物联网设备,使用 SAMI 的 WebSockets 将火焰传感器数据发送到 SAMI。物联网设备由现成的传感器、Arduino UNO 和 Raspberry Pi 组成。

在这个实现中,简单清单用于快速创建新的设备类型。然后您就可以轻松地将物联网设备连接到 SAMI,并开始从设备向 SAMI 发送传感器数据。

先决条件

”'对于本教程,您应该熟悉 基本 SAMI API ”'

架构

下面的紫色图显示了高级架构:

我们使用以下硬件组件:

我们将编写以下软件:

立即下载软件。

”'如果您没有 Raspberry Pi,您仍然可以完成本教程。将 Arduino UNO 连接到具有 Internet 连接的计算机,然后在计算机上运行 Node.js 脚本,而不是在 Raspberry Pi 上运行。”

第 1 步:创建并连接新的设备类型

转到开发者门户以创建私有设备类型。

  1. 首先,登录 SAMI 开发人员门户。如果您没有三星帐户,可以在这一步创建一个。
  2. 点击“+ 新设备类型”。
  3. 将此设备类型命名为“火焰传感器”并为其指定唯一名称,例如“com.example.iot.flame”。
  4. 点击“创建设备类型”。这将创建设备类型并带您进入设备类型页面。

现在让我们为我们的“火焰传感器”设备类型创建一个清单。

  1. 点击左栏中的“火焰传感器”。
  2. 点击“清单”,然后点击“+新版本”。
  3. 输入“onFire”作为字段名称,输入“Boolean”作为数据类型。
  4. 点击“保存”,然后点击“下一步:操作”。
  5. 绕过本教程的操作并点击“保存新清单”。

”'一个简单的清单被自动批准。请勿发布此设备类型,因为它仅用于教程目的。”'

最后去用户门户连接一个新的火焰传感器设备:

  1. 登录 SAMI 用户门户。
  2. 在仪表板上,单击以连接新设备。
  3. 选择您刚刚创建的“火焰传感器”设备类型。
  4. 点击“连接设备...”。您将被带回仪表板。
  5. 点击您刚刚添加的设备的设置图标。在弹出窗口中,点击“生成设备令牌...”。
  6. 复制此屏幕上的设备 ID 和设备令牌。您将在代码中使用这些。

第 2 步:设置 Arduino

现在让我们将传感器连接到 Arduino。

两个传感器的接线方式如上图所示。

接下来,上传 Sketch 程序 (read_flame_sensor.ino ) 使用 Arduino IDE 连接到 Arduino UNO。此代码从 IR 火焰传感器读取一个数字值,然后每 5 秒将其发送到串行端口(您可以稍后在代码中更改此参数,因为 SAMI 对每天的消息数量有速率限制)。对于数字读数,“0”表示检测到火灾,“1”表示没有火灾。

这是read_flame_sensor.ino .代码很简单。

//读取之间的延迟
const int delayBetweenReads =5000;//5s

// 对于火焰检测器 senso const intflameDigitalPinIn =2;

无效设置(){

// 初始化串行通信@9600 波特:

Serial.begin(9600);

pinMode(flameDigitalPinIn, INPUT);

}

void loop() {

// HIGH(1) 表示没有检测到火灾

// LOW (0) 表示检测到火灾

intflameDigitalReading =digitalRead(flameDigitalPinIn); Serial.println(String(flameDigitalReading));

延迟(延迟之间读取);

}

第 3 步:设置树莓派

将您的 Raspberry Pi 连接到显示器、鼠标和键盘。确保以太网或 WiFi 连接正常工作,并确保操作系统是最新的:

  1. $ sudo apt-get 更新
  2. $ sudo apt-get 升级

如果尚未安装,请为 ARM 安装 Node.js,然后添加包 serialportws 通过 npm:

  1. $ npm install serialport
  2. $ npm install ws

现在将Arduino的串口连接到Raspberry Pi上的USB。

最后,下载 Node.js 代码(send_data_to_sami.js ) 到树莓派。将代码中的占位符替换为您从用户门户收集的设备令牌和设备 ID。

Node.js 代码也在下面给出。它在 Raspberry Pi 和 SAMI 之间建立了双向 WebSocket 连接。 WebSocket 连接打开后,register() 方法向 WebSocket 注册设备。代码每次从串口读取一个数据点,然后封装成消息,通过WebSocket发送给SAMI。

var webSocketUrl =“wss://api.samsungsami.io/v1.1/websocket?ack=true”;
var device_id =“”; var device_token =“”;

var isWebSocketReady =false; var ws =null;

var serialport =require(“serialport”)

var SerialPort =serialport.SerialPort;

var sp =new SerialPort(“/dev/ttyACM0”, {

波特率:9600,

解析器:serialport.parsers.readline(“\n”)

});

var WebSocket =require('ws');

/**

* 以毫秒为单位获取当前时间

*/

函数 getTimeMillis(){

返回 parseInt(Date.now().toString());

}

更多细节:用三星 SAMIIO、Arduino UNO 和 Raspberry Pi 在几分钟内制作一个火灾探测器


制造工艺

  1. 使用 Raspberry Pi 的简单 DIY 婴儿哭闹检测器
  2. 带有 Raspberry Pi 和湿度传感器的 Aeroponics
  3. 使用 Raspberry Pi 和 Python 构建机器人
  4. 使用 Arduino 和 Raspberry Pi 构建您的 Internet 控制的视频流机器人
  5. 带有伊斯兰祈祷时间的 Arduino 时钟
  6. 使用 Arduino 和 Android 设备控制 Roomba 机器人
  7. 使用 Arduino UNO 在 LCD TFT 屏幕上显示图像!
  8. 使用 Arduino 和 MPU6050 控制伺服电机
  9. u-blox LEA-6H 02 GPS 模块,带有 Arduino 和 Python
  10. 使用 Arduino 进行语音识别和合成
  11. 使用 Arduino Uno 控制 LED 矩阵
  12. 4x4x4 LED 立方体,带有 Arduino Uno 和 1sheeld