arduino Uno+arduino D1 实现 阿里云物联网控制+IIC总线通信点灯

本文介绍了如何使用arduino Uno和D1通过IIC总线通信实现灯光控制,并结合阿里云物联网平台进行设备创建和在线调试。首先,详细说明了硬件连线图,然后提供了主机和从机的Arduino代码。接着,逐步指导了在阿里云物联网平台上创建产品、设备的过程,并利用在线调试功能验证设备连接。最后,提到了使用IoT Studio进行阿里云web可视化的初步步骤。

连线图

①由于arduino D1在Fritzinig中没找到,用一个arduino代替一下((ˉ▽ˉ;)…强行改名字)
②三块板子的SCL连在一起,SDA连在一起。
在这里插入图片描述

代码

主机代码(arduino D1):

#include <ESP8266WiFi.h>//安装esp8266arduino开发环境
#include <Wire.h>  //声明I2C库文件
#include <AliyunIoTSDK.h>//引入阿里云 IoT SDK
//需要安装crypto库、PubSubClient库
static WiFiClient espClient;

//设置产品和设备的信息,从阿里云设备信息里查看
//物联网平台→实例概览→公共实例→设备管理→设备→查看→DeviceSecre(右边的查看)
#define PRODUCT_KEY     "*********"//替换自己的PRODUCT_KEY
#define DEVICE_NAME     "*********"//替换自己的DEVICE_NAME
#define DEVICE_SECRET   "*********"//替换自己的DEVICE_SECRET
#define REGION_ID       "cn-shanghai"//默认cn-shanghai

//设置连接WiFi信息
#define WIFI_SSID       "*********"//自己的WIFI名称(热点同样)
#define WIFI_PASSWD     "*********"//自己的WIFI密码
//-------------------------------------------------------------------------
unsigned long lastMsMain = 0;
char a; //从机LED1状态,用于发送到云平台
char b; //从机LED2状态,用于发送到云平台
//-------------------------------------------------------------------------
void setup()
{
   
   
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);

  //连接到wifi
  wifiInit(WIFI_SSID, WIFI_PASSWD);

  //初始化 iot,需传入 wifi 的 client,和设备产品信息
  AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);

  //绑定一个设备属性回调,当远程修改此属性,会触发LED函数
  AliyunIoTSDK::bindData("LED", LED);//主机的板载LED
  AliyunIoTSDK::bindData("LED1", LED1);//从机1的板载LED
  AliyunIoTSDK::bindData("LED2", LED2);//从机2的板载LED
  Wire.begin(); // 加入 i2c 总线,作为主机
}
//-------------------------------------------------------------------------
void loop()
{
   
   
  AliyunIoTSDK::loop();//必要函数

  if (millis() - lastMsMain >= 2000)//每2秒发送一次
  {
   
   
    lastMsMain = millis()
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值