概述
这是我个人第二次接触Arduino(ESP8266)这块板,再此之前的话使用的是Arduino R1,R1是没有自带ESP8266的,建议大家选单片机的时候选Arduino有自带ESP8266,这样就可以少走弯路,省了很多代码。
1、首先,我们先在电脑下载并安装Arduino IDE,大家可以去Arduino中文社区下载自己想要的版本https://www.arduino.cn/,因为我之前使用过一次这个软件,就不需要再去进行安装驱动,不懂驱动安装的同学可以去网上看看教程,这里就不教大家安装驱动。
2、接下来就要安装ESP8266Arduino开发环境,打开 文件->首选项->附加开发板管理器网址 这里输入http://arduino.esp8266.com/stable/package_esp8266com_index.json,确定后建议关闭软件重新开启再使用。
图1
接下来就是下载对应的开发板,打开 工具->开发板->开发板管理器 查找ESP8266,选择你想要的版本安装就可以,安装过程较久,大家耐心等待就好,不要中途觉得卡了就关了界面进入重新下载,我就是在这折腾了几次,浪费了些时间。
图2
3、开发环境搭建好后,直接使用库ESP8266WiFi,以下代码就能使ESP8266连接上家里WiFi。
#include <ESP8266WiFi.h>
static WiFiClient espClient
#define WIFI_SSID "wenwen" //替换自己的WIFI名
#define WIFI_PASSWD "88888888" //替换自己的WIFI密码
void setup()
{
Serial.begin(115200);
//连接到wifi
wifiInit(WIFI_SSID, WIFI_PASSWD);
}
void loop()
{
}
//wifi 连接
void wifiInit(const char *ssid, const char *passphrase)
{
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, passphrase);
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
Serial.println("WiFi not Connect");
}
Serial.println("Connected to AP");
}
4、成功连接WiFi,接下来就是连接上我们阿里云物联网创建的产品,这里需要用到几个接入阿里云的库AliyunIoTSDK库、crypto库、PubSubClient库,打开 项目->加载库->库管理器 安装完这三个库后就算完成了接入阿里云的环境配置。
图3
安装好以上几个库,要想接入到物联网的产品还需要提供产品的三元组。
图4
程序中写入自己三元组信息。
图5
调用一系列ESP8266和阿里云的SDK函数,让客户端连接到阿里云,当然也包含了复杂的密码认证等,在setup()函数中加入这条语句即可接入到你对应的设备。
AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
5、最后就是Arduino单片机如何向阿里云物联网设备进行发送信息和接收信息。
在loop()函数中加入以下代码,AliyunIoTSDK::send()是发送信息到阿里云的函数,body_temperature是设备的标识符,wendu是你要发送的变量,这里要注意,数据类型要一样,不然会报错。
AliyunIoTSDK::loop();
if (millis() - lastMsMain >= 5000)
{
lastMsMain = millis();
// mqttCheckConnect();
// messageBufferCheck();
AliyunIoTSDK::send("body_temperature", wendu);
}
在setup()函数中加入以下代码, AliyunIoTSDK::bindData()是回调信息的函数,可以获取设备当前标识符的值,led为标识符,LED为函数名。
AliyunIoTSDK::bindData("led", LED);
LED的函数代码如下
//LED控制亮灭函数
void LED(JsonVariant L)//固定格式,修改参数l
{
int LED = L["led"];//参数l
LED_kg=LED;
if (LED == 0)
{
digitalWrite(ledPin, LOW);
}
else
{
digitalWrite(ledPin, HIGH);
}
Serial.printf("收到的led是:");
Serial.println(LED);
}
图6
配置完以上这些,就可以做各种各样的小产品了(●'◡'●)!!!!!!!!其实挺简单的,自己做的时候走了不少弯路,网上查阅了挺多资料和视频,希望我的小总结能帮助到你。
最后
以上就是健壮紫菜为你收集整理的基于Arduino(ESP8266)与阿里云物联网产品开发基础教程的全部内容,希望文章能够帮你解决基于Arduino(ESP8266)与阿里云物联网产品开发基础教程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复