0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BPI-Pico-RP2040 开发板 mqtt连接服务器

华仔的编程随笔 来源:华仔的编程随笔 作者:华仔的编程随笔 2023-05-25 08:58 次阅读

​1、安装umqtt,点击菜单工具->管理包

1684929957169.png

2、搜索umqtt

1684930004789.png

3、在查找结果里面点击按装:

1684930062770.png

4、然后在已安装的包里就看到umqtt了。

1684930106836.png

5、书如程序代码如下:

from umqtt.simple import MQTTClient
from machine import Pin
import network
import time

ssid='ssid'
passwd='wifipwd'
client_id = "po20t"
mserver = 'ip'
port=1883
mqttuser = "user"
mqttpwd = "pwd"
topic_ctl = b'led_ctl'#设备订阅的主题,客户端推送消息的主题
topic_sta = b'led_sta'#客户端订阅的主题,设备推送消息的主题
client = None
wlan = None

led1=Pin(2, Pin.OUT, value=1)
led2=Pin(5, Pin.OUT, value=1)
    
def sub_callback(topic, msg):
    """
    收到订阅消息回调
    """
    global client
    print((topic_ctl, msg))
    if msg == b'led1 ON' or msg == b'led1 on':
        pub_msg = 'LED1: ON-state'
        led1.value(0)
    elif msg == b'led1 OFF' or msg == b'led1 off':
        pub_msg = 'LED1: OFF-state'
        led1.value(1)
    elif msg == b'led2 ON' or msg == b'led2 on':
        pub_msg = 'LED2: ON-state'
        led2.value(0)
    elif msg == b'led2 OFF' or msg == b'led2 off':
        pub_msg = 'LED2: OFF-state'
        led2.value(1)
    else:
        pub_msg = 'other msg'
    client.publish(topic_sta, pub_msg, retain=True)

def connectWiFi():
    """
    连接到WiFi网络
    """
    global wlan
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    wlan.disconnect()
    wlan.connect('HUAWEI-H10R9U', "18977381885@")
    while(wlan.ifconfig()[0]=='0.0.0.0'):
        time.sleep(1)
    print(wlan.ifconfig())

try:
    connectWiFi()
    client = MQTTClient(client_id, mserver, port=1883,user=mqttuser,password=mqttpwd)
    client.set_callback(sub_callback)
    client.connect()
    client.subscribe(topic_ctl)
    client.publish(topic_sta, 'ESP32 Device online', retain=True)
    print("Connected to %s, subscribed to %s topic" % (mserver, topic_ctl))
    while True:
        client.wait_msg()
finally:
    if client is not None:
        print('off line')
        client.disconnect()
    wlan.disconnect()
    wlan.active(False)

5、保存到开发板,然后执行:

1684930218030.png

6、打开mqttx发送消息:这样连接到远程的Mqtt就愉快的完成了,后面可以完成一些数据交换与控制了。

1684930253049.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8105

    浏览量

    82485
  • 开发板
    +关注

    关注

    25

    文章

    4420

    浏览量

    93921
  • MQTT
    +关注

    关注

    5

    文章

    537

    浏览量

    21969
