看了好多文章.....唉,还是自己亲自动手用网络监控软件测试吧

先看这个节安装WEB服务器.....安装好以后就可以用HTTP访问电脑文件了

6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇-优化升级(安装Apache (Web服务器)软件,测试HTTP)     事先不知道HTTP,最后先看这个

其实HTTP就是建立在TCP通信上,然后自己又封装了一套协议罢了,不过协议也不算多,协议内容都是用字符串发送的,也好理解

感觉要比我以前自己用TCP实现MQTT协议简单多了,MQTT规定的协议就是复杂点,全部用16进制组合......麻烦死了...

https://www.cnblogs.com/yangfengwu/p/9124299.html

大家学了这个文章,只要自己的模块支持TCP,那么就可以实现用HTTP访问下载文件,

废话少说,我就下载我自己云端的这个文件

https://blog.csdn.net/runner_diego/article/details/51379116    (这个是我在网上找的介绍http协议的)

启动个TCP客户端

连接的ip地址选择自己的哈  我测试用的是  47.92.31.46    端口号80

GET /hardware/wifi1/updata1.lua HTTP/1.1
Host: 47.92.31.46

先看get的用法

GET,一个空格,访问文件的路径,一个空格,用哪个版本的HTTP协议

Host,冒号,一个空格,访问的地址

然后咱看看发送和具体接收的数据

:: 发送数据:GET /hardware/wifi1/updata1.lua HTTP/1.1
Host: 47.92.31.46

[1次]
:: 收到数据:HTTP/ OK
Date: Mon,  Apr  :: GMT
Server: Apache/ (Win64)
Last-Modified: Sat,  Apr  :: GMT
ETag: "7ac-586f82b4b7b40"
Accept-Ranges: bytes
Content-Length: 

local model = "wifi1"  --product model

--[[Do not update the following program !!!!]]
local version1 = "0.0.0";
local version2 = "1.0.0";

if  file.open("version2.lua", "r") then--local
    version2 = file.read()
    file.close();
end
print("local version:"..version2)

local JsonTable = {};

function UpdataFun(client, topic, data,jsondata)
    if  jsondata["version"] ~= nil and jsondata["url"] ~= nil  then
        if  jsondata["version"] ~= version2  then
            version1 = jsondata["version"]

            JsonTable["data"] = "updata";
            JsonTable["status"] = "unlike";
            JsonTable["version"] = version2;

            if  file.open("url.lua", "w+") then
                file.write((jsondata["url"]))
                file.close()
            end
            print(jsondata["version"],jsondata["url"])
        else
            JsonTable["data"] = "updata";
            JsonTable["status"] = "alike";
            JsonTable["version"] = version2;
        end
        client:publish(PublishTopic,sjson.encode(JsonTable), , , function(client) end)
        JsonTable = {}
    elseif  jsondata["cmd"] ~= nil and jsondata["cmd"] == "start" then
            if  file.open("version1.lua", "w+") then
                file.write(version1)
                file.close()
            end
            JsonTable["data"] = "updata";
            JsonTable["status"] = "start";
            print(data)
            client:publish(PublishTopic,sjson.encode(JsonTable), , , function(client) node.restart(); end)
            JsonTable = {}
    elseif  jsondata["cmd"] ~= nil and jsondata["cmd"] == "model" then
            JsonTable["data"] = "updata";
            JsonTable["status"] = "model";
            JsonTable["model"] = model;
            print(data)
            client:publish(PublishTopic,sjson.encode(JsonTable), , , function(client) end)
            JsonTable = {}
    end
end

其实就这么简单就可以用HTTP访问下载文件了 .....您自己百度看看别人写的...唉,都抓不住咱真正要的需求,估计那些人只是搞上位机出身,只知道是那么用

,不知道考虑咱单片机硬件到底如何访问......

