我有以下微型python代码:
client = MQTTClient("youraccount/feeds/lights", "a21sigud7911d7.iot.us-west-
2.amazonaws.com", user="None", password="None" , keepalive=10000, ssl=True,
ssl_params={"certfile":"/49c84a8c4a-certificate.pem.crt",
"keyfile":"/49c84a8c4a-private.pem.key", "ca_certs":"/root.pem"})
client.settimeout = settimeout
client.connect()
但是当我在ESP32上从repl运行脚本时,我得到了:
connect中的文件“ umqtt / simple.py”,第61行 TypeError:提供了额外的关键字参数
请帮助
答案 0 :(得分:2)
删除ssl_params词典中的ca_certs。请参阅Micropython connecting to AWS with MQTT和warning in ussl documentation。
由于ESP32使用mbedtls,因此可以在ESP32上使用ESP32和Micropython-lib MQTT连接到AWS。但是,在unix / osx上是不可能的,因为它使用axtls库-请参考此issue。
答案 1 :(得分:0)
我并没有尝试连接到AWS(而是我自己的TLS安全的MQTT Broker)–并且我有完全相同的错误消息。如果有人发现了这个问题,那么在尝试解决该问题时,答案实际上非常简单。您不能使用文件名,而需要它们的内容。所以这对我有用:
<div class="row">
<div class="col-md-12" id="divReporte">
@Html.ReportViewer(ViewBag.ReportViewer as Microsoft.Reporting.WebForms.ReportViewer, htmlAttributes: new { id = "ReportViewer12", name = "ReportViewer12" })
</div>
</div>
您显然需要用安全MQTT服务器的URL替换“ test.example.com” ...