请选择 进入手机版 | 继续访问电脑版
查看: 238|回复: 11

[原创] 物趣系列第二弹!LPC55S69之①:4G模块实现HTTP协议POST操作

[复制链接]
  • TA的每日心情
    奋斗
    昨天 12:46
  • 签到天数: 146 天

    [LV.7]常住居民III

    8

    主题

    190

    帖子

    5

    金豆

    高级会员

    Rank: 4

    积分
    628
    最后登录
    2021-1-21
    发表于 2021-1-10 18:21:24 | 显示全部楼层 |阅读模式
    本帖最后由 Litthins 于 2021-1-10 18:20 编辑

            去年在NXP社区,以“物趣系列”为主题,我们通过ST7735串口屏、OV7670摄像头和ESP8266WIFI模块实现了拍摄本地图片上传到服务器进行智能识别,再回传标注图片到本地进行显示的应用。3帖子+1视频的原创形式,帖子浏览量1400+,视频5300+的成绩,说实话远超我的预期。要回应大家的支持!这样想着,2021年的物趣系列又和大家见面了!

    新的题目:

    基于LPC55S69的4G联网超声雾化器设计(网页版)

    下面是问答环节:
    Q:物趣系列第二弹,有什么特点吗?
    A:第二弹每一帖都是全新的尝试,新瓶子不装旧酒。为了和大家分享制作的乐趣,帖子内容保持精简风格,实验易于复现。
    Q:第二弹第一帖的主题是什么呢?
    A:去年我们用ESP8266尝试了TCP透传,今年试试4G模块走HTTP协议吧!请看下面!


    物趣系列第二弹!
    LPC55S69之①:4G模块实现HTTP协议POST操作

            第二弹的目标是实现一款基于Web控制的超声雾化器(北方的冬天真干燥!)。技术路线上,还是分三步走,
    第一步,LPC55S69-EVK适配L610模块实现4G联网,使用HTTP协议POST方法上传数据至服务器。本贴!
    第二步,LPC55S69-EVK搭配继电器实现本地超声雾化器控制。
    (PS.超声雾化器本质上是雾化片和驱动电路谐振,但调参是个技术活,这里直接使用淘宝10元货)
    第三步,LPC55S69-EVK获取温度湿度数据上传云端,网页远程显示温湿度波形,控制雾化器开关。

    先上L610与LPC55S69-EVK的合照!
    L610与LPC55S69.jpg


            4G模块选择其实挺多的,本次使用的L610是广和通的4G通信模块,
    项目用剩的。模块可通过串口引脚直接与微控制器连接。因为该模块本身已经实现有HTTP协议,使用时仅需通过AT指令进行相应的设置,十分方便。
            首先是LPC55S69软件工程的建立。这里还是使用MCUXpresso IDE集成开发环境,版本号v11.2.0_4120。首页还是那么熟悉。一些朋友可能没有安装过LPC55S69对应的SDK。需要点击第一项,搜索SDK并安装,操作步骤如下图。
    step1.JPG
    step2.JPG
            安装完成后可点击新建工程,由于本贴只涉及串口操作,这里无需添加外设驱动,直接生成新工程即可。新工程生成后,点击菜单-配置工具-引脚,进行串口配置。
    step3.JPG

    这里使用FLEXCOMM0的串口,相关引脚可参考官方设计文档中LPCXpresso55S69_Board_Schematic_RevA2.PDF文件,这里给出参考的引脚定义。

    step4.JPG
            引脚配置、时钟分配和串口参数设置细节见以下三图,基本操作,不展开了。图如果看不清,可点开看大图。
    step5.JPG
    引脚配置
    step6.JPG
    时钟分配
    step7.JPG
    串口参数设置

            完成串口配置后,将4G模块连接到评估板,模块开机,LPC55S69通过以下AT指令检查模块状态:
    1. const uint8_t AT_CPIN[]     = "AT+CPIN?\r\n";                                           //检查SIM卡状态
    2. const uint8_t AT_CSQ[]      = "AT+CSQ?\r\n";                                            //查询当前信号值
    3. const uint8_t AT_CGREG[]    = "AT+CGREG?\r\n";                                      //查询数据服务是否可用
    4. const uint8_t AT_CGDCONT[]  = "AT+CGDCONT=1,"IP","cmnet"\r\n";                      //设置APN
    5. const uint8_t AT_MIPCALL[]  = "AT+MIPCALL=1\r\n";                                   //请求IP
    复制代码
            完成IP请求后,可进行HTTP的POST配置。首先设置目标服务器的IP、端口、路由,再设置数据类型,这里上传json数据,所以是application/json。其后告诉4G模块json数据的长度,该指令后可写入对应长度的json数据,待数据写入完毕,执行POST命令,模块将使用配置好的请求格式访问目标主机。
    1. const uint8_t AT_HTTPSET1[] = "AT+HTTPSET="URL","目标IP:目标端口/目标路由"\r\n";  //设置HTTP的URL
    2. const uint8_t AT_HTTPSET2[] = "AT+HTTPSET="CONTYPE","application/json"\r\n";    //设置HTTP的数据类型为json
    3. const uint8_t AT_HTTPDATA[] = "AT+HTTPDATA=40\r\n";                       //输入将要POST的数据,这里是40字节
    4. const uint8_t AT_HTTPACT[]  = "AT+HTTPACT=1,30\r\n";                      //执行POST
    5. const uint8_t AT_HTTPREAD[] = "AT+HTTPREAD=0,180\r\n";                    //读取180字节返回信息
    复制代码
           因为只需上传温度和湿度数据,所以我们定义json数据格式如下。其中,AAAA\BBBB为4位16进制数,分别对应温度和湿度。
    1. {"temperature":"AAAA","humidity":"BBBB"}
    复制代码
           在服务器端运行基于Flask的Web框架,测试程序如下:
    step8.JPG
            EVK通过4G模块POST数据到服务器,服务器端产生响应:
    step9.JPG
            EVK通过4G模块接收到服务器的返回消息:
    step10.JPG
            作战成功!敬请期待第二帖:LPC55S69-EVK搭配继电器实现本地超声雾化器控制!


    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 11:26
  • 签到天数: 87 天

    [LV.6]常住居民II

    1605

    主题

    2997

    帖子

    0

    金豆

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15130
    最后登录
    2021-1-22
    发表于 2021-1-11 09:30:28 | 显示全部楼层
    抢楼,支持一下
    签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 146 天

    [LV.7]常住居民III

    0

    主题

    482

    帖子

    0

    金豆

    高级会员

    Rank: 4

    积分
    990
    最后登录
    2021-1-22
    发表于 2021-1-11 09:45:26 | 显示全部楼层

    管管带头抢楼, 小小鄙视下
    加油!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 09:40
  • 签到天数: 38 天

    [LV.5]常住居民I

    9

    主题

    84

    帖子

    0

    金豆

    高级会员

    Rank: 4

    积分
    537
    最后登录
    2021-1-21
    发表于 2021-1-11 09:55:23 | 显示全部楼层
    厲害了,
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:31
  • 签到天数: 804 天

    [LV.10]以坛为家III

    48

    主题

    3767

    帖子

    0

    金豆

    金牌会员

    Rank: 6Rank: 6

    积分
    6490
    最后登录
    2021-1-21
    发表于 2021-1-11 10:32:43 | 显示全部楼层
    666666666
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 11:26
  • 签到天数: 87 天

    [LV.6]常住居民II

    1605

    主题

    2997

    帖子

    0

    金豆

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15130
    最后登录
    2021-1-22
    发表于 2021-1-11 11:21:33 | 显示全部楼层
    sumoon_yao 发表于 2021-1-11 09:45
    管管带头抢楼, 小小鄙视下

    好东西,我也爱学习,哈哈
    签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:46
  • 签到天数: 146 天

    [LV.7]常住居民III

    8

    主题

    190

    帖子

    5

    金豆

    高级会员

    Rank: 4

    积分
    628
    最后登录
    2021-1-21
     楼主| 发表于 2021-1-11 12:36:28 | 显示全部楼层

    感谢支持
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:46
  • 签到天数: 146 天

    [LV.7]常住居民III

    8

    主题

    190

    帖子

    5

    金豆

    高级会员

    Rank: 4

    积分
    628
    最后登录
    2021-1-21
     楼主| 发表于 2021-1-11 12:50:56 | 显示全部楼层

    普通操作,哈哈
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:46
  • 签到天数: 146 天

    [LV.7]常住居民III

    8

    主题

    190

    帖子

    5

    金豆

    高级会员

    Rank: 4

    积分
    628
    最后登录
    2021-1-21
     楼主| 发表于 2021-1-11 12:52:04 | 显示全部楼层

    雾化器本想自己做的,后发现谐振电路不好调,怂了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    18

    帖子

    0

    金豆

    新手上路

    Rank: 1

    积分
    28
    最后登录
    2021-1-17
    发表于 5 天前 | 显示全部楼层
    支持一下
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2021-1-22 10:17 , Processed in 0.100525 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表