本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
1、 Esp8266之 搭建开发环境,开始一个“hellow world”串口打印。
6 、Esp8266之 了解 SmartConfig与Airkiss一键配网,给8266配网上云端。无需把wifi名字密码写在固件里。
9、 Esp8266进阶之路第一篇: [小实战上篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
10、 Esp8266进阶之路第二篇: [小实战下篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
扫描二维码关注公众号,回复: 891837 查看本文章11、 Esp8266进阶之路第三篇: 8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!
12、 Esp8266进阶之路第四篇: 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制一盏LED。
13、 Esp8266进阶之路第五篇: 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。
14、 Esp8266进阶之路第六篇: esp8266的 FreeRtos系统学习的正确姿势 —— 环境搭建、烧录。
15、 Esp8266进阶之路第七篇: esp8266的 物联网又一股清流,8266接入阿里云平台非阿里智能的SDS服务,点亮一盏LED灯。
一、前言。
我们上面的博文都是基于NONOS开发的,那么我们本篇呢?是基于FreeRtos系统开发的,基于什么是FreeRtos系统 , 我就一句话:它是开源的,意味着绝大部分的传感器驱动开源,而且比Nonos开发好用。
下面罗列下我学习8266的FreeRtos系统的资料:
乐鑫基于8266做出FreeRtos系统的SDK工程示范:https://github.com/espressif/ESP8266_RTOS_SDK
FreeRtos系统的开源驱动代码汇总:https://github.com/SuperHouse/esp-open-rtos
正点原子FreeRTOS系统讲解一期视频教程 - http://open.21ic.com/open/lesson/460
正点原子FreeRTOS系统讲解二期视频教程 - http://open.21ic.com/open/lesson/560
二、搭建开发环境。
- 1、这里我借用机智云的教程搭建Linux虚拟机:点我查看
2、下载好对应的软件之后,记得要设置共享文件夹,其作用就是在Windows平台和我们虚拟的Linux平台下,可以共享。
作用在于,我们后面在Linux系统生成的bin文件可以在Windows平台下取出来。
下面是电脑设置共享的文件夹路径,记得权限分配要 完全 !
- 3、如果您安装好了,请记得一定要以管理员身份运行,这样可以避免很多问题,比如无法启动,无法生成bin文件…. ….这是我遇到的最多的问题了。
- 4、如果您已经成功设置了共享文件夹,那么必须从乐鑫提供rtos系统的工程下载的压缩包拷贝到该文件夹下并解压。
- 5、 如果您已经成功运行了8266虚拟机,那么你必须要进去挂载模式,方可看到您设置的共享文件夹哦!在虚拟机命令符操作,输入
./mount.sh
, 提示输入密码espressif
,成功之后cd到工程目录下,复制控制台如下:
esp8266@esp8266-VirtualBox:~$ ./mount.sh
[sudo] password for esp8266:
esp8266@esp8266-VirtualBox:~$ cd /home/esp8266/Share/ESP8266_RTOS_SDK-master
esp8266@esp8266-VirtualBox:~/Share/ESP8266_RTOS_SDK-master$
三、设置工程环境变量。
- 1、首先把安信可提供工程范例的子文件夹
examples
任意一个工程,比如我剪切的是project_template
这个文件夹到主目录下,如下:
- 2、指定的环境SDK变量路径,用编辑器打开我们刚刚剪切的文件夹
project_template
下面的gen_misc.sh
文件,修改如下:
export SDK_PATH=/home/esp8266/Share/ESP8266_RTOS_SDK-master
export BIN_PATH=/home/esp8266/Share/ESP8266_RTOS_SDK-master/bin
- 3、为了演示方便,我们在程序入口的
user_main.c
文件的user_init()
方法加入打印“hello world” :
void user_init(void){
printf("hello world ! xuhong !! SDK version:%s\n", system_get_sdk_version());
}
四、编译工程并烧录。
- 1、编译工程和安信可的一体化编译工程有所不一样,我们只需执行命令我们的
project_template
文件夹下的gen_misc.sh
文件即可,所以我们必须命令台切换到该目录。并且写上./gen_misc.sh
表示编译工程:
- 2、下面开始有控制地选择输出固件,我这里除了步骤五选择6,其他选择默认:
- 3、最后,我们会看到以下输出信息,恭喜,编译成功:
!!!
SDK_PATH: /home/esp8266/Share/ESP8266_RTOS_SDK-master
BIN_PATH: /home/esp8266/Share/ESP8266_RTOS_SDK-master/bin
No boot needed.
Generate eagle.flash.bin and eagle.irom0text.bin successully in BIN_PATH
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x20000
!!!
- 4、根据上面的输出,一样滴,找到子文件
bin
,分别烧录固件即可:
- 5、重新上电,看输出信息,注意波特率设置
74880
:
工程已提交到GitHub:https://github.com/xuhongv/StudyInEsp8266