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

发布时间:2024年01月07日

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()

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

参考链接里的博客

四、腾讯连连小程序

扫描腾讯云的二维码即可

五、演示视频

文章来源:https://blog.csdn.net/qq_45448576/article/details/135445791
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。