05 Ciso模拟器连接腾讯云物联网开发平台

Ciso声明:本篇文章基于使用腾讯云物联网平台连接自定义esp8266物联网设备(腾讯连连控制开关实现) - CSDN App改编

一、总体概览

功能描述:

使用腾讯连连小程序进行控制,

Alarm(警铃):开的时候,亮红灯;关的时候关闭。

RGB LED(三色灯):有4个属性值,Red,Green,Blue,OFF,分别对应红灯,绿灯,蓝灯,关闭。

Fan(风扇):有3个属性值,OFF,Low,High,分别对应关闭、一档、二档。

MCU(单片机):控制这三个设备

二、Ciso模拟器部分

MCU(单片机编程):

from realudp import *

from time import *

from gpio import *

from options import Options

from time import *

import math

from physical import *

from gpio import *

from environment import Environment

from ioeclient import IoEClient

IP = "127.0.0.1"

PORT = 1834

switchStatus="0"

colorStr="0"

colorID =3

bright =1023

fengShanControl="0"

#from pyjs import *

def onLedRGB(rgb):

if rgb==0:

#digitalWrite(1,HIGH)

#digitalWrite(2,LOW)

#digitalWrite(3,LOW)

analogWrite(1,bright)

analogWrite(2,0)

analogWrite(3,0)

if rgb==1:

#digitalWrite(1,LOW)

#digitalWrite(2,HIGH)

#digitalWrite(3,LOW)

analogWrite(1,0)

analogWrite(2,bright)

analogWrite(3,0)

if rgb==2:

#digitalWrite(1,LOW)

#digitalWrite(2,LOW)

#digitalWrite(3,HIGH)

analogWrite(1,0)

analogWrite(2,0)

analogWrite(3,bright)

if rgb==3:

digitalWrite(1,LOW)

digitalWrite(2,LOW)

digitalWrite(3,LOW)

def onUDPReceive(ip, port, data):

global colorStr

global switchStatus

global colorID

global bright

global fengShanControl

print("received from "

+ ip + ":" + str(port) + ":" + data);

data2 = data.split('{')[2].split('}')[0]

print("data2:  "+data2)

for i in range(0,len(data2)):

if( data2[i] == 's' and data2[i+1] == 'w'):

switchStatus = data2[i+8]

print("switchStatus = "+switchStatus)

if( data2[i] == 'c' and data2[i+1] == 'o'):

colorStr = data2[i+7]

print("colorStr = "+colorStr)

if( data2[i] == 'f' and data2[i+1] == 'e'):

fengShanControl = data2[i+10]

print("fengShanControl = "+fengShanControl)

if "0" in colorStr:

colorID = 0

onLedRGB(colorID)

if "1" in colorStr:

colorID = 1

onLedRGB(colorID)

if "2" in colorStr:

colorID = 2

onLedRGB(colorID)

if "3" in colorStr:

colorID = 3

onLedRGB(colorID)

if "0" in switchStatus:

digitalWrite(4,LOW)

#client.send("Alarm Closed!")

if "1" in switchStatus:

digitalWrite(4,HIGH)

#client.send("Alarm Opened!")

if "0" in fengShanControl:

customWrite(0,"0")

if "1" in fengShanControl:

customWrite(0,"1")

if "2" in fengShanControl:

customWrite(0,"2")

def main():

socket = RealUDPSocket()

socket.onReceive(onUDPReceive)

print(socket.begin(1834))

pinMode(1,OUT)

pinMode(2,OUT)

pinMode(3,OUT)

pinMode(4,OUT)

count = 0

while True:

# count += 1

# socket.send(IP, PORT, "hello " + str(count))

sleep(1)

if __name__ == "__main__":

main()

三、腾讯云物联网开发平台

参考链接里的博客

四、腾讯连连小程序

扫描腾讯云的二维码即可

五、演示视频

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/233670.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring实战】20 Spring Data REST+JPA构建基础的RESTful API

文章目录 1. 基础概念1)Spring Data REST2)JPA(Java Persistence API) 2. 添加依赖3. 创建JPA实体4. 创建JPA Repository5. 启用Spring Data REST6. 启动服务7. 测试8. 总结 Spring Data REST 是 Spring Framework 生态系统中的一…

OpenSSL——升级

OpenSSL(Open Secure Sockets Layer)是一个开源的软件库,提供了SSL和TLS协议的实现,用于加密通信。它广泛用于安全连接,例如在网站上通过HTTPS协议进行安全的数据传输. 但是从openssl申请道德证书是不安全的。对于网站…

【算法每日一练]-动态规划(保姆级教程 篇14) #三倍经验 #散步 #异或和 #抽奖概率

目录 今日知识点: 金字塔的正反dp两种方案,转移方程取决于dp的具体含义 取模实现循环走m步回到原点的方案 在统计上升子序列的时候使用最小结尾元素进行标记,一举两得 将亏本的概率转换各种情况的方案,然后统计亏本的情况的方…

已解决 | Go Error: redeclared as imported package name 问题

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

RH850P1X芯片学习笔记-A/D Converter (ADCF)

文章目录 Features of RH850/P1x-C ADCFNumber of UnitsRegister Base AddressClock SupplyInterrupts and DMAHardware ResetExternal Input/Output SignalsVirtual Channel OverviewFunctional OverviewBlock DiagramPhysical Channels, Virtual Channels and Scan Groups Re…

数据结构和算法-数据结构的基本概念和三要素和数据类型和抽象数据类型

文章目录 总览数据结构的基本概念总览数据早期和现代的计算机处理的数据数据元素-描述一个个体数据对象-一类数据元素什么是数据结构小结 数据结构的三要素总览逻辑结构-集合结构逻辑结构-线性结构逻辑结构-树形结构逻辑结构-图形结构逻辑结构-小结数据的运算物理结构&#xff…

7个Pandas绘图函数助力数据可视化

大家好,在使用Pandas分析数据时,会使用Pandas函数来过滤和转换列,连接多个数据帧中的数据等操作。但是,生成图表将数据在数据帧中可视化,通常比仅仅查看数字更有帮助。 Pandas具有几个绘图函数,可以使用它…

复试 || 就业day05(2024.01.08)项目一

文章目录 前言代码模拟梯度下降构建函数与导函数函数的可视化求这个方程的最小值(直接求导)求方程最小值(不令方程导为0)【梯度下降】eta0.1eta 0.2eta 50eta 0.01画出eta0.1时的梯度下降x的变化过程 总结 前言 💫你…

Python将Labelme文件的真实框和预测框绘制到图片上

Python将Labelme文件的真实框和预测框绘制到图片上 前言前提条件相关介绍实验环境Python将Labelme文件的标注信息绘制到图片上代码实现输出结果 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入Python日常小操作专…

qt信号和槽

Qt是一个跨平台的C图形用户界面应用框架 91年奇趣科技开发 pro工程文件介绍 .pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件 QT core gui //Qt包含的模块greaterThan(QT_MAJOR_VERSION, 4): QT widgets //大于4版本包含…

2024.1.2 Redis 数据类型 Stream、Geospatial、HyperLogLog、Bitmaps、Bitfields 简介

目录 引言 Stream 类型 Geospatial 类型 HyperLogLog 类型 Bitmaps 类型 Bitfields 类型 引言 Redis 最关键(应用广泛、频繁使用)的五个数据类型 StringListHashSetZSet 下文介绍的数据类型一般适合在特定的场景中使用! Stream 类型 St…

强化学习的数学原理学习笔记 - 基于模型(Model-based)

文章目录 概览:RL方法分类基于模型(Model-Based)值迭代(Value Iteration)🟦策略迭代(Policy Iteration)🟡截断策略迭代(Truncated Policy Iteration&#xff…

EasyRecovery2024永久免费版电脑数据恢复软件

EasyRecovery是一款操作安全、价格便宜、用户自主操作的非破坏性的只读应用程序,它不会往源驱上写任何东西,也不会对源驱做任何改变。它支持从各种各样的存储介质恢复删除或者丢失的文件,其支持的媒体介质包括:硬盘驱动器、光驱、…

特征工程(一)

特征工程(一) 什么是特征工程 简单来讲将数据转换为能更好地表示潜在问题的特征,从而提高机器学习性能 特征工程包含的内容 转换数据的过程特征更好地表示潜在问题提高机器学习性能 数据和机器学习的基础知识 数据基础 以下为数据的一…

计算机网络(超级详细笔记)

使用教材计算机网络(第8版)(谢希仁) 第一章:概述 第二章:物理层 第三章:数据链路层 第四章:网络层 第五章:运输层 第六章:应用层 目…

适合培训协会搭建的培训机构管理系统开发方案

一、项目背景与目标 (一)项目背景 培训学校教务管理系统是培训机构数字化管理的必备系统,该系统功能大大提升机构办学的管理效率、提升机构在家长心中的专业度,市面上的培训机构管理系统收费越来越贵,为了给协会内培…

【陈老板赠书活动 - 21期】- Python树莓派编程从零开始(第3版)

陈老老老板🧙‍♂️ 👮‍♂️本文专栏:赠书活动专栏(为大家争取的福利,免费送书) 🤴本文简述:活就像海洋,只有意志坚强的人,才能到达彼岸。 👳‍♂️上一篇文章&#xff…

微信小程序实战-01翻页时钟-1

文章目录 前言需求分析功能设计界面设计界面结构设计界面样式设计 逻辑设计 单页功能实现运行结果 前言 我经常在手机上用的一款app有一个功能是翻页时钟,基于之前学习的小程序相关的基础内容,我打算在微信小程序中也设计一个翻页时钟功能,J…

ArcGIS小技巧|四种计算图斑面积的方法

ArcGIS中有多种方法可计算出图斑面积,本文总结了四种方法,是否可堪称史上最全? 1、计算几何 这是最适合非专业人士的方法,直接利用ArcGIS中的计算几何功能进行计算。 a、首先添加一double类型字段,用来存储面积数值…

移动通信原理与关键技术学习(2)

1.多径信道滤波器表示,多径信道可以认为是线性时变滤波器,接收信号为发送信号与信道冲激响应的卷积。 2.调制就是对信号源的信息进行处理加到载波上,使其变为适合于信道传输的形式的过程,就是使载波随信号而改变的技术。 3.进行调…