自己编译NodeMCU固件 & 提交数据到服务器

标签: NodeMCU 固件
2346人阅读 评论(0) 收藏 举报
分类:

自己编译NodeMCU固件

之前这篇文章nodeMCU使用小记里用到的固件是比较老的固件,不带http模块,所以无法实现http的post请求。所以……在云构建固件没法用的情况下,还得自己编译固件啊。。
编译固件的系统环境是ubuntu-14.04.4-desktop-i386,步骤如下:
先安装编译工具链esp-open-sdk:

sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2
git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
cd esp-open-sdk
make
最后按照提示把环境变量加到/etc/profile里,再source一下

再克隆nodemcu项目进行编译:

git clone https://github.com/nodemcu/nodemcu-firmware.git
cd nodemcu-firmware
(有很多modules是可选项,可在app/include/user_modules.h将其注释掉)
(波特率在app/include/user_config.h里定义)
(Integer build选项也在app/include/user_config.h里定义)
(在app/include/user_version.h里自定义个人签名)
make

最后刷固件:

# 首选把自己加入对话群,不然没法访问串口
sudo adduser ph dialout
# 把固件上载到nodemcu里
make flash #这里提示是512kb还是4m,自己选

到这里固件就刷好了,效果如图:
这里写图片描述


参考:
esp-open-sdk
物联网应用——从源代码为ESP8266创建NodeMCU
NodeMCU Build Options
ubuntu 将当前用户加入到串口所在组

NodeMCU提交数据到服务器

NodeMCU端init.lua:

-- init.lua

print(wifi.sta.getip())

print('Setting up WIFI...')
wifi.setmode(wifi.STATION)
wifi.sta.config('test', '11223344')
wifi.sta.connect() -- 要想提交数据到远程服务器,首先得连上互联网啊2333

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())
            http.post('http://192.168.223.193/nodemcu_data_process.php', -- 服务器ip是192.168.223.193
                    'Content-Type: application/json\r\n',
                    '{"name":"hello"}',
                    function(code, data)
                        if (code < 0) then
                            print("HTTP request failed")
                        else 
                            print(code, data)
                        end
            end)
        tmr.stop(1)
    end
end)

PHP服务端代码:

<?php
$str = file_get_contents ( "php://input" );
$args = (json_decode ( $str ));
$user_name = isset ( $args->name ) ? $args->name : null;
$message = array (
        "type" => 0,
        "name" => $user_name 
);
$json_string=json_encode($message);
error_log($json_string,3,'/opt/lampp/logs/nodemcu.log');
echo $json_string;
?>

效果如图:
nodemcu端:
这里写图片描述
xampp端:
这里写图片描述


参考:
NodeMCU教程 http.post请求及服务端接收不到参数解决方案
项目部署到远程Linux服务器

查看评论

如何编译nodemcu的源码?

首先github上有源码https://github.com/nodemcu/nodemcu-firmware 但是我这里用的不是这个源码,而是在百度网盘里面http://pan.baidu...
  • unsv29
  • unsv29
  • 2016-01-29 14:29:21
  • 2427

2. ESP8266固件的编译(nodemcu固件)

Nodemcu固件 编译
  • ydogg
  • ydogg
  • 2017-05-21 15:28:11
  • 3175

自己动手编译NodeMCU固件

目前常用的编译NodeMCU的方式主要有两种,在线构建和本地构建。 在线构建 使用在线构建服务NodeMCU custom builds来定制自己的固件,只需要在该网站选择你需要的库,留下...
  • xy1157
  • xy1157
  • 2017-12-04 23:05:48
  • 1020

物联网应用——从源代码为ESP8266创建NodeMCU

引言 我们撰写了一系列关于连接到“物联网”(Internet of Things,IoT)以及如何使用“物联网”的文章,这些文章难度较大,本文是其中的第一部分。这一项目涉及许多高大上的概念,...
  • free0loop
  • free0loop
  • 2015-09-17 10:45:50
  • 12596

NodeMCU文档中文翻译 4 烧写固件

一、译文  Adafruit 提供了非常好的固件烧写教程 。下面你会发现两个流行的基本工具esptool和NodeMCU Flasher。 注意:记住ESP8266在烧写新固件前需要放入烧写模块。 ...
  • Leytton
  • Leytton
  • 2016-06-20 20:04:55
  • 4261

NodeMCU教程 http.post请求及服务端接收不到参数解决方案

在使用NodeMCU时可能会不出现服务器无法接收到NodeMCU http.post请求参数的问题。 1、采用NodeJS服务器 ESPlorer编辑器本身可能问题,直接执行代码片段接收不到post...
  • Leytton
  • Leytton
  • 2016-06-11 19:42:41
  • 4465

Lua 服务器与客户端实例

 =============================================================== 服务器,main.lua =================...
  • u011269801
  • u011269801
  • 2014-12-02 20:44:44
  • 4372

ESP8266学习笔记4:ESP8266的SmartConfig

今天花了将近一天的时间来研究ESP8266的SmartConfig功能,这个应该算是wifi云产品的标配。这篇文章先把SmartConfig操作一遍,我还写了另一篇文章梳理了物理层的具体协议,http...
  • zddxmu
  • zddxmu
  • 2015-07-14 20:46:32
  • 35613

新手初识安信可ESP8266 12f机智云开发板微信直连云

第一次接触esp8266开发板,也是一脸懵逼,一方面网络上的资料还不全面,一方面,资料散乱或者资料讲的不明不白。新手入门让我抓狂了两天。我使用的是安信可esp8266 12f开发板。先不建sdk的开发...
  • qq_24397253
  • qq_24397253
  • 2016-10-07 15:31:37
  • 16563

瑞芯微RK3128-微信Airkiss2.0配网功能调试及实现

越来越多的智能硬件设备实现了简易的配网功能,微信硬件平台推出了Airkiss技术,详细的关于Airkiss的介绍可以参考微信硬件平台开发者中心:微信硬件平台Airkiss 关于AirKiss的实现,基...
  • teliduxing1029
  • teliduxing1029
  • 2017-03-07 15:36:56
  • 1929
    个人资料
    持之以恒
    等级:
    访问量: 6万+
    积分: 1314
    排名: 3万+
    最新评论