在本指南中,您将学习如何使用Itead 的 SONOFF 设备以 5 美元的价格控制任何 110-240V 设备。与市场上售价 30 美元的 WiFi 智能插头相比,SONOFF 是打造智能家居甚至更大规模工业物联网项目的绝佳选择。此外,它基于流行的 ESP8266 Wi-Fi 芯片,使其兼容 Arduino 环境和其他资源,例如我们在 Ubidots 的 ESP 库。
SONOFF 带有自己的固件和移动应用程序,但我们认为它的主要价值实际上在于其外形尺寸和低价格。这就是为什么我们决定进行一些黑客攻击并释放其全部力量的原因!
SONOFF 包含一个继电器、一个 ESP8266 WiFi 芯片和通过电源插座的交流线为其供电所需的电路。它还有一个漂亮的包装,让它看起来比家里的普通 DIY 项目更专业。
1.拆开SONOFF设备,这是为了访问SONOFF TTL引脚,我们需要对板载ESP8266进行编程。您需要焊接四个引脚,如下图所示。
2. 将 UARTbee 引脚连接到 SONOFF 引脚,遵循此引脚分配:
3. 在 Arduino IDE 中,点击Files -> Preferences并将此 URL 输入Additional Boards Manager URLs字段,以便能够访问 ESP8266 的 Arduino 库:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
该字段支持多个 URL。如果您已经输入了其他 URL,请用逗号分隔它们。
4.从Tools -> Board菜单打开Boards Manager并安装 ESP8266 平台。安装后,转到“工具”>“电路板”菜单并选择电路板:通用 ESP8266 模块。
5.在这里下载UbidotsMicroESP8266库
.
6. 现在,点击Sketch -> Include Library -> Add .ZIP Library。
7. 选择 UbidotsMicroESP8266 的 .ZIP 文件,然后点击 “Accept”或“Choose” 。
8. 关闭 Arduino IDE 并再次打开。
1. 登录您的Ubidots帐户。
2. 转到 Sources 并单击 橙色加号。
3. 将名称设置为数据源。
4. 为中继创建一个新变量。
5. 复制变量 ID。
现在,要控制 SONOFF 设备,您需要在您的 Ubidots 帐户中创建一个按钮小部件。此小部件会将您的 RELAY 变量设置为“1”或“0”:
1. 转到 仪表板并单击 橙色加号。
2. 点击 Control -> Switch ,选择Data source和Variable to control之前创建的。
这是打开/关闭 SONOFF 设备的代码,要使用此代码,请不要忘记将 TOKEN 和 ID 更改为您的 Ubidots 帐户令牌和我们刚刚创建的变量 ID。使用您的网络凭据更改 WIFISSID 和 PASSWORD。
要将代码上传到 SONOFF,您需要:
1. 将 UARTbee 连接到 PC 的 USB。
2.按下SONOFF的按钮,同时拔掉USB。
3. 按住按钮的同时,再次连接 USB。
这些步骤旨在使 SONOFF 进入编程模式。
准备就绪后,从 Arduino IDE 上传代码:
#include "UbidotsMicroESP8266.h"
#define ID "223e6b1176254235a7xxxxx" // Put here your Ubidots variable ID
#define TOKEN "bbN8FrVulRYGuPTkaaaiR9Myxxxxx" // Put here your Ubidots TOKEN
#define WIFISSID "WiFi_SSID"
#define PASSWORD "WiFI_PASSWORD"
#define RELAY 12
#define LED 13
Ubidots client(TOKEN);
void setup(){
Serial.begin(115200);
delay(10);
pinMode(RELAY, OUTPUT);
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
client.wifiConnection(WIFISSID, PASSWORD);
}
void loop(){
float value = client.getValue(ID);
Serial.println(value);
if (value == 1.00) {
digitalWrite(RELAY, HIGH); //On relay
digitalWrite(LED, LOW); //On led
}
if (value == 0.00) {
digitalWrite(RELAY, LOW); //Off relay
digitalWrite(LED, HIGH); //Off led
}
}
现在是时候通过将 SONOFF 添加到它们中来使它们变得“智能”了;控制你的灯,打开或关闭你的车库等。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !