在 Raspberry Pi 上使用 MQTT 将传感器数据发布到 Thingspeak 时出错

蒂亚

我已将土壤湿度传感器模块和 LDR 连接到 ADS1115 ADC(又连接到我的 R Pi)。我正在使用 Python 2.7。ADC 工作正常,它分别打印来自通道 0 和通道 1 的土壤湿度模块和 LDR 的值。我有以下代码可以使用以下指南将数据从土壤湿度模块发送到 Thingspeak:https ://www.mathworks.com/help/thingspeak/use-raspberry-pi-board-that-runs-python-websockets-发布到频道.html

https://github.com/adafruit/Adafruit_Python_ADS1x15

import time
import sys
from time import sleep
import paho.mqtt.publish as publish
import Adafruit_ADS1x15

#GPIO.setmode(GPIO.BOARD)

#Start of user config

channelID= "377509"
apiKey= "<APIKEY>"


#MQTT Connection Methods

useUnsecuredTCP= True

useUnsecuredWebsockets= False

useSSLWebsockets= False

mqttHost= "mqtt.thingspeak.com"

# You can use any Username.
mqttUsername = "SoilHumidityRpiDemo"

# Your MQTT API Key from Account > My Profile.
mqttAPIKey ="<APIKEY>"

if useUnsecuredWebsockets:
 tTransport= "websockets"
 tPort= 80

#Create topic string
topic= "channels/" + channelID + "/publish/" + apiKey


# Create an ADS1115 ADC (16-bit) instance.
adc = Adafruit_ADS1x15.ADS1115()

GAIN = 1

print('Reading ADS1x15 values, press Ctrl-C to quit...')

while True:
    m = adc.read_adc(0, gain=GAIN)
    print('Moisture Level:{0:>6}'.format(m))
    time.sleep(1)
    tPayload= "field1=%s" % m
    try:
      publish.single(topic, payload=tPayload, hostname=mqttHost, port=tPort, transport= tTransport,auth={'username':mqttUsername,'password':mqttAPIKey})
    except KeyboardInterrupt:
        break
    except:
        print ("There was an error publishing the data")

当我执行它时,出现错误消息“发布数据时出错”。然而,当我运行一个脚本从终端上的 ADC 打印土壤湿度值时(没有通过 MQTT 将数据发送到 Thingspeak 的代码),该脚本运行良好。

硬盘

问题是,因为tPorttTransport如果只定义useUnsecuredWebsocketsTrue

由于useUnsecuredWebsockets设置为False几行之前这将永远不会发生。

您可以更改useUnsecuredWebsocketsTrue或向 if 语句添加 else 子句以设置默认值。

if useUnsecuredWebsockets:
 tTransport= "websockets"
 tPort= 80
else:
 tTransport = "tcp"
 tPort= 1883

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Raspberry Pi上安装Pillow时出错

来自分类Dev

从 UWP 应用(Raspberry PI 3)使用 WCF 服务时出错

来自分类Dev

Raspberry Pi和Arduino读取串行传感器数据

来自分类Dev

通过蓝牙发送传感器数据和流视频(Raspberry Pi到PC)

来自分类Dev

在Raspberry Pi,Arduino和JavaScript之间使用MQTT

来自分类Dev

使用 BG96 和 MQTT 协议将数据发布到 aws IoT 时出错

来自分类Dev

用于 Arduino 的传感器可以与 Raspberry Pi 一起使用吗?

来自分类Dev

交叉编译Raspberry Pi的Nginx时出错

来自分类Dev

DNXCore ARM在Raspberry Pi 2上发布

来自分类Dev

在Raspberry Pi上请求与RGB LED有关的整数时出错

来自分类Dev

在conda环境中在Raspberry Pi 4上安装熊猫时出错

来自分类Dev

MedaiWiki服务器在Raspberry Pi上公开无法使用

来自分类Dev

在Raspberry PI上使用C读取图像中的RGB数据

来自分类Dev