7-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(TCP实现HTTP访问下载文件,明白底层如何实现的,地基稳才踏实)的更多相关文章

  1. 2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(视频总揽)

    1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(方案总揽) https://v.youku.com/v_show/id_XNDE0Njk3Njg2OA==. ...

  2. 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(方案总揽)

    我的这个升级篇的代码适用于自己所有的带WIFI和GPRS模块的开发板,升级功能实质上是通过MQTT把数据发给WIFI和GPRS模块,然后模块进行保存和运行. 这个升级程序是当时自己花了两个星期的时间写 ...

  3. 6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇-优化升级(安装Apache (Web服务器)软件,测试HTTP)

    为了和SDK升级保持协议一致,花了两天时间实现了用LUA开发,MQTT+HTTP方式实现远程升级 安装Apache主要是为了实现通过HTTP下载资源 升级介绍: 0,用户点击检查更新时,APP首先通过 ...

  4. 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(HTTP介绍,TCP实现HTTP下载文件)

    https://www.cnblogs.com/yangfengwu/p/10357564.html 看了好多文章.....唉,还是自己亲自动手用网络监控软件测试吧 先看这个节安装WEB服务器.... ...

  5. 5-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(,远程升级GPRS内部程序)

    https://www.cnblogs.com/yangfengwu/p/10410202.html 与升级WIFI相同介绍的不再叙述  先看WIFI升级的: ↑ 演示视频: https://www. ...

  6. 4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级WIFI内部程序)

    https://www.cnblogs.com/yangfengwu/p/10360618.html 演示视频: https://www.bilibili.com/video/av54894356/ ...

  7. 4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(为域名申请SSl证书)

    3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(购买域名,域名绑定IP) 然后就是等着..... 假设可以了 咱呢是配置MQTT实现SSL安全加密通信,所以 ...

  8. 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(购买域名,域名绑定IP)

    2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据) 因为安全连接是和域名绑在一块的,所以需要申请域名 有没有不知道域名是什么的, ...

  9. 2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据)

    1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据) 因为那个软件只能监听咱自己电脑上的数据,所以咱就用电 ...

随机推荐

  1. linux复制文件并修改文件名

    #!/bin/bash #复制/casnw/backup/db203oradata/目录下的所有后缀名为dmp的文件拷贝到/casnw/backup/dbmonthbak 目录下cp -f /casn ...

  2. tp5,thinkphp5,隐藏index.php,隐藏入口文件

    一.找到/public/.htaccess文件 Apache: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews R ...

  3. 学以致用十三-----Centos7.2+python3+YouCompleteMe成功历程

    历经几天的摸索,趟过几趟坑之后,终于完成YouCompleteMe的安装配置. 今天同样是个不能忘记的日子,国耻日,勿忘国耻.(9.18) 服务器安装好,基本配置配置好后,开始安装. ======== ...

  4. 20155205 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155205 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤一:打开mac下的 ...

  5. Python 安装requests和MySQLdb

    Python 安装requests和MySQLdb 2017年10月02日 0.系统版本 0.1 查看系统版本 [root@localhost ~]# uname -a Linux localhost ...

  6. 常用模块xml,shelve,configparser,hashlib

    XML 什么XML:全称 可扩展标记语言 标记指的是代表某种含义的字符 XML<> 为什么需要XML 为能够在不同的平台间继续数据的交换 为了使交换的数据能让对方看懂 就需要按照一定的语法 ...

  7. linux-CentOS初学terminal命令(2)vi、gcc、g++、./、mv、cp、ifconfig

    1.vi filename(vi,visual editor,可视化编辑器)用vim文本编辑器打开filename文件. vim文本编辑器有三种模式:命令模式(Command mode),插入模式(I ...

  8. codeforces 982 c

    给你一棵树 让你进行切割 问你最多能切多少刀   使得每个连通分量size都是偶数 思路:首先  要是有奇数个节点的话   那么不管你怎么切割  都会有一个连通分量的size是奇数 所以只有偶数的情况 ...

  9. [zjoi2010]cheese

    题目: 贪吃的老鼠(cheese.c/cpp/pas/in/out) 时限:每个测试点10秒 [问题描述] 奶酪店里最近出现了m只老鼠!它们的目标就是把生产出来的所有奶酪都吃掉.奶酪店中一天会生产n块 ...

  10. shell 命令 bc linux下的计算器

    bc命令 在linux环境下的计算器.