基于esp8266和Android studio的智能灯控制及APP开发(三)
 发布时间 
 阅读量: 
 阅读量 
本篇使用arduino实现esp8266ESP8266模块连接WiFi,并与阿里云建立连接。
一、arduino配置esp8266开发环境
首先下载Arduino开发环境,并采用Arduino IDE 2.3.2版本进行操作。在下载完成后直接进行安装,在安装过程中,请注意检查USB驱动选项是否已勾选;通常情况下,默认状态已经选择了。
然后在文件-首选项-开发板管理器地址,添上下面的网址。
http://arduino.esp8266.com/stable/package_esp8266com_index.json

打开工具–开发板-开发板管理器,搜索esp或esp8266,然后选择版本,安装。

下载完成后,在开发板管理器中会提供 esp8266 作为选项,请您找到您所需的一款设备。为了方便使用,请将 esp8266 设备连接至电脑上,并确保选择相应的端口配置。

二、编写程序
本程序使用的头文件如下:
 #include <ESP8266WiFi.h>
    
 #include <ArduinoJson.h>
    
 #include <AliyunIoTSDK.h>
        连接物联网平台的代码:
 #define PRODUCT_KEY "xxxx"//请用自己的参数替换
    
 #define DEVICE_NAME "xxx"//请用自己的参数替换
    
 #define DEVICE_SECRET "xxxx"//请用自己的参数替换
    
 #define REGION_ID "cn-shanghai"
        连接WiFi的代码
 #define WIFI_SSID "xxxx"//请用自己的参数替换
    
 #define WIFI_PASSWD "xxxxx"//请用自己的参数替换
        wifi_Init初始化
 void wifiInit(const char *ssid, const char *passphrase)
    
 {
    
     WiFi.mode(WIFI_STA);//esp8266工作模式为无线终端模式
    
     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 powerCallback(JsonVariant p)
    
 {
    
     int PowerSwitch = p["OF"];
    
     if (PowerSwitch == 1)
    
     {
    
     //看是否会响应云平台的内容
    
     Serial.println("OF=1  ");
    
      digitalWrite(LED_BUILTIN, LOW);   // Turn the LED on (Note that LOW is the voltage level
    
     AliyunIoTSDK::send("OF", 1);
    
     }
    
     else
    
     {
    
     //是否会响应平台的内容
    
     Serial.println("OF=0");
    
      digitalWrite(LED_BUILTIN, HIGH);  // Turn the LED off by making the voltage HIGH
    
     AliyunIoTSDK::send("OF", 0);
    
     }
    
 }
        程序写好后编译并上传。
三、测试
当esp8266正常联结WiFi及阿里云网络后,平台将显示设备已处于在线状态。启动在线调试模式后,请通过手动切换开关观察指示灯是否按照预期工作。
全部评论 (0)
 还没有任何评论哟~ 
