esp8266对接天猫精灵(11)终端编程

2023-05-16

一、编写lua脚本获取控制信息(8266)

前边也说过,这个脚本要实现的步骤可以分三步,第一步是联网,第二步是使用http get到数据,然后控制要控制的设备。我们的lua脚本分为两个,一个是init.lua,另外一个是httpclick.lua,这个默认上电执行的是init.lua,我们在init.lua中连接网路,在httpclick.lua中获取我们在服务器上保存的信息,然后控制响应的设备。Nodemcu所有固件的API可以从官方wiki得到https://nodemcu.readthedocs.io/en/master/en/modules/sjson/。

1、init.lua

标号1是配置wifi,填上你自己的wifi名和密码就行,2是连接到ssid所示的wifi,3是一个1s的定时,4是判断有没有获得IP如果获得了ip就走5打印ip地址,然后调用httpclick.lua的程序,否则就打印IP还没有分配,等待连接。

2、httpclick.lua

标号1为一个1秒定时,每隔1s从retrundata.php中获取一次数据,同时把上次灯的状态发送到这个retrundata.php中存起来,等待查询。3是从str所指的url中get数据,4为把得到的sjson数据解码,5所实现的功能就是判断当前的id是否正确,如果正确就根据接收到的灯的动作设置灯,如打开关闭,设置灯的亮度等,然后保存当前灯的状态。

二、服务器端接收保存和读取文件

其实上边的已经完成了硬件篇所有的功能,这里还要说一下这个,是因为这部分也很重要,我们常用的http协议是不保存数据的,也就是说一次通信只是用来传输数据,无论是post还是get都会传送一次数据得到一次数据,我们为了让天猫精灵能正确的查询状态,正确控制设备,我们需要把协议解析出来的状态和设备返回的状态保存到服务器。主要通过下面这些文件来完成

1、getcontrol.php

这个文件是天猫精灵把解析到的数据,ID,action和value写入到Lamp.txt文件中,供硬件设备读取。


2、returndata.php

这个文件主要是与硬件设备进行沟通,实现两个功能,第一个功能接收硬件设备发送上来的设备消息然后写入到Lampstatue.txt中,供天猫平台的读取,另外一个就是读取Lamp.txt中的信息,用来控制自身的设备,如灯等。


3、returnstatue.php

这个是天猫精灵用于读取硬件状态的接口文件,主要是用来读取Lampstatue.txt的数据来返回当前设备的状态


所以的文件都已经解释完了,这种读写的方式在真正的应用中并不可行,是需要数据库的支持的,所以小狂在这只是为了测试功能,做的并没有那么规范。只是验证了一个流程,抛个砖,希望引出来更多的玉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

esp8266对接天猫精灵(11)终端编程 的相关文章

  • (根据关键词)查找论文的一些途径

    以下方式都是在查找机器学习 深度学习相关的论文而发现的 目录 一 https arxiv org search cs 二 semanticscholar xff1a https www semanticscholar org search
  • Detected problems with api compatibility

    今天遇到了这个问题 xff0c 看来还是不要升到Android9 0了 xff01 待测试 xff1a https www cnblogs com qinxiaofei p 10075320 html
  • 在 Win10 系统下安装 JDK 及配置环境变量的方法

    首先 xff0c 在官网下载 JDK xff1a Oracle 官网 如上图所示 xff0c 在 Oracle 官网下载 JDK xff0c 有一点需要注意 xff0c 那就是在我们下载合适的 JDK 之前 xff0c 需要先点击 标记 1
  • APM 路径规划笔记

    20180711 xff1a 类名 xff1a AC WPNav 功能 xff1a 完成Auto Loiter Abmode模式中的路径规划 为计算方便设置默认值 xff0c 实际值有可能又变化 wp accel cms 61 100 wp
  • 程序员5大热门发展行业,就业迷茫的同学注意啦!

    信息化时代 xff0c 程序员成为各行业中的香饽饽岗位 xff0c 发展空间大 xff0c 薪资福利高 xff0c 因此最近几年转向程序员岗位的小伙伴越来越多 xff0c 不过因为这种 青睐 xff0c 使得程序员岗的竞争也越发大了 xff
  • Jetson TX2 初体验

    阅读原文请点击 摘要 xff1a 0 简介 Jetson TX2 1 是基于 NVIDIA Pascal 架构的 AI 单模块超级计算机 xff0c 性能强大 xff08 1 TFLOPS xff09 xff0c 外形小巧 xff0c 节能
  • 写毕业论文期间的一些收获和感想

    已经有好几天没有学Python了 xff0c 这几天一直在赶论文的进度 xff0c 虽然说拖延症害死人 xff0c 但毕竟写论文这件事在我心里的重要性实在无法排到很靠前的位置 xff0c 造成这些日子突击写论文的结果也是情理之中吧 而在写论
  • C/C++Linux服务器开发/后台架构师知识体系整理

    1 xff1a 精进基石 1 1 数据结构与算法 1 1 1 随处可见的红黑树 红黑树的应用场景 进程调度cfs xff0c 内存管理 红黑树的数学证明与推导 手撕红黑树的左旋与右旋 红黑树添加的实现与添加三种情况的证明 红黑树删除的实现与
  • Java 进口管制限制解除

    版权声明 xff1a 本文为博主原创文章 xff0c 遵循 CC 4 0 BY SA 版权协议 xff0c 转载请附上原文出处链接和本声明 由于国外的进出口限制 xff0c 对Java密码算法体系进行了一些限制 xff0c 为了解除限制 x
  • turtlebot3仿真例子(二)----SLAM仿真实现

    turtlebot3地图构建 1 启动turtlebot3的world xff1a roslaunch turtlebot3 gazebo turtlebot3 world launch 2 启动slam导航包并配置方法 xff1a Kar
  • ros 节点话题重映射和命名空间(以turtlesim为例)

    由于ROS必须有唯一的名称 xff0c 不论是节点还是话题都是如此 xff0c 简单地两次执行相关节点将导致之前执行的节点终止 但是我们可以在运行时更改节点的名称 xff0c 而不需要运行额外的程序或更改源代码 方法包括命名空间 names
  • Markdown中插入图片

    前言 xff1a 企业中产品手册少不了图片的插入 xff0c 那如果用markdown维护手册的话 xff0c 怎么插入图片呢 xff1f 今天介绍以下几种方法 xff1a xff08 一 xff09 插入本地图片 xff08 二 xff0
  • 通过VScode进行git的版本管理

    前言 xff1a 作为测试 xff0c 我们写的自动化脚本和产品手册也是需要使用git进行版本管理起来的 xff0c 本次我们介绍怎么通过git进行版本管理 目录 xff08 一 xff09 搭建本地仓库 xff08 二 xff09 将服务
  • 教你使用stm32接收串口的一帧数据!

    stm32支持接受单个数据或者一帧数据 xff0c 若配置单个数据接收中断的话 xff0c 会出现接收包丢包 xff0c 数据不完整的情况 xff01 因此在stm32的串口中断中 xff0c 还有一个IDLE中断 xff0c 用来产生串口
  • APM-3.5.2-EKF2笔记(未完待续)

    20180704 xff1a 一 EKF2 InitialiseFilter 全过程 1 记录开始时间 xff0c 预期步长时间 frameTimeUsec 61 2500 xff0c 每次融合读取IMU次数 framesPerPredic
  • 在K8s上部署Go服务

    目标 镜像名 xff1a foxliang go v 镜像内容 xff1a 二进制文件 xff0c 跑起来是个http服务 xff0c 监听8080端口 xff0c 接到请求会打印 This is version v running in
  • Java中可以直接调用类中静态方法,不用实例化

    先说结论 xff1a 可以不实例化一个类的情况 xff0c 使用一个类中的静态方法静态方法里 xff0c 只能调用静态方法 先通俗的分析下 xff0c 我们把类看作是一个房子 房子里面有家具 xff0c 桌椅板凳之类的 xff0c 房子里面
  • 【Linux】深入理解线程(线程同步、互斥量mutex、死锁、读写锁、条件变量、信号量)

    一 同步概念 1 线程同步 xff1a 同步即协同步调 xff0c 按预定的先后次序运行 线程同步 xff0c 只一个线程发出某一功能调用时 xff0c 在没有得到结果之前 xff0c 该调用不返回 同时 xff0c 其他线程为保证数据一致
  • pytorch得到模型的计算量和参数量

    文章目录 方法1 自带方法2 编写代码方法3 thop方法4 torchstat方法5 ptflops方法6 torchsummary 方法1 自带 pytorch自带方法 xff0c 计算模型参数总量 total span class t
  • slam、高精地图、定位之间的关系

    高精度地图一般都是指slam 43 卫惯共同制作的区域地图 xff0c 只有卫惯只能得到位置信息 xff0c 没办法得到地物信息 卫惯给绝对位置 xff0c slam给地物 地形信息和相对距离 xff0c 然后融合制作等 2 使用激光雷达或

