从arduino板开始做到阿里云app控制–WeMos D1或ESP8266连接阿里云文章合集及源代码

近期不断有麻油问我要源代码,就不遮掩了,粘贴到此处,复制粘贴即可。前提是arduino环境搭建好。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
 * 这是使用wemos d1模块连接阿里云的代码,亲测成功
 * 注意阿里云设备三元素一定要用自己的替代,这个代码中用的是例子,XXXX,SSSS之类的并非真实信息

*/

#include <ESP8266WiFi.h>

static WiFiClient espClient;
#include <ArduinoJson.h>

#include <AliyunIoTSDK.h>
AliyunIoTSDK iot;

#define PRODUCT_KEY "a1XXXXXXK"//请用自己的参数替换
#define DEVICE_NAME "light1"//请用自己的参数替换
#define DEVICE_SECRET "Ivx0qO3lSSSSSSSSSSSSSez0w6JlVsc"//请用自己的参数替换
#define REGION_ID "cn-shanghai"

#define WIFI_SSID "TP-LINK_SSSSS"//请用自己的参数替换
#define WIFI_PASSWD "ssssssss"//请用自己的参数替换


void wifiInit(const char *ssid, const char *passphrase)
{
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, passphrase);
    WiFi.setAutoConnect (true);
    WiFi.setAutoReconnect (true);
    while (WiFi.status() != WL_CONNECTED)//如果没有连接上,就循环尝试,一定要等到连接成功
    {
        delay(1000);
        Serial.println("WiFi not Connect");
    }
    Serial.println("Connected to AP");
}

void setup()
{
    pinMode(LED_BUILTIN, OUTPUT);     //可参考BLINK程序,看LED_BUILTIN定义
 
    Serial.begin(115200);//初始化串口波特率是115200

    wifiInit(WIFI_SSID, WIFI_PASSWD);//这就是调用前面的函数

    AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);//这句话就可以调用一系列ESP8266和阿里云的SDK函数,让客户端连接到阿里云,当然也包含了复杂的密码认证等
   
    // 绑定属性回调
    AliyunIoTSDK::bindData("LightSwitch", powerCallback);
}

unsigned long lastMsMain = 0;
void loop()
{
    AliyunIoTSDK::loop();
    if (millis() - lastMsMain >= 5000)
    {
        lastMsMain = millis();
    }
}


void powerCallback(JsonVariant p)
{
    int PowerSwitch = p["LightSwitch"];
    if (PowerSwitch == 1)
    {
        //看是否会响应云平台的内容
        Serial.println("Switch=1  ");
         digitalWrite(LED_BUILTIN, LOW);   // Turn the LED on (Note that LOW is the voltage level
 
    }
    else
    {
        //是否会响应平台的内容
        Serial.println("Switch=0");
         digitalWrite(LED_BUILTIN, HIGH);  // Turn the LED off by making the voltage HIGH
 
    }
}

硬件:

软件:

1.win7 x64系统

2.arduino 1.8.9

文章列表

1.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(一)---实验目的和器材

2.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(二)---WeMos D1介绍

3.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(三)---D1 wifi模块连接网络

4.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(四)---阿里云物联网平台使用基础

5.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(五)---MQTT.fx模拟设备连接阿里云

6.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(六)---arduino库AliyunIoTSDK分析

7.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(七)---为编程环境添加依赖库

8.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(八)---对d1模块编程

9.使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(九)---制作APP

非常遗憾的是,在写完制作APP的文章之后,阿里云IOT Studio平台已经“暂时”不提供制作APP的功能了。

臆测一下,可能是被依靠制作APP收取高额费用的同行的指责。因为制作APP所需费用不菲,而且大多数的物联网应用APP,并不需要特别复杂的功能,阿里云做出来一个如此简单的工具,会打破很多人的饭碗。

不过好消息是阿里云关上了这扇门,但是同时为我们打开了一扇窗。

这扇窗就是阿里云“生活物联网”平台。多了“生活”二字。大家不妨试一下。

用起来就好像是在阿里云“之家”上面,增加了一个符合阿里云规范的设备一样。简直是惊喜。强烈推荐。

深入交流