完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是我个人第二次接触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 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 配置完以上这些,就可以做各种各样的小产品了(●'◡'●)!!!!!!!!其实挺简单的,自己做的时候走了不少弯路,网上查阅了挺多资料和视频,希望我的小总结能帮助到你。 |
|
|
|
只有小组成员才能发言,加入小组>>
2553 浏览 0 评论
1152浏览 2评论
750浏览 1评论
504浏览 0评论
269浏览 0评论
433浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 23:06 , Processed in 1.410510 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号