随机推荐

  • 慕课《如何写好科研论文》期末考试题及答案

    多选 论文写作前的积累包括哪些 实验细节 Idea 专业知识 讲座学术论文质量标准包括 形式标准 内容标准和学术期刊打交道的最大好处是 编辑部聘请的审稿人的专业意见 编辑部提出的技术方面的建议什么情况下 xff0c 应果断放弃一些题目 已经
  • docker学习笔记(七)docker-swarm

    目录 搭建Swarm环境 swarm基本操作 swarm实战 docker swarm服务发布模式 docker stack 官网 https docs docker com swarm overview Docker Swarm is n
  • 【前端】ajax 接口返回图片文件流,将图片保存至自己服务器,并展示该图片

    一 解决前 1 1 问题描述 ajax 调用第三方接口 xff0c 接口没有返回图片链接 xff0c 直接返回的图片 现在要将文件保存至服务器 xff0c 并返回自身的链接 span class token comment 解决前的代码 s
  • http请求带用户名和密码验证

    发送http请求往往需要带用户名和密码 xff0c 服务端进行授权验证 实现方式是将将用户名和密码放到请求头里面 xff0c 采用Basic Authentication Scheme xff0c 译为基本授权方案 xff0c 想要了解的可
  • 【TPM2.0原理及应用指南】 1-3章

    码字不易 xff0c 求求点个赞呗 第一章 TPM的历史 可信平台模块 xff08 TPM xff09 是一种加密协处理器 可信计算组织 xff08 TCG xff09 直接匿名认证 DAA 认证可迁移密钥 xff08 Certified
  • QGC通过网络连接飞控(树莓派+ROS桥接MavLink)

    1 为树莓派刷ubuntu 因为无界面的ubuntu在连接无线 设置自动登录等方面的设置比较复杂 我经过各种百度尝试后 均没有成功 所以我放弃了 转而又刷了ubuntu mate 带界面 然后连接了无线 设置了自动登录 静态IP 自此树莓派
  • 大厂大数据岗位面试随笔

    大厂面试简要记录 1 腾讯2 阿里 1 腾讯 腾讯PCG事业部 大数据开发岗 问题回忆 xff1a spark数据分发机制Hadoop集群高可用机制阐述Spark Streaming给个具体视频应用场景阐述开发思路及任务架构 xff08 期
  • 南京邮电大学C++实验三(多态性实验)

    文章目录 一 实验目的和要求二 实验环境 实验设备 三 实验原理及内容 xff08 一 xff09 实验题目1 xff1a 1 题目2 代码3 程序运行结果 4 实验解答过程 xff1a 1 类Point的构造函数 xff1a 2 用成员函
  • ROS package.xml教程

    文章目录 总览标准格式2 xff08 推荐格式 xff09 基本结构必要标签依赖元包其他标签 标准格式1 xff08 遗留格式 xff09 总览 ROS的package包使用package xml文件来描述 xff0c 该描述文件必须放置在
  • 如何从论文中实现算法复现(译)

    原文地址 xff1a http xff1a codecapsule com 2012 01 18 how to implement a paper 作者 xff1a Emmanuel Goossaert 翻译 xff1a Joseph Ar
  • CMakeList.txt

    一个视频讲解 http v youku com v show id XMjc1MjE0MjEwNA 61 61 html cmake 语法设置路径 xff0c 配置库 xff0c 编译器标记 xff1a https www cnblogs
  • GPS ROS包

    NMEA GPS数据读取 span class hljs label http span wiki span class hljs preprocessor ros span span class hljs preprocessor org
  • Arduino Atmega328P烧写bootloader及熔丝

    Arduino Atmega328P烧写bootloader及熔丝 Cc1924的博客 CSDN博客 亲测成功
  • 云服务器 搭建 AWTRIX 服务器

    Java 环境 首先检查 java 版本 如果没有 安装 openjdk 后再执行 sh脚本 yum list java 1 8 yum install java 1 8 0 openjdk y wget N https blueforce
  • esp8266对接天猫精灵(1)前言

    本系列文章小狂决定一步步来完成其他智能设备与天猫精灵的对接 xff0c 简单粗暴的目的就是使用ESP8266或者其他的wifi设备制造一个智能设备 xff0c 完成一次天猫精灵智能音箱对我们自己制造的智能设备的控制 xff0c 以来验证天猫
  • 牢记公式,ardupilot EKF2就是纸老虎(二)!

    版权声明 xff1a 本文为博主原创文章 xff0c 转载请附上博文链接 xff01 二 扩展卡尔曼滤波器 因为卡尔曼滤波器针对的是线性系统 xff0c 状态转移模型 xff08 说的白话一点就是知道上一时刻被估计量的值 xff0c 通过状
  • esp8266对接天猫精灵(3)原理

    这一篇文章主要讲解服务器端的设置 xff0c 这里我使用的是腾讯云 xff0c 当时学生价1块钱一个月买的 xff0c 现在的学生价涨到了10块 xff0c 为我当时的机智点赞 为什么一定要使用服务器呢 xff0c 这个是因为天猫精灵协议的
  • esp8266对接天猫精灵(8)开发者网关地址

    洋洋洒洒六七千字已经搭进去了 xff0c 终于把服务器篇写的差不多了 xff0c 当然小狂不是专业的写手 xff0c 有些东西写的凑合看吧 xff0c 只是说明过程 xff0c 并不修饰言辞 xff0c 看的舒服就点个赞 xff0c 不舒服
  • esp8266对接天猫精灵(10)nodumcu固件编译

    一 下载编译器 进入这个网站 xff0c https esp8266 ru esplorer xff0c 找到这个地方 xff0c 可以直接下载 xff0c 下载完成后双击红框中的内容就能打开 打开后的截图如下图所示 xff0c 左边为代码
  • esp8266对接天猫精灵(11)终端编程

    一 编写lua脚本获取控制信息 xff08 8266 xff09 前边也说过 xff0c 这个脚本要实现的步骤可以分三步 xff0c 第一步是联网 xff0c 第二步是使用http get到数据 xff0c 然后控制要控制的设备 我们的lu