NodeMCU之旅(一):构建、刷入固件,上传代码
扬帆起航
本系列文章将试图实现,使用Web页面远程点亮led。具体包括:
在NodeMCU上搭建HTTP服务器,使其可以通过Web页面配置要接入的网络。
在配置页面可以显示附近中英网络名与信号强度。
使用MQTT协议与Node.js服务端的通信。

构建固件
Building the firmware提供了三种构建你自己固件的方式。
这里推荐使用简单的云构建服务NodeMCU custom builds来定制自己的固件,只需要在该网站选择你需要的库,留下邮箱,不一会就能收到编译好的固件。
我选择了这些库:cjson,crypto,file,gpio,http,mqtt,net,node,pwm,tmr,uart,wifi
刷入固件
下载nodemcu-flasher的Release版本,注意操作系统位数。
连接NodeMCU到电脑,运行flasher。
在Config选项卡下,配置好自己固件的路径。

然后回到Operation下,点击Flash(F),稍等片刻即可。


上传代码
Uploading code同样提供了多种工具来上传代码与文件到NodeMCU。
推荐使用ESPlorer,需要Java环境。下载ESPlorer.zip。
解压后,运行ESPlorer.jar。
在ESPlorer窗口右上部,设置端口号。
点击Open,按下NodeMCU上的RST按钮重启。如果一切正常,会有这些输出:

NodeMCU会在启动后立即运行init.lua,但是现在我们还没有上传这个文件。
用你喜爱的编辑器保存下面代码为init.lua。这些代码会使NodeMCU连接到一个AP(Access Point),通过修改第四行代码来配置SSID和密码。对于开放网络,使用空文本作为密码。
-- init.lua
print('Setting up WIFI...')
wifi.setmode(wifi.STATION)
wifi.sta.config('MY_SSID', 'MY_PASSWORD')
wifi.sta.connect()
tmr.alarm(1, 1000, tmr.ALARM_AUTO, function()
if wifi.sta.getip() == nil then
print('Waiting for IP ...')
else
print('IP is ' .. wifi.sta.getip())
tmr.stop(1)
end
end)
保存后,点击ESPlorer窗口左下区域的Upload ...来上传。如果上传失败,尝试重启NodeMCU再试。

上传完毕后重启NodeMCU。如果一切正常,你将看到NodeMCU成功连入你的AP。

相关资源
你也可以在NodeMCU-Tutorial下载到本文的相关资源和代码。
NodeMCU之旅(一):构建、刷入固件,上传代码的更多相关文章
- NodeMCU入门(2):在线构建、刷入固件,上传代码
准备工作 1.NodeMCU模块 2.ESP8266Flasher.exe 3.ESPlorer v0.2.0-rc6 构建固件 Building the firmware提供了三种构建你自己固件的方 ...
- java~gradle构建公用包并上传到仓库
java~gradle构建公用包并上传到仓库 我们一般会把公用的代码放在一个包里,然后其它 项目可以直接使用,就像你使用第三方包一样! 仓库 存储包的地方叫做仓库,一般可以分为本地仓库和远程仓库,本地 ...
- java~gradle构建公用包并上传到仓库~使用私有仓库的包
在新的项目里使用仓库的包 上一讲中我们说了java~gradle构建公用包并上传到仓库,如何发布公用的非自启动类的包到私有仓库,而这一讲我们将学习如何使用这些包,就像我们使用spring框架里的功能包 ...
- linux远程登入/远程上传文件
一.远程登入 1.安装 Xshell5 2.查看是否具备连接 在linux 主机上输入 chkconfig --list | grep sshd #sshd 0:关闭 1:关闭 2:启用 3:启用 4 ...
- 开发(二) ardunio批量固件上传地址
https://blog.csdn.net/Naisu_kun/article/details/84958561 批量烧录固件到模块中上面讲了如何编写上传程序,接下来讲讲如何量产.相比<Ardu ...
- osmocom-bb中用osmocon刷入固件命令那些参数你都弄懂了吗?
转载留做备份,原文地址:http://92ez.com/?action=show&id=23341 首先找到osmocon.c这个源文件,具体目录在这里 osmocom-bb/src/host ...
- 前端开发之旅- 移动端HTML5实现文件上传
一. 在一个客户的webapp项目中需要用到 html5调用手机摄像头,找了很多资料,大都是 js调用api 然后怎样怎样,做了几个demo测试发现根本不行, 后来恍然大悟,用html5自带的 in ...
- NodeMCU入门(1):刷入At固件,透传数据到TcpServer和Yeelink平台
准备工作 1. NodeMCU LUA ESP8266 CP2102 WIFI Internet Development Board,仔细看背面可以看出自带cp2102模块,可以通过普通的手机充电 ...
- OpenWrt固件刷入后串口终端没有反应的问题
[路由器开发板硬件固件配置] MTK双频:MT7620a + MT7612e 内存:256 MB 闪存:16 MB 固件:MTK自带SDK中的OpenWrt固件(mtksdk-openwrt-2.6. ...
随机推荐
- iOS7以后的侧滑返回上一页
我们知道,iOS7以后,导航控制器默认带了侧滑返回功能,但是仅限于屏幕边缘.而且在你自定义leftBarButtonItem等之后侧滑效果就会消失.这种问题怎么解决呢? 首先,我们先来看看系统的这种手 ...
- 分析UIWindow
转载自:http://www.cnblogs.com/YouXianMing/p/3811741.html The UIWindow class defines an object known as ...
- gdb 远程调试android进程 -转
什么是gdb 它是gnu组织开发的一个强大的unix程序调试工具,我们可以用它来调试Android上的C.C++代码. 它主要可以做4件事情: 随心所欲地启动你的程序. 设置断点,程序执行到断点处会停 ...
- Codevs 5590 A+B 问题 超级版
5590 A+B 问题 超级版 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 青铜 Bronze 题目描述 Description 不用+-*/%计算A+B 输入描述 Input De ...
- 怎样把人物处理的清晰PS教程
首先打开PS软件,导入一张人物图片 然后复制图层,点滤镜---杂色----减少杂色 点高级 点确定. 点图像-----调整-----匹配颜色在点一下中和,中和看图效果,也可点 也可不点 切记,然后确定 ...
- Web工程师必备的43款可视化工具
国外站点DATAVISUALIZATION.CH为大家总结出了当前热用的43款可视化工具,包括Arbor.Chroma.js.D3.js.Google Chart Tools等,绝对让你一饱眼福. 1 ...
- 一个人的旅行HDU 2066 floyd
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 如何在Android中添加系统服务
一,在frameworks/base/core/java/android/content/Context.java中添加 public static final String RADIO_SERVIC ...
- PAT 天梯赛 L2-002 链表去重
模拟单链表的增删操作 题目链接:https://www.patest.cn/contests/gplt/L2-002 题解 最开始我脑抽用map模拟单链表进行操作,因为这样可以节约空间,并且用了cin ...
- java类到底是如何加载并初始化的?
Java虚拟机如何把编译好的.class文件加载到虚拟机里面?加载之后如何初始化类?静态类变量和实例类变量的初始化过程是否相同,分别是如何初始化的呢?这篇文章就 是解决上面3个问题的. 若有不正之处, ...