通过Internet连接到安装在Raspberry Pi上的MQTT代理(Mosquitto)

来自分类Dev

如何从Raspberry Pi Zero向PC发送实时传感器数据?

来自分类Dev

Raspberry Pi上的Tensorflow

来自分类Dev

Raspberry Pi 作为 MQTT 代理以及订阅者或发布者

来自分类Dev

将WebApp部署到Raspberry Pi时使用Python Virtualenv吗?

来自分类Dev

如何在Debian无头服务器(Raspberry Pi)上启动时启动服务?

来自分类Dev

当通过Python子进程获取数据时,Raspberry Pi上LCD的每行末尾的字符错误

来自分类Dev

Pocketsphinx Raspberry Pi读取dmp文件时出错

来自分类Dev

在Raspberry Pi上启动时启动Node App

来自分类Dev

在 Raspberry pi 上启动时启动 python 脚本的困难

来自分类Dev

使用 C++ 从 Raspberry Pi 相机显示到 Raspberry Pi HDMI

来自分类Dev

在Raspberry Pi上使用pygame撕裂屏幕

来自分类Dev

使用spidev的linux(raspberry PI)上的SPI

来自分类Dev

在Raspberry Pi上使用qt显示ipaddress

来自分类Dev

在Raspberry Pi上使用pygame撕裂屏幕

来自分类Dev

如何使用Maven插件将jar部署到Raspberry Pi 2上

Related 相关文章

  1. 1

    在Raspberry Pi上安装Pillow时出错

  2. 2

    从 UWP 应用(Raspberry PI 3)使用 WCF 服务时出错

  3. 3

    Raspberry Pi和Arduino读取串行传感器数据

  4. 4

    通过蓝牙发送传感器数据和流视频(Raspberry Pi到PC)

  5. 5

    在Raspberry Pi,Arduino和JavaScript之间使用MQTT

  6. 6

    使用 BG96 和 MQTT 协议将数据发布到 aws IoT 时出错

  7. 7

    用于 Arduino 的传感器可以与 Raspberry Pi 一起使用吗?

  8. 8

    交叉编译Raspberry Pi的Nginx时出错

  9. 9

    DNXCore ARM在Raspberry Pi 2上发布

  10. 10

    在Raspberry Pi上请求与RGB LED有关的整数时出错

  11. 11

    在conda环境中在Raspberry Pi 4上安装熊猫时出错

  12. 12

    MedaiWiki服务器在Raspberry Pi上公开无法使用

  13. 13

    在Raspberry PI上使用C读取图像中的RGB数据

  14. 14

    通过Internet连接到安装在Raspberry Pi上的MQTT代理(Mosquitto)

  15. 15

    如何从Raspberry Pi Zero向PC发送实时传感器数据?

  16. 16

    Raspberry Pi上的Tensorflow

  17. 17

    Raspberry Pi 作为 MQTT 代理以及订阅者或发布者

  18. 18

    将WebApp部署到Raspberry Pi时使用Python Virtualenv吗?

  19. 19

    如何在Debian无头服务器(Raspberry Pi)上启动时启动服务?

  20. 20

    当通过Python子进程获取数据时,Raspberry Pi上LCD的每行末尾的字符错误

  21. 21

    Pocketsphinx Raspberry Pi读取dmp文件时出错

  22. 22

    在Raspberry Pi上启动时启动Node App

  23. 23

    在 Raspberry pi 上启动时启动 python 脚本的困难

  24. 24

    使用 C++ 从 Raspberry Pi 相机显示到 Raspberry Pi HDMI

  25. 25

    在Raspberry Pi上使用pygame撕裂屏幕

  26. 26

    使用spidev的linux(raspberry PI)上的SPI

  27. 27

    在Raspberry Pi上使用qt显示ipaddress

  28. 28

    在Raspberry Pi上使用pygame撕裂屏幕

  29. 29

    如何使用Maven插件将jar部署到Raspberry Pi 2上

热门标签

归档