为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 网络相关源码 正文

易语言+micropython单片机实现公众号远程控制继电器开关抽水

三叶资源网 2022-03-08 00:46:16 网络相关源码 1160 ℃ 0 评论

警告:  需要具备基本的电路常识,220V 乱接线,存在触电风险!!

需要准备:

软件端:公众号一个,可以是个人的订阅号。易语言和sunny服务端模块套件。  我已经用这个做好了公众号套件(见尾部源码)

硬件端:ESP32开发板一个(刷micropython固件),18650电池组,继电器一个     大概成本50元。


实现总体效果:

效果演示视频:https://www.douyin.com/video/7071819287652027684

易语言+micropython单片机实现公众号远程控制继电器开关抽水

公众号后端:

易语言+micropython单片机实现公众号远程控制继电器开关抽水

原理概述,

esp32 WIFI联网,访问你的公众号套件程序,这里是把公众号和服务端做到一起了。 本机电脑使用花生壳内网穿透。  当然你也可以直接内网访问。

硬件端作为下位机,只负责连接服务端,和收命令,开关继电器,至于什么时候开,什么时候关,完全由服务端决定。

软件端,也就是公众号服务端,负责接收命令,识别并返回json。传输开关参数0和1,开关的时间,这个案例里是抽水的时间参数,你可以根据自己的项目自己改。


最后献上源码,源码写的比较乱,但语法应该是没什么问题,看的不舒服轻喷。


部分代码,需要提出来说明下,一个是服务端的链接这里是我的花生壳生成的,还有个是WIFI的账号密码,一共要改的就这三个东西,非常简单。


#####客户端的代码片段开始

#连接WiFi

def connectWifi(ssid,passwd):   

  global wlan

  wlan = network.WLAN(network.STA_IF)

  wlan.active(True)   #激活网络

  wlan.disconnect()   #断开WiFi连接

  wlan.scan()

  time.sleep(1)

  wlan.connect(ssid, passwd)   #连接WiFi

  a=0

  while(wlan.ifconfig()[0] == '0.0.0.0'):   #等待连接

    time.sleep(1)

    a=a+1

    print( str(a)+"次ip:"+wlan.ifconfig()[0])

    if a>300:

        connectWifi(SSID,PASSWORD)

  return True

def choushui_api():

    state=0

    t=0

    try:

        dic=json.loads(urequests.get("http://xxxxxx").text)            #这里要改成你自己的花生壳链接

        state=int(dic["choushui"])

        t=int(dic["choushui_time"])

    except:

        print("网络异常,正在检查")

        state=-1

        if wlan.ifconfig()[0] == '0.0.0.0':   #等待连接            

            print("连接异常,正在尝试连接WIFI")

            connectWifi(SSID,PASSWORD)

    gc.collect()  

    return state,t

def choushui(t):

    msg=""

    for  a in range(4):

        #告知服务器已经开始抽水

        dic=json.loads(urequests.get("http://huang582716403.vicp.cc/api?state=1&time="+str(t)).text)        

        msg=dic["msg"]   

        if(msg=="ok"):

            break

        time.sleep(a)

    Relay.value(1) # 打开继电器   

    b=int(t/10)

    for a in range(b):

        time.sleep(10)

        state,t=choushui_api()

        if(state==0):

            break

    Relay.value(0)# 关闭抽水   

    for a in range(6*60*6):        

        time.sleep(10)

        dic=json.loads(urequests.get("http://huang582716403.vicp.cc/api?state=0&time="+str(t)).text)        

        msg=dic["msg"]

        if(msg=="ok"):

            break        

    return True


# 初始化工作

def makerobo_setup():

    global Relay

    global SSID,PASSWORD

    global wlan

    wlan = None  #wlan

    SSID = "ap_server"  #修改为你的WiFi名称

    PASSWORD = "hr582716403"  #修改为你WiFi密码

    Relay = machine.Pin(16,machine.Pin.OUT) # 设置Pin模式为输出模式

    Relay.value(0) # 关闭继电器



connectWifi(SSID,PASSWORD)


#####客户端的代码片段结束



文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
FX3U通信网页图片批量分析下载进制转换滑块坐标识别检测代理IP选择夹图片组系统服务取色器源码hp-socket动态加密算法前端新浪防OD附加源码直播音效助手websocket照片墙条形码微信发卡机器人屏幕录象HOOK
最新评论