ESP8266与Arduino的那些事 |
您所在的位置:网站首页 › stm32和arduino2560哪个性能好 › ESP8266与Arduino的那些事 |
大家好,我是#猫神様のメモ帳# 我的高考终于结束了,虽然有点迟,但今天我们来聊一聊ESP8266的编程开发。 ESP8266是内置超低功耗 Tensilica L106 32 位 RISC 处理器,CPU 时钟速度最高可达 160 MHz,支持实时操作系统 (RTOS) 和 Wi-Fi 协议栈,可将高达 80% 的处理能力留给应用编程和开发。ESP8266专为移动设备、可穿戴电子产品和物联应用设计,并与其他几项专利技术一起使机器实现最低能耗。为满足移动设备和可穿戴性电子产品的功率需求,ESP8266在近距离时可以通过软件编程减少PA的输出功率来降低整体功耗,以适应不同的应用方案。 这么高级的WIFI MCU的发布对于IOT来说是一个巨大的里程碑,它成功地使物联网成本从100元以上下降至不到20元,那么,介绍了这么多,也该说说ESP8266的开发了。有人说,我没有开发过ESP8266,不会用它的开发环境,更不知道如何用SDK。不用担心,只要你会用Arduino写代码,就OK了喵。 1.esp8266 环境安装 首先,我们来安装Arduino里面的ESP8266环境 1.先打开Arduino,选择【文件】>【首选项】,在附加开发板管理器网址中复制一下内容:{http://arduino.esp8266.com/stable/package_esp8266com_index.json},然后点击{好}。 2.现在选择【工具】>【开发板】>【开发板管理器】,在搜索框中输入ESP8266,就可以找到开发板了,随即,不用说的喵,安装。 3.安装完成后查看例程 到此为止,ESP8266环境就安装完成了喵。 2.esp8266 wifi配置 接下来,我们来说说如何使用WIFI。 在Arduino中,要使用ESP8266联网,一共只需要6行代码,四步。 1.调用库 #include 2.设置WIFI SSID和密码 const char* ssid = "SSID"; const char* password = "Password"; 3.设置WIFI模式 WiFi.mode(WIFI_STA); 4.设备自连 WiFi.begin(ssid, password); 当然,如果你是刚刚开始,建议加上串口显示信息。 #include const char* ssid = "SSID"; const char* password = "Password"; void setup() { Serial.begin(115200); //配置串口,波特率115200 delay(10); Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { //等待连接完成 delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); //显示连接信息 Serial.print("IP address: "); Serial.println(WiFi.localIP()); Serial.print("SSID: "); Serial.println(ssid); Serial.print("Password: "); Serial.println(password); } void loop() { } 到此为止,WIFI配置就完成了 3.esp8266 http client应用 1.Arduino中使用API接口的方式有很多,但最直接的就是基于http的方式了。 *API接口简单来说就是服务器用于提供信息的接入点,可获取如JSON和XML等格式的天气、交通、污染指数等信息 Arduino中的http函数也非常好用: 1.首先调用函数 #include 2.配置函数 HTTPClient http; 3.发送请求 String a=“http://flash.weather.com.cn/wmaps/xml/nanjing.xml”; http.begin(a); /*这里我就直接用我制作天气预报显示屏所使用的XML格式的API接口 *P.S 定义的a是一个用于存储API地址的变量,也可指直接调用http.begin(“http://flash.weather.com.cn/wmaps/xml/nanjing.xml”); */P.P.S API接口格式前一定要加{http://},否则无法解析。 4.获取反馈数据 String payload; int httpCode = http.GET(); if (httpCode == HTTP_CODE_OK) { payload = http.getString(); } 这样,就完成了全部流程,当然,如果你想在你的代码中多次调用,也可以将其封装为一个函数,如下 注意:不要忘记头文件这样,函数就封装完成了喵。 4.esp8266 oled显示屏使用 在我制作天气预报显示屏时,显然要用到显示屏,我用的是IIC接口的0.96寸OLED显示屏,这个显示屏使用方便,调用简单。但用它要选择好函数库,建议使用Adafruit_ssd1306syp这个库。下载链接{https://pan.baidu.com/s/118bqbNXLWabG_GcHmdQtcg} 这个库的好处在于可以指定SDA和SCL,不需要一定使用硬件IIC接口,特别适合ESP8266这种有些模块引脚较少的硬件使用(UP最初做显示屏时用的是ESP-01模块哦) 安装好库文件后查看例程, Adafruit_ssd1306syp例程下面来介绍代码: 重要代码如下: display.update(); //画面更新,也就是保存更改,在你制定显示内容后一定要调用此函数才能显示 display.clear(); //清空显示 display.setTextColor(WHITE); //设置颜色(白色,取决于你的显示屏) display.setTextColor(BLACK, WHITE); //反白,白底黑字 display.setTextSize(1); //设置字号 display.print("123"); //打印文字,不换行 display.println(“123”); //打印文字,换行 display.println(0xDEADBEEF, HEX); //以HEX格式输出 display.drawLine(0, 0, 127, 63,WHITE); 画线,从坐标(0,0)画直线到坐标(127,63) /****************************************/ 1.定义管脚,配置函数 #include #define SDA_PIN 8 #define SCL_PIN 9 Adafruit_ssd1306syp display(SDA_PIN,SCL_PIN); 2.启动显示 display.initialize(); 3.显示文字 display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Hello, world!"); display.update(); 4.清屏 display.clear(); /*********************************分割线**************************/ 到此为止,ESP8266的基础教程也就结束了喵,喜欢的话可以点个关注哦,如果有想要看关于ESP8266的其他内容的教程可以留言或私信我喵,谢谢大家的阅读。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |