以下是演示视频的物联网物品目录介绍:准备工作、操作步骤、配置配置、三效展示。总结介绍:实现万物互联的第一步,点亮一盏千里之灯,然后加入你想要的模块。接下来,我们输入文本。
学会了用ESP8266上传温度,湿度等。到阿里云平台比较早,所以想起了万物互联,想先做点智能家居的事情。我通过查阅资料找到了Blinker(易物联网)。这是演示视频。
Esp8266物联网
文章前言1、准备工作2、操作步骤1、闪光灯配置2、ESP8266配置3、效果展示总结
前言实现万物互联的第一步是点亮一盏千里灯,然后加入你想要的模块。接下来,我们进入正文。
1.准备ESP8266开发板温湿度传感器MQ-3传感器土壤湿度传感器有机发光二极管显示灯、继电器、风扇舵机稳压模块电池。
这些是必需的硬件和软件。如果需要Arduino ide和手机APP点亮Blinker App,可以直接从应用商城下载。
二。操作步骤1。Blinker配置步骤1添加独立设备。在这里,选择网络访问,然后将生成一个密钥。保存这个密钥,然后我们会使用它。接下来,我们可以对其进行相应的配置,并选择您需要的组件。您也可以添加所需的组件。这是Blinker的配置,基本完成了。接下来,我们进入ESP8266。
2.ESP8266配置。具体配置我就不多说了。很简单。这里我直接附上源代码。
# define linker _ wifi # define linker _ miot _ light//# define linker _ without _ SSL//非SSL加密通信访问,保存堆栈*/#include #include //加载舵机库# include # include # include servomeservo;//定义舵机对象# Define sensor _ Pin 0int servo 1 = 16;//IO14(D5),用于控制舵机int servo _ open = 70//舵机打开开关的角度可以自己测试。改变合适的角度int servo _ close = 0;//舵机闭合开关的角度#define LED 2 //板上的灯#define LE 14 //板上的灯浮动米虎_读取= 0,温度_读取= 0,val,土壤_数据= 0;//以下3项需要根据实际情况填写char auth[]= * * * * * * * * *”;Blinker App提供的密钥char ssid[]= * * * * * * * * *;// wifi名称charpswd[]= * * * * * ";// wifi密码//新建组件对象blinker button button 1(" BTN -ABC ");//注意:BlinkerButton Button2("btn-ab ")应与APP组件的数据键名一致;//注意:Blinker Button按钮3 ("BTN-ABCD ")应与APP组件的数据键名一致;//注意:BlinkerButton Button4("btn-a ")应与APP组件的数据键名一致;//注意:BlinkerNumber HUMI(“num -e”)应与APP组件的“数据键名”一致;BlinkerNumber TEMP(" num -d ");BlinkerNumber MQ(" num -n ");blink number T(" num -z ");# define DHT pin 5//# define DHTTYPE DHT 11//DHT 11 DHT DHT(DHT pin,DHTTYPE);void hear beat(){//反馈温度数据SOIL _ DATA =模拟量read(sensor _ pin);//模拟数据读取(A0引脚输入的数据)385-1024 soil _ data -= 385;//0-639 soil _ data/= 6.39;//0.00-100.00,改为百分比soil _ data = 100 -soil _ data;//修改为百分比越大,湿度越大。int analog value = analog read(A0);val = 0;HUMI.print(米虎_ read);//反馈湿度数据temp . print(temp _ read);MQ . print(val);T.print(土壤_数据);} void button 1 _ callback(const String & state){ BLINKER _ LOG("获取按钮状态: ",state);digitalWrite(LED,!数字阅读(LED));} void button 2 _ callback(const String & state){ BLINKER _ LOG("获取按钮状态: ",state);digitalWrite(LE,数字读取(LE));} void button 3 _ callback(const String & state){ BLINKER _ LOG("获取按钮状态: ",state);if(state = = " on "){ my servo . write(servo _ open);//反馈开关状态按钮1 . print(" on ");} else if(state = = " off "){ my servo . write(servo _ open);//反馈开关状态按钮1 . print(" off ");} } void button 4 _ callback(const String & state){ BLINKER _ LOG(" get button state:",state);if(state = = " on "){ my servo . write(servo _ close);//反馈开关状态按钮1 . print(" on ");} else if(state = = " off "){ my servo . write(servo _ close);//反馈开关状态按钮1 . print(" off ");} }void setup() {//初始化串口,打开调试信息。Serial.begin(115200)可以删除调试;Wire.begin(12,13);OLED . init();// Initialze SSD1306有机发光二极管显示器OLED . clear display();//清屏oled.setTextXY(0,0);//设置光标位置,第0行开始OLED . putstring(" Temp:* C ");oled.setTextXY(1,0);//设置光标位置,第1行开始oled.putString("米虎:% ");oled.setTextXY(2,0);//设置光标位置,第2行开始OLED . putstring(" soil:dS/m ");oled.setTextXY(3,0);//设置光标位置,第2行第10个字符OLED . putstring(" c7h 8:mg/m3 ");BLINKER_DEBUG.stream(串行);//初始化IO pinMode(LED,输出);digitalWrite(LED,低);//当led初始化为高电平时,灯以pinMode熄灭(LE,输出);digitalWrite(LE,高);//当led初始化为高电平时,在myservo.attach(servo1)状态下灯灭;//将指定的io设置为servo my servo . write(servo _ close);//控制舵机旋转到指定角度//初始化blinker blinker.begin (auth,ssid,pswd);button 1 . attach(button 1 _ callback);button 2 . attach(button 2 _ callback);button 3 . attach(button 3 _ callback);button 4 . attach(button 4 _ callback);Blinker.attachHeartbeat(心跳);DHT . begin();} void loop(){ blinker . run();float h = DHT . read weather();float t = DHT . read temperature();oled.setTextXY(0,5);//设置光标位置OLED . putstring(" ");oled.setTextXY(0,5);OLED . put number(float(t));oled.setTextXY(1,5);//设置光标位置OLED . putstring(" ");oled.setTextXY(1,5);OLED . put number(float(h));oled.setTextXY(2,5);//设置光标位置OLED . putstring(" ");oled.setTextXY(2,5);OLED . put number(float(soil _ data));oled.setTextXY(3,5);//设置光标位置OLED . putstring(" ");oled.setTextXY(3,5);OLED . put number(float(val));/* if(isnan(h)| | isnan(t)){ BLINKER _ LOG("从DHT传感器读取失败!");} else { BLINKER_LOG("湿度: ",h," % ");BLINKER_LOG("温度: ",t," * C ");BLINKER_LOG("MQ:",val," % ");BLINKER_LOG("T:",soil_data," % ");*/米虎_里德= h;temp _ read = t;//}}代码非常简单易懂。遵循代码中的注释即可。
三、效果展示可以将温湿度、土壤湿度、甲烷浓度上传到你的手机APP上,即使远在千里之外也可以实时查看。
总结万物互联这个术语听起来很有趣。写这个博客一方面是为了记录自己的学习生活,另一方面也是为了帮助那些有需要的同学为自己做一个备份。走吧。这里给大家一个信息:生活就像一个存钱罐,你付出的每一份努力都会在未来的某一天得到回报。岁月笑掷,未来可期。只有努力工作,我们才能有一个光明的未来。加油!
评论前必须登录!
注册