Arduino - 基于网络的温度计
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
关于这个项目
如果您是初学者,可以在Arduino-Wifi和Arduino-DS18B20温度传感器教程中了解wifi和传感器
我在这里只使用 PHPoC 做了一个类似的项目。
演示
数据流
Arduino ---> PHPoC WiFi Shield ---> 网络浏览器
Arduino 从传感器读取温度并将温度值发送到 PHPoC WiFi Shield。 PHPoC WiFi Shield 接收到温度值后,通过 websocket 将其发送到 Web Browser。 JavaScript 函数在 UI 上可视化温度值。
注意: PHPoC shield 有一个内置程序可以将数据从 Arduino 传递到 Web 浏览器。因此,我们不需要关心它。
我们需要做什么
- 为 PHPoC shield 设置 WiFi 信息(SSID 和密码)
- 将新 UI 上传到 PHPoC shield
- 编写 Arduino 代码
为 PHPoC Shield 设置 WiFi 信息
请参阅此说明。
将新的 Web UI 上传到 PHPoC Shield
- 下载 PHPoC 源代码 remote_thermometer.php(在代码部分)。
- 根据此说明使用 PHPoC 调试器将其上传到 PHPoC shield。
编写 Arduino 代码
- 安装以下三个库:用于 Arduino、OneWire 和达拉斯温度的 PHPoC 库(参见说明)。
- 将 Arduino 代码(在代码部分)上传到 Arduino
测试
- 单击 Arduino IDE 上的串行按钮以查看 IP 地址。
- 打开网页浏览器,输入
http://
replace_ip_address
/remote_thermometer.php
- 点击连接按钮并进行测试。
适合初学者的最佳 Arduino 入门套件
如果您正在寻找 Arduino 套件,请参阅适合初学者的最佳 Arduino 套件
函数参考
- Serial.begin()
- Serial.println()
- 延迟()
- millis()
- for 循环
- while 循环
- 否则
- 循环()
- 设置()
- String.toInt()
- String.substring()
- String.indexOf()
- String.remove()
- String.equals()
代码
- Arduino 代码
- remote_thermometer.php
Arduino 代码Arduino
#include#include #include "SPI.h"#include "Phpoc.h"// 数据线插入ArduinoOneWire oneWire(8)的端口8;达拉斯温度传感器(&oneWire);PhpocServer server(80);boolean alreadyConnected =false;无效设置(){ Serial.begin(9600);而(!串行);传感器开始(); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket("温度计"); Serial.print("WebSocket 服务器地址:"); Serial.println(Phpoc.localIP()); }void loop() { // 当客户端发送第一个字节时,说你好: PhpocClient client =server.available();如果(客户端){sensors.requestTemperatures();浮动温度=sensors.getTempCByIndex(0); String txtMsg =String(temp) + "\r\n"; char buf[txtMsg.length()]; txtMsg.toCharArray(buf, txtMsg.length()); server.write(buf, txtMsg.length());延迟(300); }}
remote_thermometer.phpPHP
该文件提供网络用户界面。根据描述的说明将此文件上传到 PHPoC Wifi Shield 或 PHPoC Shield。Arduino - PHPoC Shield - Thermometer
Arduino - 网络温度计
WebSocket :null
示意图
1. 在 Arduino 上堆叠 PHPoC wifi shield 或 PHPoC shield2.如下图接线


制造工艺