收藏 人收藏

    评论

    相关推荐

    【免费试用19期】BPI-Pico-RP2040 开发板

    不同的开发板,现推出每周一期开发板免费试用活动。第十九期试用的样品为 BPI-Pico-RP2040 开发板开发板简介:
    发表于 02-21 17:11

    BPI-Pico-RP2040 开发板】CircuitPython环境介绍

    首先感谢发烧友平台提供的免费测试活动,拿到开发板后,第一时间开箱,就看到了黑色的板子,配合镀金焊盘,看起来也挺漂亮。BPI-Pico-RP2040 是 Banana Pi 推出的一款搭载RP2040
    发表于 03-15 22:49

    BPI-Pico-RP2040 开发板】+快速体验MicroPython开发

    下载固件https://micropython.org/download/rp2-pico/ 更新固件按住Boot按键,将Type-C USB线一端接开发板,一端接电脑(如果已经接入则重新插拔
    发表于 03-16 23:00

    BPI-Pico-RP2040 开发板】+Thonny IDE体验

    连接串口Type-C USB线连接PC和开发板,看到枚举的COM设备 运行->选择解释... 选择设备和串口 此时就可以在下面的命令行交互编程,也可以在上面文件中编
    发表于 03-16 23:24

    BPI-Pico-RP2040 开发板】+ 开箱测评与Arduino开发点灯测试

    BPI-Pico-RP2040 开发板收到了,感谢电子发烧友与Banana Pi提供的测评机会。BPI-Pico-RP2040 介绍BPI-Pico-RP2040是Banana Pi推
    发表于 03-17 19:19

    BPI-Pico-RP2040 开发板】+ 板子硬件原理图分享

    使用BPI-Pico-RP2040编程时,需要了解一下板子硬件原理图与引脚含义,这里将BPI-Pico-RP2040的原理图分功能分享出来。【RP2040主芯片】【板子引脚排布】【电源与供电接口
    发表于 03-17 20:07

    BPI-Pico-RP2040 开发板】与Banana BPI-Pico-RP2040的第一次亲密接触

    ,MicroPython的固件直接拿来用,直接在MicroPython - Python for microcontrollers下载固件,将其烧录到BPI-Pico-RP2040开发板即可。(二
    发表于 03-17 23:03

    BPI-Pico-RP2040 开发板】+MicroPython初体验

    rp2-pico-20230313-unstable-v1.19.1-966-g05bb26010.uf2拖到电脑识别的驱动中,开发板就会以MicroPython的方式启动。使用过程软件安装,一直点击下一步即可,安全完后如下界面选择当前
    发表于 03-18 18:42

    BPI-Pico-RP2040 开发板】+开发环境的搭建与测试

    ; Arduino Mbed OS RP2040 Boards > RaspberryPi Pico,见图7所示。图7 选取开发板由于是初次在BPI-Pico-RP2040
    发表于 03-19 01:16

    BPI-Pico-RP2040 开发板】+GPIO口的使用

    解决了开发环境的问题,下面就从GPIO口入手来掌握它的使用。BPI-Pico-RP2040的引脚使用情况如图1所示,除了被占用的引脚,均可作为使用的资源。图1 引脚使用状况这里先选用引脚2和引脚13
    发表于 03-20 11:00

    BPI-Pico-RP2040 开发板】+ 板载RGB-LED点亮不同颜色

    本篇来测试BPI-Pico-RP2040板载的GRB LED。WS2812介绍BPI-Pico-RP2040板载的RGB LED不是普通的3个颜色用3个引脚单独控制的LED,而是通过1个引脚进行
    发表于 03-21 22:35

    BPI-Pico-RP2040 开发板】Banana BPI-Pico-RP2040 驱动WS2812 彩灯

    一、WS2812 和NeoPixelBanana BPI-Pico-RP2040上的板载 WS2812 彩灯连接到GPIO 3引脚,由一个信号线控制。class NeoPixel
    发表于 03-22 21:34

    BPI-Pico-RP2040 开发板】SSD1306 OLED显示

    本文主要使用BPI-Pico-RP2040开发板驱动SSD1306 OLED模块。一、硬件(一)BPI-Pico-RP2040 开发板BPI-Pic
    发表于 03-26 22:52

    BPI-Pico-RP2040 开发板RP2040可编程 IO (PIO) 使用初探

    BPI-Pico-RP2040 开发板所搭载的RP2040微处理,相对于其他微处理,最吸引人的一点就是提供了可编程 IO,简称PIO。PIO的神奇之处在于,给PIO编程后,它可以自己
    发表于 03-28 22:14

    搭载RP2040双核处理器芯片,BPI-Pico-RP2040 开发板开发实例展示

    BPI-Pico-RP2040 是 Banana Pi 推出的一款搭载RP2040芯片的微控制器开发板,在尽量保留Raspberry Pi Pico的功能,外形尺寸,引脚布局的前提下,
    的头像 发表于 06-27 08:25 8923次阅读
    搭载<b class='flag-5'>RP2040</b>双核处理器芯片,<b class='flag-5'>BPI-Pico-RP2040</b> <b class='flag-5'>开发板</b><b class='flag-5'>开发</b>实例展示