关闭

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

标签: NodeMCU固件
1854人阅读 评论(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服务器

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

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

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

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

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

esp8266&nodemcu编译 firmware in osx

$ xcode-select --install $ brew tap homebrew/dupes $ brew install binutils coreutils autoconf ...
  • huangchao1010
  • huangchao1010
  • 2016-11-13 08:02
  • 1094

NodeMCU文档中文翻译 3 构建固件

一、译文  主要有三种方法来构建NodeMCU固件:云端构建服务、Docker 镜像和专门的Linux环境(可能是虚拟机)。 1、手动构建 注意,默认配置的C文件头(user_config.h,...
  • Leytton
  • Leytton
  • 2016-06-20 18:40
  • 1553

如何编译nodemcu的源码?

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

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

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

ESP8266(二)NODEMCU——烧录固件

ESP8266烧录NODEMCU固件
  • tianzhong123
  • tianzhong123
  • 2016-02-27 13:31
  • 14571

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

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

NODEMCU调试心得6 - 关于网络协议HTTP

关于网络协议 HTTP按照约定,这次要讲非常exciting的内容,网络协议Networking protocols。这部分并不好写,内容很庞杂,会分成若干部分。网络协议我们在前面已经提及,TCP/I...
  • qq_32543253
  • qq_32543253
  • 2016-11-20 14:42
  • 3482

NodeMCU:烧写固件及连接WIFI

最近想做一个基于WIFI的智能开关,所以就买了这个开发板。今天刚那到手,在这之前从未接触过这个开发板还好有万能的度娘在;以下是对NodeMCU开发板烧写固件及连接WIFI过程的记录。 在开始之前需要...
  • xuwq2015
  • xuwq2015
  • 2017-02-12 19:03
  • 5133
    个人资料
    • 访问:46652次
    • 积分:1131
    • 等级:
    • 排名:千里之外
    • 原创:56篇
    • 转载:52篇
    • 译文:0篇
    • 评论:7条
    最新评论