今天我们学习合宙低功耗4G模组Air780E篇:采集温湿度传感器数据并实现网页查看,以下进入正文。

一、硬件装备

1.1 硬件连接

使用跳线帽将IO_SEL连接3.3V,给引脚供3.3V的电。dht11模块的out引脚连接780E开发板的一个引脚,具体哪个可以自己更改,这个demo中使用的是7号引脚。具体实物图如下:

二、编写脚本

2.1 实现流程图

2.2 程序详解

第一步:等待联网

sys.waitUntil("IP_READY")

第二步:联网成功后,创建socket

-- 申请一个socket_ctrl

--[[

@param1 适配的网卡,nil为采用默认网卡

@param2 消息通知的taskName,此处先随意填一个即可

]]

local netc = socket.create(nil,"MySocket")

第三步:配置network信息

local host = "netlab.luatos.com" -- 服务器ip或者域名, 都可以的

local is_udp = true -- 如果是UDP, 要改成true, false就是TCP

local is_tls = false -- 加密与否, 要看服务器的实际情况

--[[配置network一些信息

@param1 socket_ctrl

@param2 本地端口号,不写会自动分配一个

@parma3 是否是UDP

@param4 是否是加密传输

]]

socket.config(netc, nil, is_udp, is_tls)

第四步:连接服务器。

local port = 47966 -- 服务器端口号

--[[

@param1 socket_ctrl

@param2 ip地址

@parma3 端口号

]]

local result = socket.connect(netc, host, port)

第五步:调用dht11接口读取温湿度的值。

--[[读取dht11传感器的数值

@param1  dht11的out引脚连接780E开发板的引脚号

@param2  是否校验读取到的值,true为校验

@return1 湿度值,单位为0.01%

@return2 温度值 单位为0.01%

@return  成功返回true,失败返回false

]]

local h,t,r = sensor.dht1x(dht11_pin, true)

第六步:将温湿度数据上报。

--[[将温湿度的数据上传到web服务器

@param1 socket.create()创建的socket_ctrl

@param2 要发送的温湿度数据

]]

local succ,full,result = socket.tx(netc,data)

三、烧录代码到硬件

3.1 正确连接电、4G模组电路板

使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线;

3.2 识别4G模组的boot引脚

在下载之前,要用模组的boot引脚触发下载, 也就是说,要把4G模组的boot引脚拉到 1.8v,或者直接把boot引脚和VDD_EXT引脚相连。我们要在按下BOOT按键时让模块开机,就可以进入下载模式了。

具体到 Air780E开发板,

3.2.1 当我们模块没开机时,按着BOOT键然后长按PWR开机。

3.2.2 当我们模块开机时,按着BOOT键然后点按重启键即可。

3.3 识别电脑的正确端口

判断是否进入BOOT模式:模块上电,此时在电脑的设备管理器中,查看串口设备, 会出现一个端口表示进入了boot下载模式,如下图所示:

当设备管理器出现了3个连续数字的com端口,并且每个数字都大于4,这时候, 硬件连接上就绪状态,恭喜你,可以进行烧录了!

3.4 新建项目

首先,确保你的 LuaTools 的版本,上大于 2.2.13 版本的。

在 LuaTools 的左上角上有版本显示的,如图所示:

LuaTools 版本没问题的话, 就点击 LuaTOols 右上角的“项目管理测试”按钮,如下图所示:

这时会弹出项目管理和烧录管理的对话框,如下图:

新建一个项目

注意:这里截图使用的hello world项目的烧录教程图片,烧录的时候要将脚本换成本次demo的。

3.5 开始烧录

选择780E板子对应的底层core和刚改的main.lua脚本文件。下载到板子中。

点击下载后,我们需要进入boot模式才能正常下载,在(3)(4)小节已经介绍了如何进入boot模式。

四、验证功能

1. 连接服务器

2. 更改端口号

3. 效果展示

六、扩展

使用TCP连接服务器传输数据。只需要在网页端打开TCP连接,然后在程序中将is_udp改为false。

你学会了吗?

