超低功耗芯片ESP8266


快速入门指南中介绍了NodeMCU上的ESP8266芯片,这是一种超低功耗芯片,只利用太阳能就可以运行。


项目介绍

“菲莱”着陆器登陆彗星让我们深受启发,于是我们从前段时间开始开展低功耗的研发项目,其中假设我们只能利用太阳能对电池充电,在一定时间内进入睡眠状态,从而在某个事件中唤醒。

信息更新:目前已证实的一点是,这个项目通过只利用太阳能而持续了三天/夜,这听起来也许不算什么,但是别忘了,我们在用200mA的锂聚合物电池运行一个非常耗电的wifi模组,同时利用一个小型的0.5W 太阳能板发电。比较而言,如果不利用一些诀窍的话,锂聚合物电池经过一个小时后电量就会耗尽了。 我们应用的诀窍如下:

 

 SparkFun ESP8266是一个很好的开发板,不过首先我们想让这个芯片也能用于NodeMCU,这样就可以不需要Arduino(TM) IDE,而直接使用LUA脚本语言为芯片编码。此外,我们还使用LUA脚本语言控制芯片的休眠模式(关闭不使用的组件),将其唤醒运行任务(像不像在现实生活中)。通过这种方式,我们可以只利用太阳能,而不用电源使ESP8266和 ESP8226运行起来。顺便说一下,我们只是用一个太阳能板和锂聚合物电池,没用什么昂贵的太阳能充电器!

 

将开发板和锂聚合物电池连接起来







步骤1

切掉载板后部DTR(数据终端就绪)的痕迹,从而实现串口调试,同时烧录新的固件。

 步骤2

 

在Raspberry Pi上安装ESP8266工具链

除了为存储ESP8266而需要安装编译器和工具之外,还需要将3.3VFTDI与ESP8266适当地连接起来。 


1. ESP工具——基于python用于存储ESP8266的工具


wget --no-check-certificate https://github.com/themadinventor/esptool/archive/master.zip

unzip master.zip

cd esptool-master

sudo python setup.py install

2.  LUA工具——利用LUA脚本语言编码的库和示例

wget --no-check-certificate https://github.com/4refr0nt/luatool/archive/master.zip

unzip master.zip


3.  NODEmcu—— 基于EPS8266支持LUA编码的固件

wget --no-check-certificate https://github.com/nodemcu/nodemcu-firmware/archive/master.zip

unzip master.zip

将最新版NODEmcu固件烧录至ESP8266

pi@raspberrypi ~/esp/nodemcu-firmware-master/pre_build/latest $ python /home/pi/esp/esptool-master/esptool.py --port /dev/ttyUSB0 write_flash 0x00000 nodemcu_latest.bin

Connecting...

Erasing flash...

Writing at 0x00062000... (100 %)

Leaving...

完成——存储固件后,在开始下一步之前重启一次。

现在开始下载自动运行的LUA脚本,使ESP8266连接至接入点: 

pi@raspberrypi ~/esp/luatool-master/luatool $ python /home/pi/esp/luatool-master/luatool/luatool.py --port /dev/ttyUSB0 --src init.lua --dest init.lua --verbose

Set timeout None

Set interCharTimeout None

Upload starting

Stage 1. Deleting old file from flash memory

->file.open("init.lua", "w") -> ok

->file.close() -> ok

Stage 2. Creating file in flash memory and write first line->file.remove("init.lua") -> ok

Stage 3. Start writing data to flash memory...->file.open("init.lua", "w+") -> ok

->file.writeline([==[print('init.lua ver 1.2')]==]) -> ok

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值