基于LINUX的ESP8266学习实践

ESP8266的项目是基于搭建LINUX环境下完成的,本人也是LINUX小白。首先是搭建虚拟机环境,我是安装20.04版本的Ubuntu,代码编译软件是VSCODE.大家可以自行下载安装软件,可以参考下方链接:ubuntu虚拟机安装,关注河神呵一呵这个UP主,然后就能够输出第一行hello world,之后连接阿里云服务器,可参考以下链接ESP8266物联网系统实现实时温度监测与远程RGB彩灯颜色控制,就能远程控制RGB彩灯。关于LINUX环境下如何新建工程可以参考以下链接:乐鑫ESP8266环境搭建以及工程结构认识。
一:基于LINUX框架下的编译步骤:
1:先进入自己的工程路径 cd~esp8266-iot/oled
2:. path.sh(注意.后有空格)设置路径
3:./install.sh
4:. ./export.sh
5:cd example/peripherals/gpio/进入要编译的文件路径
6:idf.py build 编译
7:idf.py menuconfig(调整DIO,保存) 配置烧录串口
8:sudo chmod 777 /dev/ttyUSB0 设置权限
9:idf.py flash 烧录
10:idf.py monitor 监控
二:远程连接阿里云服务器总结:
1:进入esp_8266_iot/ds18b20/compoents/include/app_wifi.h修改WiFi的ssid(名字)和pass(密码),点击保存
2:进入app_mqtt.h中修改(根据自己电脑修改)
ProductKey:gf56ZPU6uBm
DeviceName:My_Test
DeviceSecret:4403730b62af23127c8dbeafa17747d9
password:FD35F277747CD45EF1BAC533D020A4BB
clientId和deviceName一样,method改为hmacmd5
修改后的代码如下:

 //阿里云连接信息
#define My_Host "gf56ZPU6uBm.iot-as-mqtt.cn-shanghai.aliyuncs.com"
#define My_ClientID "My_Test|securemode=3,signmethod=hmacmd5|"
#define My_UserName "My_Test&gf56ZPU6uBm"
#define My_Password "FD35F277747CD45EF1BAC533D020A4BB"
//Topic
#define My_SubTopic "/sys/gf56ZPU6uBm/My_Test/thing/service/property/set"
#define My_PubTopic "/sys/gf56ZPU6uBm/My_Test/thing/event/property/post"
extern esp_mqtt_client_handle_t my_client;

修改后的WiFi代码如下:

#define EXAMPLE_ESP_WIFI_SSID      "a206"
#define EXAMPLE_ESP_WIFI_PASS      "a206a206"

3:打开阿里云点击设备,看到设备在线状态,点击查看物模型状态,点击实时刷新,即可查看温度
4:点击监控运维下的在线调试,选择设备修改设备名称,设置即可
三:远程连接虚拟机时VSCODE配置
1:在虚拟机终端中输入ifconfig查询IP地址
2:在VSCODE打开小电视图标,点击+号,输入此IP地址,回车,然后依次点击LINUX,Continue,在右边输入User abc1(abc1为用户名),Ctrl+s别忘了,即可看到左下角显示已连接到虚拟机
四:OLED显示城市天气
1:打开官方例程esp8266-iot
2:打开components/include/app_http_h,添加#define Nanchang “101240101”,具体代码如下:

#include "sys/socket.h"
#include "esp_http_client.h"
#include 

#define APPID "17769781"
#define APPSECRET "5IbudTJx"
#define Shenzhen "101280601"
#define Guangzhou "101280101"
#define Nanchang "101240101"
#define My_http_host "www.tianqiapi.com"  //把双引号内的host 改成你实际的host
#define My_http_path "free/day"  //把双引号内的path 改成你实际的path
#define MY_http_url "http://www.tianqiapi.com/free/day?appid=" APPID "&appsecret=" APPSECRET "&unescape=1&cityid=" Nanchang

城市ID号查询可查看我的另一篇博客
3:OLED取字模
使用软件PCtoLCD2002完美版,这个软件的下载链接中景园OLED提取码:0jhj
先发表第一篇博客,后续会持续更新,欢迎关注!

你可能感兴趣的:(linux,ubuntu,阿里云)