Air780E篇:采集温湿度传感器数据,并网页查看的更多相关文章

  1. ARM-LINUX自动采集温湿度传感器数据

    开机root自动登录 如果想在超级终端输入回车,登录后执行,则可以在/etc/profile中加入命令: 如果实现开机自动登录,在/etc/inittab中修改,每个开发板修改的方式可能都不同. ht ...

  2. STC15系列通用-STC15F2K60S2/STCW4K32S4读取DHT11温湿度传感器数据串口输出代码实例工程免费下载

    //为了方便大家调试,另附程序工程共大家下载,下载地址:https://www.90pan.com/b1908750 ​ //************************** //程序说明:stc ...

  3. 【Raspberry Pi】定时运行python程序读温湿度传感器数据&发邮件

    1.定时执行脚本 http://tech.it168.com/a2011/0707/1214/000001214830_all.shtml /sbin/service crond start //启动 ...

  4. 进阶之路(中级篇) - 016 温湿度传感器DHT11

    如果想使用 Arduino 开发板驱动 DHT11 来获取温湿度的时候建议使用第三方的库,这样可以加快程序的开发速度,而且不容易出错,下面的代码我已经安转了第三方的库了.详细的安装方法请参考极客先锋的 ...

  5. 9-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给AndroidTCP客户端显示)

    http://www.cnblogs.com/yangfengwu/p/8798512.html 补充:今天答应了一个朋友写一下如果单片机发过的是字符串应该怎么解析,答应了今天写,哦哦哦是明天了,闲话 ...

  6. 8-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给C#TCP客户端显示)

    http://www.cnblogs.com/yangfengwu/p/8785516.html 先写单片机端的程序 先把源码和资料链接放到这里 链接: https://pan.baidu.com/s ...

  7. STM32读取温湿度传感器DHT11和DHT21(AM2301)系列问题

    1.DHT11和DHT21传感器 这两种传感器都是奥松公司的产品,具体的传感器说明书在其官网上有(www.aosong.com). DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合 ...

  8. 基于uFUN开发板的心率计(一)DMA方式获取传感器数据

    前言 从3月8号收到板子,到今天算起来,uFUN到手也有两周的时间了,最近利用下班后的时间,做了个心率计,从单片机程序到上位机开发,到现在为止完成的差不多了,实现很简单,uFUN开发板外加一个Puls ...

  9. Arduino和C51开发DHT11温湿度传感器

    技术:51单片机.Arduino.DHT11.温湿度传感器.传感器   概述 学习单片机离不开对传感器的学习,本文主要介绍DHT11温湿度传感器的使用方法,同学也可以了解更多的传感器,这对你以后开发产 ...

  10. 玩转X-CTR100 l STM32F4 l DHT11温湿度传感器

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] DHT11数字温湿度传感器是一款含有已校准数字信号输 ...

随机推荐

  1. animate动画库的使用

    在vue中便捷使用animate动画库效果. 安装animate动画库 npm install animate.css --save 在vue跟目录中 main.js 导入animate动画库 imp ...

  2. C语言三子棋

    话说自从大一学C语言后用C语言的巅峰也就是第十二届蓝桥杯了,后续开发什么的都是用的java,搞开发java这样的面向对象语言确实用着更顺手方便点.不过C语言YYDS,"C生万物"嘛 ...

  3. SpringMVC:文件上传和下载

    文件下载 ResponseEntity用于控制器方法的返回值类型,该控制器方法的返回值就是响应到浏览器的响应报文 使用ResponseEntity实现下载文件的功能 @RequestMapping(& ...

  4. Spring框架之IOC介绍

    Spring之IOC 简介 首先,官网中有这样一句话:Spring Framework implementation of the Inversion of Control (IoC) princip ...

  5. ASP.NET Core – Razor Class Library (RCL)

    前言 Razor Class Library 的用途是封装 Razor views, pages, controllers, page models, Razor components, View c ...

  6. 处理英文中的单数复数 (pluralize, singular plural)

    因为英语很烂, 有时候很烦这个. 如果是 hard code 的情况, 如果我不清楚的话就会去这里找 https://www.wordhippo.com/what-is/the-plural-of/l ...

  7. Flutter Engage China 开发者常见问题解答 | 上篇

    再次感谢大家对 Flutter Engage China 活动 的关注和积极参与!我们在活动前后收到了很多来自开发者的反馈和问题,Flutter 团队和演讲嘉宾在直播 Q&A 环节中也针对部分 ...

  8. [kubernetes]二进制方式部署单机k8s-v1.30.5

    前言 之前在单机测试k8s的kind最近故障了,虚拟机运行个几分钟后就宕机了,不知道是根因是什么,而且kind部署k8s不太好做一些个性化配置,干脆用二进制方式重新搭一个单机k8s. 因为是用来开发测 ...

  9. C++的并发编程历史

    多线程环境 并非所有的语言都提供了多线程的环境.即便是C++语言,直到C++11标准之前,也是没有多线程支持的. 在这种情况下,Linux/Unix平台下的开发者通常会使用POSIX Threads, ...

  10. USB2.0 DP DM VBUS

    在USB 2.0中,设备成功枚举的标志可以通过观察 D+ (dp).D- (dm) 和 VBUS 引脚的电压波形来判断.以下是这些信号在USB 2.0枚举过程中常见的状态: VBUS (5V供电): ...