扬帆起航

本系列文章将试图实现,使用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-flasherRelease版本,注意操作系统位数。

连接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文档

NodeMCU custom builds

nodemcu-flasher

ESPlorer.zip

你也可以在NodeMCU-Tutorial下载到本文的相关资源和代码。

NodeMCU之旅(一):构建、刷入固件,上传代码的更多相关文章

  1. NodeMCU入门(2):在线构建、刷入固件,上传代码

    准备工作 1.NodeMCU模块 2.ESP8266Flasher.exe 3.ESPlorer v0.2.0-rc6 构建固件 Building the firmware提供了三种构建你自己固件的方 ...

  2. java~gradle构建公用包并上传到仓库

    java~gradle构建公用包并上传到仓库 我们一般会把公用的代码放在一个包里,然后其它 项目可以直接使用,就像你使用第三方包一样! 仓库 存储包的地方叫做仓库,一般可以分为本地仓库和远程仓库,本地 ...

  3. java~gradle构建公用包并上传到仓库~使用私有仓库的包

    在新的项目里使用仓库的包 上一讲中我们说了java~gradle构建公用包并上传到仓库,如何发布公用的非自启动类的包到私有仓库,而这一讲我们将学习如何使用这些包,就像我们使用spring框架里的功能包 ...

  4. linux远程登入/远程上传文件

    一.远程登入 1.安装 Xshell5 2.查看是否具备连接 在linux 主机上输入 chkconfig --list | grep sshd #sshd 0:关闭 1:关闭 2:启用 3:启用 4 ...

  5. 开发(二) ardunio批量固件上传地址

    https://blog.csdn.net/Naisu_kun/article/details/84958561 批量烧录固件到模块中上面讲了如何编写上传程序,接下来讲讲如何量产.相比<Ardu ...

  6. osmocom-bb中用osmocon刷入固件命令那些参数你都弄懂了吗?

    转载留做备份,原文地址:http://92ez.com/?action=show&id=23341 首先找到osmocon.c这个源文件,具体目录在这里 osmocom-bb/src/host ...

  7. 前端开发之旅- 移动端HTML5实现文件上传

    一. 在一个客户的webapp项目中需要用到 html5调用手机摄像头,找了很多资料,大都是 js调用api  然后怎样怎样,做了几个demo测试发现根本不行, 后来恍然大悟,用html5自带的 in ...

  8. NodeMCU入门(1):刷入At固件,透传数据到TcpServer和Yeelink平台

    准备工作 1. NodeMCU  LUA ESP8266 CP2102  WIFI Internet Development Board,仔细看背面可以看出自带cp2102模块,可以通过普通的手机充电 ...

  9. OpenWrt固件刷入后串口终端没有反应的问题

    [路由器开发板硬件固件配置] MTK双频:MT7620a + MT7612e 内存:256 MB 闪存:16 MB 固件:MTK自带SDK中的OpenWrt固件(mtksdk-openwrt-2.6. ...

随机推荐

  1. MJExtention

    + (NSDictionary *)mj_objectClassInArray { // key : 属性名 // value : 类名 return @{ @"dogs" : @ ...

  2. android 1.6 launcher研究之自定义ViewGroup (转 2011.06.03(二)——— android 1.6 launcher研究之自定义ViewGroup )

    2011.06.03(2)——— android 1.6 launcher研究之自定义ViewGroup2011.06.03(2)——— android 1.6 launcher研究之自定义ViewG ...

  3. Ubuntu安装pycharm

    在安装pycharm之前,想看一下需要安装那些软件. 在安装前先下载软件 JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk ...

  4. sqlite manager

    http://www.isummation.com/blog/how-to-use-sqlite-manager-extension-in-firefox/ 工具条上右键选定制

  5. ural1553 Caves and Tunnels

    Caves and Tunnels Time limit: 3.0 secondMemory limit: 64 MB After landing on Mars surface, scientist ...

  6. Vasiliy's Multiset

    Vasiliy's Multiset time limit per test 4 seconds memory limit per test 256 megabytes input standard ...

  7. 向datagridview 添加行

    datagridview 已经绑定数据源且控件的AllowUserToAddRows设置为false时. ((DataTable)dataGridView1.DataSource).Rows.Add( ...

  8. FreeRTOS代码剖析

    FreeRTOS代码剖析之1:内存管理Heap_1.c   FreeRTOS代码剖析之2:内存管理Heap_2.c   FreeRTOS(V8.0.1)系统之xTaskGenericCreate() ...

  9. JavaScript的Cookie操作

    JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的. 而cookie是运行在客户端的,所以可以用JS来设置cookie. 假 设有这样 ...

  10. 用PS给图标添加外发光效果

    最近在做app的时候用到了图标需要根据点击和非点击显示两种状态(原始状态和外发光状态). 如下图: 没办法,因为这是毕业设计的东西,总不能叫同事帮忙处理下.所以自己充当了回美工. 做法如下: 1.打开 ...